- Add code for placing the features information on the frontend

- Add a Features service for examining feature flags on the frontend
- Add a directive (quay-requires) that matches feature flags and, if any one does not match, removes the element from the DOM
- Add a directive (quay-show) that injects the features into the scope so that expressions of the form "Features.BILLING || something" work out of the box to show/hide the element
- Add a directive (quay-classes) that allows for setting of CSS classes on an element based on feature expression(s) such as {"!BILLING": "active"} (e.g. the BILLING flag is set to false, add the class "active".
This commit is contained in:
Joseph Schorr 2014-04-04 23:26:10 -04:00
parent 4f4112b18d
commit c374e8146a
6 changed files with 185 additions and 13 deletions

View file

@ -109,8 +109,15 @@ class DefaultConfig(object):
STATUS_TAGS[tag_name] = tag_svg.read()
# Feature Flag: Whether billing is required.
FEATURE_BILLING = False
# Feature Flag: Whether user accounts automatically have usage log access.
FEATURE_USER_LOG_ACCESS = True
# Feature Flag: Whether GitHub login is supported.
FEATURE_GITHUB_LOGIN = False
class FakeTransaction(object):
def __enter__(self):