Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/maniphest/view/ManiphestTaskResultListView.php b/src/applications/maniphest/view/ManiphestTaskResultListView.php
index fc3756645b..5804951e25 100644
--- a/src/applications/maniphest/view/ManiphestTaskResultListView.php
+++ b/src/applications/maniphest/view/ManiphestTaskResultListView.php
@@ -1,269 +1,268 @@
<?php
final class ManiphestTaskResultListView extends ManiphestView {
private $tasks;
private $savedQuery;
private $canEditPriority;
private $canBatchEdit;
private $showBatchControls;
public function setSavedQuery(PhabricatorSavedQuery $query) {
$this->savedQuery = $query;
return $this;
}
public function setTasks(array $tasks) {
$this->tasks = $tasks;
return $this;
}
public function setCanEditPriority($can_edit_priority) {
$this->canEditPriority = $can_edit_priority;
return $this;
}
public function setCanBatchEdit($can_batch_edit) {
$this->canBatchEdit = $can_batch_edit;
return $this;
}
public function setShowBatchControls($show_batch_controls) {
$this->showBatchControls = $show_batch_controls;
return $this;
}
public function render() {
$viewer = $this->getUser();
$tasks = $this->tasks;
$query = $this->savedQuery;
// If we didn't match anything, just pick up the default empty state.
if (!$tasks) {
return id(new PHUIObjectItemListView())
->setUser($viewer);
}
$group_parameter = nonempty($query->getParameter('group'), 'priority');
$order_parameter = nonempty($query->getParameter('order'), 'priority');
$handles = ManiphestTaskListView::loadTaskHandles($viewer, $tasks);
$groups = $this->groupTasks(
$tasks,
$group_parameter,
$handles);
$can_edit_priority = $this->canEditPriority;
$can_drag = ($order_parameter == 'priority') &&
($can_edit_priority) &&
($group_parameter == 'none' || $group_parameter == 'priority');
if (!$viewer->isLoggedIn()) {
// TODO: (T7131) Eventually, we conceivably need to make each task
// draggable individually, since the user may be able to edit some but
// not others.
$can_drag = false;
}
$result = array();
$lists = array();
foreach ($groups as $group => $list) {
$task_list = new ManiphestTaskListView();
$task_list->setShowBatchControls($this->showBatchControls);
if ($can_drag) {
$task_list->setShowSubpriorityControls(true);
}
$task_list->setUser($viewer);
$task_list->setTasks($list);
$task_list->setHandles($handles);
$header = id(new PHUIHeaderView())
- ->addClass('maniphest-task-group-header')
->addSigil('task-group')
->setMetadata(array('priority' => head($list)->getPriority()))
->setHeader(pht('%s (%s)', $group, new PhutilNumber(count($list))));
$lists[] = id(new PHUIObjectBoxView())
->setHeader($header)
->appendChild($task_list);
}
if ($can_drag) {
Javelin::initBehavior(
'maniphest-subpriority-editor',
array(
'uri' => '/maniphest/subpriority/',
));
}
return array(
$lists,
$this->showBatchControls ? $this->renderBatchEditor($query) : null,
);
}
private function groupTasks(array $tasks, $group, array $handles) {
assert_instances_of($tasks, 'ManiphestTask');
assert_instances_of($handles, 'PhabricatorObjectHandle');
$groups = $this->getTaskGrouping($tasks, $group);
$results = array();
foreach ($groups as $label_key => $tasks) {
$label = $this->getTaskLabelName($group, $label_key, $handles);
$results[$label][] = $tasks;
}
foreach ($results as $label => $task_groups) {
$results[$label] = array_mergev($task_groups);
}
return $results;
}
private function getTaskGrouping(array $tasks, $group) {
switch ($group) {
case 'priority':
return mgroup($tasks, 'getPriority');
case 'status':
return mgroup($tasks, 'getStatus');
case 'assigned':
return mgroup($tasks, 'getOwnerPHID');
case 'project':
return mgroup($tasks, 'getGroupByProjectPHID');
default:
return array(pht('Tasks') => $tasks);
}
}
private function getTaskLabelName($group, $label_key, array $handles) {
switch ($group) {
case 'priority':
return ManiphestTaskPriority::getTaskPriorityName($label_key);
case 'status':
return ManiphestTaskStatus::getTaskStatusFullName($label_key);
case 'assigned':
if ($label_key) {
return $handles[$label_key]->getFullName();
} else {
return pht('(Not Assigned)');
}
case 'project':
if ($label_key) {
return $handles[$label_key]->getFullName();
} else {
// This may mean "No Projects", or it may mean the query has project
// constraints but the task is only in constrained projects (in this
// case, we don't show the group because it would always have all
// of the tasks). Since distinguishing between these two cases is
// messy and the UI is reasonably clear, label generically.
return pht('(Ungrouped)');
}
default:
return pht('Tasks');
}
}
private function renderBatchEditor(PhabricatorSavedQuery $saved_query) {
$user = $this->getUser();
if (!$this->canBatchEdit) {
return null;
}
if (!$user->isLoggedIn()) {
// Don't show the batch editor or excel export for logged-out users.
// Technically we //could// let them export, but ehh.
return null;
}
Javelin::initBehavior(
'maniphest-batch-selector',
array(
'selectAll' => 'batch-select-all',
'selectNone' => 'batch-select-none',
'submit' => 'batch-select-submit',
'status' => 'batch-select-status-cell',
'idContainer' => 'batch-select-id-container',
'formID' => 'batch-select-form',
));
$select_all = javelin_tag(
'a',
array(
'href' => '#',
'mustcapture' => true,
'class' => 'grey button',
'id' => 'batch-select-all',
),
pht('Select All'));
$select_none = javelin_tag(
'a',
array(
'href' => '#',
'mustcapture' => true,
'class' => 'grey button',
'id' => 'batch-select-none',
),
pht('Clear Selection'));
$submit = phutil_tag(
'button',
array(
'id' => 'batch-select-submit',
'disabled' => 'disabled',
'class' => 'disabled',
),
pht("Batch Edit Selected \xC2\xBB"));
$export = javelin_tag(
'a',
array(
'href' => '/maniphest/export/'.$saved_query->getQueryKey().'/',
'class' => 'grey button',
),
pht('Export to Excel'));
$hidden = phutil_tag(
'div',
array(
'id' => 'batch-select-id-container',
),
'');
$editor = hsprintf(
'<table class="maniphest-batch-editor-layout">'.
'<tr>'.
'<td>%s%s</td>'.
'<td>%s</td>'.
'<td id="batch-select-status-cell">%s</td>'.
'<td class="batch-select-submit-cell">%s%s</td>'.
'</tr>'.
'</table>',
$select_all,
$select_none,
$export,
'',
$submit,
$hidden);
$editor = phabricator_form(
$user,
array(
'method' => 'POST',
'action' => '/maniphest/batch/',
'id' => 'batch-select-form',
),
$editor);
$box = id(new PHUIObjectBoxView())
->setHeaderText(pht('Batch Task Editor'))
->appendChild($editor);
return $box;
}
}
diff --git a/webroot/rsrc/css/aphront/dialog-view.css b/webroot/rsrc/css/aphront/dialog-view.css
index 8fc4bafa95..412b7f855a 100644
--- a/webroot/rsrc/css/aphront/dialog-view.css
+++ b/webroot/rsrc/css/aphront/dialog-view.css
@@ -1,143 +1,132 @@
/**
* @provides aphront-dialog-view-css
*/
.aphront-dialog-view {
width: 540px;
margin: 32px auto 16px;
border: 1px solid {$lightblueborder};
border-radius: 3px;
}
.device-phone .aphront-dialog-view {
margin: 16px;
width: auto;
}
.aphront-dialog-view-standalone {
margin: auto;
}
.aphront-dialog-head {
- padding: 4px 12px 0 12px;
+ padding: 12px 12px 0 12px;
background: #fff;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
-.aphront-dialog-head .phui-action-header {
- border-bottom: 1px solid {$thinblueborder};
- padding: 0 0 4px 0;
- white-space: nowrap;
-}
-
.aphront-dialog-flush .aphront-dialog-body {
padding: 0;
}
.aphront-dialog-view-width-form {
width: 600px;
}
.aphront-dialog-view-width-full {
width: 90%;
}
.aphront-dialog-body {
background: #fff;
padding: 16px;
border: none;
}
.aphront-dialog-tail {
border: none;
background: {$lightgreybackground};
padding: 8px 16px;
border-top: 1px solid {$thinblueborder};
}
.aphront-dialog-foot {
padding: 6px 0;
float: left;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
.aphront-dialog-tail button,
.aphront-dialog-tail a.button {
float: right;
margin-left: 8px;
}
.jx-client-dialog {
position: absolute;
width: 100%;
}
.jx-mask {
opacity: .7;
background: #292f33;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.jx-dark-mask {
background: #292f33;
opacity: 0.95;
}
.aphront-exception-dialog {
width: 95%;
}
.aphront-exception-dialog .exception-message {
font-size: 14px;
background: {$sh-yellowbackground};
border: 1px solid {$sh-yellowborder};
padding: 12px;
white-space: pre-wrap;
}
.aphront-exception-dialog .exception-trace {
margin-top: 16px;
}
.aphront-access-dialog {
width: 50%;
}
-.aphront-dialog-view ul {
- margin: 12px 24px;
- list-style: circle;
-}
-
.aphront-policy-rejection {
font-weight: bold;
}
.aphront-capability-details {
margin: 20px 0 4px;
}
.aphront-dialog-view-paragraph + .aphront-dialog-view-paragraph {
margin-top: 16px;
}
.device-desktop .aphront-dialog-flush .phui-object-item-list-view {
margin: 0;
padding: 0;
}
.aphront-dialog-flush .phui-object-item-list-view.phui-object-list-stackable
.phui-object-item {
border: 0;
}
.aphront-dialog-flush .phui-object-item-list-view.phui-object-list-stackable
.phui-object-item-frame {
border: 0;
border-top: 1px solid {$thinblueborder};
}
diff --git a/webroot/rsrc/css/application/conpherence/durable-column.css b/webroot/rsrc/css/application/conpherence/durable-column.css
index 643e16958a..030dc0490e 100644
--- a/webroot/rsrc/css/application/conpherence/durable-column.css
+++ b/webroot/rsrc/css/application/conpherence/durable-column.css
@@ -1,359 +1,335 @@
/**
* @provides conpherence-durable-column-view
*/
.with-durable-column .phabricator-standard-page-body {
margin-right: 300px;
}
.with-durable-margin .phabricator-standard-page-body {
margin-right: 312px;
}
.with-durable-column .phabricator-main-menu {
padding-right: 304px;
}
.with-durable-margin .phabricator-main-menu {
padding-right: 316px;
}
.with-durable-column
.phabricator-global-upload-instructions {
font-size: 28px;
width: 50%;
}
.global-upload-mask {
pointer-events: none;
}
.with-durable-column .global-upload-mask {
right: 300px;
}
.with-durable-margin .global-upload-mask {
right: 312px;
}
.conpherence-durable-column {
position: fixed;
top: 0;
bottom: 0;
right: 0;
width: 300px;
background: #fff;
}
.with-durable-margin .conpherence-durable-column {
border-right: 12px solid {$lightgreybackground};
}
.conpherence-durable-column .loading-mask {
position: absolute;
top: 90px;
bottom: 0;
right: 1px;
width: 298px;
background: #fff;
display: none;
opacity: .6;
z-index: 2;
}
.device-desktop .conpherence-durable-column.loading .loading-mask {
display: block;
}
.conpherence-durable-column-header .conpherence-settings-dropdown {
z-index: 1;
}
.conpherence-durable-column-header .phabricator-application-menu {
display: block;
float: right;
padding-right: 4px;
width: 36px;
}
.conpherence-durable-column-header
.phabricator-application-menu .phui-list-item-view.core-menu-item {
display: block;
}
.conpherence-durable-column-header
.phabricator-application-menu .phui-list-item-name {
display: none;
}
.conpherence-durable-column-header
.phabricator-application-menu .phui-list-item-view {
float: left;
position: relative;
width: 36px;
height: 36px;
margin-top: 4px;
}
.conpherence-durable-column-header
.phabricator-application-menu .phui-list-item-href {
background: transparent;
border: none;
padding: 0;
}
.conpherence-durable-column-header
.phabricator-dark-menu .phui-list-item-type-link {
background: transparent;
}
-.device-desktop
-.conpherence-durable-column-header
-.phabricator-application-menu
-.core-menu-item.phui-list-item-view:hover
-.phui-list-item-icon.phui-font-fa {
- color: #fff;
-}
.conpherence-durable-column-header
.phabricator-application-menu
.phui-list-item-view.core-menu-item {
display: block;
}
-.device-desktop
-.conpherence-durable-column-header
-.phabricator-application-menu
-.core-menu-item.phui-list-item-view:hover {
- background-color: rgba(0,0,0,.33);
- border-radius: 3px;
-}
-.conpherence-durable-column-header
-.phabricator-application-menu .phui-list-item-icon.phui-font-fa {
- font-size: 20px;
- height: 20px;
- width: 20px;
- color: rgba(255,255,255,.8);
- margin: 8px;
- text-align: center;
- vertical-align: middle;
-}
.conpherence-durable-column-header {
border-left: 1px solid {$lightblueborder};
border-right: 1px solid {$lightblueborder};
}
.conpherence-durable-column-header-text {
float: left;
padding: 13px 0 12px 12px;
font-size: 15px;
color: {$darkbluetext};
font-weight: 500;
width: 230px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.conpherence-durable-column-header-text .phui-icon-view {
color: {$bluetext};
}
.conpherence-durable-column-icon-bar {
height: 38px;
padding: 4px;
background-color: {$lightgreybackground};
}
.conpherence-durable-column-icon-bar .conpherence-durable-column-thread-icon {
float: left;
display: block;
height: 34px;
width: 34px;
border: 2px solid transparent;
border-radius: 3px;
margin: 0 4px 0 0;
}
.conpherence-durable-column-icon-bar .conpherence-durable-column-search-button {
margin: 4px 0px 0px 0px;
}
.conpherence-durable-column-icon-bar .phui-button-bar {
}
.conpherence-durable-column-icon-bar .phui-button-bar a.button.has-icon {
height: 21px;
}
.conpherence-durable-column-icon-bar .phui-button-bar .button .phui-icon-view {
top: 8px;
}
.conpherence-durable-column-icon-bar
.conpherence-durable-column-thread-icon.selected {
border-color: {$sky};
}
.conpherence-durable-column-icon-bar
.conpherence-durable-column-thread-icon span {
position: relative;
display: block;
width: 30px;
height: 30px;
top: 2px;
left: 2px;
background-size: 30px 30px;
}
.conpherence-durable-column-body {
position: absolute;
top: 44px;
bottom: 0;
right: 0;
left: 0;
border-left: 1px solid {$lightblueborder};
}
.with-durable-margin .conpherence-durable-column-body {
border-right: 1px solid {$lightblueborder};
}
.conpherence-durable-column-main {
position: absolute;
top: 46px;
bottom: 134px;
left: 0;
right: 0;
overflow-x: hidden;
border-top: 1px solid {$thinblueborder};
}
.conpherence-durable-column-transactions {
padding: 8px 12px 0;
}
.conpherence-durable-column-transactions
.conpherence-transaction-view.conpherence-edited {
color: {$lightgreytext};
font-size: 12px;
margin: 0;
padding: 0;
}
.conpherence-durable-column-transactions .conpherence-edited
.conpherence-transaction-header {
display: none;
}
.conpherence-durable-column-transactions .conpherence-transaction-view {
background: none;
margin: 0;
padding: 4px 0;
min-height: 0;
}
.conpherence-durable-column-transactions
.conpherence-transaction-view
.conpherence-message {
word-wrap: break-word;
}
.conpherence-durable-column-transactions .conpherence-transaction-detail {
border: 0;
margin: 0;
}
.conpherence-durable-column-transactions .conpherence-transaction-detail
.conpherence-transaction-header {
background: none;
padding: 0 0 2px 0;
}
.conpherence-durable-column-transactions
.conpherence-transaction-view.date-marker {
margin: 20px 0px 8px;
}
.conpherence-durable-column-transactions
.conpherence-transaction-view.date-marker .date {
left: 0;
font-size: 12px;
top: -14px;
padding: 0 6px 0 0;
}
.conpherence-durable-column-transactions .conpherence-transaction-detail
.conpherence-transaction-header .conpherence-transaction-info,
.conpherence-transaction-header .epoch-link {
color: {$lightbluetext};
float: none;
font-size: 12px;
}
.conpherence-durable-column-transactions .conpherence-transaction-detail
.conpherence-transaction-header .phui-link-person {
margin: 0 8px 0 0;
}
.conpherence-durable-column-transactions .conpherence-transaction-detail
.conpherence-transaction-content .phui-link-person {
color: {$darkbluetext};
}
.conpherence-durable-column-transactions
.conpherence-transaction-detail
.conpherence-transaction-content
.phui-pinboard-item-view {
width: 273px;
}
.conpherence-durable-column-transactions
.conpherence-transaction-detail
.conpherence-transaction-content
.phui-pinboard-item-view
.phui-pinboard-item-image-link
img {
width: 265px;
height: 199px;
}
.conpherence-durable-column-transactions .conpherence-transaction-detail
.conpherence-transaction-content {
background: #fff;
padding: 0 0 8px 0;
}
.conpherence-durable-column-textarea {
position: absolute;
left: 0;
right: 0;
bottom: 34px;
height: 100px;
margin: 0;
border-width: 1px 0;
border-style: solid;
border-top-color: {$thinblueborder};
border-bottom-color: {$thinblueborder};
padding: 8px 12px;
width: 100%;
resize: none;
}
.conpherence-durable-column-textarea:focus {
outline: 0;
border-top-color: {$sky};
border-bottom-color: {$sky};
box-shadow: none;
}
.conpherence-durable-column-footer {
position: absolute;
height: 26px;
padding: 4px 8px 4px 12px;
left: 0;
right: 0;
bottom: 0;
background-color: {$lightgreybackground};
}
.conpherence-durable-column-footer button {
float: right;
}
.conpherence-durable-column-status {
vertical-align: middle;
line-height: 24px;
font-size: 12px;
color: {$lightbluetext};
}
diff --git a/webroot/rsrc/css/application/maniphest/task-summary.css b/webroot/rsrc/css/application/maniphest/task-summary.css
index cf57dd23d6..e959234177 100644
--- a/webroot/rsrc/css/application/maniphest/task-summary.css
+++ b/webroot/rsrc/css/application/maniphest/task-summary.css
@@ -1,71 +1,38 @@
/**
* @provides maniphest-task-summary-css
*/
.device-phone .maniphest-task-batch,
.device-phone .maniphest-task-updated {
display: none;
}
-.maniphest-task-group-header {
- font-size: 16px;
- font-weight: normal;
- color: {$darkbluetext};
- padding: 0 0 8px 0;
-}
-
-.maniphest-total-result-count {
- text-align: right;
- padding: 5px 20px 0 0;
- font-size: 11px;
- color: {$greytext};
-}
-
-.device-phone .maniphest-total-result-count {
- padding-right: 5px;
-}
-
.maniphest-batch-editor-layout {
width: 100%;
}
.maniphest-batch-editor-layout td {
padding: 12px 4px 8px;
white-space: nowrap;
}
.maniphest-batch-editor-layout a.button,
.maniphest-batch-editor-layout button {
margin: 0px 4px;
}
.maniphest-batch-editor-layout .batch-select-submit-cell {
text-align: right;
}
#batch-select-status-cell {
text-align: right;
color: {$greytext};
font-size: 11px;
vertical-align: middle;
width: 100%;
}
.maniphest-board-link {
color: {$bluetext};
}
-
-/* - Dashboards ------------------------------------------------------------ */
-
-.dashboard-panel .maniphest-list-container {
- padding: 0;
-}
-
-.dashboard-panel .maniphest-task-group + .maniphest-task-group {
- padding-top: 0;
-}
-
-.dashboard-panel .maniphest-task-group-header {
- border-left: 1px solid {$lightblueborder};
- border-right: 1px solid {$lightblueborder};
-}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Jul 27, 2:30 PM (1 w, 6 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
185881
Default Alt Text
(20 KB)

Event Timeline