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 | |||||