You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/04/25 17:59:06 UTC
[airavata-django-portal] 02/02: AIRAVATA-2762 Factored out
InputEditorFormGroup for single/multi error messages
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 9a13c521e4a1a5bacc8a8c11ecf06b3d466872d2
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Wed Apr 25 13:58:41 2018 -0400
AIRAVATA-2762 Factored out InputEditorFormGroup for single/multi error messages
---
.../experiment/input-editors/FileInputEditor.vue | 10 ++++--
.../input-editors/InputEditorFormGroup.vue | 37 ++++++++++++++++++++++
.../experiment/input-editors/StringInputEditor.vue | 10 ++++--
.../input-editors/TextareaInputEditor.vue | 18 ++++-------
4 files changed, 58 insertions(+), 17 deletions(-)
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue
index 34f8c4b..5d8d49b 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue
@@ -1,17 +1,21 @@
<template>
- <b-form-group :label="experimentInput.name" :label-for="experimentInput.name"
- :feedback="validationFeedback" :state="validationState">
+ <input-editor-form-group :label="experimentInput.name" :label-for="experimentInput.name"
+ :state="validationState" :feedback-messages="validationFeedback">
<b-form-file :id="experimentInput.name" v-model="data"
:placeholder="experimentInput.userFriendlyDescription"
:state="validationState"
@input="valueChanged"/>
- </b-form-group>
+ </input-editor-form-group>
</template>
<script>
+import InputEditorFormGroup from './InputEditorFormGroup.vue'
import InputEditorMixin from './InputEditorMixin'
export default {
name: 'file-input-editor',
mixins: [InputEditorMixin],
+ components: {
+ InputEditorFormGroup,
+ },
}
</script>
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/InputEditorFormGroup.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/InputEditorFormGroup.vue
new file mode 100644
index 0000000..a174953
--- /dev/null
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/InputEditorFormGroup.vue
@@ -0,0 +1,37 @@
+<template>
+ <b-form-group :label="label" :label-for="labelFor" :state="state">
+ <slot></slot>
+ <template slot="invalid-feedback">
+ <ul v-if="feedbackMessages && feedbackMessages.length > 1">
+ <li v-for="feedback in feedbackMessages">{{ feedback }}</li>
+ </ul>
+ <div v-else-if="feedbackMessages && feedbackMessages.length === 1">
+ {{ feedbackMessages[0] }}
+ </div>
+ </template>
+ </b-form-group>
+</template>
+
+<script>
+import InputEditorMixin from './InputEditorMixin'
+
+export default {
+ name: 'input-editor-form-group',
+ props: {
+ label: {
+ type: String,
+ required: true,
+ },
+ labelFor: {
+ type: String,
+ required: true,
+ },
+ state: {
+ type: String,
+ },
+ feedbackMessages: {
+ type: Array,
+ },
+ },
+}
+</script>
\ No newline at end of file
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/StringInputEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/StringInputEditor.vue
index 3063896..4d6a6a6 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/StringInputEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/StringInputEditor.vue
@@ -1,14 +1,15 @@
<template>
- <b-form-group :label="experimentInput.name" :label-for="experimentInput.name"
- :feedback="validationFeedback" :state="validationState">
+ <input-editor-form-group :label="experimentInput.name" :label-for="experimentInput.name"
+ :state="validationState" :feedback-messages="validationFeedback">
<b-form-input :id="experimentInput.name" type="text" v-model="data"
:placeholder="experimentInput.userFriendlyDescription"
:state="validationState"
@input="valueChanged"/>
- </b-form-group>
+ </input-editor-form-group>
</template>
<script>
+import InputEditorFormGroup from './InputEditorFormGroup.vue'
import InputEditorMixin from './InputEditorMixin'
export default {
@@ -20,5 +21,8 @@ export default {
required: true,
},
},
+ components: {
+ InputEditorFormGroup,
+ },
}
</script>
\ No newline at end of file
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/TextareaInputEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/TextareaInputEditor.vue
index 88ef9da..64d7aad 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/TextareaInputEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/TextareaInputEditor.vue
@@ -1,23 +1,16 @@
<template>
- <b-form-group :label="experimentInput.name" :label-for="experimentInput.name"
- :state="validationState">
+ <input-editor-form-group :label="experimentInput.name" :label-for="experimentInput.name"
+ :state="validationState" :feedback-messages="validationFeedback">
<b-form-textarea :id="experimentInput.name" v-model="data"
:rows="rows"
:placeholder="experimentInput.userFriendlyDescription"
:state="validationState"
@input="valueChanged"/>
- <template slot="invalid-feedback">
- <ul v-if="validationFeedback && validationFeedback.length > 1">
- <li v-for="feedback in validationFeedback">{{ feedback }}</li>
- </ul>
- <div v-else-if="validationFeedback && validationFeedback.length === 1">
- {{ validationFeedback[0] }}
- </div>
- </template>
- </b-form-group>
+ </input-editor-form-group>
</template>
<script>
+import InputEditorFormGroup from './InputEditorFormGroup.vue'
import InputEditorMixin from './InputEditorMixin'
const DEFAULT_ROWS = 3;
@@ -31,6 +24,9 @@ export default {
required: true,
},
},
+ components: {
+ InputEditorFormGroup,
+ },
computed: {
rows: function() {
return 'rows' in this.experimentInput.editorConfig
--
To stop receiving notification emails like this one, please contact
machristie@apache.org.