Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

loadganttchart.js 4.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. loadganttchart = {
  2. load_ganttchart(tasks, elem, popuphtml_ins) {
  3. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["libs/frappe-gantt/js/frappe-gantt.min.js"], function () {
  4. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadCssFiles(["libs/frappe-gantt/css/frappe-gantt.min.css", "libs/frappe-gantt/css/frappe-gantt-custom.css", "libs/frappe-gantt/css/frappe-gantt.css"], function () {
  5. let html = `<svg id="gantt" class=""></svg>
  6. <div class="chart-controls ma-20">
  7. <p class="hidden">Change Chart Timescale</p>
  8. <div class="button-cont TimeScale_Cls">
  9. <button id="day-btn" class="bg-primary">
  10. Day
  11. </button>
  12. <button id="week-btn">
  13. Week
  14. </button>
  15. <button id="month-btn">
  16. Month
  17. </button>
  18. </div>
  19. </div>
  20. <p class="chart-label hidden"> Timescale: <span id="current-timescale">Day</span> </p>`;
  21. $(elem).append(html);
  22. let ganttChart = eval(`new Gantt("#gantt", tasks, {
  23. on_click: function (task) {
  24. //alert(task);
  25. },
  26. on_date_change: function(task, start, end) {
  27. //alert(task + "," + start + "," + end);
  28. },
  29. on_progress_change: function(task, progress) {
  30. //alert(task + "," + progress);
  31. },
  32. on_view_change: function(mode) {
  33. //alert(mode);
  34. },
  35. custom_popup_html: function(task) {
  36. //return Bizgaze.Apps.Transact.Controls.WorkOrderItems.Instance().getPopUpHtml(task);
  37. if(popuphtml_ins == "")
  38. {
  39. return loadganttchart.getpopuphtml(task);
  40. }
  41. else
  42. {
  43. return eval(popuphtml_ins);
  44. }
  45. }
  46. }
  47. )`);
  48. $(".chart-controls #day-btn").on("click", () => {
  49. ganttChart.change_view_mode("Day");
  50. $(".TimeScale_Cls").find("button").removeClass("bg-primary");
  51. $(".TimeScale_Cls").find("#day-btn").addClass("bg-primary");
  52. });
  53. $(".chart-controls #week-btn").on("click", () => {
  54. ganttChart.change_view_mode("Week");
  55. $(".TimeScale_Cls").find("button").removeClass("bg-primary");
  56. $(".TimeScale_Cls").find("#week-btn").addClass("bg-primary");
  57. });
  58. $(".chart-controls #month-btn").on("click", () => {
  59. ganttChart.change_view_mode("Month");
  60. $(".TimeScale_Cls").find("button").removeClass("bg-primary");
  61. $(".TimeScale_Cls").find("#month-btn").addClass("bg-primary");
  62. });
  63. });
  64. });
  65. },
  66. getpopuphtml(task) {
  67. return `<div class="details-container bg-light pa-5 text-left" style="border:2px solid black">
  68. <h5>${task.name}</h5>
  69. <p>Task Started on: ${task._start.getDate()}</p>
  70. <p>Expected to finish by ${task._end.getDate()}</p>
  71. <p>${task.progress}% completed!</p>
  72. </div>`;
  73. }
  74. }