Page MenuHomePhabricator

Basic structure for MenuItem on Home
ClosedPublic

Authored by chad on Jan 11 2017, 7:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 24, 11:50 PM
Unknown Object (File)
Sun, Apr 21, 1:54 PM
Unknown Object (File)
Sat, Apr 20, 5:59 AM
Unknown Object (File)
Thu, Apr 11, 8:05 AM
Unknown Object (File)
Sun, Apr 7, 2:24 PM
Unknown Object (File)
Sat, Apr 6, 7:03 AM
Unknown Object (File)
Fri, Apr 5, 12:41 PM
Unknown Object (File)
Mar 23 2024, 5:35 PM
Subscribers

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
Branch
home-favorites (branched from master)
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 15206
Build 19985: Run Core Tests
Build 19984: arc lint + arc unit

Event Timeline

epriestley added inline comments.
src/applications/home/constants/PhabricatorHomeConstants.php
7–17

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.