mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-04 13:46:13 +08:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into feature/482-add-description-to-monitor
# Conflicts: # server/database.js # server/model/monitor.js # src/icon.js # src/languages/en.js # src/languages/es-ES.js
This commit is contained in:
		@@ -7,7 +7,7 @@
 | 
			
		||||
                <Tag v-for="tag in monitor.tags" :key="tag.id" :item="tag" :size="'sm'" />
 | 
			
		||||
            </div>
 | 
			
		||||
            <p class="url">
 | 
			
		||||
                <a v-if="monitor.type === 'http' || monitor.type === 'keyword' " :href="monitor.url" target="_blank">{{ monitor.url }}</a>
 | 
			
		||||
                <a v-if="monitor.type === 'http' || monitor.type === 'keyword' " :href="monitor.url" target="_blank" rel="noopener noreferrer">{{ monitor.url }}</a>
 | 
			
		||||
                <span v-if="monitor.type === 'port'">TCP Ping {{ monitor.hostname }}:{{ monitor.port }}</span>
 | 
			
		||||
                <span v-if="monitor.type === 'ping'">Ping: {{ monitor.hostname }}</span>
 | 
			
		||||
                <span v-if="monitor.type === 'keyword'">
 | 
			
		||||
@@ -21,18 +21,23 @@
 | 
			
		||||
            </p>
 | 
			
		||||
 | 
			
		||||
            <div class="functions">
 | 
			
		||||
                <button v-if="monitor.active" class="btn btn-light" @click="pauseDialog">
 | 
			
		||||
                    <font-awesome-icon icon="pause" /> {{ $t("Pause") }}
 | 
			
		||||
                </button>
 | 
			
		||||
                <button v-if="! monitor.active" class="btn btn-primary" @click="resumeMonitor">
 | 
			
		||||
                    <font-awesome-icon icon="play" /> {{ $t("Resume") }}
 | 
			
		||||
                </button>
 | 
			
		||||
                <router-link :to=" '/edit/' + monitor.id " class="btn btn-secondary">
 | 
			
		||||
                    <font-awesome-icon icon="edit" /> {{ $t("Edit") }}
 | 
			
		||||
                </router-link>
 | 
			
		||||
                <button class="btn btn-danger" @click="deleteDialog">
 | 
			
		||||
                    <font-awesome-icon icon="trash" /> {{ $t("Delete") }}
 | 
			
		||||
                </button>
 | 
			
		||||
                <div class="btn-group" role="group">
 | 
			
		||||
                    <button v-if="monitor.active" class="btn btn-normal" @click="pauseDialog">
 | 
			
		||||
                        <font-awesome-icon icon="pause" /> {{ $t("Pause") }}
 | 
			
		||||
                    </button>
 | 
			
		||||
                    <button v-if="! monitor.active" class="btn btn-primary" @click="resumeMonitor">
 | 
			
		||||
                        <font-awesome-icon icon="play" /> {{ $t("Resume") }}
 | 
			
		||||
                    </button>
 | 
			
		||||
                    <router-link :to=" '/edit/' + monitor.id " class="btn btn-normal">
 | 
			
		||||
                        <font-awesome-icon icon="edit" /> {{ $t("Edit") }}
 | 
			
		||||
                    </router-link>
 | 
			
		||||
                    <router-link :to=" '/clone/' + monitor.id " class="btn btn-normal">
 | 
			
		||||
                        <font-awesome-icon icon="clone" /> {{ $t("Clone") }}
 | 
			
		||||
                    </router-link>
 | 
			
		||||
                    <button class="btn btn-danger" @click="deleteDialog">
 | 
			
		||||
                        <font-awesome-icon icon="trash" /> {{ $t("Delete") }}
 | 
			
		||||
                    </button>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="shadow-box">
 | 
			
		||||
@@ -78,7 +83,7 @@
 | 
			
		||||
                        <h4>{{ $t("Cert Exp.") }}</h4>
 | 
			
		||||
                        <p>(<Datetime :value="tlsInfo.certInfo.validTo" date-only />)</p>
 | 
			
		||||
                        <span class="num">
 | 
			
		||||
                            <a href="#" @click.prevent="toggleCertInfoBox = !toggleCertInfoBox">{{ tlsInfo.certInfo.daysRemaining }} {{ $t("days") }}</a>
 | 
			
		||||
                            <a href="#" @click.prevent="toggleCertInfoBox = !toggleCertInfoBox">{{ tlsInfo.certInfo.daysRemaining }} {{ $tc("day", tlsInfo.certInfo.daysRemaining) }}</a>
 | 
			
		||||
                        </span>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
@@ -290,39 +295,47 @@ export default {
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
        /** Request a test notification be sent for this monitor */
 | 
			
		||||
        testNotification() {
 | 
			
		||||
            this.$root.getSocket().emit("testNotification", this.monitor.id);
 | 
			
		||||
            toast.success("Test notification is requested.");
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Show dialog to confirm pause */
 | 
			
		||||
        pauseDialog() {
 | 
			
		||||
            this.$refs.confirmPause.show();
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Resume this monitor */
 | 
			
		||||
        resumeMonitor() {
 | 
			
		||||
            this.$root.getSocket().emit("resumeMonitor", this.monitor.id, (res) => {
 | 
			
		||||
                this.$root.toastRes(res);
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Request that this monitor is paused */
 | 
			
		||||
        pauseMonitor() {
 | 
			
		||||
            this.$root.getSocket().emit("pauseMonitor", this.monitor.id, (res) => {
 | 
			
		||||
                this.$root.toastRes(res);
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Show dialog to confirm deletion */
 | 
			
		||||
        deleteDialog() {
 | 
			
		||||
            this.$refs.confirmDelete.show();
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Show dialog to confirm clearing events */
 | 
			
		||||
        clearEventsDialog() {
 | 
			
		||||
            this.$refs.confirmClearEvents.show();
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Show dialog to confirm clearing heartbeats */
 | 
			
		||||
        clearHeartbeatsDialog() {
 | 
			
		||||
            this.$refs.confirmClearHeartbeats.show();
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Request that this monitor is deleted */
 | 
			
		||||
        deleteMonitor() {
 | 
			
		||||
            this.$root.deleteMonitor(this.monitor.id, (res) => {
 | 
			
		||||
                if (res.ok) {
 | 
			
		||||
@@ -334,6 +347,7 @@ export default {
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Request that this monitors events are cleared */
 | 
			
		||||
        clearEvents() {
 | 
			
		||||
            this.$root.clearEvents(this.monitor.id, (res) => {
 | 
			
		||||
                if (! res.ok) {
 | 
			
		||||
@@ -342,6 +356,7 @@ export default {
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** Request that this monitors heartbeats are cleared */
 | 
			
		||||
        clearHeartbeats() {
 | 
			
		||||
            this.$root.clearHeartbeats(this.monitor.id, (res) => {
 | 
			
		||||
                if (! res.ok) {
 | 
			
		||||
@@ -350,6 +365,11 @@ export default {
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Return the correct title for the ping stat
 | 
			
		||||
         * @param {boolean} [average=false] Is the statistic an average?
 | 
			
		||||
         * @returns {string} Title formated dependant on monitor type
 | 
			
		||||
         */
 | 
			
		||||
        pingTitle(average = false) {
 | 
			
		||||
            let translationPrefix = "";
 | 
			
		||||
            if (average) {
 | 
			
		||||
@@ -378,11 +398,6 @@ export default {
 | 
			
		||||
@media (max-width: 550px) {
 | 
			
		||||
    .functions {
 | 
			
		||||
        text-align: center;
 | 
			
		||||
 | 
			
		||||
        button, a {
 | 
			
		||||
            margin-left: 10px !important;
 | 
			
		||||
            margin-right: 10px !important;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .ping-chart-wrapper {
 | 
			
		||||
@@ -425,12 +440,6 @@ export default {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.functions {
 | 
			
		||||
    button, a {
 | 
			
		||||
        margin-right: 20px;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.shadow-box {
 | 
			
		||||
    padding: 20px;
 | 
			
		||||
    margin-top: 25px;
 | 
			
		||||
@@ -468,6 +477,12 @@ table {
 | 
			
		||||
 | 
			
		||||
.dropdown-clear-data {
 | 
			
		||||
    float: right;
 | 
			
		||||
 | 
			
		||||
    ul {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        min-width: unset;
 | 
			
		||||
        padding-left: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.dark {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user