Add refresh method

updates gantt with new tasks, no need to initialize new object
This commit is contained in:
Faris Ansari 2017-02-14 15:10:31 +05:30
parent 630f8405e1
commit ac37400390
3 changed files with 27 additions and 3 deletions

14
dist/frappe-gantt.js vendored
View File

@ -86,6 +86,7 @@ return /******/ (function(modules) { // webpackBootstrap
self.view_is = view_is;
self.get_bar = get_bar;
self.trigger_event = trigger_event;
self.refresh = refresh;
// initialize with default view mode
change_view_mode(self.config.view_mode);
@ -108,16 +109,26 @@ return /******/ (function(modules) { // webpackBootstrap
view_mode: 'Day',
date_format: 'YYYY-MM-DD'
};
self.config = Object.assign({}, defaults, config);
reset_variables(tasks);
}
function reset_variables(tasks) {
self.element = element;
self._tasks = tasks;
self.config = Object.assign({}, defaults, config);
self._bars = [];
self._arrows = [];
self.element_groups = {};
}
function refresh(updated_tasks) {
reset_variables(updated_tasks);
change_view_mode(self.config.view_mode);
}
function change_view_mode(mode) {
set_scale(mode);
prepare();
@ -269,6 +280,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
function prepare_canvas() {
if (self.canvas) return;
self.canvas = Snap(self.element).addClass('gantt');
}

File diff suppressed because one or more lines are too long

View File

@ -24,6 +24,7 @@ export default function Gantt(element, tasks, config) {
self.view_is = view_is;
self.get_bar = get_bar;
self.trigger_event = trigger_event;
self.refresh = refresh;
// initialize with default view mode
change_view_mode(self.config.view_mode);
@ -52,16 +53,26 @@ export default function Gantt(element, tasks, config) {
view_mode: 'Day',
date_format: 'YYYY-MM-DD'
};
self.config = Object.assign({}, defaults, config);
reset_variables(tasks);
}
function reset_variables(tasks) {
self.element = element;
self._tasks = tasks;
self.config = Object.assign({}, defaults, config);
self._bars = [];
self._arrows = [];
self.element_groups = {};
}
function refresh(updated_tasks) {
reset_variables(updated_tasks);
change_view_mode(self.config.view_mode);
}
function change_view_mode(mode) {
set_scale(mode);
prepare();
@ -149,6 +160,7 @@ export default function Gantt(element, tasks, config) {
}
function prepare_canvas() {
if(self.canvas) return;
self.canvas = Snap(self.element).addClass('gantt');
}