diff --git a/dynamic_gantt/static/src/js/gantt_controller.js b/dynamic_gantt/static/src/js/gantt_controller.js index 98f5381..9c6abf5 100644 --- a/dynamic_gantt/static/src/js/gantt_controller.js +++ b/dynamic_gantt/static/src/js/gantt_controller.js @@ -53,7 +53,47 @@ odoo.define("dynamic_gantt.DynamicGanttController", function (require) { this._super(ev); } }, - + _get_future_and_past: function () { + var future = parseInt(this.$(".js_days_future").val()); + var past = parseInt(this.$(".js_days_past").val()); + if (isNaN(future)) { future = 1} + if (isNaN(past)) { past = 1} + return [future, past] + }, + _onPrevPeriodClicked: function (ev) { + /* Give Prev button a meaning in dynamic mode */ + ev.preventDefault(); + var state = this.model.get(); + if (state.scale === "dynamic") { + var [future, past] = this._get_future_and_past() + past = past + 7 + if (future < 8) { + future = 1 + } else { future = future - 7 } + this.$(".js_days_future").val(future.toString()); + this.$(".js_days_past").val(past.toString()); + this._onEnteredDays() + } else { + this._super.apply(this, arguments); + } + }, + _onNextPeriodClicked: function (ev) { + /* Give Next button a meaning in dynamic mode */ + ev.preventDefault(); + var state = this.model.get(); + if (state.scale === "dynamic") { + var [future, past] = this._get_future_and_past() + future = future + 7 + if (past < 8 ) { + past = 1 + } else { past = past - 7 } + this.$(".js_days_future").val(future.toString()); + this.$(".js_days_past").val(past.toString()); + this._onEnteredDays() + } else { + this._super.apply(this, arguments); + } + }, _onEnteredDays: function () { /* Add new method on days entered and click on reload button to write the input fields value in the user level and render according to buttons diff --git a/dynamic_gantt/static/src/scss/gantt_view.scss b/dynamic_gantt/static/src/scss/gantt_view.scss index c4ba8b7..00ff89b 100644 --- a/dynamic_gantt/static/src/scss/gantt_view.scss +++ b/dynamic_gantt/static/src/scss/gantt_view.scss @@ -15,12 +15,33 @@ .o_gantt_view .o_gantt_header_container .o_gantt_header_cell { min-width: 100px; + border-left:1px solid lightgrey; } + .col.o_gantt_header_slots, .col.o_gantt_cell, .col.o_gantt_slots_container, .col.o_gantt_total_row_container, .col.o_gantt_row_container, .col.o_gantt_header_cell, .col.text-center{ width: unset!important; max-width: unset!important; } +col.o_gantt_header_cell_dynamic { + padding-left: 0px !important; + padding-right: 0px !important; +} + .col.text-center, .col.o_gantt_header_scale { background-color: #FFFFFF !important; + display: grid; + grid-auto-rows: 1fr +} + + +.weekInsert { + background-color: LightGrey !important; + width: 100%; + height:100%; + padding-left:10px; +} + +.firstDayOfWeek { + border-left:1px solid black; } diff --git a/dynamic_gantt/static/src/xml/web_gantt.xml b/dynamic_gantt/static/src/xml/web_gantt.xml index e68e6d2..5ee5979 100644 --- a/dynamic_gantt/static/src/xml/web_gantt.xml +++ b/dynamic_gantt/static/src/xml/web_gantt.xml @@ -3,39 +3,41 @@ -
-
-
- - +
+
+ +
+ + +
+ + + + - - -
- - - - - -
-
-
+ +
+ + + + + +
+
+ + + + + + +
+ +
+
+
+