vault/ui/lib/config-ui/addon/components/messages/message-expiration-date-form.js
Jordan Reimer 8700becc45
[UI] Ember Data Migration - API Property Casing (#31325)
* updates api client vars to snake_case for custom messages

* updates api client vars to snake_case for tools

* updates api client vars to snake_case for sync

* updates api client vars to snake_case for secrets engine

* updates api client vars to snake_case for auth

* updates api client vars to snake_case for usage

* updates api client dep to point to gh repo

* fixes custom-messages service unit tests

* fixes configure-ssh test

* fixes configure-ssh test...again
2025-07-18 09:32:01 -06:00

54 lines
1.4 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { action } from '@ember/object';
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { datetimeLocalStringFormat } from 'core/utils/date-formatters';
/**
* @module Messages::MessageExpirationDateForm
* Messages::MessageExpirationDateForm components are used to display list of messages.
* @example
* ```js
* <Messages::MessageExpirationDateForm @message={{this.message}} @attr={{attr}} />
* ```
* @param {array} message - message form data
*/
export default class MessageExpirationDateForm extends Component {
datetimeLocalStringFormat = datetimeLocalStringFormat;
@tracked groupValue = 'never';
@tracked messageEndTime = '';
constructor() {
super(...arguments);
if (this.args.message.end_time) {
this.groupValue = 'specificDate';
this.messageEndTime = this.args.message.end_time;
}
}
get validationError() {
const validations = this.args.modelValidations || {};
const state = validations[this.args.attr.name];
return state && !state.isValid ? state.errors.join(' ') : null;
}
@action
specificDateChange() {
this.groupValue = 'specificDate';
this.args.message.end_time = this.messageEndTime;
}
@action
onFocusOut(e) {
this.messageEndTime = e.target.value;
this.args.message.end_time = this.messageEndTime;
this.groupValue = 'specificDate';
}
}