consul/ui/packages/consul-ui/app/components/disclosure/index.js

29 lines
604 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
import { schedule } from '@ember/runloop';
export default class DisclosureComponent extends Component {
@tracked ids = '';
@action
add(id) {
schedule('afterRender', () => {
this.ids = `${this.ids}${this.ids.length > 0 ? ` ` : ``}${id}`;
});
}
@action
remove(id) {
this.ids = this.ids
.split(' ')
.filter((item) => item !== id)
.join(' ');
}
}