Skip to content

Commit 61318a8

Browse files
author
epriestley
committed
Improve minor workboard drag behaviors
Summary: Ref T5240. - Add proper class when dropping cards. - Add proper class when creating new cards. - Make X-drag explicit so that it works if there's only one column. - Stop tootips when dragging, resume them after dropping. - Move CSS rule for consistency. - Allow user to hit "Escape" to cancel an in-progress drag. Test Plan: - Dropped cards. - Created new cards. - X-dragged on a workboard with one column and a dashboard. - Dragged over a tooltip (no tip), dropped, moused over tooltip (tip). - Hit escape during a drag. Reviewers: chad Reviewed By: chad Subscribers: cspeckmim Maniphest Tasks: T5240 Differential Revision: https://secure.phabricator.com/D15163
1 parent a019f16 commit 61318a8

File tree

9 files changed

+115
-79
lines changed

9 files changed

+115
-79
lines changed

resources/celerity/map.php

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
*/
88
return array(
99
'names' => array(
10-
'core.pkg.css' => 'a01828d4',
11-
'core.pkg.js' => 'c5178ede',
10+
'core.pkg.css' => '764d4c80',
11+
'core.pkg.js' => '5b832397',
1212
'darkconsole.pkg.js' => 'e7393ebb',
1313
'differential.pkg.css' => '2de124c9',
1414
'differential.pkg.js' => '5c2ba922',
@@ -142,7 +142,7 @@
142142
'rsrc/css/phui/phui-info-view.css' => '6d7c3509',
143143
'rsrc/css/phui/phui-list.css' => '9da2aa00',
144144
'rsrc/css/phui/phui-object-box.css' => '407eaf5a',
145-
'rsrc/css/phui/phui-object-item-list-view.css' => '56aab18d',
145+
'rsrc/css/phui/phui-object-item-list-view.css' => 'fe594a65',
146146
'rsrc/css/phui/phui-pager.css' => 'bea33d23',
147147
'rsrc/css/phui/phui-pinboard-view.css' => '2495140e',
148148
'rsrc/css/phui/phui-profile-menu.css' => 'ab4fcf5f',
@@ -154,7 +154,7 @@
154154
'rsrc/css/phui/phui-timeline-view.css' => '2efceff8',
155155
'rsrc/css/phui/phui-two-column-view.css' => 'c75bfc5b',
156156
'rsrc/css/phui/workboards/phui-workboard.css' => 'b07a5524',
157-
'rsrc/css/phui/workboards/phui-workcard.css' => '92178913',
157+
'rsrc/css/phui/workboards/phui-workcard.css' => '42c703d7',
158158
'rsrc/css/phui/workboards/phui-workpanel.css' => 'b90970eb',
159159
'rsrc/css/sprite-login.css' => '60e8560e',
160160
'rsrc/css/sprite-menu.css' => '9dd65b92',
@@ -368,7 +368,7 @@
368368
'rsrc/js/application/countdown/timer.js' => 'e4cc26b3',
369369
'rsrc/js/application/daemon/behavior-bulk-job-reload.js' => 'edf8a145',
370370
'rsrc/js/application/dashboard/behavior-dashboard-async-panel.js' => '469c0d9e',
371-
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '82439934',
371+
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '019f36c4',
372372
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
373373
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
374374
'rsrc/js/application/differential/ChangesetViewManager.js' => 'a2828756',
@@ -413,7 +413,7 @@
413413
'rsrc/js/application/phortune/phortune-credit-card-form.js' => '2290aeef',
414414
'rsrc/js/application/policy/behavior-policy-control.js' => 'ae45872f',
415415
'rsrc/js/application/policy/behavior-policy-rule-editor.js' => '5e9f347c',
416-
'rsrc/js/application/projects/behavior-project-boards.js' => 'ba4fa35c',
416+
'rsrc/js/application/projects/behavior-project-boards.js' => '16c76360',
417417
'rsrc/js/application/projects/behavior-project-create.js' => '065227cc',
418418
'rsrc/js/application/projects/behavior-reorder-columns.js' => 'e1d25dfb',
419419
'rsrc/js/application/releeph/releeph-preview-branch.js' => 'b2b4fbaf',
@@ -446,7 +446,7 @@
446446
'rsrc/js/application/uiexample/notification-example.js' => '8ce821c5',
447447
'rsrc/js/core/Busy.js' => '59a7976a',
448448
'rsrc/js/core/DragAndDropFileUpload.js' => 'ad10aeac',
449-
'rsrc/js/core/DraggableList.js' => 'f1844746',
449+
'rsrc/js/core/DraggableList.js' => '1fe26f18',
450450
'rsrc/js/core/FileUpload.js' => '477359c8',
451451
'rsrc/js/core/Hovercard.js' => 'c6f720ff',
452452
'rsrc/js/core/KeyboardShortcut.js' => '1ae869f2',
@@ -457,7 +457,7 @@
457457
'rsrc/js/core/ShapedRequest.js' => '7cbe244b',
458458
'rsrc/js/core/TextAreaUtils.js' => '9e54692d',
459459
'rsrc/js/core/Title.js' => 'df5e11d2',
460-
'rsrc/js/core/ToolTip.js' => '1d298e3a',
460+
'rsrc/js/core/ToolTip.js' => '6323f942',
461461
'rsrc/js/core/behavior-active-nav.js' => 'e379b58e',
462462
'rsrc/js/core/behavior-audio-source.js' => '59b251eb',
463463
'rsrc/js/core/behavior-autofocus.js' => '7319e029',
@@ -579,7 +579,7 @@
579579
'javelin-behavior-countdown-timer' => 'e4cc26b3',
580580
'javelin-behavior-dark-console' => 'f411b6ae',
581581
'javelin-behavior-dashboard-async-panel' => '469c0d9e',
582-
'javelin-behavior-dashboard-move-panels' => '82439934',
582+
'javelin-behavior-dashboard-move-panels' => '019f36c4',
583583
'javelin-behavior-dashboard-query-panel-select' => '453c5375',
584584
'javelin-behavior-dashboard-tab-panel' => 'd4eecc63',
585585
'javelin-behavior-day-view' => '5c46cff2',
@@ -653,7 +653,7 @@
653653
'javelin-behavior-phui-profile-menu' => '12884df9',
654654
'javelin-behavior-policy-control' => 'ae45872f',
655655
'javelin-behavior-policy-rule-editor' => '5e9f347c',
656-
'javelin-behavior-project-boards' => 'ba4fa35c',
656+
'javelin-behavior-project-boards' => '16c76360',
657657
'javelin-behavior-project-create' => '065227cc',
658658
'javelin-behavior-quicksand-blacklist' => '7927a7d3',
659659
'javelin-behavior-recurring-edit' => '5f1c4d5f',
@@ -741,7 +741,7 @@
741741
'phabricator-countdown-css' => 'e7544472',
742742
'phabricator-dashboard-css' => 'eb458607',
743743
'phabricator-drag-and-drop-file-upload' => 'ad10aeac',
744-
'phabricator-draggable-list' => 'f1844746',
744+
'phabricator-draggable-list' => '1fe26f18',
745745
'phabricator-fatal-config-template-css' => '8e6c6fcd',
746746
'phabricator-feed-css' => 'ecd4ec57',
747747
'phabricator-file-upload' => '477359c8',
@@ -768,7 +768,7 @@
768768
'phabricator-standard-page-view' => '7b0d68d8',
769769
'phabricator-textareautils' => '9e54692d',
770770
'phabricator-title' => 'df5e11d2',
771-
'phabricator-tooltip' => '1d298e3a',
771+
'phabricator-tooltip' => '6323f942',
772772
'phabricator-ui-example-css' => '528b19de',
773773
'phabricator-uiexample-javelin-view' => 'd4a14807',
774774
'phabricator-uiexample-reactor-button' => 'd19198c8',
@@ -818,7 +818,7 @@
818818
'phui-inline-comment-view-css' => '0fdb3667',
819819
'phui-list-view-css' => '9da2aa00',
820820
'phui-object-box-css' => '407eaf5a',
821-
'phui-object-item-list-view-css' => '56aab18d',
821+
'phui-object-item-list-view-css' => 'fe594a65',
822822
'phui-pager-css' => 'bea33d23',
823823
'phui-pinboard-view-css' => '2495140e',
824824
'phui-profile-menu-css' => 'ab4fcf5f',
@@ -831,7 +831,7 @@
831831
'phui-timeline-view-css' => '2efceff8',
832832
'phui-two-column-view-css' => 'c75bfc5b',
833833
'phui-workboard-view-css' => 'b07a5524',
834-
'phui-workcard-view-css' => '92178913',
834+
'phui-workcard-view-css' => '42c703d7',
835835
'phui-workpanel-view-css' => 'b90970eb',
836836
'phuix-action-list-view' => 'b5c256b8',
837837
'phuix-action-view' => '8cf6d262',
@@ -875,6 +875,14 @@
875875
'javelin-behavior-device',
876876
'javelin-vector',
877877
),
878+
'019f36c4' => array(
879+
'javelin-behavior',
880+
'javelin-dom',
881+
'javelin-util',
882+
'javelin-stratcom',
883+
'javelin-workflow',
884+
'phabricator-draggable-list',
885+
),
878886
'031cee25' => array(
879887
'javelin-behavior',
880888
'javelin-request',
@@ -945,6 +953,15 @@
945953
'javelin-dom',
946954
'javelin-history',
947955
),
956+
'16c76360' => array(
957+
'javelin-behavior',
958+
'javelin-dom',
959+
'javelin-util',
960+
'javelin-vector',
961+
'javelin-stratcom',
962+
'javelin-workflow',
963+
'phabricator-draggable-list',
964+
),
948965
'1ad0a787' => array(
949966
'javelin-install',
950967
'javelin-reactor',
@@ -962,12 +979,6 @@
962979
'javelin-dom',
963980
'javelin-typeahead-normalizer',
964981
),
965-
'1d298e3a' => array(
966-
'javelin-install',
967-
'javelin-util',
968-
'javelin-dom',
969-
'javelin-vector',
970-
),
971982
'1d45c74d' => array(
972983
'javelin-behavior',
973984
'javelin-dom',
@@ -996,6 +1007,14 @@
9961007
'phuix-icon-view',
9971008
'javelin-behavior-phabricator-gesture',
9981009
),
1010+
'1fe26f18' => array(
1011+
'javelin-install',
1012+
'javelin-dom',
1013+
'javelin-stratcom',
1014+
'javelin-util',
1015+
'javelin-vector',
1016+
'javelin-magical-init',
1017+
),
9991018
'21ba5861' => array(
10001019
'javelin-behavior',
10011020
'javelin-dom',
@@ -1290,6 +1309,12 @@
12901309
'javelin-install',
12911310
'javelin-util',
12921311
),
1312+
'6323f942' => array(
1313+
'javelin-install',
1314+
'javelin-util',
1315+
'javelin-dom',
1316+
'javelin-vector',
1317+
),
12931318
'635de1ec' => array(
12941319
'javelin-behavior',
12951320
'javelin-stratcom',
@@ -1430,14 +1455,6 @@
14301455
'javelin-vector',
14311456
'javelin-stratcom',
14321457
),
1433-
82439934 => array(
1434-
'javelin-behavior',
1435-
'javelin-dom',
1436-
'javelin-util',
1437-
'javelin-stratcom',
1438-
'javelin-workflow',
1439-
'phabricator-draggable-list',
1440-
),
14411458
'834a1173' => array(
14421459
'javelin-behavior',
14431460
'javelin-scrollbar',
@@ -1747,15 +1764,6 @@
17471764
'b90970eb' => array(
17481765
'phui-workcard-view-css',
17491766
),
1750-
'ba4fa35c' => array(
1751-
'javelin-behavior',
1752-
'javelin-dom',
1753-
'javelin-util',
1754-
'javelin-vector',
1755-
'javelin-stratcom',
1756-
'javelin-workflow',
1757-
'phabricator-draggable-list',
1758-
),
17591767
'bd4c8dca' => array(
17601768
'javelin-install',
17611769
'javelin-util',
@@ -2011,14 +2019,6 @@
20112019
'javelin-workflow',
20122020
'javelin-json',
20132021
),
2014-
'f1844746' => array(
2015-
'javelin-install',
2016-
'javelin-dom',
2017-
'javelin-stratcom',
2018-
'javelin-util',
2019-
'javelin-vector',
2020-
'javelin-magical-init',
2021-
),
20222022
'f411b6ae' => array(
20232023
'javelin-behavior',
20242024
'javelin-stratcom',

src/applications/maniphest/editor/ManiphestEditEngine.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ private function buildCardResponse(ManiphestTask $task) {
338338
->setCanEdit(true)
339339
->getItem();
340340

341+
$tasks->addClass('phui-workcard');
342+
341343
$payload = array(
342344
'tasks' => $tasks,
343345
'data' => $data,

src/applications/project/controller/PhabricatorProjectMoveController.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ public function handleRequest(AphrontRequest $request) {
160160
->setProject($project)
161161
->getItem();
162162

163+
$card->addClass('phui-workcard');
164+
163165
return id(new AphrontAjaxResponse())->setContent(
164166
array('task' => $card));
165167
}

webroot/rsrc/css/phui/phui-object-item-list-view.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -374,11 +374,6 @@ ul.phui-object-item-icons {
374374
attributes.
375375
*/
376376

377-
.phui-workcard.phui-object-item {
378-
border-left-width: 4px;
379-
box-sizing: border-box;
380-
}
381-
382377
.phui-object-item {
383378
border-left-width: 0;
384379
}

webroot/rsrc/css/phui/workboards/phui-workcard.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
background-color: #fff;
77
border-radius: 3px;
88
margin-bottom: 8px;
9+
border-left-width: 4px;
10+
box-sizing: border-box;
911
}
1012

1113
.phui-workcard .phui-object-item-name {
@@ -87,7 +89,6 @@
8789
}
8890

8991

90-
9192
/* - Draggable Colors --------------------------------------------------------*/
9293

9394
.phui-workcard.phui-object-item.drag-clone {

webroot/rsrc/js/application/dashboard/behavior-dashboard-move-panels.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ JX.behavior('dashboard-move-panels', function(config) {
8585
for (ii = 0; ii < cols.length; ii++) {
8686
col = cols[ii];
8787
var list = new JX.DraggableList(itemSigil, col)
88-
.setFindItemsHandler(JX.bind(null, finditems, col));
88+
.setFindItemsHandler(JX.bind(null, finditems, col))
89+
.setCanDragX(true);
8990

9091
list.listen('didSend', JX.bind(list, onupdate, col));
9192
list.listen('didReceive', JX.bind(list, onupdate, col));

webroot/rsrc/js/application/projects/behavior-project-boards.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,8 @@ JX.behavior('project-boards', function(config, statics) {
231231

232232
for (ii = 0; ii < cols.length; ii++) {
233233
var list = new JX.DraggableList('project-card', cols[ii])
234-
.setFindItemsHandler(JX.bind(null, finditems, cols[ii]));
234+
.setFindItemsHandler(JX.bind(null, finditems, cols[ii]))
235+
.setCanDragX(true);
235236

236237
list.listen('didSend', JX.bind(list, onupdate, cols[ii]));
237238
list.listen('didReceive', JX.bind(list, onupdate, cols[ii]));

0 commit comments

Comments
 (0)