Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/projects/WorkboardBoard.js
Show First 20 Lines • Show All 155 Lines • ▼ Show 20 Lines | _setupDragHandlers: function() { | ||||
var columns = this.getColumns(); | var columns = this.getColumns(); | ||||
var lists = []; | var lists = []; | ||||
for (var k in columns) { | for (var k in columns) { | ||||
var column = columns[k]; | var column = columns[k]; | ||||
var list = new JX.DraggableList('project-card', column.getRoot()) | var list = new JX.DraggableList('project-card', column.getRoot()) | ||||
.setOuterContainer(this.getRoot()) | .setOuterContainer(this.getRoot()) | ||||
.setFindItemsHandler(JX.bind(column, column.getCardNodes)) | .setFindItemsHandler(JX.bind(column, column.getDropTargetNodes)) | ||||
.setCanDragX(true) | .setCanDragX(true) | ||||
.setHasInfiniteHeight(true) | .setHasInfiniteHeight(true) | ||||
.setIsDropTargetHandler(JX.bind(column, column.setIsDropTarget)); | .setIsDropTargetHandler(JX.bind(column, column.setIsDropTarget)); | ||||
var default_handler = list.getGhostHandler(); | |||||
list.setGhostHandler( | |||||
JX.bind(column, column.handleDragGhost, default_handler)); | |||||
if (this.getOrder() !== 'natural') { | if (this.getOrder() !== 'natural') { | ||||
list.setCompareHandler(JX.bind(column, column.compareHandler)); | list.setCompareHandler(JX.bind(column, column.compareHandler)); | ||||
} | } | ||||
list.listen('didDrop', JX.bind(this, this._onmovecard, list)); | list.listen('didDrop', JX.bind(this, this._onmovecard, list)); | ||||
lists.push(list); | lists.push(list); | ||||
} | } | ||||
Show All 16 Lines | _onmovecard: function(list, item, after_node, src_list) { | ||||
var item_phid = JX.Stratcom.getData(item).objectPHID; | var item_phid = JX.Stratcom.getData(item).objectPHID; | ||||
var data = { | var data = { | ||||
objectPHID: item_phid, | objectPHID: item_phid, | ||||
columnPHID: dst_phid, | columnPHID: dst_phid, | ||||
order: this.getOrder() | order: this.getOrder() | ||||
}; | }; | ||||
if (after_node) { | var after_data; | ||||
data.afterPHID = JX.Stratcom.getData(after_node).objectPHID; | var after_card = after_node; | ||||
while (after_card) { | |||||
after_data = JX.Stratcom.getData(after_card); | |||||
if (after_data.objectPHID) { | |||||
break; | |||||
} | |||||
after_card = after_card.previousSibling; | |||||
} | |||||
if (after_data) { | |||||
data.afterPHID = after_data.objectPHID; | |||||
} | } | ||||
var before_node = item.nextSibling; | var before_data; | ||||
if (before_node) { | var before_card = item.nextSibling; | ||||
var before_phid = JX.Stratcom.getData(before_node).objectPHID; | while (before_card) { | ||||
if (before_phid) { | before_data = JX.Stratcom.getData(before_card); | ||||
data.beforePHID = before_phid; | if (before_data.objectPHID) { | ||||
break; | |||||
} | } | ||||
before_card = before_card.nextSibling; | |||||
} | |||||
if (before_data) { | |||||
data.beforePHID = before_data.objectPHID; | |||||
} | |||||
var header_key = JX.Stratcom.getData(after_node).headerKey; | |||||
if (header_key) { | |||||
var properties = this.getHeaderTemplate(header_key) | |||||
.getEditProperties(); | |||||
data.header = JX.JSON.stringify(properties); | |||||
} | } | ||||
var visible_phids = []; | var visible_phids = []; | ||||
var column = this.getColumn(dst_phid); | var column = this.getColumn(dst_phid); | ||||
for (var object_phid in column.getCards()) { | for (var object_phid in column.getCards()) { | ||||
visible_phids.push(object_phid); | visible_phids.push(object_phid); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 109 Lines • Show Last 20 Lines |