Page MenuHomePhabricator

D20274.diff
No OneTemporary

D20274.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -10,7 +10,7 @@
'conpherence.pkg.css' => '3c8a0668',
'conpherence.pkg.js' => '020aebcf',
'core.pkg.css' => '34ce1741',
- 'core.pkg.js' => 'b96c872e',
+ 'core.pkg.js' => '200a0a61',
'differential.pkg.css' => '8d8360fb',
'differential.pkg.js' => '67e02996',
'diffusion.pkg.css' => '42c75c37',
@@ -177,7 +177,7 @@
'rsrc/css/phui/phui-two-column-view.css' => '01e6991e',
'rsrc/css/phui/workboards/phui-workboard-color.css' => 'e86de308',
'rsrc/css/phui/workboards/phui-workboard.css' => '74fc9d98',
- 'rsrc/css/phui/workboards/phui-workcard.css' => '8c536f90',
+ 'rsrc/css/phui/workboards/phui-workcard.css' => '9e9eb0df',
'rsrc/css/phui/workboards/phui-workpanel.css' => 'bc16cf33',
'rsrc/css/sprite-login.css' => '18b368a6',
'rsrc/css/sprite-tokens.css' => 'f1896dc5',
@@ -408,7 +408,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' => 'fc1664ff',
+ 'rsrc/js/application/projects/WorkboardBoard.js' => 'eb55f7e8',
'rsrc/js/application/projects/WorkboardCard.js' => '0392a5d8',
'rsrc/js/application/projects/WorkboardCardTemplate.js' => '2a61f8d4',
'rsrc/js/application/projects/WorkboardColumn.js' => 'fd4c2069',
@@ -436,7 +436,7 @@
'rsrc/js/application/uiexample/notification-example.js' => '29819b75',
'rsrc/js/core/Busy.js' => '5202e831',
'rsrc/js/core/DragAndDropFileUpload.js' => '4370900d',
- 'rsrc/js/core/DraggableList.js' => '8437c663',
+ 'rsrc/js/core/DraggableList.js' => '91f40fbf',
'rsrc/js/core/Favicon.js' => '7930776a',
'rsrc/js/core/FileUpload.js' => 'ab85e184',
'rsrc/js/core/Hovercard.js' => '074f0783',
@@ -728,7 +728,7 @@
'javelin-view-renderer' => '9aae2b66',
'javelin-view-visitor' => '308f9fe4',
'javelin-websocket' => 'fdc13e4e',
- 'javelin-workboard-board' => 'fc1664ff',
+ 'javelin-workboard-board' => 'eb55f7e8',
'javelin-workboard-card' => '0392a5d8',
'javelin-workboard-card-template' => '2a61f8d4',
'javelin-workboard-column' => 'fd4c2069',
@@ -759,7 +759,7 @@
'phabricator-diff-changeset-list' => '04023d82',
'phabricator-diff-inline' => 'a4a14a94',
'phabricator-drag-and-drop-file-upload' => '4370900d',
- 'phabricator-draggable-list' => '8437c663',
+ 'phabricator-draggable-list' => '91f40fbf',
'phabricator-fatal-config-template-css' => '20babf50',
'phabricator-favicon' => '7930776a',
'phabricator-feed-css' => 'd8b6e3f8',
@@ -857,7 +857,7 @@
'phui-two-column-view-css' => '01e6991e',
'phui-workboard-color-css' => 'e86de308',
'phui-workboard-view-css' => '74fc9d98',
- 'phui-workcard-view-css' => '8c536f90',
+ 'phui-workcard-view-css' => '9e9eb0df',
'phui-workpanel-view-css' => 'bc16cf33',
'phuix-action-list-view' => 'c68f183f',
'phuix-action-view' => 'aaa08f3b',
@@ -1557,14 +1557,6 @@
'javelin-dom',
'javelin-vector',
),
- '8437c663' => array(
- 'javelin-install',
- 'javelin-dom',
- 'javelin-stratcom',
- 'javelin-util',
- 'javelin-vector',
- 'javelin-magical-init',
- ),
'87428eb2' => array(
'javelin-behavior',
'javelin-diffusion-locate-file-source',
@@ -1643,6 +1635,14 @@
'javelin-workflow',
'javelin-stratcom',
),
+ '91f40fbf' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-util',
+ 'javelin-vector',
+ 'javelin-magical-init',
+ ),
'92388bae' => array(
'javelin-behavior',
'javelin-scrollbar',
@@ -2051,6 +2051,17 @@
'javelin-install',
'javelin-event',
),
+ 'eb55f7e8' => 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',
+ ),
'ec4e31c0' => array(
'phui-timeline-view-css',
),
@@ -2118,17 +2129,6 @@
'phabricator-keyboard-shortcut',
'conpherence-thread-manager',
),
- 'fc1664ff' => 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',
- ),
'fce5d170' => array(
'javelin-magical-init',
'javelin-util',
diff --git a/src/applications/project/view/ProjectBoardTaskCard.php b/src/applications/project/view/ProjectBoardTaskCard.php
--- a/src/applications/project/view/ProjectBoardTaskCard.php
+++ b/src/applications/project/view/ProjectBoardTaskCard.php
@@ -82,19 +82,31 @@
$card = id(new PHUIObjectItemView())
->setObject($task)
->setUser($viewer)
- ->setObjectName('T'.$task->getID())
+ ->setObjectName($task->getMonogram())
->setHeader($task->getTitle())
- ->setGrippable($can_edit)
- ->setHref('/T'.$task->getID())
+ ->setHref($task->getURI())
->addSigil('project-card')
->setDisabled($task->isClosed())
- ->addAction(
- id(new PHUIListItemView())
+ ->setBarColor($bar_color);
+
+ if ($can_edit) {
+ $card
+ ->addSigil('draggable-card')
+ ->addClass('draggable-card');
+ $edit_icon = 'fa-pencil';
+ } else {
+ $card
+ ->addClass('not-editable')
+ ->addClass('undraggable-card');
+ $edit_icon = 'fa-lock red';
+ }
+
+ $card->addAction(
+ id(new PHUIListItemView())
->setName(pht('Edit'))
- ->setIcon('fa-pencil')
+ ->setIcon($edit_icon)
->addSigil('edit-project-card')
- ->setHref('/maniphest/task/edit/'.$task->getID().'/'))
- ->setBarColor($bar_color);
+ ->setHref('/maniphest/task/edit/'.$task->getID().'/'));
if ($owner) {
$card->addHandleIcon($owner, $owner->getName());
diff --git a/webroot/rsrc/css/phui/workboards/phui-workcard.css b/webroot/rsrc/css/phui/workboards/phui-workcard.css
--- a/webroot/rsrc/css/phui/workboards/phui-workcard.css
+++ b/webroot/rsrc/css/phui/workboards/phui-workcard.css
@@ -59,14 +59,6 @@
vertical-align: top;
}
-.phui-workcard.phui-oi-grippable .phui-oi-frame {
- padding-left: 0;
-}
-
-.phui-workcard .phui-oi-grip {
- display: none;
-}
-
.device-desktop .phui-workcard .phui-list-item-icon {
display: none;
}
@@ -88,6 +80,33 @@
opacity: 1;
}
+.device-desktop .phui-workcard.draggable-card {
+ cursor: grab;
+}
+
+.jx-dragging .phui-workcard.draggable-card {
+ cursor: grabbing;
+}
+
+.device-desktop .phui-workcard.undraggable-card {
+ cursor: not-allowed;
+}
+
+.device-desktop .phui-workcard.phui-oi.not-editable:hover {
+ background: {$sh-redbackground};
+}
+
+.device-desktop .phui-workcard.phui-oi.not-editable:hover
+ .phui-list-item-href {
+ border-radius: 3px;
+ background: {$red};
+}
+
+.device-desktop .phui-workcard.phui-oi.not-editable:hover
+ .phui-list-item-href .phui-icon-view {
+ color: #fff;
+}
+
.phui-workcard.phui-oi:hover .phui-list-item-icon {
display: block;
}
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
@@ -138,7 +138,7 @@
for (var k in columns) {
var column = columns[k];
- var list = new JX.DraggableList('project-card', column.getRoot())
+ var list = new JX.DraggableList('draggable-card', column.getRoot())
.setOuterContainer(this.getRoot())
.setFindItemsHandler(JX.bind(column, column.getDropTargetNodes))
.setCanDragX(true)
diff --git a/webroot/rsrc/js/core/DraggableList.js b/webroot/rsrc/js/core/DraggableList.js
--- a/webroot/rsrc/js/core/DraggableList.js
+++ b/webroot/rsrc/js/core/DraggableList.js
@@ -240,6 +240,7 @@
frame.appendChild(clone);
document.body.appendChild(frame);
+ JX.DOM.alterClass(document.body, 'jx-dragging', true);
this._dragging = drag;
this._clone = clone;
@@ -618,6 +619,7 @@
this._autoscroller = null;
JX.DOM.remove(this._frame);
+ JX.DOM.alterClass(document.body, 'jx-dragging', false);
this._frame = null;
this._clone = null;

File Metadata

Mime Type
text/plain
Expires
Thu, May 16, 2:10 AM (2 w, 4 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6275403
Default Alt Text
D20274.diff (8 KB)

Event Timeline