slickgrid added to third-party
[myslice.git] / third-party / slickgrid-2.1 / slick.formatters.js
1 /***
2  * Contains basic SlickGrid formatters.
3  * 
4  * NOTE:  These are merely examples.  You will most likely need to implement something more
5  *        robust/extensible/localizable/etc. for your use!
6  * 
7  * @module Formatters
8  * @namespace Slick
9  */
10
11 (function ($) {
12   // register namespace
13   $.extend(true, window, {
14     "Slick": {
15       "Formatters": {
16         "PercentComplete": PercentCompleteFormatter,
17         "PercentCompleteBar": PercentCompleteBarFormatter,
18         "YesNo": YesNoFormatter,
19         "Checkmark": CheckmarkFormatter
20       }
21     }
22   });
23
24   function PercentCompleteFormatter(row, cell, value, columnDef, dataContext) {
25     if (value == null || value === "") {
26       return "-";
27     } else if (value < 50) {
28       return "<span style='color:red;font-weight:bold;'>" + value + "%</span>";
29     } else {
30       return "<span style='color:green'>" + value + "%</span>";
31     }
32   }
33
34   function PercentCompleteBarFormatter(row, cell, value, columnDef, dataContext) {
35     if (value == null || value === "") {
36       return "";
37     }
38
39     var color;
40
41     if (value < 30) {
42       color = "red";
43     } else if (value < 70) {
44       color = "silver";
45     } else {
46       color = "green";
47     }
48
49     return "<span class='percent-complete-bar' style='background:" + color + ";width:" + value + "%'></span>";
50   }
51
52   function YesNoFormatter(row, cell, value, columnDef, dataContext) {
53     return value ? "Yes" : "No";
54   }
55
56   function CheckmarkFormatter(row, cell, value, columnDef, dataContext) {
57     return value ? "<img src='../images/tick.png'>" : "";
58   }
59 })(jQuery);