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)
Sat, Mar 23, 5:35 PM
Unknown Object (File)
Feb 23 2024, 11:39 PM
Unknown Object (File)
Feb 14 2024, 5:04 AM
Unknown Object (File)
Feb 14 2024, 5:00 AM
Unknown Object (File)
Feb 14 2024, 5:00 AM
Unknown Object (File)
Feb 14 2024, 4:32 AM
Unknown Object (File)
Feb 7 2024, 4:40 PM
Unknown Object (File)
Jan 23 2024, 10:02 AM
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 15203
Build 19979: Run Core Tests
Build 19978: arc lint + arc unit

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.