diff --git a/src/blenderbim/blenderbim/bim/data/webui/static/css/gantt.css b/src/blenderbim/blenderbim/bim/data/webui/static/css/gantt.css index eb3e4d6a66..82354d6760 100644 --- a/src/blenderbim/blenderbim/bim/data/webui/static/css/gantt.css +++ b/src/blenderbim/blenderbim/bim/data/webui/static/css/gantt.css @@ -67,6 +67,36 @@ nav .bottom-bar { background-color: #25682a; } +.table-description { + margin-bottom: 1rem; + width: 50%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; + border-color: #464444; + border: 1px solid #464444; + border-radius: 0.25rem; + box-shadow: 0 0 0.7rem rgba(95, 95, 95, 0.4); + text-align: center; +} + +.table-description tr { + display: table-row; + border-bottom: 1px solid #464444; +} + +.gantt-info { + margin: 0.5rem; + font-size: 1rem; + font-weight: bold; +} + +.btn { + margin: 0.5rem; + font-size: 1rem; + cursor: pointer; +} + @media print { .no-print { display: none; diff --git a/src/blenderbim/blenderbim/bim/data/webui/static/js/gantt.js b/src/blenderbim/blenderbim/bim/data/webui/static/js/gantt.js index 7399c72504..be4711ee40 100644 --- a/src/blenderbim/blenderbim/bim/data/webui/static/js/gantt.js +++ b/src/blenderbim/blenderbim/bim/data/webui/static/js/gantt.js @@ -101,12 +101,57 @@ function addGanttElement(blenderId, tasks, workSched, filename) { .addClass("no-print") .css("margin-bottom", "10px"); + const workSchedDiv = $("
").attr("id", "workSched" + blenderId); + + const scheduleTable = $("
") + .addClass("no-print table-description") + .attr("id", "workSchedTable-" + blenderId) + .hide(); + + $.each(workSched, (key, value) => { + value = value ? value : "null"; + $("") + .append($("").text(key)) + .append($("").text(value)) + .appendTo(scheduleTable); + }); + + const toggleButton = $("") + .text("Show Schedule Info") + .addClass("btn no-print") + .on("click", function () { + scheduleTable.toggle(); + const buttonText = scheduleTable.is(":visible") + ? "Hide Schedule Info" + : "Show Schedule Info"; + toggleButton.text(buttonText); + }); + + var ganttInfoDiv = $("
") + .addClass("gantt-info") + .attr("id", "gantt-info-" + blenderId); + + const scheduleName = $("").text("Schedule: " + workSched.Name); + + const createdOn = $("") + .text("Created: " + new Date(workSched.CreationDate).toLocaleDateString()) + .css("float", "right"); + const ganttDiv = $("
") .addClass("gantt-chart") .attr("id", "gantt-" + blenderId); + ganttInfoDiv.append(scheduleName); + ganttInfoDiv.append(createdOn); + + workSchedDiv.append(toggleButton); + workSchedDiv.append(scheduleTable); + ganttContainer.append(ganttTitle); + ganttContainer.append(workSchedDiv); + ganttContainer.append(ganttInfoDiv); ganttContainer.append(ganttDiv); + $("#container").append(ganttContainer); let g = new JSGantt.GanttChart($("#gantt-" + blenderId)[0], "week"); @@ -154,7 +199,7 @@ function addGanttElement(blenderId, tasks, workSched, filename) { let printButton = $("