Prettier file embeds
Summary: Spruce up the file embeds a little more, hover state, icons, file size.
Test Plan:
Add a psd and pdf, see new icons. Check differential, still see icons there too. Test mobile, desktop.
{F2042539}
Reviewers: epriestley
Reviewed By: epriestley
Subscribers: Korvin
Differential Revision: https://secure.phabricator.com/D16950
This commit is contained in:
@@ -110,67 +110,6 @@ final class DifferentialChangesetDetailView extends AphrontView {
|
||||
return $this->vsChangesetID;
|
||||
}
|
||||
|
||||
public function getFileIcon($filename) {
|
||||
$path_info = pathinfo($filename);
|
||||
$extension = idx($path_info, 'extension');
|
||||
switch ($extension) {
|
||||
case 'psd':
|
||||
case 'ai':
|
||||
$icon = 'fa-eye';
|
||||
break;
|
||||
case 'conf':
|
||||
$icon = 'fa-wrench';
|
||||
break;
|
||||
case 'wav':
|
||||
case 'mp3':
|
||||
case 'aiff':
|
||||
$icon = 'fa-file-sound-o';
|
||||
break;
|
||||
case 'm4v':
|
||||
case 'mov':
|
||||
$icon = 'fa-file-movie-o';
|
||||
break;
|
||||
case 'sql':
|
||||
case 'db':
|
||||
$icon = 'fa-database';
|
||||
break;
|
||||
case 'xls':
|
||||
case 'csv':
|
||||
$icon = 'fa-file-excel-o';
|
||||
break;
|
||||
case 'ics':
|
||||
$icon = 'fa-calendar';
|
||||
break;
|
||||
case 'zip':
|
||||
case 'tar':
|
||||
case 'bz':
|
||||
case 'tgz':
|
||||
case 'gz':
|
||||
$icon = 'fa-file-archive-o';
|
||||
break;
|
||||
case 'png':
|
||||
case 'jpg':
|
||||
case 'bmp':
|
||||
case 'gif':
|
||||
$icon = 'fa-file-picture-o';
|
||||
break;
|
||||
case 'txt':
|
||||
$icon = 'fa-file-text-o';
|
||||
break;
|
||||
case 'doc':
|
||||
case 'docx':
|
||||
$icon = 'fa-file-word-o';
|
||||
break;
|
||||
case 'pdf':
|
||||
$icon = 'fa-file-pdf-o';
|
||||
break;
|
||||
default:
|
||||
$icon = 'fa-file-code-o';
|
||||
break;
|
||||
}
|
||||
return $icon;
|
||||
}
|
||||
|
||||
public function render() {
|
||||
$this->requireResource('differential-changeset-view-css');
|
||||
$this->requireResource('syntax-highlighting-css');
|
||||
@@ -204,7 +143,7 @@ final class DifferentialChangesetDetailView extends AphrontView {
|
||||
}
|
||||
|
||||
$display_filename = $changeset->getDisplayFilename();
|
||||
$display_icon = $this->getFileIcon($display_filename);
|
||||
$display_icon = FileTypeIcon::getFileIcon($display_filename);
|
||||
$icon = id(new PHUIIconView())
|
||||
->setIcon($display_icon);
|
||||
|
||||
|
||||
66
src/applications/files/constants/FileTypeIcon.php
Normal file
66
src/applications/files/constants/FileTypeIcon.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
final class FileTypeIcon extends Phobject {
|
||||
|
||||
public static function getFileIcon($filename) {
|
||||
$path_info = pathinfo($filename);
|
||||
$extension = idx($path_info, 'extension');
|
||||
switch ($extension) {
|
||||
case 'psd':
|
||||
case 'ai':
|
||||
$icon = 'fa-file-image-o';
|
||||
break;
|
||||
case 'conf':
|
||||
$icon = 'fa-wrench';
|
||||
break;
|
||||
case 'wav':
|
||||
case 'mp3':
|
||||
case 'aiff':
|
||||
$icon = 'fa-file-sound-o';
|
||||
break;
|
||||
case 'm4v':
|
||||
case 'mov':
|
||||
$icon = 'fa-file-movie-o';
|
||||
break;
|
||||
case 'sql':
|
||||
case 'db':
|
||||
$icon = 'fa-database';
|
||||
break;
|
||||
case 'xls':
|
||||
case 'csv':
|
||||
$icon = 'fa-file-excel-o';
|
||||
break;
|
||||
case 'ics':
|
||||
$icon = 'fa-calendar';
|
||||
break;
|
||||
case 'zip':
|
||||
case 'tar':
|
||||
case 'bz':
|
||||
case 'tgz':
|
||||
case 'gz':
|
||||
$icon = 'fa-file-archive-o';
|
||||
break;
|
||||
case 'png':
|
||||
case 'jpg':
|
||||
case 'bmp':
|
||||
case 'gif':
|
||||
$icon = 'fa-file-picture-o';
|
||||
break;
|
||||
case 'txt':
|
||||
$icon = 'fa-file-text-o';
|
||||
break;
|
||||
case 'doc':
|
||||
case 'docx':
|
||||
$icon = 'fa-file-word-o';
|
||||
break;
|
||||
case 'pdf':
|
||||
$icon = 'fa-file-pdf-o';
|
||||
break;
|
||||
default:
|
||||
$icon = 'fa-file-text-o';
|
||||
break;
|
||||
}
|
||||
return $icon;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -287,6 +287,7 @@ final class PhabricatorEmbedFileRemarkupRule
|
||||
->setFileDownloadURI($file->getDownloadURI())
|
||||
->setFileViewURI($file->getBestURI())
|
||||
->setFileViewable((bool)$options['viewable'])
|
||||
->setFileSize(phutil_format_bytes($file->getByteSize()))
|
||||
->setFileMonogram($file->getMonogram());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user