Files
habitica/lib/app/helpers.js
2012-11-14 17:37:38 -05:00

89 lines
1.9 KiB
JavaScript

// Generated by CoffeeScript 1.4.0
var dayMapping, moment;
moment = require('moment');
module.exports.daysBetween = function(a, b) {
return Math.abs(moment(a).sod().diff(moment(b).sod(), 'days'));
};
module.exports.dayMapping = dayMapping = {
0: 'su',
1: 'm',
2: 't',
3: 'w',
4: 'th',
5: 'f',
6: 's',
7: 'su'
};
module.exports.viewHelpers = function(view) {
view.fn('taskClasses', function(type, completed, value, repeat) {
var classes;
classes = type;
if (completed || (repeat && repeat[dayMapping[moment().day()]] === false)) {
classes += " completed";
}
switch (false) {
case !(value < -8):
classes += ' color-worst';
break;
case !(value >= -8 && value < -5):
classes += ' color-worse';
break;
case !(value >= -5 && value < -1):
classes += ' color-bad';
break;
case !(value >= -1 && value < 1):
classes += ' color-neutral';
break;
case !(value >= 1 && value < 5):
classes += ' color-good';
break;
case !(value >= 5 && value < 10):
classes += ' color-better';
break;
case !(value >= 10):
classes += ' color-best';
}
return classes;
});
view.fn("percent", function(x, y) {
if (x === 0) {
x = 1;
}
return Math.round(x / y * 100);
});
view.fn("round", function(num) {
return Math.round(num);
});
view.fn("gold", function(num) {
if (num) {
return num.toFixed(1).split('.')[0];
} else {
return "0";
}
});
view.fn("silver", function(num) {
if (num) {
return num.toFixed(1).split('.')[1];
} else {
return "0";
}
});
view.fn("money", function(num) {
if (num) {
return num.toFixed(2);
} else {
return "0.00";
}
});
view.fn("lessThan", function(a, b) {
return a < b;
});
return view.fn("tokens", function(money) {
return money / 0.25;
});
};