Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/dashboard/layoutconfig/PhabricatorDashboardLayoutMode.php
13442 views
1
<?php
2
3
abstract class PhabricatorDashboardLayoutMode
4
extends Phobject {
5
6
final public function getLayoutModeKey() {
7
return $this->getPhobjectClassConstant('LAYOUTMODE', 32);
8
}
9
10
public function getLayoutModeOrder() {
11
return 1000;
12
}
13
14
abstract public function getLayoutModeName();
15
abstract public function getLayoutModeColumns();
16
17
final protected function newColumn() {
18
return new PhabricatorDashboardColumn();
19
}
20
21
final public static function getAllLayoutModes() {
22
return id(new PhutilClassMapQuery())
23
->setAncestorClass(__CLASS__)
24
->setUniqueMethod('getLayoutModeKey')
25
->setSortMethod('getLayoutModeOrder')
26
->execute();
27
}
28
29
final public static function getLayoutModeMap() {
30
$modes = self::getAllLayoutModes();
31
return mpull($modes, 'getLayoutModeName', 'getLayoutModeKey');
32
}
33
34
}
35
36