Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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. }