From 60d1762a85ced8ed828256b7379975b5195d7e2e Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 29 Aug 2016 15:36:13 -0700 Subject: [PATCH] Redesign Config Application Summary: Ref T11132, significantly cleans up the Config app, new layout, icons, spacing, etc. Some minor todos around re-designing "issues", mobile support, and maybe another pass at actual Group pages. Test Plan: Visit and test every page in the config app, set new items, resolve setup issues, etc. Reviewers: epriestley Reviewed By: epriestley Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam, Korvin Maniphest Tasks: T11132 Differential Revision: https://secure.phabricator.com/D16468 --- resources/celerity/map.php | 16 ++-- src/__phutil_library_map__.php | 10 +- ...icatorAuthSessionEngineExtensionModule.php | 6 +- ...habricatorAuthTemporaryTokenTypeModule.php | 8 +- .../check/PhabricatorCacheSetupCheck.php | 2 +- .../check/PhabricatorMySQLSetupCheck.php | 6 +- .../constants/PhabricatorConfigConstants.php | 3 + .../PhabricatorConfigGroupConstants.php | 37 ++++++++ .../PhabricatorConfigAllController.php | 23 +++-- ...PhabricatorConfigApplicationController.php | 31 ++++--- .../PhabricatorConfigCacheController.php | 25 +++-- ...icatorConfigClusterDatabasesController.php | 42 ++++----- ...orConfigClusterNotificationsController.php | 40 ++++---- ...torConfigClusterRepositoriesController.php | 46 +++++----- .../PhabricatorConfigDatabaseController.php | 14 --- ...abricatorConfigDatabaseIssueController.php | 23 ++--- ...bricatorConfigDatabaseStatusController.php | 87 ++++++------------ .../PhabricatorConfigGroupController.php | 33 ++++--- .../PhabricatorConfigHistoryController.php | 20 ++-- .../PhabricatorConfigIssueListController.php | 91 +++++++++---------- .../PhabricatorConfigIssueViewController.php | 10 +- .../PhabricatorConfigListController.php | 31 ++++--- .../PhabricatorConfigModuleController.php | 17 ++-- .../PhabricatorConfigVersionController.php | 27 +++--- .../PhabricatorConfigWelcomeController.php | 27 +++--- .../PhabricatorConfigCollectorsModule.php | 21 ++--- .../module/PhabricatorConfigEdgeModule.php | 7 +- ...bricatorConfigHTTPParameterTypesModule.php | 7 +- .../module/PhabricatorConfigPHIDModule.php | 7 +- ...torConfigRequestExceptionHandlerModule.php | 7 +- .../module/PhabricatorConfigSiteModule.php | 7 +- .../config/view/PhabricatorConfigPageView.php | 60 ++++++++++++ .../PhabricatorHarbormasterConfigOptions.php | 26 ------ .../PhabricatorPhrequentConfigOptions.php | 26 ------ ...bricatorHovercardEngineExtensionModule.php | 7 +- ...PhabricatorSearchEngineExtensionModule.php | 7 +- ...abricatorFulltextEngineExtensionModule.php | 6 +- .../PhabricatorIndexEngineExtensionModule.php | 6 +- ...icatorDestructionEngineExtensionModule.php | 6 +- .../PhabricatorEditEngineExtensionModule.php | 6 +- .../PhabricatorContentSourceModule.php | 6 +- .../application/base/standard-page-view.css | 4 + .../css/application/config/config-page.css | 59 ++++++++++++ webroot/rsrc/css/font/phui-font-icon-base.css | 3 + .../css/phui/phui-object-item-list-view.css | 12 ++- 45 files changed, 505 insertions(+), 460 deletions(-) create mode 100644 src/applications/config/constants/PhabricatorConfigConstants.php create mode 100644 src/applications/config/constants/PhabricatorConfigGroupConstants.php create mode 100644 src/applications/config/view/PhabricatorConfigPageView.php delete mode 100644 src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php delete mode 100644 src/applications/phrequent/config/PhabricatorPhrequentConfigOptions.php create mode 100644 webroot/rsrc/css/application/config/config-page.css diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 83a4949a80..5597ea303d 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '7d178771', + 'core.pkg.css' => 'ffbade6c', 'core.pkg.js' => '2b8af4e4', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '3fb7f532', @@ -36,10 +36,11 @@ return array( 'rsrc/css/application/base/notification-menu.css' => 'b3ab500d', 'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601', 'rsrc/css/application/base/phui-theme.css' => '027ba77e', - 'rsrc/css/application/base/standard-page-view.css' => '99a7d403', + 'rsrc/css/application/base/standard-page-view.css' => '2b592894', 'rsrc/css/application/chatlog/chatlog.css' => 'd295b020', 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/config/config-options.css' => '0ede4c9b', + 'rsrc/css/application/config/config-page.css' => '8798e14f', 'rsrc/css/application/config/config-template.css' => '8e6c6fcd', 'rsrc/css/application/config/config-welcome.css' => '035aa483', 'rsrc/css/application/config/setup-issue.css' => 'f794cfc3', @@ -112,7 +113,7 @@ return array( 'rsrc/css/font/font-aleo.css' => '8bdb2835', 'rsrc/css/font/font-awesome.css' => '2b7ebbcc', 'rsrc/css/font/font-lato.css' => 'c7ccd872', - 'rsrc/css/font/phui-font-icon-base.css' => '4e8274c4', + 'rsrc/css/font/phui-font-icon-base.css' => '870a7360', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', 'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983', 'rsrc/css/phui/calendar/phui-calendar-day.css' => '572b1893', @@ -147,7 +148,7 @@ return array( 'rsrc/css/phui/phui-info-view.css' => '28efab79', 'rsrc/css/phui/phui-list.css' => '9da2aa00', 'rsrc/css/phui/phui-object-box.css' => '6b487c57', - 'rsrc/css/phui/phui-object-item-list-view.css' => '985e9d54', + 'rsrc/css/phui/phui-object-item-list-view.css' => '987db9bf', 'rsrc/css/phui/phui-pager.css' => 'bea33d23', 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 'rsrc/css/phui/phui-profile-menu.css' => '8a3fc181', @@ -547,6 +548,7 @@ return array( 'changeset-view-manager' => 'a2828756', 'conduit-api-css' => '7bc725c4', 'config-options-css' => '0ede4c9b', + 'config-page-css' => '8798e14f', 'config-welcome-css' => '035aa483', 'conpherence-durable-column-view' => '86396117', 'conpherence-menu-css' => '90bdf85c', @@ -797,7 +799,7 @@ return array( 'phabricator-shaped-request' => '7cbe244b', 'phabricator-slowvote-css' => 'a94b7230', 'phabricator-source-code-view-css' => 'cbeef983', - 'phabricator-standard-page-view' => '99a7d403', + 'phabricator-standard-page-view' => '2b592894', 'phabricator-textareautils' => '320810c8', 'phabricator-title' => 'df5e11d2', 'phabricator-tooltip' => '6323f942', @@ -840,7 +842,7 @@ return array( 'phui-document-view-css' => 'c32e8dec', 'phui-document-view-pro-css' => 'dc3d46ed', 'phui-feed-story-css' => 'aa49845d', - 'phui-font-icon-base-css' => '4e8274c4', + 'phui-font-icon-base-css' => '870a7360', 'phui-fontkit-css' => '9cda225e', 'phui-form-css' => 'aac1d51d', 'phui-form-view-css' => '76b4a46c', @@ -856,7 +858,7 @@ return array( 'phui-inline-comment-view-css' => '5953c28e', 'phui-list-view-css' => '9da2aa00', 'phui-object-box-css' => '6b487c57', - 'phui-object-item-list-view-css' => '985e9d54', + 'phui-object-item-list-view-css' => '987db9bf', 'phui-pager-css' => 'bea33d23', 'phui-pinboard-view-css' => '2495140e', 'phui-profile-menu-css' => '8a3fc181', diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 13ae2af39c..ac0a35e75e 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2149,6 +2149,7 @@ phutil_register_library_map(array( 'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php', 'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php', 'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php', + 'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php', 'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php', 'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php', 'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php', @@ -2165,6 +2166,7 @@ phutil_register_library_map(array( 'PhabricatorConfigEntryDAO' => 'applications/config/storage/PhabricatorConfigEntryDAO.php', 'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php', 'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php', + 'PhabricatorConfigGroupConstants' => 'applications/config/constants/PhabricatorConfigGroupConstants.php', 'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php', 'PhabricatorConfigHTTPParameterTypesModule' => 'applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php', 'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php', @@ -2188,6 +2190,7 @@ phutil_register_library_map(array( 'PhabricatorConfigOption' => 'applications/config/option/PhabricatorConfigOption.php', 'PhabricatorConfigOptionType' => 'applications/config/custom/PhabricatorConfigOptionType.php', 'PhabricatorConfigPHIDModule' => 'applications/config/module/PhabricatorConfigPHIDModule.php', + 'PhabricatorConfigPageView' => 'applications/config/view/PhabricatorConfigPageView.php', 'PhabricatorConfigProxySource' => 'infrastructure/env/PhabricatorConfigProxySource.php', 'PhabricatorConfigPurgeCacheController' => 'applications/config/controller/PhabricatorConfigPurgeCacheController.php', 'PhabricatorConfigRequestExceptionHandlerModule' => 'applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php', @@ -2649,7 +2652,6 @@ phutil_register_library_map(array( 'PhabricatorHandleRemarkupRule' => 'applications/phid/remarkup/PhabricatorHandleRemarkupRule.php', 'PhabricatorHandlesEditField' => 'applications/transactions/editfield/PhabricatorHandlesEditField.php', 'PhabricatorHarbormasterApplication' => 'applications/harbormaster/application/PhabricatorHarbormasterApplication.php', - 'PhabricatorHarbormasterConfigOptions' => 'applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php', 'PhabricatorHash' => 'infrastructure/util/PhabricatorHash.php', 'PhabricatorHashTestCase' => 'infrastructure/util/__tests__/PhabricatorHashTestCase.php', 'PhabricatorHelpApplication' => 'applications/help/application/PhabricatorHelpApplication.php', @@ -3158,7 +3160,6 @@ phutil_register_library_map(array( 'PhabricatorPhortuneManagementWorkflow' => 'applications/phortune/management/PhabricatorPhortuneManagementWorkflow.php', 'PhabricatorPhragmentApplication' => 'applications/phragment/application/PhabricatorPhragmentApplication.php', 'PhabricatorPhrequentApplication' => 'applications/phrequent/application/PhabricatorPhrequentApplication.php', - 'PhabricatorPhrequentConfigOptions' => 'applications/phrequent/config/PhabricatorPhrequentConfigOptions.php', 'PhabricatorPhrictionApplication' => 'applications/phriction/application/PhabricatorPhrictionApplication.php', 'PhabricatorPhrictionConfigOptions' => 'applications/phriction/config/PhabricatorPhrictionConfigOptions.php', 'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php', @@ -6891,6 +6892,7 @@ phutil_register_library_map(array( 'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule', 'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType', + 'PhabricatorConfigConstants' => 'Phobject', 'PhabricatorConfigController' => 'PhabricatorController', 'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec', 'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController', @@ -6911,6 +6913,7 @@ phutil_register_library_map(array( 'PhabricatorConfigEntryDAO' => 'PhabricatorLiskDAO', 'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource', + 'PhabricatorConfigGroupConstants' => 'PhabricatorConfigConstants', 'PhabricatorConfigGroupController' => 'PhabricatorConfigController', 'PhabricatorConfigHTTPParameterTypesModule' => 'PhabricatorConfigModule', 'PhabricatorConfigHistoryController' => 'PhabricatorConfigController', @@ -6937,6 +6940,7 @@ phutil_register_library_map(array( ), 'PhabricatorConfigOptionType' => 'Phobject', 'PhabricatorConfigPHIDModule' => 'PhabricatorConfigModule', + 'PhabricatorConfigPageView' => 'AphrontTagView', 'PhabricatorConfigProxySource' => 'PhabricatorConfigSource', 'PhabricatorConfigPurgeCacheController' => 'PhabricatorConfigController', 'PhabricatorConfigRequestExceptionHandlerModule' => 'PhabricatorConfigModule', @@ -7467,7 +7471,6 @@ phutil_register_library_map(array( 'PhabricatorHandleRemarkupRule' => 'PhutilRemarkupRule', 'PhabricatorHandlesEditField' => 'PhabricatorPHIDListEditField', 'PhabricatorHarbormasterApplication' => 'PhabricatorApplication', - 'PhabricatorHarbormasterConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorHash' => 'Phobject', 'PhabricatorHashTestCase' => 'PhabricatorTestCase', 'PhabricatorHelpApplication' => 'PhabricatorApplication', @@ -8050,7 +8053,6 @@ phutil_register_library_map(array( 'PhabricatorPhortuneManagementWorkflow' => 'PhabricatorManagementWorkflow', 'PhabricatorPhragmentApplication' => 'PhabricatorApplication', 'PhabricatorPhrequentApplication' => 'PhabricatorApplication', - 'PhabricatorPhrequentConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorPhrictionApplication' => 'PhabricatorApplication', 'PhabricatorPhrictionConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorPhurlApplication' => 'PhabricatorApplication', diff --git a/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php b/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php index 0f8c9fef8c..7e776ab7bc 100644 --- a/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php +++ b/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php @@ -25,7 +25,7 @@ final class PhabricatorAuthSessionEngineExtensionModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setNoDataString( pht('There are no registered session engine extensions.')) ->setHeaders( @@ -41,10 +41,6 @@ final class PhabricatorAuthSessionEngineExtensionModule 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('SessionEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php b/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php index 3c44ef01b2..fc6358f8e8 100644 --- a/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php +++ b/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php @@ -8,7 +8,7 @@ final class PhabricatorAuthTemporaryTokenTypeModule } public function getModuleName() { - return pht('Temporary Tokens'); + return pht('Temporary Token Types'); } public function renderModuleStatus(AphrontRequest $request) { @@ -25,7 +25,7 @@ final class PhabricatorAuthTemporaryTokenTypeModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -39,10 +39,6 @@ final class PhabricatorAuthTemporaryTokenTypeModule 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Temporary Token Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/check/PhabricatorCacheSetupCheck.php b/src/applications/config/check/PhabricatorCacheSetupCheck.php index fba241150e..04d3dccb61 100644 --- a/src/applications/config/check/PhabricatorCacheSetupCheck.php +++ b/src/applications/config/check/PhabricatorCacheSetupCheck.php @@ -3,7 +3,7 @@ final class PhabricatorCacheSetupCheck extends PhabricatorSetupCheck { public function getDefaultGroup() { - return self::GROUP_OTHER; + return self::GROUP_PHP; } protected function executeChecks() { diff --git a/src/applications/config/check/PhabricatorMySQLSetupCheck.php b/src/applications/config/check/PhabricatorMySQLSetupCheck.php index 3303f29e89..1990e7f09f 100644 --- a/src/applications/config/check/PhabricatorMySQLSetupCheck.php +++ b/src/applications/config/check/PhabricatorMySQLSetupCheck.php @@ -34,11 +34,9 @@ final class PhabricatorMySQLSetupCheck extends PhabricatorSetupCheck { if ($max_allowed_packet < $recommended_minimum) { $message = pht( "MySQL is configured with a small '%s' (%d), ". - "which may cause some large writes to fail. Strongly consider raising ". - "this to at least %d in your MySQL configuration.", + "which may cause some large writes to fail.", 'max_allowed_packet', - $max_allowed_packet, - $recommended_minimum); + $max_allowed_packet); $this->newIssue('mysql.max_allowed_packet') ->setName(pht('Small MySQL "%s"', 'max_allowed_packet')) diff --git a/src/applications/config/constants/PhabricatorConfigConstants.php b/src/applications/config/constants/PhabricatorConfigConstants.php new file mode 100644 index 0000000000..36eab2c607 --- /dev/null +++ b/src/applications/config/constants/PhabricatorConfigConstants.php @@ -0,0 +1,3 @@ + pht('Core Settings'), + self::GROUP_APPLICATION => pht('Application Settings'), + self::GROUP_DEVELOPER => pht('Developer Settings'), + ); + return idx($map, $group, pht('Unknown')); + } + + public static function getGroupShortName($group) { + $map = array( + self::GROUP_CORE => pht('Core'), + self::GROUP_APPLICATION => pht('Application'), + self::GROUP_DEVELOPER => pht('Developer'), + ); + return idx($map, $group, pht('Unknown')); + } + + public static function getGroupURI($group) { + $map = array( + self::GROUP_CORE => '/', + self::GROUP_APPLICATION => pht('application/'), + self::GROUP_DEVELOPER => pht('developer/'), + ); + return idx($map, $group, '#'); + } + +} diff --git a/src/applications/config/controller/PhabricatorConfigAllController.php b/src/applications/config/controller/PhabricatorConfigAllController.php index 6d661479aa..421e0078cf 100644 --- a/src/applications/config/controller/PhabricatorConfigAllController.php +++ b/src/applications/config/controller/PhabricatorConfigAllController.php @@ -52,27 +52,26 @@ final class PhabricatorConfigAllController $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb($title); + ->addTextCrumb($title) + ->setBorder(true); - $panel = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Current Settings')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $nav = $this->buildSideNavView(); $nav->selectFilter('all/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $panel, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($table); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } diff --git a/src/applications/config/controller/PhabricatorConfigApplicationController.php b/src/applications/config/controller/PhabricatorConfigApplicationController.php index 4a7bccf739..10f639adc7 100644 --- a/src/applications/config/controller/PhabricatorConfigApplicationController.php +++ b/src/applications/config/controller/PhabricatorConfigApplicationController.php @@ -12,42 +12,45 @@ final class PhabricatorConfigApplicationController $groups = PhabricatorApplicationConfigOptions::loadAll(); $apps_list = $this->buildConfigOptionsList($groups, 'apps'); - $title = pht('Application Configuration'); + $title = pht('Application Settings'); - $apps = id(new PHUIObjectBoxView()) - ->setHeaderText($title) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($apps_list); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb(pht('Applications')); + ->addTextCrumb(pht('Applications')) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $apps, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($apps_list); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildConfigOptionsList(array $groups, $type) { assert_instances_of($groups, 'PhabricatorApplicationConfigOptions'); $list = new PHUIObjectItemListView(); + $list->setBig(true); $groups = msort($groups, 'getName'); foreach ($groups as $group) { if ($group->getGroup() == $type) { + $icon = id(new PHUIIconView()) + ->setIcon($group->getIcon()) + ->setBackground('bg-violet'); $item = id(new PHUIObjectItemView()) ->setHeader($group->getName()) ->setHref('/config/group/'.$group->getKey().'/') ->addAttribute($group->getDescription()) - ->setImageIcon($group->getIcon()); + ->setImageIcon($icon); $list->addItem($item); } } diff --git a/src/applications/config/controller/PhabricatorConfigCacheController.php b/src/applications/config/controller/PhabricatorConfigCacheController.php index 0f6ee83089..91b0be27cf 100644 --- a/src/applications/config/controller/PhabricatorConfigCacheController.php +++ b/src/applications/config/controller/PhabricatorConfigCacheController.php @@ -11,24 +11,33 @@ final class PhabricatorConfigCacheController $title = pht('Cache Status'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Cache Status')); + ->addTextCrumb(pht('Cache Status')) + ->setBorder(true); $code_box = $this->renderCodeBox(); $data_box = $this->renderDataBox(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $code_box, - $data_box, - )); + $page = array( + $code_box, + $data_box, + ); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($page); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function renderCodeBox() { diff --git a/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php b/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php index 33f7f1331e..44659ab24e 100644 --- a/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php +++ b/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php @@ -7,22 +7,36 @@ final class PhabricatorConfigClusterDatabasesController $nav = $this->buildSideNavView(); $nav->selectFilter('cluster/databases/'); - $title = pht('Database Servers'); + $title = pht('Cluster Database Status'); + $doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setIcon('fa-book') + ->setHref($doc_href) + ->setTag('a') + ->setText(pht('Documentation'))); $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Database Servers')); + ->addTextCrumb($title) + ->setBorder(true); $database_status = $this->buildClusterDatabaseStatus(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn($database_status); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($database_status); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildClusterDatabaseStatus() { @@ -194,21 +208,7 @@ final class PhabricatorConfigClusterDatabasesController 'wide', )); - $doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); - - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Cluster Database Status')) - ->addActionLink( - id(new PHUIButtonView()) - ->setIcon('fa-book') - ->setHref($doc_href) - ->setTag('a') - ->setText(pht('Documentation'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + return $table; } } diff --git a/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php b/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php index 576d6841d0..d0d26d0613 100644 --- a/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php +++ b/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php @@ -8,21 +8,35 @@ final class PhabricatorConfigClusterNotificationsController $nav->selectFilter('cluster/notifications/'); $title = pht('Cluster Notifications'); + $doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setIcon('fa-book') + ->setHref($doc_href) + ->setTag('a') + ->setText(pht('Documentation'))); $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Cluster Notifications')); + ->addTextCrumb($title) + ->setBorder(true); $notification_status = $this->buildClusterNotificationStatus(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn($notification_status); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($notification_status); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildClusterNotificationStatus() { @@ -144,21 +158,7 @@ final class PhabricatorConfigClusterNotificationsController 'wide', )); - $doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); - - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Cluster Notification Status')) - ->addActionLink( - id(new PHUIButtonView()) - ->setIcon('fa-book') - ->setHref($doc_href) - ->setTag('a') - ->setText(pht('Documentation'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + return $table; } } diff --git a/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php b/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php index c0fafc2c58..2486712022 100644 --- a/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php +++ b/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php @@ -7,22 +7,37 @@ final class PhabricatorConfigClusterRepositoriesController $nav = $this->buildSideNavView(); $nav->selectFilter('cluster/repositories/'); - $title = pht('Repository Servers'); + $title = pht('Cluster Repository Status'); + + $doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setIcon('fa-book') + ->setHref($doc_href) + ->setTag('a') + ->setText(pht('Documentation'))); $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Repository Servers')); + ->addTextCrumb(pht('Repository Servers')) + ->setBorder(true); $repository_status = $this->buildClusterRepositoryStatus(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn($repository_status); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($repository_status); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildClusterRepositoryStatus() { @@ -217,8 +232,7 @@ final class PhabricatorConfigClusterRepositoriesController ); } - - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setNoDataString( pht('No repository cluster services are configured.')) ->setHeaders( @@ -239,22 +253,6 @@ final class PhabricatorConfigClusterRepositoriesController null, 'wide', )); - - $doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories'); - - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Cluster Repository Status')) - ->addActionLink( - id(new PHUIButtonView()) - ->setIcon('fa-book') - ->setHref($doc_href) - ->setTag('a') - ->setText(pht('Documentation'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } private function getDevices( diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseController.php b/src/applications/config/controller/PhabricatorConfigDatabaseController.php index 0619a4a3a1..c9f2aa6a3c 100644 --- a/src/applications/config/controller/PhabricatorConfigDatabaseController.php +++ b/src/applications/config/controller/PhabricatorConfigDatabaseController.php @@ -60,18 +60,4 @@ abstract class PhabricatorConfigDatabaseController } } - protected function buildHeaderWithDocumentationLink($title) { - - $doc_link = PhabricatorEnv::getDoclink('Managing Storage Adjustments'); - - return id(new PHUIHeaderView()) - ->setHeader($title) - ->addActionLink( - id(new PHUIButtonView()) - ->setTag('a') - ->setIcon('fa-book') - ->setHref($doc_link) - ->setText(pht('Learn More'))); - } - } diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php b/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php index 775a765d92..f1a91d4d5b 100644 --- a/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php +++ b/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php @@ -14,6 +14,7 @@ final class PhabricatorConfigDatabaseIssueController $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb(pht('Database Issues')); + $crumbs->setBorder(true); // Collect all open issues. $issues = array(); @@ -111,6 +112,8 @@ final class PhabricatorConfigDatabaseIssueController } $table = id(new AphrontTableView($rows)) + ->setNoDataString( + pht('No databases have any issues.')) ->setHeaders( array( null, @@ -146,25 +149,23 @@ final class PhabricatorConfigDatabaseIssueController $title = pht('Database Issues'); - $table_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setFormErrors($errors) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $nav = $this->buildSideNavView(); $nav->selectFilter('dbissue/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $table_box, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($table); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } } diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php b/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php index 3e6e9af298..bdeb254437 100644 --- a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php +++ b/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php @@ -62,7 +62,12 @@ final class PhabricatorConfigDatabaseStatusController $nav = $this->buildSideNavView(); $nav->selectFilter('database/'); + if (!$title) { + $title = pht('Database Status'); + } + $crumbs = $this->buildApplicationCrumbs(); + $crumbs->setBorder(true); if ($this->database) { $crumbs->addTextCrumb( pht('Database Status'), @@ -91,16 +96,28 @@ final class PhabricatorConfigDatabaseStatusController $crumbs->addTextCrumb(pht('Database Status')); } - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $body, - )); + $doc_link = PhabricatorEnv::getDoclink('Managing Storage Adjustments'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setTag('a') + ->setIcon('fa-book') + ->setHref($doc_link) + ->setText(pht('Learn More'))); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($body); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } @@ -163,17 +180,7 @@ final class PhabricatorConfigDatabaseStatusController ), $comp->getIssues()); - $prop_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - $table_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Databases')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); - - return $this->buildResponse($title, array($prop_box, $table_box)); + return $this->buildResponse($title, array($properties, $table)); } private function renderDatabase( @@ -263,17 +270,7 @@ final class PhabricatorConfigDatabaseStatusController ), $database->getIssues()); - $prop_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - $table_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Database Status')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); - - return $this->buildResponse($title, array($prop_box, $table_box)); + return $this->buildResponse($title, array($properties, $table)); } private function renderTable( @@ -478,22 +475,8 @@ final class PhabricatorConfigDatabaseStatusController ), $table->getIssues()); - $prop_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - $table_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Database')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table_view); - - $key_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Keys')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($keys_view); - - return $this->buildResponse($title, array($prop_box, $table_box, $key_box)); + return $this->buildResponse( + $title, array($properties, $table_view, $keys_view)); } private function renderColumn( @@ -625,12 +608,7 @@ final class PhabricatorConfigDatabaseStatusController ), $column->getIssues()); - $box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - return $this->buildResponse($title, $box); + return $this->buildResponse($title, $properties); } private function renderKey( @@ -719,12 +697,7 @@ final class PhabricatorConfigDatabaseStatusController ), $key->getIssues()); - $box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - return $this->buildResponse($title, $box); + return $this->buildResponse($title, $properties); } private function buildProperties(array $properties, array $issues) { @@ -769,7 +742,7 @@ final class PhabricatorConfigDatabaseStatusController } $view->addProperty(pht('Schema Status'), $status_view); - return $view; + return phutil_tag_div('config-page-property', $view); } } diff --git a/src/applications/config/controller/PhabricatorConfigGroupController.php b/src/applications/config/controller/PhabricatorConfigGroupController.php index c1d46906bc..9ff9311c63 100644 --- a/src/applications/config/controller/PhabricatorConfigGroupController.php +++ b/src/applications/config/controller/PhabricatorConfigGroupController.php @@ -13,31 +13,37 @@ final class PhabricatorConfigGroupController return new Aphront404Response(); } + $group_uri = PhabricatorConfigGroupConstants::getGroupURI( + $options->getGroup()); + $group_name = PhabricatorConfigGroupConstants::getGroupShortName( + $options->getGroup()); + + $nav = $this->buildSideNavView(); + $nav->selectFilter($group_uri); + $title = pht('%s Configuration', $options->getName()); $list = $this->buildOptionList($options->getOptions()); - $box = id(new PHUIObjectBoxView()) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($list); - $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Config'), $this->getApplicationURI()) - ->addTextCrumb($options->getName(), $this->getApplicationURI()) + ->addTextCrumb($group_name, $this->getApplicationURI($group_uri)) + ->addTextCrumb($options->getName()) ->setBorder(true); $header = id(new PHUIHeaderView()) ->setHeader($title) - ->setHeaderIcon('fa-sliders'); + ->setProfileHeader(true); - $view = id(new PHUITwoColumnView()) + $content = id(new PhabricatorConfigPageView()) ->setHeader($header) - ->setFooter($box); + ->setContent($list); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildOptionList(array $options) { @@ -62,6 +68,7 @@ final class PhabricatorConfigGroupController $engine->process(); $list = new PHUIObjectItemListView(); + $list->setBig(true); foreach ($options as $option) { $summary = $engine->getOutput($option, 'summary'); @@ -89,13 +96,13 @@ final class PhabricatorConfigGroupController $db_value = idx($db_values, $option->getKey()); if ($db_value && !$db_value->getIsDeleted()) { - $item->addIcon('edit', pht('Customized')); + $item->addIcon('fa-edit', pht('Customized')); } if ($option->getHidden()) { - $item->addIcon('unpublish', pht('Hidden')); + $item->addIcon('fa-eye-slash', pht('Hidden')); } else if ($option->getLocked()) { - $item->addIcon('lock', pht('Locked')); + $item->addIcon('fa-lock', pht('Locked')); } $list->addItem($item); diff --git a/src/applications/config/controller/PhabricatorConfigHistoryController.php b/src/applications/config/controller/PhabricatorConfigHistoryController.php index 6599c2d233..eb7fbf607b 100644 --- a/src/applications/config/controller/PhabricatorConfigHistoryController.php +++ b/src/applications/config/controller/PhabricatorConfigHistoryController.php @@ -31,22 +31,26 @@ final class PhabricatorConfigHistoryController $title = pht('Settings History'); $crumbs = $this->buildApplicationCrumbs(); - $crumbs->addTextCrumb('Configuration', $this->getApplicationURI()); - $crumbs->addTextCrumb($title, '/config/history/'); + $crumbs->addTextCrumb($title); + $crumbs->setBorder(true); $nav = $this->buildSideNavView(); $nav->selectFilter('history/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $timeline, - )); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($timeline); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } } diff --git a/src/applications/config/controller/PhabricatorConfigIssueListController.php b/src/applications/config/controller/PhabricatorConfigIssueListController.php index 7eac4c10ee..7f0b19af69 100644 --- a/src/applications/config/controller/PhabricatorConfigIssueListController.php +++ b/src/applications/config/controller/PhabricatorConfigIssueListController.php @@ -15,45 +15,25 @@ final class PhabricatorConfigIssueListController $update_database = true); $important = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_IMPORTANT); + $issues, + PhabricatorSetupCheck::GROUP_IMPORTANT, + 'fa-warning'); $php = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_PHP); + $issues, + PhabricatorSetupCheck::GROUP_PHP, + 'fa-code'); $mysql = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_MYSQL); + $issues, + PhabricatorSetupCheck::GROUP_MYSQL, + 'fa-database'); $other = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_OTHER); + $issues, + PhabricatorSetupCheck::GROUP_OTHER, + 'fa-question-circle'); - $setup_issues = array(); - if ($important) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Important Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($important); - } - - if ($php) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('PHP Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($php); - } - - if ($mysql) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('MySQL Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($mysql); - } - - if ($other) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Other Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($other); - } - - if (empty($setup_issues)) { - $setup_issues[] = id(new PHUIInfoView()) + $no_issues = null; + if (empty($issues)) { + $no_issues = id(new PHUIInfoView()) ->setTitle(pht('No Issues')) ->appendChild( pht('Your install has no current setup issues to resolve.')) @@ -62,25 +42,39 @@ final class PhabricatorConfigIssueListController $title = pht('Setup Issues'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Setup'), $this->getApplicationURI('issue/')); + ->addTextCrumb(pht('Setup Issues')) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $setup_issues, - )); + $page = array( + $no_issues, + $important, + $php, + $mysql, + $other, + ); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($page); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } - private function buildIssueList(array $issues, $group) { + private function buildIssueList(array $issues, $group, $fonticon) { assert_instances_of($issues, 'PhabricatorSetupIssue'); $list = new PHUIObjectItemListView(); + $list->setBig(true); $ignored_items = array(); $items = 0; @@ -93,12 +87,17 @@ final class PhabricatorConfigIssueListController ->setHref($href) ->addAttribute($issue->getSummary()); if (!$issue->getIsIgnored()) { - $item->setStatusIcon('fa-warning yellow'); + $icon = id(new PHUIIconView()) + ->setIcon($fonticon) + ->setBackground('bg-sky'); + $item->setImageIcon($icon); $list->addItem($item); } else { - $item->addIcon('fa-eye-slash', pht('Ignored')); + $icon = id(new PHUIIconView()) + ->setIcon('fa-eye-slash') + ->setBackground('bg-grey'); $item->setDisabled(true); - $item->setStatusIcon('fa-warning grey'); + $item->setImageIcon($icon); $ignored_items[] = $item; } } diff --git a/src/applications/config/controller/PhabricatorConfigIssueViewController.php b/src/applications/config/controller/PhabricatorConfigIssueViewController.php index 36fb77ce74..4700e6315e 100644 --- a/src/applications/config/controller/PhabricatorConfigIssueViewController.php +++ b/src/applications/config/controller/PhabricatorConfigIssueViewController.php @@ -12,6 +12,9 @@ final class PhabricatorConfigIssueViewController PhabricatorSetupCheck::getUnignoredIssueKeys($issues), $update_database = true); + $nav = $this->buildSideNavView(); + $nav->selectFilter('issue/'); + if (empty($issues[$issue_key])) { $content = id(new PHUIInfoView()) ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) @@ -35,12 +38,15 @@ final class PhabricatorConfigIssueViewController ->buildApplicationCrumbs() ->setBorder(true) ->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/')) - ->addTextCrumb($title, $request->getRequestURI()); + ->addTextCrumb($title, $request->getRequestURI()) + ->setBorder(true); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($content); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function renderIssue(PhabricatorSetupIssue $issue) { diff --git a/src/applications/config/controller/PhabricatorConfigListController.php b/src/applications/config/controller/PhabricatorConfigListController.php index ed8301ff2f..517fe014a9 100644 --- a/src/applications/config/controller/PhabricatorConfigListController.php +++ b/src/applications/config/controller/PhabricatorConfigListController.php @@ -12,42 +12,45 @@ final class PhabricatorConfigListController $groups = PhabricatorApplicationConfigOptions::loadAll(); $core_list = $this->buildConfigOptionsList($groups, 'core'); - $title = pht('Core Configuration'); + $title = pht('Core Settings'); - $core = id(new PHUIObjectBoxView()) - ->setHeaderText($title) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($core_list); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb($title); + ->addTextCrumb(pht('Core')) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $core, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($core_list); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildConfigOptionsList(array $groups, $type) { assert_instances_of($groups, 'PhabricatorApplicationConfigOptions'); $list = new PHUIObjectItemListView(); + $list->setBig(true); $groups = msort($groups, 'getName'); foreach ($groups as $group) { if ($group->getGroup() == $type) { + $icon = id(new PHUIIconView()) + ->setIcon($group->getIcon()) + ->setBackground('bg-blue'); $item = id(new PHUIObjectItemView()) ->setHeader($group->getName()) ->setHref('/config/group/'.$group->getKey().'/') ->addAttribute($group->getDescription()) - ->setImageIcon($group->getIcon()); + ->setImageIcon($icon); $list->addItem($item); } } diff --git a/src/applications/config/controller/PhabricatorConfigModuleController.php b/src/applications/config/controller/PhabricatorConfigModuleController.php index 3a67a8cdb4..e10d70561b 100644 --- a/src/applications/config/controller/PhabricatorConfigModuleController.php +++ b/src/applications/config/controller/PhabricatorConfigModuleController.php @@ -18,20 +18,25 @@ final class PhabricatorConfigModuleController $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb($title); + $crumbs->setBorder(true); $nav = $this->buildSideNavView(); $nav->selectFilter('module/'.$key.'/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $content, - )); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($content); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } } diff --git a/src/applications/config/controller/PhabricatorConfigVersionController.php b/src/applications/config/controller/PhabricatorConfigVersionController.php index f7c2b7898f..15877ddbd7 100644 --- a/src/applications/config/controller/PhabricatorConfigVersionController.php +++ b/src/applications/config/controller/PhabricatorConfigVersionController.php @@ -10,24 +10,28 @@ final class PhabricatorConfigVersionController $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb($title); + ->addTextCrumb($title) + ->setBorder(true); $versions = $this->renderModuleStatus($viewer); $nav = $this->buildSideNavView(); $nav->selectFilter('version/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $versions, - )); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($versions); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } @@ -39,11 +43,6 @@ final class PhabricatorConfigVersionController $version_property_list->addProperty($name, $version); } - $object_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Version Information')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($version_property_list); - $phabricator_root = dirname(phutil_get_library_root('phabricator')); $version_path = $phabricator_root.'/conf/local/VERSION'; if (Filesystem::pathExists($version_path)) { @@ -53,7 +52,7 @@ final class PhabricatorConfigVersionController $version_from_file); } - return $object_box; + return $version_property_list; } private function loadVersions(PhabricatorUser $viewer) { diff --git a/src/applications/config/controller/PhabricatorConfigWelcomeController.php b/src/applications/config/controller/PhabricatorConfigWelcomeController.php index 5fa4c65495..357f6f129a 100644 --- a/src/applications/config/controller/PhabricatorConfigWelcomeController.php +++ b/src/applications/config/controller/PhabricatorConfigWelcomeController.php @@ -11,20 +11,25 @@ final class PhabricatorConfigWelcomeController $title = pht('Installation Guide'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb($title); + ->addTextCrumb($title) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $this->buildWelcomeScreen($request), - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($this->buildWelcomeScreen($request)); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } public function buildWelcomeScreen(AphrontRequest $request) { @@ -346,9 +351,6 @@ final class PhabricatorConfigWelcomeController $diffusion_user_guide, $diffusion_setup_guide)); - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Welcome to Phabricator')); - $setup_header = new PHUIRemarkupView( $viewer, pht('=Setup and Configuration')); @@ -359,7 +361,6 @@ final class PhabricatorConfigWelcomeController $viewer, pht('=Quick Start Guide')); $document = id(new PHUIDocumentViewPro()) - ->setHeader($header) ->setFluid(true) ->appendChild($setup_header) ->appendChild($setup) @@ -369,9 +370,7 @@ final class PhabricatorConfigWelcomeController ->appendChild($quick); return id(new PHUIBoxView()) - ->setBorder(true) - ->appendChild($document) - ->addClass('mlb'); + ->appendChild($document); } private function newItem(AphrontRequest $request, $icon, $content) { diff --git a/src/applications/config/module/PhabricatorConfigCollectorsModule.php b/src/applications/config/module/PhabricatorConfigCollectorsModule.php index 4a121f483d..f865643e8e 100644 --- a/src/applications/config/module/PhabricatorConfigCollectorsModule.php +++ b/src/applications/config/module/PhabricatorConfigCollectorsModule.php @@ -48,7 +48,15 @@ final class PhabricatorConfigCollectorsModule extends PhabricatorConfigModule { ); } + $info = id(new PHUIInfoView()) + ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) + ->appendChild(pht( + 'Collectors with custom policies are highlighted. Use '. + '%s to change retention policies.', + phutil_tag('tt', array(), 'bin/garbage set-policy'))); + $table = id(new AphrontTableView($rows)) + ->setNotice($info) ->setRowClasses($rowc) ->setHeaders( array( @@ -63,18 +71,7 @@ final class PhabricatorConfigCollectorsModule extends PhabricatorConfigModule { null, )); - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Garbage Collectors')) - ->setSubheader( - pht( - 'Collectors with custom policies are highlighted. Use '. - '%s to change retention policies.', - phutil_tag('tt', array(), 'bin/garbage set-policy'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + return $table; } } diff --git a/src/applications/config/module/PhabricatorConfigEdgeModule.php b/src/applications/config/module/PhabricatorConfigEdgeModule.php index 2791269811..f748fd5b0d 100644 --- a/src/applications/config/module/PhabricatorConfigEdgeModule.php +++ b/src/applications/config/module/PhabricatorConfigEdgeModule.php @@ -25,7 +25,7 @@ final class PhabricatorConfigEdgeModule extends PhabricatorConfigModule { ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Constant'), @@ -38,11 +38,6 @@ final class PhabricatorConfigEdgeModule extends PhabricatorConfigModule { null, 'pri wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Edge Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php b/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php index 8ea911570b..1ef55e9620 100644 --- a/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php +++ b/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php @@ -16,13 +16,8 @@ final class PhabricatorConfigHTTPParameterTypesModule $types = AphrontHTTPParameterType::getAllTypes(); - $table = id(new PhabricatorHTTPParameterTypeTableView()) + return id(new PhabricatorHTTPParameterTypeTableView()) ->setHTTPParameterTypes($types); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('HTTP Parameter Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigPHIDModule.php b/src/applications/config/module/PhabricatorConfigPHIDModule.php index 772ad3ecd5..f237cad2e7 100644 --- a/src/applications/config/module/PhabricatorConfigPHIDModule.php +++ b/src/applications/config/module/PhabricatorConfigPHIDModule.php @@ -51,7 +51,7 @@ final class PhabricatorConfigPHIDModule extends PhabricatorConfigModule { ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Constant'), @@ -70,11 +70,6 @@ final class PhabricatorConfigPHIDModule extends PhabricatorConfigModule { 'icon', 'wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('PHID Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php b/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php index 27b338de6d..6ba08ea7a3 100644 --- a/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php +++ b/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php @@ -25,7 +25,7 @@ final class PhabricatorConfigRequestExceptionHandlerModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Priority'), @@ -38,11 +38,6 @@ final class PhabricatorConfigRequestExceptionHandlerModule 'pri', 'wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Exception Handlers')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigSiteModule.php b/src/applications/config/module/PhabricatorConfigSiteModule.php index a1a7bab9d0..e8c0988826 100644 --- a/src/applications/config/module/PhabricatorConfigSiteModule.php +++ b/src/applications/config/module/PhabricatorConfigSiteModule.php @@ -24,7 +24,7 @@ final class PhabricatorConfigSiteModule extends PhabricatorConfigModule { ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Priority'), @@ -37,11 +37,6 @@ final class PhabricatorConfigSiteModule extends PhabricatorConfigModule { 'pri', 'wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Sites')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/view/PhabricatorConfigPageView.php b/src/applications/config/view/PhabricatorConfigPageView.php new file mode 100644 index 0000000000..9fed2d4f47 --- /dev/null +++ b/src/applications/config/view/PhabricatorConfigPageView.php @@ -0,0 +1,60 @@ +header = $header; + return $this; + } + + public function setContent($content) { + $this->content = $content; + return $this; + } + + public function setFooter($footer) { + $this->footer = $footer; + return $this; + } + + protected function getTagName() { + return 'div'; + } + + protected function getTagAttributes() { + require_celerity_resource('config-page-css'); + + $classes = array(); + $classes[] = 'config-page'; + + return array( + 'class' => implode(' ', $classes), + ); + } + + protected function getTagContent() { + + $header = null; + if ($this->header) { + $header = phutil_tag_div('config-page-header', $this->header); + } + + $content = null; + if ($this->content) { + $content = phutil_tag_div('config-page-content', $this->content); + } + + $footer = null; + if ($this->footer) { + $footer = phutil_tag_div('config-page-footer', $this->footer); + } + + return array($header, $content, $footer); + + } + +} diff --git a/src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php b/src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php deleted file mode 100644 index bab1e6de85..0000000000 --- a/src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php +++ /dev/null @@ -1,26 +0,0 @@ -setHeaders( array( pht('Order'), @@ -46,11 +46,6 @@ final class PhabricatorHovercardEngineExtensionModule 'wide pri', null, )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('HovercardEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php b/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php index 45879edcb4..728ab1fc3a 100644 --- a/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php +++ b/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php @@ -29,7 +29,7 @@ final class PhabricatorSearchEngineExtensionModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Order'), @@ -46,11 +46,6 @@ final class PhabricatorSearchEngineExtensionModule 'wide pri', null, )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('SearchEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php b/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php index c0061e9293..7b3c5b6cad 100644 --- a/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php +++ b/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php @@ -24,7 +24,7 @@ final class PhabricatorFulltextEngineExtensionModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -36,10 +36,6 @@ final class PhabricatorFulltextEngineExtensionModule 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('FulltextEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php b/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php index 712deef5ff..57ca63bc52 100644 --- a/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php +++ b/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php @@ -24,7 +24,7 @@ final class PhabricatorIndexEngineExtensionModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -36,10 +36,6 @@ final class PhabricatorIndexEngineExtensionModule 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('IndexEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php b/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php index a201e3da54..d7eb47a4bd 100644 --- a/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php +++ b/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php @@ -24,7 +24,7 @@ final class PhabricatorDestructionEngineExtensionModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -36,10 +36,6 @@ final class PhabricatorDestructionEngineExtensionModule 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('DestructionEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php b/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php index 67bcfae6d9..a7211989ef 100644 --- a/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php +++ b/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php @@ -28,7 +28,7 @@ final class PhabricatorEditEngineExtensionModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Priority'), @@ -44,10 +44,6 @@ final class PhabricatorEditEngineExtensionModule null, )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('EditEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/infrastructure/contentsource/PhabricatorContentSourceModule.php b/src/infrastructure/contentsource/PhabricatorContentSourceModule.php index 2eed665eac..54e9dbe736 100644 --- a/src/infrastructure/contentsource/PhabricatorContentSourceModule.php +++ b/src/infrastructure/contentsource/PhabricatorContentSourceModule.php @@ -27,7 +27,7 @@ final class PhabricatorContentSourceModule ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Key'), @@ -43,10 +43,6 @@ final class PhabricatorContentSourceModule 'wide', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Content Sources')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/webroot/rsrc/css/application/base/standard-page-view.css b/webroot/rsrc/css/application/base/standard-page-view.css index d9f6cb8ea3..e5d50dc825 100644 --- a/webroot/rsrc/css/application/base/standard-page-view.css +++ b/webroot/rsrc/css/application/base/standard-page-view.css @@ -17,6 +17,10 @@ clear: both; } +body.white-background { + background: #fff; +} + .phabricator-standard-page-footer { text-align: right; margin: 44px 16px 16px; diff --git a/webroot/rsrc/css/application/config/config-page.css b/webroot/rsrc/css/application/config/config-page.css new file mode 100644 index 0000000000..a46ead7a2c --- /dev/null +++ b/webroot/rsrc/css/application/config/config-page.css @@ -0,0 +1,59 @@ +/** + * @provides config-page-css + */ + +.config-page-header { + margin: 28px 24px 0; + padding-bottom: 28px; + border-bottom: 1px solid {$thinblueborder}; +} + +.config-page-header .phui-profile-header { + padding: 0; +} + +.config-page-header .phui-profile-header.phui-header-shell .phui-header-header { + font-size: 20px; +} + + +.config-page-content { + margin: 0 24px; +} + +.device-desktop .config-page-content .phui-object-item-list-view { + padding-left: 0; + padding-right: 0; +} + +.device-desktop .config-page-content .phui-document-fluid .phui-document-view { + padding: 16px 0; + margin: 0; +} + +.config-page-content .aphront-table-view { + border: none; +} + +.config-page-property { + padding-top: 4px; + border-bottom: 1px solid {$thinblueborder}; +} + +.config-page-content .aphront-table-notice { + padding: 0; +} + +.config-page-content .aphront-table-notice .phui-info-view { + margin-left: 0; + margin-right: 0; +} + +.config-page-content .aphront-table-wrap + .aphront-table-wrap { + margin-top: 20px; + border-top: 1px solid {$thinblueborder}; +} + +.config-page-content .phui-box.phui-box-blue-property { + margin-top: 16px; +} diff --git a/webroot/rsrc/css/font/phui-font-icon-base.css b/webroot/rsrc/css/font/phui-font-icon-base.css index a1b0d61d0d..60c323d69d 100644 --- a/webroot/rsrc/css/font/phui-font-icon-base.css +++ b/webroot/rsrc/css/font/phui-font-icon-base.css @@ -159,6 +159,9 @@ .phui-icon-view.bg-bluegrey { background-color: {$bluetext}; } +.phui-icon-view.bg-grey { + background-color: {$lightgreytext}; +} .phui-icon-view.bg-red { background-color: {$red}; } diff --git a/webroot/rsrc/css/phui/phui-object-item-list-view.css b/webroot/rsrc/css/phui/phui-object-item-list-view.css index b0d95286f7..ef5fab6c3d 100644 --- a/webroot/rsrc/css/phui/phui-object-item-list-view.css +++ b/webroot/rsrc/css/phui/phui-object-item-list-view.css @@ -447,16 +447,16 @@ ul.phui-object-item-icons { */ -.phui-object-item-disabled .phui-object-item-link, -.phui-object-item-disabled .phui-object-item-link a { +.phui-object-item.phui-object-item-disabled .phui-object-item-link, +.phui-object-item.phui-object-item-disabled .phui-object-item-link a { color: {$lightgreytext}; } -.phui-object-item-disabled .phui-object-item-frame { +.phui-object-item.phui-object-item-disabled .phui-object-item-frame { border-color: #d7d7d7; } -.phui-object-item-disabled .phui-object-item-objname { +.phui-object-item.phui-object-item-disabled .phui-object-item-objname { color: {$greytext}; text-decoration: line-through; } @@ -771,3 +771,7 @@ ul.phui-object-item-list-view .phui-object-item-selected .device-desktop .phui-object-list-big .phui-object-item { margin-bottom: 8px; } + +.device-desktop .phui-object-list-big .phui-object-item-frame:hover { + +}