1.2.1 • Published 6 years ago
@blaze/toggles v1.2.1
Blaze Feature Toggles
Blaze is a framework-free open source UI toolkit. It provides great structure for building websites quickly with a scalable and maintainable foundation.
Using the Toggles
Add the following to your <head></head>.
<script src="https://unpkg.com/@blaze/toggles@x.x.x/dist/collection/config.js"></script>
<script src="https://unpkg.com/@blaze/toggles@x.x.x/dist/toggles.js"></script>The x.x.x is the specific version of the library, you should use specifc versions to prevent against breaking changes.
Config
Next add some feature toggle config, e.g.
FeatureToggles.set({
welcomeMessage: true,
loginPage: {
rememberMe: 'alpha',
},
});You can call FeatureToggles.set({...}) at anytime to update config. Everytime FeatureToggles.set is called it raises a featureToggleChange event that you can hook into.
set also merges the config with the already set config.
Config values can be either booleans, strings or functions.
Promises are supported.
e.g. the below to toggle the feature after 2 seconds once the promise has resolved.
FeatureToggles.set({
welcomeMessage: true,
loginPage: {
rememberMe: () => new Promise((resolve) => setTimeout(() => resolve('alpha'), 2000)),
},
});HTML
<feature-toggle feature="welcomeMessage">
content will be VISIBLE
</feature-toggle>
<feature-toggle feature="loginPage.rememberMe" variant="alpha">
content will be VISIBLE
</feature-toggle>
<feature-toggle feature="loginPage.rememberMe" variant="beta">
content will be HIDDEN
</feature-toggle>| Setting | Description |
|---|---|
feature | Feature config item, supports dot notation |
variant | The value the toggle must be to turn on this feature (default: true) |