Skip to content

Commit 5f98c5f

Browse files
author
epriestley
committedJun 6, 2013
Simplify drag-and-drop list implementations
Summary: - Use the same styles for shared operations (`drag-ghost`, `drag-dragging`). - Move shared code into the base class. Test Plan: Dragged around tasks and named queries. Reviewers: chad Reviewed By: chad CC: aran Differential Revision: https://secure.phabricator.com/D6141
1 parent d0bb4e1 commit 5f98c5f

File tree

7 files changed

+97
-129
lines changed

7 files changed

+97
-129
lines changed
 

‎src/__celerity_resource_map__.php

+70-72
Original file line numberDiff line numberDiff line change
@@ -1797,16 +1797,15 @@
17971797
),
17981798
'javelin-behavior-maniphest-subpriority-editor' =>
17991799
array(
1800-
'uri' => '/res/57540d92/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
1800+
'uri' => '/res/99d84c61/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
18011801
'type' => 'js',
18021802
'requires' =>
18031803
array(
18041804
0 => 'javelin-behavior',
18051805
1 => 'javelin-dom',
1806-
2 => 'javelin-vector',
1807-
3 => 'javelin-stratcom',
1808-
4 => 'javelin-workflow',
1809-
5 => 'phabricator-draggable-list',
1806+
2 => 'javelin-stratcom',
1807+
3 => 'javelin-workflow',
1808+
4 => 'phabricator-draggable-list',
18101809
),
18111810
'disk' => '/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
18121811
),
@@ -2273,16 +2272,15 @@
22732272
),
22742273
'javelin-behavior-search-reorder-queries' =>
22752274
array(
2276-
'uri' => '/res/47148be5/rsrc/js/application/search/behavior-reorder-queries.js',
2275+
'uri' => '/res/9864b481/rsrc/js/application/search/behavior-reorder-queries.js',
22772276
'type' => 'js',
22782277
'requires' =>
22792278
array(
22802279
0 => 'javelin-behavior',
2281-
1 => 'javelin-vector',
2282-
2 => 'javelin-stratcom',
2283-
3 => 'javelin-workflow',
2284-
4 => 'javelin-dom',
2285-
5 => 'phabricator-draggable-list',
2280+
1 => 'javelin-stratcom',
2281+
2 => 'javelin-workflow',
2282+
3 => 'javelin-dom',
2283+
4 => 'phabricator-draggable-list',
22862284
),
22872285
'disk' => '/rsrc/js/application/search/behavior-reorder-queries.js',
22882286
),
@@ -2820,7 +2818,7 @@
28202818
),
28212819
'maniphest-task-summary-css' =>
28222820
array(
2823-
'uri' => '/res/7aa9e2eb/rsrc/css/application/maniphest/task-summary.css',
2821+
'uri' => '/res/1f2fac54/rsrc/css/application/maniphest/task-summary.css',
28242822
'type' => 'css',
28252823
'requires' =>
28262824
array(
@@ -3006,7 +3004,7 @@
30063004
),
30073005
'phabricator-draggable-list' =>
30083006
array(
3009-
'uri' => '/res/e72b9768/rsrc/js/core/DraggableList.js',
3007+
'uri' => '/res/76ddce56/rsrc/js/core/DraggableList.js',
30103008
'type' => 'js',
30113009
'requires' =>
30123010
array(
@@ -3221,7 +3219,7 @@
32213219
),
32223220
'phabricator-object-item-list-view-css' =>
32233221
array(
3224-
'uri' => '/res/90b606a1/rsrc/css/layout/phabricator-object-item-list-view.css',
3222+
'uri' => '/res/b9f7acb9/rsrc/css/layout/phabricator-object-item-list-view.css',
32253223
'type' => 'css',
32263224
'requires' =>
32273225
array(
@@ -3598,7 +3596,7 @@
35983596
),
35993597
'phabricator-zindex-css' =>
36003598
array(
3601-
'uri' => '/res/f064ab0f/rsrc/css/core/z-index.css',
3599+
'uri' => '/res/f919f9e1/rsrc/css/core/z-index.css',
36023600
'type' => 'css',
36033601
'requires' =>
36043602
array(
@@ -4027,7 +4025,7 @@
40274025
), array(
40284026
'packages' =>
40294027
array(
4030-
'd2e70cf1' =>
4028+
'0ad6d3e5' =>
40314029
array(
40324030
'name' => 'core.pkg.css',
40334031
'symbols' =>
@@ -4075,7 +4073,7 @@
40754073
40 => 'phabricator-property-list-view-css',
40764074
41 => 'phabricator-tag-view-css',
40774075
),
4078-
'uri' => '/res/pkg/d2e70cf1/core.pkg.css',
4076+
'uri' => '/res/pkg/0ad6d3e5/core.pkg.css',
40794077
'type' => 'css',
40804078
),
40814079
'f2ad0683' =>
@@ -4238,7 +4236,7 @@
42384236
'uri' => '/res/pkg/a9f14d76/javelin.pkg.js',
42394237
'type' => 'js',
42404238
),
4241-
'03ab92cf' =>
4239+
'a7ca34a9' =>
42424240
array(
42434241
'name' => 'maniphest.pkg.css',
42444242
'symbols' =>
@@ -4248,10 +4246,10 @@
42484246
2 => 'aphront-attached-file-view-css',
42494247
3 => 'phabricator-project-tag-css',
42504248
),
4251-
'uri' => '/res/pkg/03ab92cf/maniphest.pkg.css',
4249+
'uri' => '/res/pkg/a7ca34a9/maniphest.pkg.css',
42524250
'type' => 'css',
42534251
),
4254-
'265bc3fa' =>
4252+
'98f64f07' =>
42554253
array(
42564254
'name' => 'maniphest.pkg.js',
42574255
'symbols' =>
@@ -4262,23 +4260,23 @@
42624260
3 => 'javelin-behavior-maniphest-transaction-expand',
42634261
4 => 'javelin-behavior-maniphest-subpriority-editor',
42644262
),
4265-
'uri' => '/res/pkg/265bc3fa/maniphest.pkg.js',
4263+
'uri' => '/res/pkg/98f64f07/maniphest.pkg.js',
42664264
'type' => 'js',
42674265
),
42684266
),
42694267
'reverse' =>
42704268
array(
4271-
'aphront-attached-file-view-css' => '03ab92cf',
4272-
'aphront-dialog-view-css' => 'd2e70cf1',
4273-
'aphront-error-view-css' => 'd2e70cf1',
4274-
'aphront-form-view-css' => 'd2e70cf1',
4275-
'aphront-list-filter-view-css' => 'd2e70cf1',
4276-
'aphront-pager-view-css' => 'd2e70cf1',
4277-
'aphront-panel-view-css' => 'd2e70cf1',
4278-
'aphront-table-view-css' => 'd2e70cf1',
4279-
'aphront-tokenizer-control-css' => 'd2e70cf1',
4280-
'aphront-tooltip-css' => 'd2e70cf1',
4281-
'aphront-typeahead-control-css' => 'd2e70cf1',
4269+
'aphront-attached-file-view-css' => 'a7ca34a9',
4270+
'aphront-dialog-view-css' => '0ad6d3e5',
4271+
'aphront-error-view-css' => '0ad6d3e5',
4272+
'aphront-form-view-css' => '0ad6d3e5',
4273+
'aphront-list-filter-view-css' => '0ad6d3e5',
4274+
'aphront-pager-view-css' => '0ad6d3e5',
4275+
'aphront-panel-view-css' => '0ad6d3e5',
4276+
'aphront-table-view-css' => '0ad6d3e5',
4277+
'aphront-tokenizer-control-css' => '0ad6d3e5',
4278+
'aphront-tooltip-css' => '0ad6d3e5',
4279+
'aphront-typeahead-control-css' => '0ad6d3e5',
42824280
'differential-changeset-view-css' => 'dd27a69b',
42834281
'differential-core-view-css' => 'dd27a69b',
42844282
'differential-inline-comment-editor' => '9488bb69',
@@ -4292,7 +4290,7 @@
42924290
'differential-table-of-contents-css' => 'dd27a69b',
42934291
'diffusion-commit-view-css' => 'c8ce2d88',
42944292
'diffusion-icons-css' => 'c8ce2d88',
4295-
'global-drag-and-drop-css' => 'd2e70cf1',
4293+
'global-drag-and-drop-css' => '0ad6d3e5',
42964294
'inline-comment-summary-css' => 'dd27a69b',
42974295
'javelin-aphlict' => 'f2ad0683',
42984296
'javelin-behavior' => 'a9f14d76',
@@ -4325,11 +4323,11 @@
43254323
'javelin-behavior-konami' => 'f2ad0683',
43264324
'javelin-behavior-lightbox-attachments' => 'f2ad0683',
43274325
'javelin-behavior-load-blame' => '9488bb69',
4328-
'javelin-behavior-maniphest-batch-selector' => '265bc3fa',
4329-
'javelin-behavior-maniphest-subpriority-editor' => '265bc3fa',
4330-
'javelin-behavior-maniphest-transaction-controls' => '265bc3fa',
4331-
'javelin-behavior-maniphest-transaction-expand' => '265bc3fa',
4332-
'javelin-behavior-maniphest-transaction-preview' => '265bc3fa',
4326+
'javelin-behavior-maniphest-batch-selector' => '98f64f07',
4327+
'javelin-behavior-maniphest-subpriority-editor' => '98f64f07',
4328+
'javelin-behavior-maniphest-transaction-controls' => '98f64f07',
4329+
'javelin-behavior-maniphest-transaction-expand' => '98f64f07',
4330+
'javelin-behavior-maniphest-transaction-preview' => '98f64f07',
43334331
'javelin-behavior-phabricator-active-nav' => 'f2ad0683',
43344332
'javelin-behavior-phabricator-autofocus' => 'f2ad0683',
43354333
'javelin-behavior-phabricator-gesture' => 'f2ad0683',
@@ -4366,55 +4364,55 @@
43664364
'javelin-util' => 'a9f14d76',
43674365
'javelin-vector' => 'a9f14d76',
43684366
'javelin-workflow' => 'a9f14d76',
4369-
'lightbox-attachment-css' => 'd2e70cf1',
4370-
'maniphest-task-summary-css' => '03ab92cf',
4371-
'maniphest-transaction-detail-css' => '03ab92cf',
4372-
'phabricator-action-list-view-css' => 'd2e70cf1',
4373-
'phabricator-application-launch-view-css' => 'd2e70cf1',
4367+
'lightbox-attachment-css' => '0ad6d3e5',
4368+
'maniphest-task-summary-css' => 'a7ca34a9',
4369+
'maniphest-transaction-detail-css' => 'a7ca34a9',
4370+
'phabricator-action-list-view-css' => '0ad6d3e5',
4371+
'phabricator-application-launch-view-css' => '0ad6d3e5',
43744372
'phabricator-busy' => 'f2ad0683',
43754373
'phabricator-content-source-view-css' => 'dd27a69b',
4376-
'phabricator-core-buttons-css' => 'd2e70cf1',
4377-
'phabricator-core-css' => 'd2e70cf1',
4378-
'phabricator-crumbs-view-css' => 'd2e70cf1',
4374+
'phabricator-core-buttons-css' => '0ad6d3e5',
4375+
'phabricator-core-css' => '0ad6d3e5',
4376+
'phabricator-crumbs-view-css' => '0ad6d3e5',
43794377
'phabricator-drag-and-drop-file-upload' => '9488bb69',
43804378
'phabricator-dropdown-menu' => 'f2ad0683',
43814379
'phabricator-file-upload' => 'f2ad0683',
4382-
'phabricator-filetree-view-css' => 'd2e70cf1',
4383-
'phabricator-flag-css' => 'd2e70cf1',
4384-
'phabricator-form-view-css' => 'd2e70cf1',
4385-
'phabricator-header-view-css' => 'd2e70cf1',
4380+
'phabricator-filetree-view-css' => '0ad6d3e5',
4381+
'phabricator-flag-css' => '0ad6d3e5',
4382+
'phabricator-form-view-css' => '0ad6d3e5',
4383+
'phabricator-header-view-css' => '0ad6d3e5',
43864384
'phabricator-hovercard' => 'f2ad0683',
4387-
'phabricator-jump-nav' => 'd2e70cf1',
4385+
'phabricator-jump-nav' => '0ad6d3e5',
43884386
'phabricator-keyboard-shortcut' => 'f2ad0683',
43894387
'phabricator-keyboard-shortcut-manager' => 'f2ad0683',
4390-
'phabricator-main-menu-view' => 'd2e70cf1',
4388+
'phabricator-main-menu-view' => '0ad6d3e5',
43914389
'phabricator-menu-item' => 'f2ad0683',
4392-
'phabricator-nav-view-css' => 'd2e70cf1',
4390+
'phabricator-nav-view-css' => '0ad6d3e5',
43934391
'phabricator-notification' => 'f2ad0683',
4394-
'phabricator-notification-css' => 'd2e70cf1',
4395-
'phabricator-notification-menu-css' => 'd2e70cf1',
4396-
'phabricator-object-item-list-view-css' => 'd2e70cf1',
4392+
'phabricator-notification-css' => '0ad6d3e5',
4393+
'phabricator-notification-menu-css' => '0ad6d3e5',
4394+
'phabricator-object-item-list-view-css' => '0ad6d3e5',
43974395
'phabricator-object-selector-css' => 'dd27a69b',
43984396
'phabricator-phtize' => 'f2ad0683',
43994397
'phabricator-prefab' => 'f2ad0683',
4400-
'phabricator-project-tag-css' => '03ab92cf',
4401-
'phabricator-property-list-view-css' => 'd2e70cf1',
4402-
'phabricator-remarkup-css' => 'd2e70cf1',
4398+
'phabricator-project-tag-css' => 'a7ca34a9',
4399+
'phabricator-property-list-view-css' => '0ad6d3e5',
4400+
'phabricator-remarkup-css' => '0ad6d3e5',
44034401
'phabricator-shaped-request' => '9488bb69',
4404-
'phabricator-side-menu-view-css' => 'd2e70cf1',
4405-
'phabricator-standard-page-view' => 'd2e70cf1',
4406-
'phabricator-tag-view-css' => 'd2e70cf1',
4402+
'phabricator-side-menu-view-css' => '0ad6d3e5',
4403+
'phabricator-standard-page-view' => '0ad6d3e5',
4404+
'phabricator-tag-view-css' => '0ad6d3e5',
44074405
'phabricator-textareautils' => 'f2ad0683',
44084406
'phabricator-tooltip' => 'f2ad0683',
4409-
'phabricator-transaction-view-css' => 'd2e70cf1',
4410-
'phabricator-zindex-css' => 'd2e70cf1',
4411-
'phui-form-css' => 'd2e70cf1',
4412-
'phui-icon-view-css' => 'd2e70cf1',
4413-
'spacing-css' => 'd2e70cf1',
4414-
'sprite-apps-large-css' => 'd2e70cf1',
4415-
'sprite-gradient-css' => 'd2e70cf1',
4416-
'sprite-icons-css' => 'd2e70cf1',
4417-
'sprite-menu-css' => 'd2e70cf1',
4418-
'syntax-highlighting-css' => 'd2e70cf1',
4407+
'phabricator-transaction-view-css' => '0ad6d3e5',
4408+
'phabricator-zindex-css' => '0ad6d3e5',
4409+
'phui-form-css' => '0ad6d3e5',
4410+
'phui-icon-view-css' => '0ad6d3e5',
4411+
'spacing-css' => '0ad6d3e5',
4412+
'sprite-apps-large-css' => '0ad6d3e5',
4413+
'sprite-gradient-css' => '0ad6d3e5',
4414+
'sprite-icons-css' => '0ad6d3e5',
4415+
'sprite-menu-css' => '0ad6d3e5',
4416+
'syntax-highlighting-css' => '0ad6d3e5',
44194417
),
44204418
));

‎webroot/rsrc/css/application/maniphest/task-summary.css

-16
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,6 @@
7575
width: 100%;
7676
}
7777

78-
.maniphest-subpriority-target {
79-
position: relative;
80-
border: 1px dashed #aaaaaa;
81-
background: #f9f9f9;
82-
margin: 4px;
83-
}
84-
85-
.maniphest-task-loading {
86-
opacity: 0.75;
87-
}
88-
89-
.maniphest-task-dragging {
90-
position: relative;
91-
opacity: 0.90;
92-
}
93-
9478
.maniphest-list-container {
9579
padding: 20px;
9680
}

‎webroot/rsrc/css/core/z-index.css

-4
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@
4646
z-index: 5;
4747
}
4848

49-
.maniphest-task-dragging {
50-
z-index: 5;
51-
}
52-
5349
.drag-dragging {
5450
z-index: 5;
5551
}

‎webroot/rsrc/css/layout/phabricator-object-item-list-view.css

+8-2
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,12 @@
466466
}
467467

468468

469+
/* - Draggable List ------------------------------------------------------------
470+
471+
These classes are applied by and/or provided for use with JX.DraggableList.
472+
473+
*/
474+
469475
.drag-ghost {
470476
position: relative;
471477
border: 1px dashed #aaaaaa;
@@ -475,9 +481,9 @@
475481

476482
.drag-dragging {
477483
position: relative;
478-
opacity: 0.8;
484+
opacity: 0.9;
479485
}
480486

481487
.drag-sending {
482-
opacity: 0.5;
488+
opacity: 0.75;
483489
}

‎webroot/rsrc/js/application/maniphest/behavior-subpriorityeditor.js

+1-12
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
* @provides javelin-behavior-maniphest-subpriority-editor
33
* @requires javelin-behavior
44
* javelin-dom
5-
* javelin-vector
65
* javelin-stratcom
76
* javelin-workflow
87
* phabricator-draggable-list
@@ -16,7 +15,6 @@ JX.behavior('maniphest-subpriority-editor', function(config) {
1615
var heads = JX.DOM.scry(document.body, 'h1', 'task-group');
1716
return tasks.concat(heads);
1817
})
19-
.setGhostNode(JX.$N('li', {className: 'maniphest-subpriority-target'}))
2018
.setGhostHandler(function(ghost, target) {
2119
if (target.nextSibling) {
2220
if (JX.DOM.isType(target, 'h1')) {
@@ -35,15 +33,6 @@ JX.behavior('maniphest-subpriority-editor', function(config) {
3533
}
3634
});
3735

38-
draggable.listen('didBeginDrag', function(node) {
39-
draggable.getGhostNode().style.height = JX.Vector.getDim(node).y + 'px';
40-
JX.DOM.alterClass(node, 'maniphest-task-dragging', true);
41-
});
42-
43-
draggable.listen('didEndDrag', function(node) {
44-
JX.DOM.alterClass(node, 'maniphest-task-dragging', false);
45-
});
46-
4736
draggable.listen('didDrop', function(node, after) {
4837
var data = {
4938
task: JX.Stratcom.getData(node).taskID
@@ -56,7 +45,7 @@ JX.behavior('maniphest-subpriority-editor', function(config) {
5645
}
5746

5847
draggable.lock();
59-
JX.DOM.alterClass(node, 'maniphest-task-loading', true);
48+
JX.DOM.alterClass(node, 'drag-sending', true);
6049

6150
var onresponse = function(r) {
6251
var nodes = JX.$H(r.tasks).getFragment().firstChild;

0 commit comments

Comments
 (0)
Failed to load comments.