Page MenuHomePhabricator

D20322.id48491.diff
No OneTemporary

D20322.id48491.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -409,7 +409,7 @@
'rsrc/js/application/phortune/phortune-credit-card-form.js' => 'd12d214f',
'rsrc/js/application/policy/behavior-policy-control.js' => '0eaa33a9',
'rsrc/js/application/policy/behavior-policy-rule-editor.js' => '9347f172',
- 'rsrc/js/application/projects/WorkboardBoard.js' => '106d870f',
+ 'rsrc/js/application/projects/WorkboardBoard.js' => 'c02a5497',
'rsrc/js/application/projects/WorkboardCard.js' => '0392a5d8',
'rsrc/js/application/projects/WorkboardCardTemplate.js' => '2a61f8d4',
'rsrc/js/application/projects/WorkboardColumn.js' => 'c3d24e63',
@@ -737,7 +737,7 @@
'javelin-view-renderer' => '9aae2b66',
'javelin-view-visitor' => '308f9fe4',
'javelin-websocket' => 'fdc13e4e',
- 'javelin-workboard-board' => '106d870f',
+ 'javelin-workboard-board' => 'c02a5497',
'javelin-workboard-card' => '0392a5d8',
'javelin-workboard-card-template' => '2a61f8d4',
'javelin-workboard-column' => 'c3d24e63',
@@ -1015,18 +1015,6 @@
'javelin-workflow',
'phuix-icon-view',
),
- '106d870f' => array(
- 'javelin-install',
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-workflow',
- 'phabricator-draggable-list',
- 'javelin-workboard-column',
- 'javelin-workboard-header-template',
- 'javelin-workboard-card-template',
- 'javelin-workboard-order-template',
- ),
'111bfd2d' => array(
'javelin-install',
),
@@ -1930,6 +1918,18 @@
'bde53589' => array(
'phui-inline-comment-view-css',
),
+ 'c02a5497' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'phabricator-draggable-list',
+ 'javelin-workboard-column',
+ 'javelin-workboard-header-template',
+ 'javelin-workboard-card-template',
+ 'javelin-workboard-order-template',
+ ),
'c03f2fb4' => array(
'javelin-install',
),
diff --git a/src/applications/project/controller/PhabricatorProjectMoveController.php b/src/applications/project/controller/PhabricatorProjectMoveController.php
--- a/src/applications/project/controller/PhabricatorProjectMoveController.php
+++ b/src/applications/project/controller/PhabricatorProjectMoveController.php
@@ -12,18 +12,8 @@
$column_phid = $request->getStr('columnPHID');
$object_phid = $request->getStr('objectPHID');
- $after_phid = $request->getStr('afterPHID');
- $before_phid = $request->getStr('beforePHID');
-
- $after_phids = array();
- if ($after_phid) {
- $after_phids[] = $after_phid;
- }
-
- $before_phids = array();
- if ($before_phid) {
- $before_phids[] = $before_phid;
- }
+ $after_phids = $request->getStrList('afterPHIDs');
+ $before_phids = $request->getStrList('beforePHIDs');
$order = $request->getStr('order');
if (!strlen($order)) {
@@ -98,13 +88,10 @@
->setObjectPHIDs(array($object_phid))
->executeLayout();
- $order_params = array();
- if ($after_phid) {
- $order_params['afterPHIDs'] = $after_phids;
- }
- if ($before_phid) {
- $order_params['beforePHIDs'] = $before_phids;
- }
+ $order_params = array(
+ 'afterPHIDs' => $after_phids,
+ 'beforePHIDs' => $before_phids,
+ );
$xactions = array();
$xactions[] = id(new ManiphestTransaction())
diff --git a/webroot/rsrc/js/application/projects/WorkboardBoard.js b/webroot/rsrc/js/application/projects/WorkboardBoard.js
--- a/webroot/rsrc/js/application/projects/WorkboardBoard.js
+++ b/webroot/rsrc/js/application/projects/WorkboardBoard.js
@@ -409,8 +409,8 @@
_getDropContext: function(after_node, item) {
var header_key;
- var before_phid;
- var after_phid;
+ var after_phids = [];
+ var before_phids = [];
// We're going to send an "afterPHID" and a "beforePHID" if the card
// was dropped immediately adjacent to another card. If a card was
@@ -424,19 +424,16 @@
var after_card = after_node;
while (after_card) {
after_data = JX.Stratcom.getData(after_card);
- if (after_data.objectPHID) {
- break;
- }
+
if (after_data.headerKey) {
break;
}
- after_card = after_card.previousSibling;
- }
- if (after_data) {
if (after_data.objectPHID) {
- after_phid = after_data.objectPHID;
+ after_phids.push(after_data.objectPHID);
}
+
+ after_card = after_card.previousSibling;
}
if (item) {
@@ -444,19 +441,16 @@
var before_card = item.nextSibling;
while (before_card) {
before_data = JX.Stratcom.getData(before_card);
- if (before_data.objectPHID) {
- break;
- }
+
if (before_data.headerKey) {
break;
}
- before_card = before_card.nextSibling;
- }
- if (before_data) {
if (before_data.objectPHID) {
- before_phid = before_data.objectPHID;
+ before_phids.push(before_data.objectPHID);
}
+
+ before_card = before_card.nextSibling;
}
}
@@ -476,8 +470,8 @@
return {
headerKey: header_key,
- afterPHID: after_phid,
- beforePHID: before_phid
+ afterPHIDs: after_phids,
+ beforePHIDs: before_phids
};
},
@@ -496,14 +490,8 @@
};
var context = this._getDropContext(after_node, item);
-
- if (context.afterPHID) {
- data.afterPHID = context.afterPHID;
- }
-
- if (context.beforePHID) {
- data.beforePHID = context.beforePHID;
- }
+ data.afterPHIDs = context.afterPHIDs.join(',');
+ data.beforePHIDs = context.beforePHIDs.join(',');
if (context.headerKey) {
var properties = this.getHeaderTemplate(context.headerKey)
@@ -530,13 +518,18 @@
src_phid,
dst_phid);
+ var after_phid = null;
+ if (data.afterPHIDs.length) {
+ after_phid = data.afterPHIDs[0];
+ }
+
var onupdate = JX.bind(
this,
this._oncardupdate,
list,
src_phid,
dst_phid,
- data.afterPHID);
+ after_phid);
new JX.Workflow(this.getController().getMoveURI(), data)
.setHandler(onupdate)

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 17, 2:55 PM (5 d, 12 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7475796
Default Alt Text
D20322.id48491.diff (6 KB)

Event Timeline