utils.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. AdminTools.utils.renderBoolean = function (value, props, row) {
  2. return value
  3. ? String.format('<span class="green">{0}</span>', _('yes'))
  4. : String.format('<span class="red">{0}</span>', _('no'));
  5. };
  6. AdminTools.utils.getMenu = function (actions, grid, selected) {
  7. var menu = [];
  8. var cls, icon, title, action = '';
  9. for (var i in actions) {
  10. if (!actions.hasOwnProperty(i)) {
  11. continue;
  12. }
  13. var a = actions[i];
  14. if (!a['menu']) {
  15. if (a == '-') {
  16. menu.push('-');
  17. }
  18. continue;
  19. }
  20. else if (menu.length > 0 && /^remove/i.test(a['action'])) {
  21. menu.push('-');
  22. }
  23. if (selected.length > 1) {
  24. if (!a['multiple']) {
  25. continue;
  26. }
  27. else if (typeof(a['multiple']) == 'string') {
  28. a['title'] = a['multiple'];
  29. }
  30. }
  31. cls = a['cls'] ? a['cls'] : '';
  32. icon = a['icon'] ? a['icon'] : '';
  33. title = a['title'] ? a['title'] : a['title'];
  34. action = a['action'] ? grid[a['action']] : '';
  35. menu.push({
  36. handler: action,
  37. text: String.format(
  38. '<span class="{0}"><i class="x-menu-item-icon {1}"></i>{2}</span>',
  39. cls, icon, title
  40. )
  41. });
  42. }
  43. return menu;
  44. };
  45. AdminTools.utils.renderActions = function (value, props, row) {
  46. var res = [];
  47. var cls, icon, title, action, item = '';
  48. for (var i in row.data.actions) {
  49. if (!row.data.actions.hasOwnProperty(i)) {
  50. continue;
  51. }
  52. var a = row.data.actions[i];
  53. if (!a['button']) {
  54. continue;
  55. }
  56. cls = a['cls'] ? a['cls'] : '';
  57. icon = a['icon'] ? a['icon'] : '';
  58. action = a['action'] ? a['action'] : '';
  59. title = a['title'] ? a['title'] : '';
  60. item = String.format(
  61. '<li class="{0}"><button class="btn btn-default {1}" action="{2}" title="{3}"></button></li>',
  62. cls, icon, action, title
  63. );
  64. res.push(item);
  65. }
  66. return String.format(
  67. '<ul class="admintools-row-actions">{0}</ul>',
  68. res.join('')
  69. );
  70. };