From 39cc200bf21beba09f0d3f5a6fc571ba193819bd Mon Sep 17 00:00:00 2001 From: dandds Date: Fri, 10 May 2019 12:11:39 -0400 Subject: [PATCH] Vue component for editing application member environment role --- js/components/environment_role.js | 36 +++++++++++++++++++ js/components/toggler.js | 2 ++ js/index.js | 2 ++ .../fragments/applications/edit_team.html | 15 ++++---- 4 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 js/components/environment_role.js diff --git a/js/components/environment_role.js b/js/components/environment_role.js new file mode 100644 index 00000000..23133c25 --- /dev/null +++ b/js/components/environment_role.js @@ -0,0 +1,36 @@ +import optionsinput from './options_input' +import { emitEvent } from '../lib/emitters' + +export default { + name: 'environment-role', + + components: { + optionsinput, + }, + + props: { + initialRole: String, + }, + + data: function() { + return { + role: this.initialRole, + expanded: false, + } + }, + + methods: { + toggle: function() { + this.expanded = !this.expanded + }, + radioChange: function(e) { + this.role = e.target.value + emitEvent('field-change', this, { + value: e.target.value, + valid: true, + name: this.name, + watch: true, + }) + }, + }, +} diff --git a/js/components/toggler.js b/js/components/toggler.js index 44739b61..480af36e 100644 --- a/js/components/toggler.js +++ b/js/components/toggler.js @@ -2,6 +2,7 @@ import editEnvironmentRole from './forms/edit_environment_role' import FormMixin from '../mixins/form' import optionsinput from './options_input' import textinput from './text_input' +import EnvironmentRole from './environment_role' export default { name: 'toggler', @@ -20,6 +21,7 @@ export default { optionsinput, textinput, optionsinput, + EnvironmentRole, toggler: this, }, diff --git a/js/index.js b/js/index.js index 02a9b404..68eceffb 100644 --- a/js/index.js +++ b/js/index.js @@ -39,6 +39,7 @@ import KoReview from './components/forms/ko_review' import BaseForm from './components/forms/base_form' import DeleteConfirmation from './components/delete_confirmation' import NewEnvironment from './components/forms/new_environment' +import EnvironmentRole from './components/environment_role' Vue.config.productionTip = false @@ -80,6 +81,7 @@ const app = new Vue({ DeleteConfirmation, nestedcheckboxinput, NewEnvironment, + EnvironmentRole, }, mounted: function() { diff --git a/templates/fragments/applications/edit_team.html b/templates/fragments/applications/edit_team.html index a6a18ddd..dedee4a7 100644 --- a/templates/fragments/applications/edit_team.html +++ b/templates/fragments/applications/edit_team.html @@ -40,7 +40,7 @@