Files
nomad/ui/app/controllers/variables/variable/index.js
Phil Renaud d0c9802137 Secure Variables: JSON view (#13439)
* JSON view init

* Overeager config history reverted

* Set as query parameter

* border added to copy button

* More robust stringifyObject helper

* Testing for stringify-object helper
2022-07-11 13:34:06 -04:00

68 lines
1.4 KiB
JavaScript

import Controller from '@ember/controller';
import { action } from '@ember/object';
import { task } from 'ember-concurrency';
import messageForError from '../../../utils/message-from-adapter-error';
import { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';
export default class VariablesVariableIndexController extends Controller {
queryParams = ['view'];
@service router;
@tracked
error = null;
@tracked isDeleting = false;
@action
onDeletePrompt() {
this.isDeleting = true;
}
@action
onDeleteCancel() {
this.isDeleting = false;
}
@task(function* () {
try {
yield this.model.deleteRecord();
yield this.model.save();
if (this.model.parentFolderPath) {
this.router.transitionTo('variables.path', this.model.parentFolderPath);
} else {
this.router.transitionTo('variables');
}
// TODO: alert the user that the variable was successfully deleted
} catch (err) {
this.error = {
title: 'Could Not Delete Variable',
description: messageForError(err, 'delete secure variables'),
};
}
})
deleteVariableFile;
onDismissError() {
this.error = null;
}
//#region Code View
/**
* @type {"table" | "json"}
*/
@tracked
view = 'table';
toggleView() {
if (this.view === 'table') {
this.view = 'json';
} else {
this.view = 'table';
}
}
//#endregion Code View
}