1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 21:02:41 +01:00

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
This commit is contained in:
Chad Little 2016-08-29 15:36:13 -07:00
parent 00796e592b
commit 60d1762a85
45 changed files with 505 additions and 460 deletions

View file

@ -7,7 +7,7 @@
*/ */
return array( return array(
'names' => array( 'names' => array(
'core.pkg.css' => '7d178771', 'core.pkg.css' => 'ffbade6c',
'core.pkg.js' => '2b8af4e4', 'core.pkg.js' => '2b8af4e4',
'darkconsole.pkg.js' => 'e7393ebb', 'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => '3fb7f532', 'differential.pkg.css' => '3fb7f532',
@ -36,10 +36,11 @@ return array(
'rsrc/css/application/base/notification-menu.css' => 'b3ab500d', 'rsrc/css/application/base/notification-menu.css' => 'b3ab500d',
'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601', 'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601',
'rsrc/css/application/base/phui-theme.css' => '027ba77e', '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/chatlog/chatlog.css' => 'd295b020',
'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4',
'rsrc/css/application/config/config-options.css' => '0ede4c9b', '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-template.css' => '8e6c6fcd',
'rsrc/css/application/config/config-welcome.css' => '035aa483', 'rsrc/css/application/config/config-welcome.css' => '035aa483',
'rsrc/css/application/config/setup-issue.css' => 'f794cfc3', '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-aleo.css' => '8bdb2835',
'rsrc/css/font/font-awesome.css' => '2b7ebbcc', 'rsrc/css/font/font-awesome.css' => '2b7ebbcc',
'rsrc/css/font/font-lato.css' => 'c7ccd872', '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-filetree-view.css' => 'fccf9f82',
'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983', 'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983',
'rsrc/css/phui/calendar/phui-calendar-day.css' => '572b1893', '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-info-view.css' => '28efab79',
'rsrc/css/phui/phui-list.css' => '9da2aa00', 'rsrc/css/phui/phui-list.css' => '9da2aa00',
'rsrc/css/phui/phui-object-box.css' => '6b487c57', '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-pager.css' => 'bea33d23',
'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e',
'rsrc/css/phui/phui-profile-menu.css' => '8a3fc181', 'rsrc/css/phui/phui-profile-menu.css' => '8a3fc181',
@ -547,6 +548,7 @@ return array(
'changeset-view-manager' => 'a2828756', 'changeset-view-manager' => 'a2828756',
'conduit-api-css' => '7bc725c4', 'conduit-api-css' => '7bc725c4',
'config-options-css' => '0ede4c9b', 'config-options-css' => '0ede4c9b',
'config-page-css' => '8798e14f',
'config-welcome-css' => '035aa483', 'config-welcome-css' => '035aa483',
'conpherence-durable-column-view' => '86396117', 'conpherence-durable-column-view' => '86396117',
'conpherence-menu-css' => '90bdf85c', 'conpherence-menu-css' => '90bdf85c',
@ -797,7 +799,7 @@ return array(
'phabricator-shaped-request' => '7cbe244b', 'phabricator-shaped-request' => '7cbe244b',
'phabricator-slowvote-css' => 'a94b7230', 'phabricator-slowvote-css' => 'a94b7230',
'phabricator-source-code-view-css' => 'cbeef983', 'phabricator-source-code-view-css' => 'cbeef983',
'phabricator-standard-page-view' => '99a7d403', 'phabricator-standard-page-view' => '2b592894',
'phabricator-textareautils' => '320810c8', 'phabricator-textareautils' => '320810c8',
'phabricator-title' => 'df5e11d2', 'phabricator-title' => 'df5e11d2',
'phabricator-tooltip' => '6323f942', 'phabricator-tooltip' => '6323f942',
@ -840,7 +842,7 @@ return array(
'phui-document-view-css' => 'c32e8dec', 'phui-document-view-css' => 'c32e8dec',
'phui-document-view-pro-css' => 'dc3d46ed', 'phui-document-view-pro-css' => 'dc3d46ed',
'phui-feed-story-css' => 'aa49845d', 'phui-feed-story-css' => 'aa49845d',
'phui-font-icon-base-css' => '4e8274c4', 'phui-font-icon-base-css' => '870a7360',
'phui-fontkit-css' => '9cda225e', 'phui-fontkit-css' => '9cda225e',
'phui-form-css' => 'aac1d51d', 'phui-form-css' => 'aac1d51d',
'phui-form-view-css' => '76b4a46c', 'phui-form-view-css' => '76b4a46c',
@ -856,7 +858,7 @@ return array(
'phui-inline-comment-view-css' => '5953c28e', 'phui-inline-comment-view-css' => '5953c28e',
'phui-list-view-css' => '9da2aa00', 'phui-list-view-css' => '9da2aa00',
'phui-object-box-css' => '6b487c57', 'phui-object-box-css' => '6b487c57',
'phui-object-item-list-view-css' => '985e9d54', 'phui-object-item-list-view-css' => '987db9bf',
'phui-pager-css' => 'bea33d23', 'phui-pager-css' => 'bea33d23',
'phui-pinboard-view-css' => '2495140e', 'phui-pinboard-view-css' => '2495140e',
'phui-profile-menu-css' => '8a3fc181', 'phui-profile-menu-css' => '8a3fc181',

View file

@ -2149,6 +2149,7 @@ phutil_register_library_map(array(
'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php', 'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php',
'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php', 'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php',
'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php', 'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php',
'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php',
'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php', 'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php',
'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php', 'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php',
'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php', 'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php',
@ -2165,6 +2166,7 @@ phutil_register_library_map(array(
'PhabricatorConfigEntryDAO' => 'applications/config/storage/PhabricatorConfigEntryDAO.php', 'PhabricatorConfigEntryDAO' => 'applications/config/storage/PhabricatorConfigEntryDAO.php',
'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php', 'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php',
'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php', 'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php',
'PhabricatorConfigGroupConstants' => 'applications/config/constants/PhabricatorConfigGroupConstants.php',
'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php', 'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php',
'PhabricatorConfigHTTPParameterTypesModule' => 'applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php', 'PhabricatorConfigHTTPParameterTypesModule' => 'applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php',
'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php', 'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php',
@ -2188,6 +2190,7 @@ phutil_register_library_map(array(
'PhabricatorConfigOption' => 'applications/config/option/PhabricatorConfigOption.php', 'PhabricatorConfigOption' => 'applications/config/option/PhabricatorConfigOption.php',
'PhabricatorConfigOptionType' => 'applications/config/custom/PhabricatorConfigOptionType.php', 'PhabricatorConfigOptionType' => 'applications/config/custom/PhabricatorConfigOptionType.php',
'PhabricatorConfigPHIDModule' => 'applications/config/module/PhabricatorConfigPHIDModule.php', 'PhabricatorConfigPHIDModule' => 'applications/config/module/PhabricatorConfigPHIDModule.php',
'PhabricatorConfigPageView' => 'applications/config/view/PhabricatorConfigPageView.php',
'PhabricatorConfigProxySource' => 'infrastructure/env/PhabricatorConfigProxySource.php', 'PhabricatorConfigProxySource' => 'infrastructure/env/PhabricatorConfigProxySource.php',
'PhabricatorConfigPurgeCacheController' => 'applications/config/controller/PhabricatorConfigPurgeCacheController.php', 'PhabricatorConfigPurgeCacheController' => 'applications/config/controller/PhabricatorConfigPurgeCacheController.php',
'PhabricatorConfigRequestExceptionHandlerModule' => 'applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php', 'PhabricatorConfigRequestExceptionHandlerModule' => 'applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php',
@ -2649,7 +2652,6 @@ phutil_register_library_map(array(
'PhabricatorHandleRemarkupRule' => 'applications/phid/remarkup/PhabricatorHandleRemarkupRule.php', 'PhabricatorHandleRemarkupRule' => 'applications/phid/remarkup/PhabricatorHandleRemarkupRule.php',
'PhabricatorHandlesEditField' => 'applications/transactions/editfield/PhabricatorHandlesEditField.php', 'PhabricatorHandlesEditField' => 'applications/transactions/editfield/PhabricatorHandlesEditField.php',
'PhabricatorHarbormasterApplication' => 'applications/harbormaster/application/PhabricatorHarbormasterApplication.php', 'PhabricatorHarbormasterApplication' => 'applications/harbormaster/application/PhabricatorHarbormasterApplication.php',
'PhabricatorHarbormasterConfigOptions' => 'applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php',
'PhabricatorHash' => 'infrastructure/util/PhabricatorHash.php', 'PhabricatorHash' => 'infrastructure/util/PhabricatorHash.php',
'PhabricatorHashTestCase' => 'infrastructure/util/__tests__/PhabricatorHashTestCase.php', 'PhabricatorHashTestCase' => 'infrastructure/util/__tests__/PhabricatorHashTestCase.php',
'PhabricatorHelpApplication' => 'applications/help/application/PhabricatorHelpApplication.php', 'PhabricatorHelpApplication' => 'applications/help/application/PhabricatorHelpApplication.php',
@ -3158,7 +3160,6 @@ phutil_register_library_map(array(
'PhabricatorPhortuneManagementWorkflow' => 'applications/phortune/management/PhabricatorPhortuneManagementWorkflow.php', 'PhabricatorPhortuneManagementWorkflow' => 'applications/phortune/management/PhabricatorPhortuneManagementWorkflow.php',
'PhabricatorPhragmentApplication' => 'applications/phragment/application/PhabricatorPhragmentApplication.php', 'PhabricatorPhragmentApplication' => 'applications/phragment/application/PhabricatorPhragmentApplication.php',
'PhabricatorPhrequentApplication' => 'applications/phrequent/application/PhabricatorPhrequentApplication.php', 'PhabricatorPhrequentApplication' => 'applications/phrequent/application/PhabricatorPhrequentApplication.php',
'PhabricatorPhrequentConfigOptions' => 'applications/phrequent/config/PhabricatorPhrequentConfigOptions.php',
'PhabricatorPhrictionApplication' => 'applications/phriction/application/PhabricatorPhrictionApplication.php', 'PhabricatorPhrictionApplication' => 'applications/phriction/application/PhabricatorPhrictionApplication.php',
'PhabricatorPhrictionConfigOptions' => 'applications/phriction/config/PhabricatorPhrictionConfigOptions.php', 'PhabricatorPhrictionConfigOptions' => 'applications/phriction/config/PhabricatorPhrictionConfigOptions.php',
'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php', 'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php',
@ -6891,6 +6892,7 @@ phutil_register_library_map(array(
'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule', 'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule',
'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema',
'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType', 'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType',
'PhabricatorConfigConstants' => 'Phobject',
'PhabricatorConfigController' => 'PhabricatorController', 'PhabricatorConfigController' => 'PhabricatorController',
'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec', 'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec',
'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController', 'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController',
@ -6911,6 +6913,7 @@ phutil_register_library_map(array(
'PhabricatorConfigEntryDAO' => 'PhabricatorLiskDAO', 'PhabricatorConfigEntryDAO' => 'PhabricatorLiskDAO',
'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource', 'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource',
'PhabricatorConfigGroupConstants' => 'PhabricatorConfigConstants',
'PhabricatorConfigGroupController' => 'PhabricatorConfigController', 'PhabricatorConfigGroupController' => 'PhabricatorConfigController',
'PhabricatorConfigHTTPParameterTypesModule' => 'PhabricatorConfigModule', 'PhabricatorConfigHTTPParameterTypesModule' => 'PhabricatorConfigModule',
'PhabricatorConfigHistoryController' => 'PhabricatorConfigController', 'PhabricatorConfigHistoryController' => 'PhabricatorConfigController',
@ -6937,6 +6940,7 @@ phutil_register_library_map(array(
), ),
'PhabricatorConfigOptionType' => 'Phobject', 'PhabricatorConfigOptionType' => 'Phobject',
'PhabricatorConfigPHIDModule' => 'PhabricatorConfigModule', 'PhabricatorConfigPHIDModule' => 'PhabricatorConfigModule',
'PhabricatorConfigPageView' => 'AphrontTagView',
'PhabricatorConfigProxySource' => 'PhabricatorConfigSource', 'PhabricatorConfigProxySource' => 'PhabricatorConfigSource',
'PhabricatorConfigPurgeCacheController' => 'PhabricatorConfigController', 'PhabricatorConfigPurgeCacheController' => 'PhabricatorConfigController',
'PhabricatorConfigRequestExceptionHandlerModule' => 'PhabricatorConfigModule', 'PhabricatorConfigRequestExceptionHandlerModule' => 'PhabricatorConfigModule',
@ -7467,7 +7471,6 @@ phutil_register_library_map(array(
'PhabricatorHandleRemarkupRule' => 'PhutilRemarkupRule', 'PhabricatorHandleRemarkupRule' => 'PhutilRemarkupRule',
'PhabricatorHandlesEditField' => 'PhabricatorPHIDListEditField', 'PhabricatorHandlesEditField' => 'PhabricatorPHIDListEditField',
'PhabricatorHarbormasterApplication' => 'PhabricatorApplication', 'PhabricatorHarbormasterApplication' => 'PhabricatorApplication',
'PhabricatorHarbormasterConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorHash' => 'Phobject', 'PhabricatorHash' => 'Phobject',
'PhabricatorHashTestCase' => 'PhabricatorTestCase', 'PhabricatorHashTestCase' => 'PhabricatorTestCase',
'PhabricatorHelpApplication' => 'PhabricatorApplication', 'PhabricatorHelpApplication' => 'PhabricatorApplication',
@ -8050,7 +8053,6 @@ phutil_register_library_map(array(
'PhabricatorPhortuneManagementWorkflow' => 'PhabricatorManagementWorkflow', 'PhabricatorPhortuneManagementWorkflow' => 'PhabricatorManagementWorkflow',
'PhabricatorPhragmentApplication' => 'PhabricatorApplication', 'PhabricatorPhragmentApplication' => 'PhabricatorApplication',
'PhabricatorPhrequentApplication' => 'PhabricatorApplication', 'PhabricatorPhrequentApplication' => 'PhabricatorApplication',
'PhabricatorPhrequentConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorPhrictionApplication' => 'PhabricatorApplication', 'PhabricatorPhrictionApplication' => 'PhabricatorApplication',
'PhabricatorPhrictionConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorPhrictionConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorPhurlApplication' => 'PhabricatorApplication', 'PhabricatorPhurlApplication' => 'PhabricatorApplication',

View file

@ -25,7 +25,7 @@ final class PhabricatorAuthSessionEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setNoDataString( ->setNoDataString(
pht('There are no registered session engine extensions.')) pht('There are no registered session engine extensions.'))
->setHeaders( ->setHeaders(
@ -41,10 +41,6 @@ final class PhabricatorAuthSessionEngineExtensionModule
'wide pri', 'wide pri',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('SessionEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -8,7 +8,7 @@ final class PhabricatorAuthTemporaryTokenTypeModule
} }
public function getModuleName() { public function getModuleName() {
return pht('Temporary Tokens'); return pht('Temporary Token Types');
} }
public function renderModuleStatus(AphrontRequest $request) { public function renderModuleStatus(AphrontRequest $request) {
@ -25,7 +25,7 @@ final class PhabricatorAuthTemporaryTokenTypeModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Class'), pht('Class'),
@ -39,10 +39,6 @@ final class PhabricatorAuthTemporaryTokenTypeModule
'wide pri', 'wide pri',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('Temporary Token Types'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -3,7 +3,7 @@
final class PhabricatorCacheSetupCheck extends PhabricatorSetupCheck { final class PhabricatorCacheSetupCheck extends PhabricatorSetupCheck {
public function getDefaultGroup() { public function getDefaultGroup() {
return self::GROUP_OTHER; return self::GROUP_PHP;
} }
protected function executeChecks() { protected function executeChecks() {

View file

@ -34,11 +34,9 @@ final class PhabricatorMySQLSetupCheck extends PhabricatorSetupCheck {
if ($max_allowed_packet < $recommended_minimum) { if ($max_allowed_packet < $recommended_minimum) {
$message = pht( $message = pht(
"MySQL is configured with a small '%s' (%d), ". "MySQL is configured with a small '%s' (%d), ".
"which may cause some large writes to fail. Strongly consider raising ". "which may cause some large writes to fail.",
"this to at least %d in your MySQL configuration.",
'max_allowed_packet', 'max_allowed_packet',
$max_allowed_packet, $max_allowed_packet);
$recommended_minimum);
$this->newIssue('mysql.max_allowed_packet') $this->newIssue('mysql.max_allowed_packet')
->setName(pht('Small MySQL "%s"', 'max_allowed_packet')) ->setName(pht('Small MySQL "%s"', 'max_allowed_packet'))

View file

@ -0,0 +1,3 @@
<?php
abstract class PhabricatorConfigConstants extends Phobject {}

View file

@ -0,0 +1,37 @@
<?php
abstract class PhabricatorConfigGroupConstants
extends PhabricatorConfigConstants {
const GROUP_CORE = 'core';
const GROUP_APPLICATION = 'apps';
const GROUP_DEVELOPER = 'developer';
public static function getGroupName($group) {
$map = array(
self::GROUP_CORE => 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, '#');
}
}

View file

@ -52,27 +52,26 @@ final class PhabricatorConfigAllController
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) ->addTextCrumb($title)
->addTextCrumb($title); ->setBorder(true);
$panel = id(new PHUIObjectBoxView()) $header = id(new PHUIHeaderView())
->setHeaderText(pht('Current Settings')) ->setHeader($title)
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setProfileHeader(true);
->setTable($table);
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('all/'); $nav->selectFilter('all/');
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn(array( ->setContent($table);
$panel,
));
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }

View file

@ -12,42 +12,45 @@ final class PhabricatorConfigApplicationController
$groups = PhabricatorApplicationConfigOptions::loadAll(); $groups = PhabricatorApplicationConfigOptions::loadAll();
$apps_list = $this->buildConfigOptionsList($groups, 'apps'); $apps_list = $this->buildConfigOptionsList($groups, 'apps');
$title = pht('Application Configuration'); $title = pht('Application Settings');
$apps = id(new PHUIObjectBoxView()) $header = id(new PHUIHeaderView())
->setHeaderText($title) ->setHeader($title)
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setProfileHeader(true);
->setObjectList($apps_list);
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) ->addTextCrumb(pht('Applications'))
->addTextCrumb(pht('Applications')); ->setBorder(true);
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn(array( ->setContent($apps_list);
$apps,
));
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function buildConfigOptionsList(array $groups, $type) { private function buildConfigOptionsList(array $groups, $type) {
assert_instances_of($groups, 'PhabricatorApplicationConfigOptions'); assert_instances_of($groups, 'PhabricatorApplicationConfigOptions');
$list = new PHUIObjectItemListView(); $list = new PHUIObjectItemListView();
$list->setBig(true);
$groups = msort($groups, 'getName'); $groups = msort($groups, 'getName');
foreach ($groups as $group) { foreach ($groups as $group) {
if ($group->getGroup() == $type) { if ($group->getGroup() == $type) {
$icon = id(new PHUIIconView())
->setIcon($group->getIcon())
->setBackground('bg-violet');
$item = id(new PHUIObjectItemView()) $item = id(new PHUIObjectItemView())
->setHeader($group->getName()) ->setHeader($group->getName())
->setHref('/config/group/'.$group->getKey().'/') ->setHref('/config/group/'.$group->getKey().'/')
->addAttribute($group->getDescription()) ->addAttribute($group->getDescription())
->setImageIcon($group->getIcon()); ->setImageIcon($icon);
$list->addItem($item); $list->addItem($item);
} }
} }

View file

@ -11,24 +11,33 @@ final class PhabricatorConfigCacheController
$title = pht('Cache Status'); $title = pht('Cache Status');
$header = id(new PHUIHeaderView())
->setHeader($title)
->setProfileHeader(true);
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb(pht('Cache Status')); ->addTextCrumb(pht('Cache Status'))
->setBorder(true);
$code_box = $this->renderCodeBox(); $code_box = $this->renderCodeBox();
$data_box = $this->renderDataBox(); $data_box = $this->renderDataBox();
$view = id(new PHUITwoColumnView()) $page = array(
->setNavigation($nav) $code_box,
->setMainColumn(array( $data_box,
$code_box, );
$data_box,
)); $content = id(new PhabricatorConfigPageView())
->setHeader($header)
->setContent($page);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function renderCodeBox() { private function renderCodeBox() {

View file

@ -7,22 +7,36 @@ final class PhabricatorConfigClusterDatabasesController
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('cluster/databases/'); $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 $crumbs = $this
->buildApplicationCrumbs($nav) ->buildApplicationCrumbs($nav)
->addTextCrumb(pht('Database Servers')); ->addTextCrumb($title)
->setBorder(true);
$database_status = $this->buildClusterDatabaseStatus(); $database_status = $this->buildClusterDatabaseStatus();
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn($database_status); ->setContent($database_status);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function buildClusterDatabaseStatus() { private function buildClusterDatabaseStatus() {
@ -194,21 +208,7 @@ final class PhabricatorConfigClusterDatabasesController
'wide', 'wide',
)); ));
$doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); return $table;
$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);
} }
} }

View file

@ -8,21 +8,35 @@ final class PhabricatorConfigClusterNotificationsController
$nav->selectFilter('cluster/notifications/'); $nav->selectFilter('cluster/notifications/');
$title = pht('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 $crumbs = $this
->buildApplicationCrumbs($nav) ->buildApplicationCrumbs($nav)
->addTextCrumb(pht('Cluster Notifications')); ->addTextCrumb($title)
->setBorder(true);
$notification_status = $this->buildClusterNotificationStatus(); $notification_status = $this->buildClusterNotificationStatus();
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn($notification_status); ->setContent($notification_status);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function buildClusterNotificationStatus() { private function buildClusterNotificationStatus() {
@ -144,21 +158,7 @@ final class PhabricatorConfigClusterNotificationsController
'wide', 'wide',
)); ));
$doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); return $table;
$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);
} }
} }

View file

@ -7,22 +7,37 @@ final class PhabricatorConfigClusterRepositoriesController
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('cluster/repositories/'); $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 $crumbs = $this
->buildApplicationCrumbs($nav) ->buildApplicationCrumbs($nav)
->addTextCrumb(pht('Repository Servers')); ->addTextCrumb(pht('Repository Servers'))
->setBorder(true);
$repository_status = $this->buildClusterRepositoryStatus(); $repository_status = $this->buildClusterRepositoryStatus();
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn($repository_status); ->setContent($repository_status);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function buildClusterRepositoryStatus() { private function buildClusterRepositoryStatus() {
@ -217,8 +232,7 @@ final class PhabricatorConfigClusterRepositoriesController
); );
} }
return id(new AphrontTableView($rows))
$table = id(new AphrontTableView($rows))
->setNoDataString( ->setNoDataString(
pht('No repository cluster services are configured.')) pht('No repository cluster services are configured.'))
->setHeaders( ->setHeaders(
@ -239,22 +253,6 @@ final class PhabricatorConfigClusterRepositoriesController
null, null,
'wide', '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( private function getDevices(

View file

@ -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')));
}
} }

View file

@ -14,6 +14,7 @@ final class PhabricatorConfigDatabaseIssueController
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(pht('Database Issues')); $crumbs->addTextCrumb(pht('Database Issues'));
$crumbs->setBorder(true);
// Collect all open issues. // Collect all open issues.
$issues = array(); $issues = array();
@ -111,6 +112,8 @@ final class PhabricatorConfigDatabaseIssueController
} }
$table = id(new AphrontTableView($rows)) $table = id(new AphrontTableView($rows))
->setNoDataString(
pht('No databases have any issues.'))
->setHeaders( ->setHeaders(
array( array(
null, null,
@ -146,25 +149,23 @@ final class PhabricatorConfigDatabaseIssueController
$title = pht('Database Issues'); $title = pht('Database Issues');
$table_box = id(new PHUIObjectBoxView()) $header = id(new PHUIHeaderView())
->setHeader($this->buildHeaderWithDocumentationLink($title)) ->setHeader($title)
->setFormErrors($errors) ->setProfileHeader(true);
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('dbissue/'); $nav->selectFilter('dbissue/');
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn(array( ->setContent($table);
$table_box,
));
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
} }

View file

@ -62,7 +62,12 @@ final class PhabricatorConfigDatabaseStatusController
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('database/'); $nav->selectFilter('database/');
if (!$title) {
$title = pht('Database Status');
}
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->buildApplicationCrumbs();
$crumbs->setBorder(true);
if ($this->database) { if ($this->database) {
$crumbs->addTextCrumb( $crumbs->addTextCrumb(
pht('Database Status'), pht('Database Status'),
@ -91,16 +96,28 @@ final class PhabricatorConfigDatabaseStatusController
$crumbs->addTextCrumb(pht('Database Status')); $crumbs->addTextCrumb(pht('Database Status'));
} }
$view = id(new PHUITwoColumnView()) $doc_link = PhabricatorEnv::getDoclink('Managing Storage Adjustments');
->setNavigation($nav)
->setMainColumn(array( $header = id(new PHUIHeaderView())
$body, ->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() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
@ -163,17 +180,7 @@ final class PhabricatorConfigDatabaseStatusController
), ),
$comp->getIssues()); $comp->getIssues());
$prop_box = id(new PHUIObjectBoxView()) return $this->buildResponse($title, array($properties, $table));
->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));
} }
private function renderDatabase( private function renderDatabase(
@ -263,17 +270,7 @@ final class PhabricatorConfigDatabaseStatusController
), ),
$database->getIssues()); $database->getIssues());
$prop_box = id(new PHUIObjectBoxView()) return $this->buildResponse($title, array($properties, $table));
->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));
} }
private function renderTable( private function renderTable(
@ -478,22 +475,8 @@ final class PhabricatorConfigDatabaseStatusController
), ),
$table->getIssues()); $table->getIssues());
$prop_box = id(new PHUIObjectBoxView()) return $this->buildResponse(
->setHeader($this->buildHeaderWithDocumentationLink($title)) $title, array($properties, $table_view, $keys_view));
->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));
} }
private function renderColumn( private function renderColumn(
@ -625,12 +608,7 @@ final class PhabricatorConfigDatabaseStatusController
), ),
$column->getIssues()); $column->getIssues());
$box = id(new PHUIObjectBoxView()) return $this->buildResponse($title, $properties);
->setHeader($this->buildHeaderWithDocumentationLink($title))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->addPropertyList($properties);
return $this->buildResponse($title, $box);
} }
private function renderKey( private function renderKey(
@ -719,12 +697,7 @@ final class PhabricatorConfigDatabaseStatusController
), ),
$key->getIssues()); $key->getIssues());
$box = id(new PHUIObjectBoxView()) return $this->buildResponse($title, $properties);
->setHeader($this->buildHeaderWithDocumentationLink($title))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->addPropertyList($properties);
return $this->buildResponse($title, $box);
} }
private function buildProperties(array $properties, array $issues) { private function buildProperties(array $properties, array $issues) {
@ -769,7 +742,7 @@ final class PhabricatorConfigDatabaseStatusController
} }
$view->addProperty(pht('Schema Status'), $status_view); $view->addProperty(pht('Schema Status'), $status_view);
return $view; return phutil_tag_div('config-page-property', $view);
} }
} }

View file

@ -13,31 +13,37 @@ final class PhabricatorConfigGroupController
return new Aphront404Response(); 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()); $title = pht('%s Configuration', $options->getName());
$list = $this->buildOptionList($options->getOptions()); $list = $this->buildOptionList($options->getOptions());
$box = id(new PHUIObjectBoxView())
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setObjectList($list);
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb(pht('Config'), $this->getApplicationURI()) ->addTextCrumb($group_name, $this->getApplicationURI($group_uri))
->addTextCrumb($options->getName(), $this->getApplicationURI()) ->addTextCrumb($options->getName())
->setBorder(true); ->setBorder(true);
$header = id(new PHUIHeaderView()) $header = id(new PHUIHeaderView())
->setHeader($title) ->setHeader($title)
->setHeaderIcon('fa-sliders'); ->setProfileHeader(true);
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setHeader($header) ->setHeader($header)
->setFooter($box); ->setContent($list);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function buildOptionList(array $options) { private function buildOptionList(array $options) {
@ -62,6 +68,7 @@ final class PhabricatorConfigGroupController
$engine->process(); $engine->process();
$list = new PHUIObjectItemListView(); $list = new PHUIObjectItemListView();
$list->setBig(true);
foreach ($options as $option) { foreach ($options as $option) {
$summary = $engine->getOutput($option, 'summary'); $summary = $engine->getOutput($option, 'summary');
@ -89,13 +96,13 @@ final class PhabricatorConfigGroupController
$db_value = idx($db_values, $option->getKey()); $db_value = idx($db_values, $option->getKey());
if ($db_value && !$db_value->getIsDeleted()) { if ($db_value && !$db_value->getIsDeleted()) {
$item->addIcon('edit', pht('Customized')); $item->addIcon('fa-edit', pht('Customized'));
} }
if ($option->getHidden()) { if ($option->getHidden()) {
$item->addIcon('unpublish', pht('Hidden')); $item->addIcon('fa-eye-slash', pht('Hidden'));
} else if ($option->getLocked()) { } else if ($option->getLocked()) {
$item->addIcon('lock', pht('Locked')); $item->addIcon('fa-lock', pht('Locked'));
} }
$list->addItem($item); $list->addItem($item);

View file

@ -31,22 +31,26 @@ final class PhabricatorConfigHistoryController
$title = pht('Settings History'); $title = pht('Settings History');
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb('Configuration', $this->getApplicationURI()); $crumbs->addTextCrumb($title);
$crumbs->addTextCrumb($title, '/config/history/'); $crumbs->setBorder(true);
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('history/'); $nav->selectFilter('history/');
$view = id(new PHUITwoColumnView()) $header = id(new PHUIHeaderView())
->setNavigation($nav) ->setHeader($title)
->setMainColumn(array( ->setProfileHeader(true);
$timeline,
)); $content = id(new PhabricatorConfigPageView())
->setHeader($header)
->setContent($timeline);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
} }

View file

@ -15,45 +15,25 @@ final class PhabricatorConfigIssueListController
$update_database = true); $update_database = true);
$important = $this->buildIssueList( $important = $this->buildIssueList(
$issues, PhabricatorSetupCheck::GROUP_IMPORTANT); $issues,
PhabricatorSetupCheck::GROUP_IMPORTANT,
'fa-warning');
$php = $this->buildIssueList( $php = $this->buildIssueList(
$issues, PhabricatorSetupCheck::GROUP_PHP); $issues,
PhabricatorSetupCheck::GROUP_PHP,
'fa-code');
$mysql = $this->buildIssueList( $mysql = $this->buildIssueList(
$issues, PhabricatorSetupCheck::GROUP_MYSQL); $issues,
PhabricatorSetupCheck::GROUP_MYSQL,
'fa-database');
$other = $this->buildIssueList( $other = $this->buildIssueList(
$issues, PhabricatorSetupCheck::GROUP_OTHER); $issues,
PhabricatorSetupCheck::GROUP_OTHER,
'fa-question-circle');
$setup_issues = array(); $no_issues = null;
if ($important) { if (empty($issues)) {
$setup_issues[] = id(new PHUIObjectBoxView()) $no_issues = id(new PHUIInfoView())
->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())
->setTitle(pht('No Issues')) ->setTitle(pht('No Issues'))
->appendChild( ->appendChild(
pht('Your install has no current setup issues to resolve.')) pht('Your install has no current setup issues to resolve.'))
@ -62,25 +42,39 @@ final class PhabricatorConfigIssueListController
$title = pht('Setup Issues'); $title = pht('Setup Issues');
$header = id(new PHUIHeaderView())
->setHeader($title)
->setProfileHeader(true);
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs($nav) ->buildApplicationCrumbs($nav)
->addTextCrumb(pht('Setup'), $this->getApplicationURI('issue/')); ->addTextCrumb(pht('Setup Issues'))
->setBorder(true);
$view = id(new PHUITwoColumnView()) $page = array(
->setNavigation($nav) $no_issues,
->setMainColumn(array( $important,
$setup_issues, $php,
)); $mysql,
$other,
);
$content = id(new PhabricatorConfigPageView())
->setHeader($header)
->setContent($page);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->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'); assert_instances_of($issues, 'PhabricatorSetupIssue');
$list = new PHUIObjectItemListView(); $list = new PHUIObjectItemListView();
$list->setBig(true);
$ignored_items = array(); $ignored_items = array();
$items = 0; $items = 0;
@ -93,12 +87,17 @@ final class PhabricatorConfigIssueListController
->setHref($href) ->setHref($href)
->addAttribute($issue->getSummary()); ->addAttribute($issue->getSummary());
if (!$issue->getIsIgnored()) { if (!$issue->getIsIgnored()) {
$item->setStatusIcon('fa-warning yellow'); $icon = id(new PHUIIconView())
->setIcon($fonticon)
->setBackground('bg-sky');
$item->setImageIcon($icon);
$list->addItem($item); $list->addItem($item);
} else { } else {
$item->addIcon('fa-eye-slash', pht('Ignored')); $icon = id(new PHUIIconView())
->setIcon('fa-eye-slash')
->setBackground('bg-grey');
$item->setDisabled(true); $item->setDisabled(true);
$item->setStatusIcon('fa-warning grey'); $item->setImageIcon($icon);
$ignored_items[] = $item; $ignored_items[] = $item;
} }
} }

View file

@ -12,6 +12,9 @@ final class PhabricatorConfigIssueViewController
PhabricatorSetupCheck::getUnignoredIssueKeys($issues), PhabricatorSetupCheck::getUnignoredIssueKeys($issues),
$update_database = true); $update_database = true);
$nav = $this->buildSideNavView();
$nav->selectFilter('issue/');
if (empty($issues[$issue_key])) { if (empty($issues[$issue_key])) {
$content = id(new PHUIInfoView()) $content = id(new PHUIInfoView())
->setSeverity(PHUIInfoView::SEVERITY_NOTICE) ->setSeverity(PHUIInfoView::SEVERITY_NOTICE)
@ -35,12 +38,15 @@ final class PhabricatorConfigIssueViewController
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->setBorder(true) ->setBorder(true)
->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/')) ->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/'))
->addTextCrumb($title, $request->getRequestURI()); ->addTextCrumb($title, $request->getRequestURI())
->setBorder(true);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($content); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function renderIssue(PhabricatorSetupIssue $issue) { private function renderIssue(PhabricatorSetupIssue $issue) {

View file

@ -12,42 +12,45 @@ final class PhabricatorConfigListController
$groups = PhabricatorApplicationConfigOptions::loadAll(); $groups = PhabricatorApplicationConfigOptions::loadAll();
$core_list = $this->buildConfigOptionsList($groups, 'core'); $core_list = $this->buildConfigOptionsList($groups, 'core');
$title = pht('Core Configuration'); $title = pht('Core Settings');
$core = id(new PHUIObjectBoxView()) $header = id(new PHUIHeaderView())
->setHeaderText($title) ->setHeader($title)
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setProfileHeader(true);
->setObjectList($core_list);
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) ->addTextCrumb(pht('Core'))
->addTextCrumb($title); ->setBorder(true);
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn(array( ->setContent($core_list);
$core,
));
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
private function buildConfigOptionsList(array $groups, $type) { private function buildConfigOptionsList(array $groups, $type) {
assert_instances_of($groups, 'PhabricatorApplicationConfigOptions'); assert_instances_of($groups, 'PhabricatorApplicationConfigOptions');
$list = new PHUIObjectItemListView(); $list = new PHUIObjectItemListView();
$list->setBig(true);
$groups = msort($groups, 'getName'); $groups = msort($groups, 'getName');
foreach ($groups as $group) { foreach ($groups as $group) {
if ($group->getGroup() == $type) { if ($group->getGroup() == $type) {
$icon = id(new PHUIIconView())
->setIcon($group->getIcon())
->setBackground('bg-blue');
$item = id(new PHUIObjectItemView()) $item = id(new PHUIObjectItemView())
->setHeader($group->getName()) ->setHeader($group->getName())
->setHref('/config/group/'.$group->getKey().'/') ->setHref('/config/group/'.$group->getKey().'/')
->addAttribute($group->getDescription()) ->addAttribute($group->getDescription())
->setImageIcon($group->getIcon()); ->setImageIcon($icon);
$list->addItem($item); $list->addItem($item);
} }
} }

View file

@ -18,20 +18,25 @@ final class PhabricatorConfigModuleController
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb($title); $crumbs->addTextCrumb($title);
$crumbs->setBorder(true);
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('module/'.$key.'/'); $nav->selectFilter('module/'.$key.'/');
$view = id(new PHUITwoColumnView()) $header = id(new PHUIHeaderView())
->setNavigation($nav) ->setHeader($title)
->setMainColumn(array( ->setProfileHeader(true);
$content,
)); $content = id(new PhabricatorConfigPageView())
->setHeader($header)
->setContent($content);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
} }

View file

@ -10,24 +10,28 @@ final class PhabricatorConfigVersionController
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) ->addTextCrumb($title)
->addTextCrumb($title); ->setBorder(true);
$versions = $this->renderModuleStatus($viewer); $versions = $this->renderModuleStatus($viewer);
$nav = $this->buildSideNavView(); $nav = $this->buildSideNavView();
$nav->selectFilter('version/'); $nav->selectFilter('version/');
$view = id(new PHUITwoColumnView()) $header = id(new PHUIHeaderView())
->setNavigation($nav) ->setHeader($title)
->setMainColumn(array( ->setProfileHeader(true);
$versions,
)); $content = id(new PhabricatorConfigPageView())
->setHeader($header)
->setContent($versions);
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
@ -39,11 +43,6 @@ final class PhabricatorConfigVersionController
$version_property_list->addProperty($name, $version); $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')); $phabricator_root = dirname(phutil_get_library_root('phabricator'));
$version_path = $phabricator_root.'/conf/local/VERSION'; $version_path = $phabricator_root.'/conf/local/VERSION';
if (Filesystem::pathExists($version_path)) { if (Filesystem::pathExists($version_path)) {
@ -53,7 +52,7 @@ final class PhabricatorConfigVersionController
$version_from_file); $version_from_file);
} }
return $object_box; return $version_property_list;
} }
private function loadVersions(PhabricatorUser $viewer) { private function loadVersions(PhabricatorUser $viewer) {

View file

@ -11,20 +11,25 @@ final class PhabricatorConfigWelcomeController
$title = pht('Installation Guide'); $title = pht('Installation Guide');
$header = id(new PHUIHeaderView())
->setHeader($title)
->setProfileHeader(true);
$crumbs = $this $crumbs = $this
->buildApplicationCrumbs() ->buildApplicationCrumbs()
->addTextCrumb($title); ->addTextCrumb($title)
->setBorder(true);
$view = id(new PHUITwoColumnView()) $content = id(new PhabricatorConfigPageView())
->setNavigation($nav) ->setHeader($header)
->setMainColumn(array( ->setContent($this->buildWelcomeScreen($request));
$this->buildWelcomeScreen($request),
));
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
->appendChild($view); ->setNavigation($nav)
->appendChild($content)
->addClass('white-background');
} }
public function buildWelcomeScreen(AphrontRequest $request) { public function buildWelcomeScreen(AphrontRequest $request) {
@ -346,9 +351,6 @@ final class PhabricatorConfigWelcomeController
$diffusion_user_guide, $diffusion_user_guide,
$diffusion_setup_guide)); $diffusion_setup_guide));
$header = id(new PHUIHeaderView())
->setHeader(pht('Welcome to Phabricator'));
$setup_header = new PHUIRemarkupView( $setup_header = new PHUIRemarkupView(
$viewer, pht('=Setup and Configuration')); $viewer, pht('=Setup and Configuration'));
@ -359,7 +361,6 @@ final class PhabricatorConfigWelcomeController
$viewer, pht('=Quick Start Guide')); $viewer, pht('=Quick Start Guide'));
$document = id(new PHUIDocumentViewPro()) $document = id(new PHUIDocumentViewPro())
->setHeader($header)
->setFluid(true) ->setFluid(true)
->appendChild($setup_header) ->appendChild($setup_header)
->appendChild($setup) ->appendChild($setup)
@ -369,9 +370,7 @@ final class PhabricatorConfigWelcomeController
->appendChild($quick); ->appendChild($quick);
return id(new PHUIBoxView()) return id(new PHUIBoxView())
->setBorder(true) ->appendChild($document);
->appendChild($document)
->addClass('mlb');
} }
private function newItem(AphrontRequest $request, $icon, $content) { private function newItem(AphrontRequest $request, $icon, $content) {

View file

@ -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)) $table = id(new AphrontTableView($rows))
->setNotice($info)
->setRowClasses($rowc) ->setRowClasses($rowc)
->setHeaders( ->setHeaders(
array( array(
@ -63,18 +71,7 @@ final class PhabricatorConfigCollectorsModule extends PhabricatorConfigModule {
null, null,
)); ));
$header = id(new PHUIHeaderView()) return $table;
->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);
} }
} }

View file

@ -25,7 +25,7 @@ final class PhabricatorConfigEdgeModule extends PhabricatorConfigModule {
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Constant'), pht('Constant'),
@ -38,11 +38,6 @@ final class PhabricatorConfigEdgeModule extends PhabricatorConfigModule {
null, null,
'pri wide', 'pri wide',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('Edge Types'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -16,13 +16,8 @@ final class PhabricatorConfigHTTPParameterTypesModule
$types = AphrontHTTPParameterType::getAllTypes(); $types = AphrontHTTPParameterType::getAllTypes();
$table = id(new PhabricatorHTTPParameterTypeTableView()) return id(new PhabricatorHTTPParameterTypeTableView())
->setHTTPParameterTypes($types); ->setHTTPParameterTypes($types);
return id(new PHUIObjectBoxView())
->setHeaderText(pht('HTTP Parameter Types'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -51,7 +51,7 @@ final class PhabricatorConfigPHIDModule extends PhabricatorConfigModule {
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Constant'), pht('Constant'),
@ -70,11 +70,6 @@ final class PhabricatorConfigPHIDModule extends PhabricatorConfigModule {
'icon', 'icon',
'wide', 'wide',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('PHID Types'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -25,7 +25,7 @@ final class PhabricatorConfigRequestExceptionHandlerModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Priority'), pht('Priority'),
@ -38,11 +38,6 @@ final class PhabricatorConfigRequestExceptionHandlerModule
'pri', 'pri',
'wide', 'wide',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('Exception Handlers'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -24,7 +24,7 @@ final class PhabricatorConfigSiteModule extends PhabricatorConfigModule {
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Priority'), pht('Priority'),
@ -37,11 +37,6 @@ final class PhabricatorConfigSiteModule extends PhabricatorConfigModule {
'pri', 'pri',
'wide', 'wide',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('Sites'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -0,0 +1,60 @@
<?php
final class PhabricatorConfigPageView extends AphrontTagView {
private $header;
private $content;
private $footer;
public function setHeader(PHUIHeaderView $header) {
$this->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);
}
}

View file

@ -1,26 +0,0 @@
<?php
final class PhabricatorHarbormasterConfigOptions
extends PhabricatorApplicationConfigOptions {
public function getName() {
return pht('Harbormaster');
}
public function getDescription() {
return pht('Configure Harbormaster build engine.');
}
public function getIcon() {
return 'fa-ship';
}
public function getGroup() {
return 'apps';
}
public function getOptions() {
return array();
}
}

View file

@ -1,26 +0,0 @@
<?php
final class PhabricatorPhrequentConfigOptions
extends PhabricatorApplicationConfigOptions {
public function getName() {
return pht('Phrequent');
}
public function getDescription() {
return pht('Configure Phrequent.');
}
public function getIcon() {
return 'fa-clock-o';
}
public function getGroup() {
return 'apps';
}
public function getOptions() {
return array();
}
}

View file

@ -29,7 +29,7 @@ final class PhabricatorHovercardEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Order'), pht('Order'),
@ -46,11 +46,6 @@ final class PhabricatorHovercardEngineExtensionModule
'wide pri', 'wide pri',
null, null,
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('HovercardEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -29,7 +29,7 @@ final class PhabricatorSearchEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Order'), pht('Order'),
@ -46,11 +46,6 @@ final class PhabricatorSearchEngineExtensionModule
'wide pri', 'wide pri',
null, null,
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('SearchEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -24,7 +24,7 @@ final class PhabricatorFulltextEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Class'), pht('Class'),
@ -36,10 +36,6 @@ final class PhabricatorFulltextEngineExtensionModule
'wide pri', 'wide pri',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('FulltextEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -24,7 +24,7 @@ final class PhabricatorIndexEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Class'), pht('Class'),
@ -36,10 +36,6 @@ final class PhabricatorIndexEngineExtensionModule
'wide pri', 'wide pri',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('IndexEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -24,7 +24,7 @@ final class PhabricatorDestructionEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Class'), pht('Class'),
@ -36,10 +36,6 @@ final class PhabricatorDestructionEngineExtensionModule
'wide pri', 'wide pri',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('DestructionEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -28,7 +28,7 @@ final class PhabricatorEditEngineExtensionModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Priority'), pht('Priority'),
@ -44,10 +44,6 @@ final class PhabricatorEditEngineExtensionModule
null, null,
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('EditEngine Extensions'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -27,7 +27,7 @@ final class PhabricatorContentSourceModule
); );
} }
$table = id(new AphrontTableView($rows)) return id(new AphrontTableView($rows))
->setHeaders( ->setHeaders(
array( array(
pht('Key'), pht('Key'),
@ -43,10 +43,6 @@ final class PhabricatorContentSourceModule
'wide', 'wide',
)); ));
return id(new PHUIObjectBoxView())
->setHeaderText(pht('Content Sources'))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table);
} }
} }

View file

@ -17,6 +17,10 @@
clear: both; clear: both;
} }
body.white-background {
background: #fff;
}
.phabricator-standard-page-footer { .phabricator-standard-page-footer {
text-align: right; text-align: right;
margin: 44px 16px 16px; margin: 44px 16px 16px;

View file

@ -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;
}

View file

@ -159,6 +159,9 @@
.phui-icon-view.bg-bluegrey { .phui-icon-view.bg-bluegrey {
background-color: {$bluetext}; background-color: {$bluetext};
} }
.phui-icon-view.bg-grey {
background-color: {$lightgreytext};
}
.phui-icon-view.bg-red { .phui-icon-view.bg-red {
background-color: {$red}; background-color: {$red};
} }

View file

@ -447,16 +447,16 @@ ul.phui-object-item-icons {
*/ */
.phui-object-item-disabled .phui-object-item-link, .phui-object-item.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 a {
color: {$lightgreytext}; color: {$lightgreytext};
} }
.phui-object-item-disabled .phui-object-item-frame { .phui-object-item.phui-object-item-disabled .phui-object-item-frame {
border-color: #d7d7d7; border-color: #d7d7d7;
} }
.phui-object-item-disabled .phui-object-item-objname { .phui-object-item.phui-object-item-disabled .phui-object-item-objname {
color: {$greytext}; color: {$greytext};
text-decoration: line-through; 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 { .device-desktop .phui-object-list-big .phui-object-item {
margin-bottom: 8px; margin-bottom: 8px;
} }
.device-desktop .phui-object-list-big .phui-object-item-frame:hover {
}