Pārlūkot izejas kodu

fix(webapp): emit 'dirty' event in all fields and streamline code

Nils Wisiol 4 gadi atpakaļ
vecāks
revīzija
1c07397694

+ 8 - 2
webapp/src/components/Field/GenericText.vue

@@ -10,9 +10,9 @@
     persistent-hint
     :required="required"
     :rules="[v => !required || !!v || 'Required.']"
-    @input="$emit('input', $event)"
+    @input="changed('input', $event)"
     @input.native="$emit('dirty', $event)"
-    @keyup="$emit('keyup', $event)"
+    @keyup="changed('keyup', $event)"
   />
 </template>
 
@@ -53,6 +53,12 @@ export default {
       required: false,
     },
   },
+  methods: {
+    changed(event, e) {
+      this.$emit(event, e);
+      this.$emit('dirty');
+    },
+  },
 };
 </script>
 

+ 5 - 7
webapp/src/components/Field/TTL.vue

@@ -9,9 +9,9 @@
     :placeholder="required ? '' : '(optional)'"
     :required="required"
     :rules="[v => !required || !!v || 'Required.', v => v >= min || `Value must be ${min} or greater.`]"
-    @input="input($event)"
+    @input="changed('input', $event)"
     @input.native="$emit('dirty', $event)"
-    @keyup="keyup($event)"
+    @keyup="changed('keyup', $event)"
   />
 </template>
 
@@ -49,11 +49,9 @@ export default {
     },
   },
   methods: {
-    input(event) {
-      this.$emit('input', event);
-    },
-    keyup(event) {
-      this.$emit('keyup', event);
+    changed(event, e) {
+      this.$emit(event, e);
+      this.$emit('dirty');
     },
   },
 };