Skip to content

Commit c017faf

Browse files
committed
Merge branch 'master' of https://github.com/Cerzus/angular-gantt into pr-622
2 parents e8107ab + c2e1c63 commit c017faf

File tree

7 files changed

+103
-12
lines changed

7 files changed

+103
-12
lines changed

assets/angular-gantt-drawtask-plugin.js

Lines changed: 27 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/angular-gantt-plugins.js

Lines changed: 27 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/app/scripts/controllers/main.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,12 @@ angular.module('angularGanttDemoApp')
204204
api.tasks.on.resizeEnd($scope, addEventName('tasks.on.resizeEnd', logTaskEvent));
205205
}
206206

207+
if (api.tasks.on.drawBegin) {
208+
api.tasks.on.drawBegin($scope, addEventName('tasks.on.drawBegin', logTaskEvent));
209+
//api.tasks.on.draw($scope, addEventName('tasks.on.draw', logTaskEvent));
210+
api.tasks.on.drawEnd($scope, addEventName('tasks.on.drawEnd', logTaskEvent));
211+
}
212+
207213
api.rows.on.add($scope, addEventName('rows.on.add', logRowEvent));
208214
api.rows.on.change($scope, addEventName('rows.on.change', logRowEvent));
209215
api.rows.on.move($scope, addEventName('rows.on.move', logRowEvent));

demo/dist/scripts/scripts.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,12 @@ angular.module('angularGanttDemoApp')
234234
api.tasks.on.resizeEnd($scope, addEventName('tasks.on.resizeEnd', logTaskEvent));
235235
}
236236

237+
if (api.tasks.on.drawBegin) {
238+
api.tasks.on.drawBegin($scope, addEventName('tasks.on.drawBegin', logTaskEvent));
239+
//api.tasks.on.draw($scope, addEventName('tasks.on.draw', logTaskEvent));
240+
api.tasks.on.drawEnd($scope, addEventName('tasks.on.drawEnd', logTaskEvent));
241+
}
242+
237243
api.rows.on.add($scope, addEventName('rows.on.add', logRowEvent));
238244
api.rows.on.change($scope, addEventName('rows.on.change', logRowEvent));
239245
api.rows.on.move($scope, addEventName('rows.on.move', logRowEvent));

docs/plugins/drawtask.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,11 @@ Attributes can be defined for a specific `Row` using an object property named `d
6666
// Or shortcut for enabled property
6767
'drawTask': <Boolean>
6868
}
69+
70+
## API
71+
72+
### Events
73+
74+
- **api.tasks.on.drawBegin(task)**, **api.tasks.on.draw(task)**, **api.tasks.on.drawEnd(task)**
75+
76+
A task is starting to be drawn, being drawn or has stopped being drawn.

docs/plugins/movable.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ Move and resize tasks.
4545

4646
default: `true`
4747

48+
## Model
49+
4850
Attributes can be defined for a specific `Row` or `Task` object using an object property named `movable`
4951

5052
{

src/plugins/drawtask.js

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
};
2727
}
2828

29+
api.registerEvent('tasks', 'draw');
30+
api.registerEvent('tasks', 'drawBegin');
31+
api.registerEvent('tasks', 'drawEnd');
32+
2933
var newTaskModel = function(row) {
3034
if (row.model.drawTask && angular.isFunction(row.model.drawTask.taskFactory)) {
3135
return row.model.drawTask.taskFactory();
@@ -50,6 +54,23 @@
5054
directiveScope.row.updateVisibleTasks();
5155

5256
directiveScope.row.$scope.$digest();
57+
58+
return task;
59+
};
60+
61+
var addEventListeners = function(task) {
62+
var raiseDrawEvent = function() {
63+
directiveScope.row.rowsManager.gantt.api.tasks.raise.draw(task);
64+
};
65+
66+
directiveScope.row.rowsManager.gantt.api.tasks.raise.drawBegin(task);
67+
68+
document.on('mousemove', raiseDrawEvent);
69+
70+
document.one('mouseup', function() {
71+
directiveScope.row.rowsManager.gantt.api.tasks.raise.drawEnd(task);
72+
document.off('mousemove', raiseDrawEvent);
73+
});
5374
};
5475

5576
var deferDrawing = function(startX) {
@@ -58,12 +79,13 @@
5879

5980
if (Math.abs(startX - currentX) >= scope.moveThreshold) {
6081
element.off('mousemove', moveTrigger);
61-
addNewTask(startX);
82+
var task = addNewTask(startX);
83+
addEventListeners(task);
6284
}
6385
};
6486

6587
element.on('mousemove', moveTrigger);
66-
document.on('mouseup', function() {
88+
document.one('mouseup', function() {
6789
element.off('mousemove', moveTrigger);
6890
});
6991
};
@@ -78,12 +100,13 @@
78100
}
79101

80102
var enabledValue = utils.firstProperty([rowDrawTask], 'enabled', scope.enabled);
81-
var enabled = angular.isFunction(enabledValue) ? enabledValue(evt): enabledValue;
103+
var enabled = angular.isFunction(enabledValue) ? enabledValue(evt, directiveScope.row) : enabledValue;
82104
if (enabled && evtTarget.className.indexOf('gantt-row') > -1) {
83105
var x = mouseOffset.getOffset(evt).x;
84106

85107
if (scope.moveThreshold === 0) {
86-
addNewTask(x, x);
108+
var task = addNewTask(x);
109+
addEventListeners(task);
87110
} else {
88111
deferDrawing(x);
89112
}

0 commit comments

Comments
 (0)