HomePhabricator

Make various small quality-of-life improvements for Almanac properties

Description

Make various small quality-of-life improvements for Almanac properties

Summary:
Depends on D19341. Ref T12414. Ref T13120.

  • Fix a bug where default-valued properties didn't get rendered in grey as they're supposed to (as a hint that the value isn't customized).
  • When resetting a builtin property won't do anything, visually disable the button as a hint.
  • Allow Services to specify properties on their Bindings.
  • Specify that repository bindings have a "protocol" property, so it becomes an explicit thing in the UI. Previously, you had to read the documentation to figure this out.
  • When editing bindings, use the EditField and its configuration if possible. This turns the "Protocol" property into a dropdown in the UI where you select between "http", "https" and "ssh".
  • Give the "protocol" binding a smart default based on the port number of the corresponding interface.

Test Plan:

  • Viewed properties on Services, Devices and Bindings.
  • Saw them render sensibly, and grey out + grey button when a builtin value has a default setting.
  • Saw "Protocol" appear as a default property on repository cluster bindings and get a smart value.
  • Edited "protocol", got a nice dropdown.

Screen Shot 2018-04-11 at 8.26.16 AM.png (222×1 px, 23 KB)

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13120, T12414

Differential Revision: https://secure.phabricator.com/D19342