mirror of
https://github.com/Av0idD4rk/packmate.git
synced 2026-10-24 23:29:26 +00:00
Добавление сервисов, сообщения об ошибках, мелкие фиксы
This commit is contained in:
parent
c58d9023d9
commit
a4442bf9e8
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<Navbar/>
|
<Navbar ref="navbar"/>
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<transition name="fade" mode="out-in">
|
<transition name="fade" mode="out-in">
|
||||||
@ -15,15 +15,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Settings/>
|
<Settings/>
|
||||||
|
<AddService @serviceAddComplete="$refs.navbar.updateServices()"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Navbar from './components/Navbar';
|
import Navbar from './components/Navbar';
|
||||||
import Settings from './views/Settings';
|
import Settings from './views/Settings';
|
||||||
|
import AddService from './views/AddService';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
AddService,
|
||||||
Settings,
|
Settings,
|
||||||
Navbar,
|
Navbar,
|
||||||
},
|
},
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.7 KiB |
@ -14,6 +14,12 @@
|
|||||||
:key="service.name"
|
:key="service.name"
|
||||||
:name="service.name"
|
:name="service.name"
|
||||||
:port="service.port"/>
|
:port="service.port"/>
|
||||||
|
<li class="nav-item text-nowrap" style="padding-left: 1em;">
|
||||||
|
<div class="my-2 my-lg-0 mr-3 navbar-cogs" style="cursor: pointer;"
|
||||||
|
@click.stop.prevent="showAddService">
|
||||||
|
<i class="fas fa-plus-circle"/>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="my-2 my-lg-0 mr-3 navbar-cogs" style="cursor: pointer;"
|
<div class="my-2 my-lg-0 mr-3 navbar-cogs" style="cursor: pointer;"
|
||||||
@ -42,6 +48,10 @@
|
|||||||
this.$bvModal.show('settingsModal');
|
this.$bvModal.show('settingsModal');
|
||||||
console.debug('Showing settings...');
|
console.debug('Showing settings...');
|
||||||
},
|
},
|
||||||
|
showAddService() {
|
||||||
|
this.$bvModal.show('addServiceModal');
|
||||||
|
console.debug('Showing addService...');
|
||||||
|
},
|
||||||
updateServices() {
|
updateServices() {
|
||||||
this.$http.get('service/')
|
this.$http.get('service/')
|
||||||
.then(r => this.services = r.data)
|
.then(r => this.services = r.data)
|
||||||
|
|||||||
@ -73,6 +73,10 @@
|
|||||||
this.streams.push(...data);
|
this.streams.push(...data);
|
||||||
return $state.loaded();
|
return $state.loaded();
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
|
this.$bvToast.toast(`Не удалось загрузить стримы: ${e}`, {
|
||||||
|
title: 'Сбой',
|
||||||
|
variant: 'danger',
|
||||||
|
});
|
||||||
console.error('Failed to load portion of streams:', e);
|
console.error('Failed to load portion of streams:', e);
|
||||||
return $state.error();
|
return $state.error();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,8 +14,8 @@ Vue.config.productionTip = false;
|
|||||||
Vue.use(BootstrapVue);
|
Vue.use(BootstrapVue);
|
||||||
Vue.use(InfiniteLoading, {
|
Vue.use(InfiniteLoading, {
|
||||||
slots: {
|
slots: {
|
||||||
'no-results': 'Нет результатов...',
|
noResults: 'Нет результатов...',
|
||||||
'no-more': 'Данных больше нет',
|
noMore: 'Данных больше нет',
|
||||||
error: 'Произошла ошибка!',
|
error: 'Произошла ошибка!',
|
||||||
errorBtnText: 'Повторить',
|
errorBtnText: 'Повторить',
|
||||||
},
|
},
|
||||||
|
|||||||
78
src/views/AddService.vue
Normal file
78
src/views/AddService.vue
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
<template>
|
||||||
|
<b-modal @ok="createService" @cancel="reset" id="addServiceModal" title="Добавить сервис" cancel-title="Отмена"
|
||||||
|
centered scrollable>
|
||||||
|
<form ref="addServiceForm">
|
||||||
|
<b-form-group
|
||||||
|
label-cols-sm="4"
|
||||||
|
label-cols-lg="3"
|
||||||
|
label="Название"
|
||||||
|
label-for="addSvc-name">
|
||||||
|
<b-form-input @keydown.native.enter="createService" id="addSvc-name" required v-model="svcName"/>
|
||||||
|
</b-form-group>
|
||||||
|
<b-form-group
|
||||||
|
label-cols-sm="4"
|
||||||
|
label-cols-lg="3"
|
||||||
|
label="Порт"
|
||||||
|
label-for="addSvc-port">
|
||||||
|
<b-form-input @keydown.native.enter="createService" type="number" id="addSvc-port" required
|
||||||
|
v-model.number="svcPort"/>
|
||||||
|
</b-form-group>
|
||||||
|
</form>
|
||||||
|
</b-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'AddService',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
svcName: String(),
|
||||||
|
svcPort: Number(),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
checkValidity() {
|
||||||
|
return this.$refs.addServiceForm.reportValidity()
|
||||||
|
&& this.svcPort >= 1
|
||||||
|
&& this.svcPort <= 65535;
|
||||||
|
},
|
||||||
|
|
||||||
|
reset() {
|
||||||
|
this.svcName = '';
|
||||||
|
this.svcPort = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
createService(e) {
|
||||||
|
const name = this.svcName;
|
||||||
|
const port = this.svcPort;
|
||||||
|
if (!this.checkValidity()) {
|
||||||
|
e.preventDefault();
|
||||||
|
console.debug('Form is invalid');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.debug(`Creating service ${name} (${port})...`);
|
||||||
|
|
||||||
|
this.$http.post('service/', {
|
||||||
|
name,
|
||||||
|
port,
|
||||||
|
}).then(response => {
|
||||||
|
const data = response.data;
|
||||||
|
console.debug('Done adding service', data);
|
||||||
|
this.$emit('serviceAddComplete');
|
||||||
|
this.reset();
|
||||||
|
this.$bvModal.hide('addServiceModal');
|
||||||
|
}).catch(e => {
|
||||||
|
this.$bvToast.toast(`Не удалось добавить сервис: ${e}`, {
|
||||||
|
title: 'Сбой',
|
||||||
|
variant: 'danger',
|
||||||
|
});
|
||||||
|
console.error('Failed to add service', e);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue
Block a user