2012-07-28 21:02:09 +00:00
|
|
|
// Generated by CoffeeScript 1.3.3
|
2012-09-05 02:09:52 +00:00
|
|
|
var moment;
|
|
|
|
|
|
|
|
|
|
moment = require('moment');
|
2012-07-28 21:02:09 +00:00
|
|
|
|
2012-07-30 21:25:04 +00:00
|
|
|
module.exports.daysBetween = function(a, b) {
|
|
|
|
|
var DAY;
|
|
|
|
|
DAY = 1000 * 60 * 60 * 24;
|
|
|
|
|
a = new Date((new Date(a)).toDateString());
|
|
|
|
|
b = new Date((new Date(b)).toDateString());
|
2012-08-06 13:32:40 +00:00
|
|
|
return Math.abs(Math.floor((a.getTime() - b.getTime()) / DAY));
|
2012-07-30 21:25:04 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.exports.viewHelpers = function(view) {
|
2012-09-05 02:09:52 +00:00
|
|
|
view.fn('taskClasses', function(type, completed, value, repeat) {
|
|
|
|
|
var classes, dayMapping;
|
2012-07-28 21:02:09 +00:00
|
|
|
classes = type;
|
2012-09-05 02:09:52 +00:00
|
|
|
dayMapping = {
|
|
|
|
|
0: 'su',
|
|
|
|
|
1: 'm',
|
|
|
|
|
2: 't',
|
|
|
|
|
3: 'w',
|
|
|
|
|
4: 'th',
|
|
|
|
|
5: 'f',
|
|
|
|
|
6: 's',
|
|
|
|
|
7: 'su'
|
|
|
|
|
};
|
|
|
|
|
if (completed || (repeat && repeat[dayMapping[moment().day()]] === false)) {
|
2012-07-28 21:02:09 +00:00
|
|
|
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";
|
|
|
|
|
}
|
|
|
|
|
});
|
2012-09-19 01:37:49 +00:00
|
|
|
view.fn("silver", function(num) {
|
2012-07-28 21:02:09 +00:00
|
|
|
if (num) {
|
|
|
|
|
return num.toFixed(1).split('.')[1];
|
|
|
|
|
} else {
|
|
|
|
|
return "0";
|
|
|
|
|
}
|
|
|
|
|
});
|
2012-09-19 01:37:49 +00:00
|
|
|
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("quarters", function(money) {
|
|
|
|
|
return money / 0.25;
|
|
|
|
|
});
|
2012-07-28 21:02:09 +00:00
|
|
|
};
|