3 abstract class PhabricatorSettingsPanelGroup
extends Phobject
{
7 abstract public function getPanelGroupName();
9 protected function getPanelGroupOrder() {
13 final public function getPanelGroupOrderVector() {
14 return id(new PhutilSortVector())
15 ->addInt($this->getPanelGroupOrder())
16 ->addString($this->getPanelGroupName());
19 final public function getPanelGroupKey() {
20 return $this->getPhobjectClassConstant('PANELGROUPKEY');
23 final public static function getAllPanelGroups() {
24 $groups = id(new PhutilClassMapQuery())
25 ->setAncestorClass(__CLASS__
)
26 ->setUniqueMethod('getPanelGroupKey')
29 return msortv($groups, 'getPanelGroupOrderVector');
32 final public static function getAllPanelGroupsWithPanels() {
33 $groups = self
::getAllPanelGroups();
35 $panels = PhabricatorSettingsPanel
::getAllPanels();
36 $panels = mgroup($panels, 'getPanelGroupKey');
37 foreach ($groups as $key => $group) {
38 $group->panels
= idx($panels, $key, array());
44 public function getPanels() {