87ab332bce
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.
19 lines
488 B
JavaScript
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);
|
|
},
|
|
});
|