mirror of https://github.com/statping/statping
commit
eddf378938
|
@ -13,11 +13,10 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<tr v-for="message in $store.getters.messages" v-bind:key="message.id">
|
||||||
<tr v-for="(message, index) in $store.getters.messages" v-bind:key="index">
|
|
||||||
<td>{{message.title}}</td>
|
<td>{{message.title}}</td>
|
||||||
<td class="d-none d-md-table-cell">
|
<td class="d-none d-md-table-cell">
|
||||||
<router-link :to="serviceLink(message.service)">{{service(message.service)}}</router-link>
|
<router-link :to="serviceLink(service(message.service))">{{serviceName(service(message.service))}}</router-link>
|
||||||
</td>
|
</td>
|
||||||
<td class="d-none d-md-table-cell">{{niceDate(message.start_on)}}</td>
|
<td class="d-none d-md-table-cell">{{niceDate(message.start_on)}}</td>
|
||||||
<td class="text-right">
|
<td class="text-right">
|
||||||
|
@ -27,12 +26,10 @@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<FormMessage v-if="$store.state.admin" :edit="editChange" :in_message="message"/>
|
<FormMessage v-if="$store.state.admin" :edit="editChange" :in_message="message"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -60,8 +57,10 @@
|
||||||
this.edit = !mode
|
this.edit = !mode
|
||||||
},
|
},
|
||||||
service (id) {
|
service (id) {
|
||||||
const s = this.$store.getters.serviceById(id) || {}
|
return this.$store.getters.serviceById(id) || {}
|
||||||
return s.name || "Global Message"
|
},
|
||||||
|
serviceName (service) {
|
||||||
|
return service.name || "Global Message"
|
||||||
},
|
},
|
||||||
async deleteMessage(m) {
|
async deleteMessage(m) {
|
||||||
let c = confirm(`Are you sure you want to delete message '${m.title}'?`)
|
let c = confirm(`Are you sure you want to delete message '${m.title}'?`)
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<div>
|
<div>
|
||||||
<div class="card contain-card text-black-50 bg-white mb-5">
|
<div class="card contain-card text-black-50 bg-white mb-5">
|
||||||
<div class="card-header">{{message.id ? `Update ${message.title}` : "Create Announcement"}}
|
<div class="card-header">{{message.id ? `Update ${message.title}` : "Create Announcement"}}
|
||||||
|
|
||||||
<transition name="slide-fade">
|
<transition name="slide-fade">
|
||||||
<button @click="removeEdit" v-if="message.id" class="btn btn-sm float-right btn-danger btn-sm">Close</button>
|
<button @click="removeEdit" v-if="message.id" class="btn btn-sm float-right btn-danger btn-sm">Close</button>
|
||||||
</transition>
|
</transition>
|
||||||
|
@ -26,9 +25,9 @@
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">Service</label>
|
<label class="col-sm-4 col-form-label">Service</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<select v-model="message.service_id" name="service_id" class="form-control">
|
<select v-model="message.service" name="service_id" class="form-control">
|
||||||
<option :value="0">Global Announcement</option>
|
<option :value="0">Global Announcement</option>
|
||||||
<option v-for="(service, i) in $store.getters.services" :value="service.id" >{{service.name}}</option>
|
<option v-for="service in $store.getters.services" :value="service.id" v-bind:key="service.id" >{{service.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -46,9 +45,9 @@
|
||||||
<div v-show="this.service === null" class="form-group row">
|
<div v-show="this.service === null" class="form-group row">
|
||||||
<label for="service_id" class="col-sm-4 col-form-label">Service</label>
|
<label for="service_id" class="col-sm-4 col-form-label">Service</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<select v-model="message.service_id" class="form-control" name="service" id="service_id">
|
<select v-model="message.service" class="form-control" name="service" id="service_id">
|
||||||
<option :value="0">Global Message</option>
|
<option :value="0">Global Message</option>
|
||||||
<option v-for="(service, index) in $store.getters.services" :value="service.id" v-bind:key="index" >{{service.name}}</option>
|
<option v-for="service in $store.getters.services" :value="service.id" v-bind:key="service.id">{{service.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -92,12 +92,15 @@ export default Vue.mixin({
|
||||||
if (service.permalink) {
|
if (service.permalink) {
|
||||||
service = this.$store.getters.serviceByPermalink(service.permalink)
|
service = this.$store.getters.serviceByPermalink(service.permalink)
|
||||||
}
|
}
|
||||||
if (service===undefined) {
|
if (service===undefined || this.isEmptyObject(service)) {
|
||||||
return `/service/0`
|
return `/service/0`
|
||||||
}
|
}
|
||||||
let link = service.permalink ? service.permalink : service.id
|
let link = service.permalink ? service.permalink : service.id
|
||||||
return `/service/${link}`
|
return `/service/${link}`
|
||||||
},
|
},
|
||||||
|
isEmptyObject(obj) {
|
||||||
|
return Object.keys(obj).length === 0 && obj.constructor === Object
|
||||||
|
},
|
||||||
isInt(n) {
|
isInt(n) {
|
||||||
return n % 1 === 0;
|
return n % 1 === 0;
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue