diff --git a/resources/assets/js/components/search/AdvancedFilter.vue b/resources/assets/js/components/search/AdvancedFilter.vue
index f0db3e859..c8f509c9d 100644
--- a/resources/assets/js/components/search/AdvancedFilter.vue
+++ b/resources/assets/js/components/search/AdvancedFilter.vue
@@ -74,13 +74,21 @@
-
+
@@ -351,7 +359,8 @@ export default {
caseNumber: "",
saveModalTitle: this.$i18n.t('ID_SAVE_SEARCH'),
localName: "",
- nameState: null,
+ nameState: null,
+ caseNumberState: null
};
},
watch: {
@@ -361,12 +370,11 @@ export default {
this.searchTags = [];
this.selected = [];
this.setFilters(newVal);
- },
+ }
}
},
-
-
methods: {
+
/**
* Set Filters and make the tag labels
* @param {object} filters json to manage the query
@@ -468,8 +476,25 @@ export default {
temp = [...new Set([...this.filters,...params])]
this.$emit("onUpdateFilters", temp);
},
+ /**
+ * Jump To action handler
+ * Validates the form input
+ */
+ handleJumpTo() {
+ const valid = this.$refs.jump.checkValidity() && parseInt(this.caseNumber) > 0;
+ this.caseNumberState = valid;
+ if (!valid) {
+ return;
+ }
+ this.$nextTick(() => {
+ this.$emit("onJumpCase", this.caseNumber);
+ });
+ },
+ /**
+ * Click evemt hamdler for "Jump To" button
+ */
onJumpCase() {
- this.$emit("onJumpCase", this.caseNumber);
+ this.handleJumpTo();
},
onClick() {
if (this.id) {
diff --git a/resources/assets/js/home/AdvancedSearch.vue b/resources/assets/js/home/AdvancedSearch.vue
index 30ae0b6d5..fd73d99a4 100644
--- a/resources/assets/js/home/AdvancedSearch.vue
+++ b/resources/assets/js/home/AdvancedSearch.vue
@@ -423,12 +423,16 @@ export default {
let self = this;
api.cases
.jump(params)
- .then(function(data) {
- self.$parent.dataCase = params;
- self.$parent.page = "XCase";
+ .then(function(response) {
+ if (response.data.exists) {
+ self.$parent.dataCase = params;
+ self.$parent.page = "XCase";
+ } else {
+ self.showAlert(response.data.message, "danger");
+ }
})
.catch((err) => {
- throw new Error(err);
+ self.showAlert(err.message, "danger");
});
},
/**