/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { action, set } from '@ember/object'; /** * @module TransformAdvancedTemplating * TransformAdvancedTemplating components are used to modify encode/decode formats of transform templates * * @example * ```js * * ``` * @param {Object} model - transform template model */ export default class TransformAdvancedTemplating extends Component { @tracked inputOptions = []; @action setInputOptions(testValue, captureGroups) { if (captureGroups && captureGroups.length) { this.inputOptions = captureGroups.map(({ position, value }) => { return { label: `${position}: ${value}`, value: position, }; }); } else { this.inputOptions = []; } } @action decodeFormatValueChange(kvObject, kvData, value) { set(kvObject, 'value', value); this.args.model.decodeFormats = kvData.toJSON(); } }