mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 08:42:41 +01:00
Colorize filetree for adds, moves, and deletes
Summary: See PHI356. Makes it easier to pick out change types in the filetree view in Differential. Test Plan: Created a diff with adds, copies, moves, deletions, and binary files. Viewed in Differential, had an easier time picking stuff out. Differential Revision: https://secure.phabricator.com/D19040
This commit is contained in:
parent
e26a784dcf
commit
6ea1b8df9b
4 changed files with 67 additions and 6 deletions
|
@ -12,7 +12,7 @@ return array(
|
||||||
'core.pkg.css' => 'ce8c2a58',
|
'core.pkg.css' => 'ce8c2a58',
|
||||||
'core.pkg.js' => '4c79d74f',
|
'core.pkg.js' => '4c79d74f',
|
||||||
'darkconsole.pkg.js' => '1f9a31bc',
|
'darkconsole.pkg.js' => '1f9a31bc',
|
||||||
'differential.pkg.css' => '45951e9e',
|
'differential.pkg.css' => '1522c3ad',
|
||||||
'differential.pkg.js' => '19ee9979',
|
'differential.pkg.js' => '19ee9979',
|
||||||
'diffusion.pkg.css' => 'a2d17c7d',
|
'diffusion.pkg.css' => 'a2d17c7d',
|
||||||
'diffusion.pkg.js' => '6134c5a1',
|
'diffusion.pkg.js' => '6134c5a1',
|
||||||
|
@ -121,7 +121,7 @@ return array(
|
||||||
'rsrc/css/font/font-awesome.css' => 'e838e088',
|
'rsrc/css/font/font-awesome.css' => 'e838e088',
|
||||||
'rsrc/css/font/font-lato.css' => 'c7ccd872',
|
'rsrc/css/font/font-lato.css' => 'c7ccd872',
|
||||||
'rsrc/css/font/phui-font-icon-base.css' => '870a7360',
|
'rsrc/css/font/phui-font-icon-base.css' => '870a7360',
|
||||||
'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82',
|
'rsrc/css/layout/phabricator-filetree-view.css' => 'ea5b30a9',
|
||||||
'rsrc/css/layout/phabricator-source-code-view.css' => 'aea41829',
|
'rsrc/css/layout/phabricator-source-code-view.css' => 'aea41829',
|
||||||
'rsrc/css/phui/button/phui-button-bar.css' => 'f1ff5494',
|
'rsrc/css/phui/button/phui-button-bar.css' => 'f1ff5494',
|
||||||
'rsrc/css/phui/button/phui-button-simple.css' => '8e1baf68',
|
'rsrc/css/phui/button/phui-button-simple.css' => '8e1baf68',
|
||||||
|
@ -784,7 +784,7 @@ return array(
|
||||||
'phabricator-favicon' => '1fe2510c',
|
'phabricator-favicon' => '1fe2510c',
|
||||||
'phabricator-feed-css' => 'ecd4ec57',
|
'phabricator-feed-css' => 'ecd4ec57',
|
||||||
'phabricator-file-upload' => '680ea2c8',
|
'phabricator-file-upload' => '680ea2c8',
|
||||||
'phabricator-filetree-view-css' => 'fccf9f82',
|
'phabricator-filetree-view-css' => 'ea5b30a9',
|
||||||
'phabricator-flag-css' => 'bba8f811',
|
'phabricator-flag-css' => 'bba8f811',
|
||||||
'phabricator-keyboard-shortcut' => '1ae869f2',
|
'phabricator-keyboard-shortcut' => '1ae869f2',
|
||||||
'phabricator-keyboard-shortcut-manager' => 'c19dd9b9',
|
'phabricator-keyboard-shortcut-manager' => 'c19dd9b9',
|
||||||
|
|
|
@ -221,6 +221,51 @@ final class DifferentialChangeset
|
||||||
return $this->assertAttached($this->diff);
|
return $this->assertAttached($this->diff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function newFileTreeIcon() {
|
||||||
|
$file_type = $this->getFileType();
|
||||||
|
$change_type = $this->getChangeType();
|
||||||
|
|
||||||
|
$change_icons = array(
|
||||||
|
DifferentialChangeType::TYPE_DELETE => 'fa-file-o',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isset($change_icons[$change_type])) {
|
||||||
|
$icon = $change_icons[$change_type];
|
||||||
|
} else {
|
||||||
|
$icon = DifferentialChangeType::getIconForFileType($file_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
$change_colors = array(
|
||||||
|
DifferentialChangeType::TYPE_ADD => 'green',
|
||||||
|
DifferentialChangeType::TYPE_DELETE => 'red',
|
||||||
|
DifferentialChangeType::TYPE_MOVE_AWAY => 'orange',
|
||||||
|
DifferentialChangeType::TYPE_MOVE_HERE => 'orange',
|
||||||
|
DifferentialChangeType::TYPE_COPY_HERE => 'orange',
|
||||||
|
DifferentialChangeType::TYPE_MULTICOPY => 'orange',
|
||||||
|
);
|
||||||
|
|
||||||
|
$color = idx($change_colors, $change_type, 'bluetext');
|
||||||
|
|
||||||
|
return id(new PHUIIconView())
|
||||||
|
->setIcon($icon.' '.$color);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFileTreeClass() {
|
||||||
|
switch ($this->getChangeType()) {
|
||||||
|
case DifferentialChangeType::TYPE_ADD:
|
||||||
|
return 'filetree-added';
|
||||||
|
case DifferentialChangeType::TYPE_DELETE:
|
||||||
|
return 'filetree-deleted';
|
||||||
|
case DifferentialChangeType::TYPE_MOVE_AWAY:
|
||||||
|
case DifferentialChangeType::TYPE_MOVE_HERE:
|
||||||
|
case DifferentialChangeType::TYPE_COPY_HERE:
|
||||||
|
case DifferentialChangeType::TYPE_MULTICOPY:
|
||||||
|
return 'filetree-movecopy';
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -( PhabricatorPolicyInterface )----------------------------------------- */
|
/* -( PhabricatorPolicyInterface )----------------------------------------- */
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,9 @@ final class DifferentialChangesetFileTreeSideNavBuilder extends Phobject {
|
||||||
while (($path = $path->getNextNode())) {
|
while (($path = $path->getNextNode())) {
|
||||||
$data = $path->getData();
|
$data = $path->getData();
|
||||||
|
|
||||||
|
$classes = array();
|
||||||
|
$classes[] = 'phabricator-filetree-item';
|
||||||
|
|
||||||
$name = $path->getName();
|
$name = $path->getName();
|
||||||
$style = 'padding-left: '.(2 + (3 * $path->getDepth())).'px';
|
$style = 'padding-left: '.(2 + (3 * $path->getDepth())).'px';
|
||||||
|
|
||||||
|
@ -90,8 +93,9 @@ final class DifferentialChangesetFileTreeSideNavBuilder extends Phobject {
|
||||||
if ($data) {
|
if ($data) {
|
||||||
$href = '#'.$data->getAnchorName();
|
$href = '#'.$data->getAnchorName();
|
||||||
$title = $name;
|
$title = $name;
|
||||||
$icon = id(new PHUIIconView())
|
|
||||||
->setIcon('fa-file-text-o bluetext');
|
$icon = $data->newFileTreeIcon();
|
||||||
|
$classes[] = $data->getFileTreeClass();
|
||||||
} else {
|
} else {
|
||||||
$name .= '/';
|
$name .= '/';
|
||||||
$title = $path->getFullPath().'/';
|
$title = $path->getFullPath().'/';
|
||||||
|
@ -112,7 +116,7 @@ final class DifferentialChangesetFileTreeSideNavBuilder extends Phobject {
|
||||||
'href' => $href,
|
'href' => $href,
|
||||||
'style' => $style,
|
'style' => $style,
|
||||||
'title' => $title,
|
'title' => $title,
|
||||||
'class' => 'phabricator-filetree-item',
|
'class' => implode(' ', $classes),
|
||||||
),
|
),
|
||||||
array($icon, $name_element));
|
array($icon, $name_element));
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,3 +54,15 @@
|
||||||
background-color: {$hovergrey};
|
background-color: {$hovergrey};
|
||||||
border-left: 4px solid {$sky};
|
border-left: 4px solid {$sky};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phabricator-filetree .filetree-added {
|
||||||
|
background: {$sh-greenbackground};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-filetree .filetree-deleted {
|
||||||
|
background: {$sh-redbackground};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-filetree .filetree-movecopy {
|
||||||
|
background: {$sh-orangebackground};
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue