mirror of
https://framagit.org/framasoft/mobilizon.git
synced 2024-12-25 01:12:30 +00:00
Fix search with URL fetching twice
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
94df5bd1be
commit
f4496ccc6d
1 changed files with 14 additions and 1 deletions
|
@ -87,7 +87,7 @@ const tabsName = {
|
|||
};
|
||||
},
|
||||
skip() {
|
||||
return !this.searchTerm;
|
||||
return !this.searchTerm || this.isURL(this.searchTerm);
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -104,6 +104,13 @@ export default class Search extends Vue {
|
|||
searchGroups: SearchGroup = { total: 0, elements: [] };
|
||||
activeTab: SearchTabs = tabsName[this.searchType];
|
||||
|
||||
@Watch('searchEvents')
|
||||
async redirectURLToEvent() {
|
||||
if (this.searchEvents.total === 1 && this.isURL(this.searchTerm)) {
|
||||
return await this.$router.replace({ name: RouteName.EVENT, params: { uuid: this.searchEvents.elements[0].uuid } });
|
||||
}
|
||||
}
|
||||
|
||||
changeTab(index: number) {
|
||||
switch (index) {
|
||||
case SearchTabs.EVENTS:
|
||||
|
@ -136,6 +143,12 @@ export default class Search extends Vue {
|
|||
return this.searchGroups.elements.map(group => Object.assign(new Group(), group));
|
||||
}
|
||||
|
||||
isURL(url: string): boolean {
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
return (a.host && a.host !== window.location.host) as boolean;
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
|
|
Loading…
Reference in a new issue