Merge branch 'develop' into develop

This commit is contained in:
Michael Teeuw
2017-02-08 19:32:53 +01:00
committed by GitHub
9 changed files with 218 additions and 105 deletions

View File

@@ -327,54 +327,54 @@ Module.register("calendar", {
/* symbolForUrl(url)
* Retrieves the symbol for a specific url.
*
* argument url sting - Url to look for.
* argument url string - Url to look for.
*
* return string - The Symbol
*/
symbolForUrl: function (url) {
for (var c in this.config.calendars) {
var calendar = this.config.calendars[c];
if (calendar.url === url && typeof calendar.symbol === "string") {
return calendar.symbol;
}
}
return this.config.defaultSymbol;
return this.getCalendarProperty(url, "symbol", this.config.defaultSymbol);
},
/* colorForUrl(url)
* Retrieves the color for a specific url.
*
* argument url sting - Url to look for.
* argument url string - Url to look for.
*
* return string - The Color
*/
colorForUrl: function (url) {
for (var c in this.config.calendars) {
var calendar = this.config.calendars[c];
if (calendar.url === url && typeof calendar.color === "string") {
return calendar.color;
}
}
return "#fff";
return this.getCalendarProperty(url, "color", "#fff");
},
/* countTitleForUrl(url)
* Retrieves the name for a specific url.
*
* argument url sting - Url to look for.
* argument url string - Url to look for.
*
* return string - The Symbol
*/
countTitleForUrl: function (url) {
return this.getCalendarProperty(url, "repeatingCountTitle", this.config.defaultRepeatingCountTitle);
},
/* getCalendarProperty(url, property, defaultValue)
* Helper method to retrieve the property for a specific url.
*
* argument url string - Url to look for.
* argument property string - Property to look for.
* argument defaultValue string - Value if property is not found.
*
* return string - The Property
*/
getCalendarProperty: function (url, property, defaultValue) {
for (var c in this.config.calendars) {
var calendar = this.config.calendars[c];
if (calendar.url === url && typeof calendar.repeatingCountTitle === "string") {
return calendar.repeatingCountTitle;
if (calendar.url === url && typeof calendar[property] === "string") {
return calendar[property];
}
}
return this.config.defaultRepeatingCountTitle;
return defaultValue;
},
/* shorten(string, maxLength)

View File

@@ -52,6 +52,10 @@ var CalendarFetcher = function(url, reloadInterval, maximumEntries, maximumNumbe
var limitFunction = function(date, i) {return i < maximumEntries;};
var eventDate = function(event, time) {
return (event[time].length === 8) ? moment(event[time], "YYYYMMDD") : moment(new Date(event[time]));
};
for (var e in data) {
var event = data[e];
var now = new Date();
@@ -70,10 +74,10 @@ var CalendarFetcher = function(url, reloadInterval, maximumEntries, maximumNumbe
if (event.type === "VEVENT") {
var startDate = (event.start.length === 8) ? moment(event.start, "YYYYMMDD") : moment(new Date(event.start));
var startDate = eventDate(event, "start");
var endDate;
if (typeof event.end !== "undefined") {
endDate = (event.end.length === 8) ? moment(event.end, "YYYYMMDD") : moment(new Date(event.end));
endDate = eventDate(event, "end");
} else {
if (!isFacebookBirthday) {
endDate = startDate;

View File

@@ -74,23 +74,18 @@ Module.register("clock",{
if (this.config.timezone) {
now.tz(this.config.timezone);
}
if (this.config.clockBold === true) {
timeString = now.format("HH[<span class=\"bold\">]mm[</span>]");
} else {
timeString = now.format("HH:mm");
var hourSymbol = "HH";
if (this.config.timeFormat !== 24) {
hourSymbol = "h";
}
if (this.config.timeFormat !== 24) {
// var now = new Date();
// var hours = now.getHours() % 12 || 12;
if (this.config.clockBold === true) {
//timeString = hours + moment().format("[<span class=\"bold\">]mm[</span>]");
timeString = now.format("h[<span class=\"bold\">]mm[</span>]");
} else {
//timeString = hours + moment().format(":mm");
timeString = now.format("h:mm");
}
if (this.config.clockBold === true) {
timeString = now.format(hourSymbol + "[<span class=\"bold\">]mm[</span>]");
} else {
timeString = now.format(hourSymbol + ":mm");
}
if(this.config.showDate){
dateWrapper.innerHTML = now.format("dddd, LL");
}
@@ -203,30 +198,29 @@ Module.register("clock",{
digitalWrapper.appendChild(dateWrapper);
digitalWrapper.appendChild(timeWrapper);
var appendClocks = function(condition, pos1, pos2) {
var padding = [0,0,0,0];
padding[(placement === condition) ? pos1 : pos2] = "20px";
analogWrapper.style.padding = padding.join(" ");
if (placement === condition) {
wrapper.appendChild(analogWrapper);
wrapper.appendChild(digitalWrapper);
} else {
wrapper.appendChild(digitalWrapper);
wrapper.appendChild(analogWrapper);
}
};
if (placement === "left" || placement === "right") {
digitalWrapper.style.display = "inline-block";
digitalWrapper.style.verticalAlign = "top";
analogWrapper.style.display = "inline-block";
if (placement === "left") {
analogWrapper.style.padding = "0 20px 0 0";
wrapper.appendChild(analogWrapper);
wrapper.appendChild(digitalWrapper);
} else {
analogWrapper.style.padding = "0 0 0 20px";
wrapper.appendChild(digitalWrapper);
wrapper.appendChild(analogWrapper);
}
appendClocks("left", 1, 3);
} else {
digitalWrapper.style.textAlign = "center";
if (placement === "top") {
analogWrapper.style.padding = "0 0 20px 0";
wrapper.appendChild(analogWrapper);
wrapper.appendChild(digitalWrapper);
} else {
analogWrapper.style.padding = "20px 0 0 0";
wrapper.appendChild(digitalWrapper);
wrapper.appendChild(analogWrapper);
}
appendClocks("top", 2, 0);
}
}