1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-06-26 15:23:15 +00:00

More refactoring of relativedate implementation

This commit is contained in:
Jeremy Ruston 2012-10-28 18:41:48 +00:00
parent c0a00f856e
commit cfb3b42438
2 changed files with 11 additions and 6 deletions

View File

@ -37,7 +37,7 @@ Trigger the timer when the relative date is put into the DOM
*/
RelativeDateViewer.prototype.postRenderInDom = function() {
if(this.relativeDate) {
this.setTimer();
this.update();
}
};
@ -60,12 +60,15 @@ RelativeDateViewer.prototype.setTimer = function() {
Update the relative date display, and trigger the timer for the next update
*/
RelativeDateViewer.prototype.update = function() {
while(this.viewMacro.child.domNode.hasChildNodes()) {
this.viewMacro.child.domNode.removeChild(this.viewMacro.child.domNode.firstChild);
}
this.relativeDate = $tw.utils.getRelativeDate((new Date()) - this.value);
this.viewMacro.child.domNode.appendChild(document.createTextNode(this.relativeDate.description));
this.setTimer();
if(this.relativeDate.delta > 0) {
console.log("updating",this.relativeDate.description);
while(this.viewMacro.child.domNode.hasChildNodes()) {
this.viewMacro.child.domNode.removeChild(this.viewMacro.child.domNode.firstChild);
}
this.viewMacro.child.domNode.appendChild(document.createTextNode(this.relativeDate.description));
this.setTimer();
}
};
exports["relativedate"] = RelativeDateViewer;

View File

@ -171,12 +171,14 @@ exports.getRelativeDate = function(delta) {
var result = Math.floor(delta / units[t].duration);
if(result >= 2) {
return {
delta: delta,
description: result + " " + units[t].name + " ago",
updatePeriod: units[t].duration
};
}
}
return {
delta: delta,
description: "1 second ago",
updatePeriod: 1000
};