open-consul/ui-v2/app/components/state/index.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

19 lines
488 B
JavaScript

import Component from '@ember/component';
import { set } from '@ember/object';
import { inject as service } from '@ember/service';
export default Component.extend({
service: service('state'),
tagName: '',
didReceiveAttrs: function() {
if (typeof this.state === 'undefined') {
return;
}
let match = true;
if (typeof this.matches !== 'undefined') {
match = this.service.matches(this.state, this.matches);
}
set(this, 'rendering', match);
},
});