| /** |
| * Copyright (c) HashiCorp, Inc. |
| * SPDX-License-Identifier: MPL-2.0 |
| */ |
| |
| import { assert } from '@ember/debug'; |
| import Component from '@glimmer/component'; |
| import { action } from '@ember/object'; |
| import { tracked } from '@glimmer/tracking'; |
| |
| export default class WrapTtlComponent extends Component { |
| @tracked |
| wrapResponse = true; |
| |
| constructor() { |
| super(...arguments); |
| assert('`onChange` handler is a required attr in `' + this.toString() + '`.', this.args.onChange); |
| } |
| |
| get wrapTTL() { |
| const { wrapResponse, ttl } = this; |
| return wrapResponse ? ttl : null; |
| } |
| |
| @action |
| changedValue(ttlObj) { |
| this.wrapResponse = ttlObj.enabled; |
| this.ttl = ttlObj.goSafeTimeString; |
| this.args.onChange(this.wrapTTL); |
| } |
| } |