This commit is contained in:
Ryo Hanafusa 2024-10-27 12:30:58 +00:00 committed by GitHub
commit c0e3e69e82
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 21 deletions

View file

@ -48,7 +48,7 @@ class Monitor extends BeanModel {
let obj = { let obj = {
id: this.id, id: this.id,
name: this.name, name: this.name,
sendUrl: this.sendUrl, sendUrl: !!this.sendUrl,
type: this.type, type: this.type,
}; };

View file

@ -10,7 +10,7 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="my-3 form-check"> <div class="my-3 form-check">
<input id="show-clickable-link" v-model="monitor.isClickAble" class="form-check-input" type="checkbox" @click="toggleLink(monitor.group_index, monitor.monitor_index)" /> <input id="show-clickable-link" v-model="monitor.isClickable" class="form-check-input" type="checkbox" @click="toggleLink(monitor.group_index, monitor.monitor_index)" />
<label class="form-check-label" for="show-clickable-link"> <label class="form-check-label" for="show-clickable-link">
{{ $t("Show Clickable Link") }} {{ $t("Show Clickable Link") }}
</label> </label>
@ -54,6 +54,9 @@ export default {
monitor: { monitor: {
id: null, id: null,
name: null, name: null,
monitor_index: null,
group_index: null,
isClickable: null,
}, },
}; };
}, },
@ -77,7 +80,7 @@ export default {
name: monitor.element.name, name: monitor.element.name,
monitor_index: monitor.index, monitor_index: monitor.index,
group_index: group.index, group_index: group.index,
isClickAble: this.showLink(monitor), isClickable: monitor.element.sendUrl,
}; };
this.MonitorSettingDialog.show(); this.MonitorSettingDialog.show();
@ -92,24 +95,6 @@ export default {
toggleLink(groupIndex, index) { toggleLink(groupIndex, index) {
this.$root.publicGroupList[groupIndex].monitorList[index].sendUrl = !this.$root.publicGroupList[groupIndex].monitorList[index].sendUrl; this.$root.publicGroupList[groupIndex].monitorList[index].sendUrl = !this.$root.publicGroupList[groupIndex].monitorList[index].sendUrl;
}, },
/**
* Should a link to the monitor be shown?
* Attempts to guess if a link should be shown based upon if
* sendUrl is set and if the URL is default or not.
* @param {object} monitor Monitor to check
* @param {boolean} ignoreSendUrl Should the presence of the sendUrl
* property be ignored. This will only work in edit mode.
* @returns {boolean} Should the link be shown?
*/
showLink(monitor, ignoreSendUrl = false) {
// We must check if there are any elements in monitorList to
// prevent undefined errors if it hasn't been loaded yet
if (this.$parent.editMode && ignoreSendUrl && Object.keys(this.$root.monitorList).length) {
return this.$root.monitorList[monitor.element.id].type === "http" || this.$root.monitorList[monitor.element.id].type === "keyword" || this.$root.monitorList[monitor.element.id].type === "json-query";
}
return monitor.element.sendUrl && monitor.element.url && monitor.element.url !== "https://" && !this.editMode;
},
}, },
}; };
</script> </script>