project-table.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. //[Data Table Javascript]
  2. //Project: Lion Admin - Responsive Admin Template
  3. //Primary use: Used only for the Data Table
  4. $(function () {
  5. "use strict";
  6. $(document).ready(function () {
  7. var table = $('#project-table').DataTable({
  8. "data": testdata.data,
  9. "searching": true,
  10. "paging": true,
  11. "info": true,
  12. select:"single",
  13. "columns": [
  14. {
  15. "className": 'details-control',
  16. "orderable": false,
  17. "data": null,
  18. "defaultContent": '',
  19. "render": function () {
  20. return '';
  21. },
  22. width:"15px"
  23. },
  24. { "data": "name" },
  25. { "data": "status" },
  26. { "data": "starts" },
  27. { "data": "ends" },
  28. { "data": "est" },
  29. { "data": "contacts" },
  30. { "data": "tracker" },
  31. ],
  32. "order": [[1, 'asc']]
  33. });
  34. // Add event listener for opening and closing details
  35. $('#project-table tbody').on('click', 'td.details-control', function () {
  36. var tr = $(this).closest('tr');
  37. var tdi = tr.find("i.fa");
  38. var row = table.row(tr);
  39. if (row.child.isShown()) {
  40. // This row is already open - close it
  41. row.child.hide();
  42. tr.removeClass('shown');
  43. tdi.first().removeClass('fa-minus-square');
  44. tdi.first().addClass('fa-plus-square');
  45. }
  46. else {
  47. // Open this row
  48. row.child(format(row.data())).show();
  49. tr.addClass('shown');
  50. tdi.first().removeClass('fa-plus-square');
  51. tdi.first().addClass('fa-minus-square');
  52. }
  53. });
  54. table.on("user-select", function (e, dt, type, cell, originalEvent) {
  55. if ($(cell.node()).hasClass("details-control")) {
  56. e.preventDefault();
  57. }
  58. });
  59. });
  60. function format(d){
  61. // `d` is the original data object for the row
  62. return '<table cellpadding="6" cellspacing="0" border="0" style="padding-left:50px; width:100%;">' +
  63. '<tr>'+
  64. '<td style="width:100px">Project Title:</td>'+
  65. '<td>'+d.name+'</td>'+
  66. '</tr>'+
  67. '<tr>'+
  68. '<td>Deadline:</td>'+
  69. '<td>'+d.ends+'</td>'+
  70. '</tr>'+
  71. '<tr>'+
  72. '<td>Extra info:</td>'+
  73. '<td>And any further details here (images etc)...</td>'+
  74. '</tr>'+
  75. '<tr>'+
  76. '<td>Comments:</td>'+
  77. '<td>'+d.comments+'</td>'+
  78. '</tr>'+
  79. '<tr>'+
  80. '<td>Action:</td>'+
  81. '<td>'+d.action+'</td>'+
  82. '</tr>'+
  83. '</table>';
  84. }
  85. var testdata = {
  86. "data": [
  87. {
  88. "name": "Sharepoint Upgrade<br><small class='text-muted'><i>Budget: 5,000<i></small>",
  89. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-info progress-bar-striped' role='progressbar' aria-valuenow='60' aria-valuemin='0' aria-valuemax='100' style='width: 60%'></div></div></td>",
  90. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/1.jpg' class='offline' alt='user'></a> </div> ",
  91. "status": "<span class='badge badge-success'>Active</span>",
  92. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info active' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  93. "starts": "01-21-2017",
  94. "ends": "<strong>02-30-2018</strong>",
  95. "comments": "This is a blank comments area, used to add comments and keep notes",
  96. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  97. },
  98. {
  99. "name": "IT Room Renovation<br><small class='text-muted'><i>Budget: 25,000<i></small>",
  100. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-success progress-bar-striped' role='progressbar' aria-valuenow='30' aria-valuemin='0' aria-valuemax='100' style='width: 30%'></div></div></td>",
  101. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/4.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='away'></a> </div> ",
  102. "status": "<span class='badge badge-success'>Active</span>",
  103. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  104. "starts": "01-17-2017",
  105. "ends": "<strong>02-30-2018</strong>",
  106. "comments": "This is a blank comments area, used to add comments and keep notes",
  107. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  108. },
  109. {
  110. "name": "Car Industry Studies<br><small class='text-muted'><i>Budget: 1,000<i></small>",
  111. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-primary progress-bar-striped' role='progressbar' aria-valuenow='55' aria-valuemin='0' aria-valuemax='100' style='width: 55%'></div></div></td>",
  112. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/1.jpg' class='online' alt='user'></a><a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/4.jpg' class='away'></a> </div> ",
  113. "status": "<span class='badge badge-success'>Active</span>",
  114. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info active' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  115. "starts": "01-8-2017",
  116. "ends": "<strong>03-03-2018</strong>",
  117. "comments": "This is a blank comments area, used to add comments and keep notes",
  118. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  119. },
  120. {
  121. "name": "Update all forms <br><small class='text-muted'><i>Budget: 2,000<i></small>",
  122. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-warning progress-bar-striped' role='progressbar' aria-valuenow='68' aria-valuemin='0' aria-valuemax='100' style='width: 68%'></div></div></td>",
  123. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/5.jpg' class='busy'></a> </div> ",
  124. "status": "<span class='badge badge-success'>Active</span>",
  125. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  126. "starts": "01-12-2017",
  127. "ends": "<strong>03-15-2018</strong>",
  128. "comments": "This is a blank comments area, used to add comments and keep notes",
  129. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  130. },
  131. {
  132. "name": "Preliminary studies of client intel<br><small class='text-muted'><i>Budget: 3,500<i></small>",
  133. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-danger progress-bar-striped' role='progressbar' aria-valuenow='10' aria-valuemin='0' aria-valuemax='100' style='width: 10%'></div></div></td>",
  134. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/6.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='busy'></a></div> ",
  135. "status": "<span class='badge badge-success'>Active</span>",
  136. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  137. "starts": "01-13-2017",
  138. "ends": "<strong>06-20-2018</strong>",
  139. "comments": "This is a blank comments area, used to add comments and keep notes",
  140. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  141. },
  142. {
  143. "name": "AngularJS UI design and development<br><small class='text-muted'><i>Budget: 5,000<i></small>",
  144. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-info progress-bar-striped' role='progressbar' aria-valuenow='15' aria-valuemin='0' aria-valuemax='100' style='width: 15%'></div></div></td>",
  145. "contacts": "<div class='project-members'><a href='javascript:void(0)'><a href='javascript:void(0)'><img src='../images/avatar/1.jpg' class='away'></a><a href='javascript:void(0)'><img src='../images/avatar/5.jpg' class='away'></a> </div> ",
  146. "status": "<span class='badge badge-success'>Active</span>",
  147. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info active' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  148. "starts": "01-9-2017",
  149. "ends": "<strong>08-01-2018</strong>",
  150. "comments": "This is a blank comments area, used to add comments and keep notes",
  151. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  152. },
  153. {
  154. "name": "<strong>Phase 1</strong>: Modual implimentations<br><small class='text-muted'><i>Budget: 7,000<i></small>",
  155. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-primary progress-bar-striped' role='progressbar' aria-valuenow='100' aria-valuemin='0' aria-valuemax='100' style='width: 100%'></div></div></td>",
  156. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/4.jpg' class='online' alt='user'></a></div> ",
  157. "status": "<span class='badge badge-default'>Inactive</span>",
  158. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  159. "starts": "01-4-2017",
  160. "ends": "<strong>09-11-2019</strong>",
  161. "comments": "This is a blank comments area, used to add comments and keep notes",
  162. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  163. },
  164. {
  165. "name": "<strong>Phase 2</strong>: Beta testing<br><small class='text-muted'><i>No budget was locked in<i></small>",
  166. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-success progress-bar-striped' role='progressbar' aria-valuenow='15' aria-valuemin='0' aria-valuemax='100' style='width: 15%'></div></div></td>",
  167. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='offline'></a> </div> ",
  168. "status": "<span class='badge badge-success'>Active</span>",
  169. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  170. "starts": "01-11-2017",
  171. "ends": "<strong>07-11-2018</strong>",
  172. "comments": "This is a blank comments area, used to add comments and keep notes",
  173. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  174. },
  175. {
  176. "name": "<strong>Phase 3</strong>: Deploy to management<br><small class='text-muted'><i>No budget was locked in<i></small>",
  177. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-warning progress-bar-striped' role='progressbar' aria-valuenow='10' aria-valuemin='0' aria-valuemax='100' style='width: 10%'></div></div></td>",
  178. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/1.jpg' class='offline'></a> <a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='away'></a><a href='javascript:void(0)'><img src='../images/avatar/4.jpg' class='online' alt='user'></a><a href='javascript:void(0)'><img src='../images/avatar/5.jpg' class='online' alt='user'></a> </div> ",
  179. "status": "<span class='badge badge-success'>Active</span>",
  180. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  181. "starts": "01-19-2017",
  182. "ends": "08-30-2018",
  183. "comments": "This is a blank comments area, used to add comments and keep notes",
  184. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  185. },
  186. {
  187. "name": "Prepare property management contracts<br><small class='text-muted'><i>No budget was locked in<i></small>",
  188. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-primary progress-bar-striped' role='progressbar' aria-valuenow='55' aria-valuemin='0' aria-valuemax='100' style='width: 55%'></div></div></td>",
  189. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/8.jpg' class='online'></a></div> ",
  190. "status": "<span class='badge badge-success'>Active</span>",
  191. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  192. "starts": "01-20-2017",
  193. "ends": "<strong>02-30-2018</strong>",
  194. "comments": "This is a blank comments area, used to add comments and keep notes",
  195. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  196. },
  197. {
  198. "name": "Brick factory<br><small class='text-muted'><i>Budget: 1,000<i></small>",
  199. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-info progress-bar-striped' role='progressbar' aria-valuenow='775' aria-valuemin='0' aria-valuemax='100' style='width: 75%'></div></div></td>",
  200. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/7.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='away'></a> </div> ",
  201. "status": "<span class='badge badge-success'>Active</span>",
  202. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  203. "starts": "01-25-2017",
  204. "ends": "<strong>03-03-2018</strong>",
  205. "comments": "This is a blank comments area, used to add comments and keep notes",
  206. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  207. },
  208. {
  209. "name": "Upgrade to windows 8.1<br><small class='text-muted'><i>Budget: 2,000<i></small>",
  210. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-success progress-bar-striped' role='progressbar' aria-valuenow='48' aria-valuemin='0' aria-valuemax='100' style='width: 48%'></div></div></td>",
  211. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/7.jpg' class='online' alt='user'></a><a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/4.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/5.jpg' class='away'></a> </div> ",
  212. "status": "<span class='badge badge-success'>Active</span>",
  213. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  214. "starts": "01-27-2017",
  215. "ends": "<strong>02-30-2018</strong>",
  216. "comments": "This is a blank comments area, used to add comments and keep notes",
  217. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  218. },
  219. {
  220. "name": "Refurbish Architecture<br><small class='text-muted'><i>Budget: 1,200<i></small>",
  221. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-danger progress-bar-striped' role='progressbar' aria-valuenow='37' aria-valuemin='0' aria-valuemax='100' style='width: 37%'></div></div></td>",
  222. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/7.jpg' class='away' alt='user'></a><a href='javascript:void(0)'><img src='../images/avatar/5.jpg' class='online'></a> </div> ",
  223. "status": "<span class='badge badge-success'>Active</span>",
  224. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  225. "starts": "01-29-2017",
  226. "ends": "<strong>12-15-2019</strong>",
  227. "comments": "This is a blank comments area, used to add comments and keep notes",
  228. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  229. },
  230. {
  231. "name": "Create filters and directives<br><small class='text-muted'><i>Budget: 15,000<i></small>",
  232. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-warning progress-bar-striped' role='progressbar' aria-valuenow='100' aria-valuemin='0' aria-valuemax='100' style='width: 100%'></div></div></td>",
  233. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/3.jpg' class='online' alt='user'></a><a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/1.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/7.jpg' class='away'></a> </div> ",
  234. "status": "<span class='badge badge-success'>Active</span>",
  235. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  236. "starts": "01-6-2017",
  237. "ends": "<strong>11-09-2018</strong>",
  238. "comments": "This is a blank comments area, used to add comments and keep notes",
  239. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  240. },
  241. {
  242. "name": "Publish to Wrapbootstrap<br><small class='text-muted'><i>Budget: 4,000<i></small>",
  243. "est": "<td><div class='progress progress-sm'><div class='progress-bar progress-bar-info progress-bar-striped' role='progressbar' aria-valuenow='95' aria-valuemin='0' aria-valuemax='100' style='width: 95%'></div></div></td>",
  244. "contacts": "<div class='project-members'><a href='javascript:void(0)'><img src='../images/avatar/5.jpg' class='online' alt='user'></a><a href='javascript:void(0)'><img src='../images/avatar/1.jpg' class='online'></a> <a href='javascript:void(0)'><img src='../images/avatar/2.jpg' class='busy'></a><a href='javascript:void(0)'><img src='../images/avatar/4.jpg' class='away'></a> </div> ",
  245. "status": "<span class='badge badge-success'>Active</span>",
  246. "tracker": "<button type='button' class='btn btn-sm btn-toggle btn-info' data-toggle='button' aria-pressed='true'><span class='handle'></span></button>",
  247. "starts": "01-8-2017",
  248. "ends": "<strong>07-07-2018</strong>",
  249. "comments": "This is a blank comments area, used to add comments and keep notes",
  250. "action": "<button class='btn btn-xs'>Open case</button> <button class='btn btn-xs btn-danger pull-right' style='margin-left:5px'>Delete Record</button> <button class='btn btn-xs btn-success pull-right'>Save Changes</button> "
  251. }
  252. ]
  253. };
  254. }); // End of use strict