Page MenuHomePhabricator

Basic structure for MenuItem on Home
ClosedPublic

Authored by chad on Jan 11 2017, 7:08 PM.

Details

Summary

Ref T11957, builds out /home/menu/ as a basic structure for adding/editing the homepage menu.

Test Plan

visit /home/menu/ and add items to global and personal. Not wired to anything.

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley added inline comments.
src/applications/home/constants/PhabricatorHomeConstants.php
6–16

Instead of hard-coding these, you should add (or reuse) methods on PhabricatorApplication so each application, so the code looks something like this:

foreach ($all_applications as $app) {
  if ($app->shouldThisThingGoOnTheDefaultHomeMenu()) {
    $items[] = new item
  }
}

Then third-party applications will be able to install themselves, etc. I think isPinnedByDefault() is currently the method for this.

You can generate builtin keys like "app.".$app->getPHID() or similar. They just need to be unique; they don't need to be constants.

This revision is now accepted and ready to land.Jan 11 2017, 7:19 PM
  • rough in proper isPinnedByDefaults
This revision was automatically updated to reflect the committed changes.