open-consul/ui-v2/app/services/state.js
John Cowen 87ab332bce ui: Add <State /> and {{state-matches}}` ember component/helper (#7556)
This commit adds 2 ember component/helpers and a service to contain the
shared functionality for matching/rendering content dependent on state
identifiers. Currently a `service.state` method has been added to easily
make manual state objects, but these are built towards using `xstate` to
manage UI state in some of our future components.

We've added some tests here, and we aren't currently using these
components anywhere in this commit.
2020-05-12 17:14:20 +00:00

15 lines
325 B
JavaScript

import Service from '@ember/service';
export default Service.extend({
matches: function(state, matches) {
const values = Array.isArray(matches) ? matches : [matches];
return values.some(item => {
return state.matches(item);
});
},
state: function(cb) {
return {
matches: cb,
};
},
});