diff --git a/src/App.vue b/src/App.vue index e9dc018..f3e1b88 100644 --- a/src/App.vue +++ b/src/App.vue @@ -16,6 +16,7 @@ + @@ -23,10 +24,12 @@ import Navbar from './components/Navbar'; import Settings from './views/Settings'; import AddService from './views/AddService'; + import EditService from './views/EditService'; export default { components: { AddService, + EditService, Settings, Navbar, }, diff --git a/src/components/NavbarService.vue b/src/components/NavbarService.vue index 5bd61ba..49056af 100644 --- a/src/components/NavbarService.vue +++ b/src/components/NavbarService.vue @@ -2,7 +2,7 @@ {{name}} #{{port}} - + @@ -15,6 +15,14 @@ name: String(), port: Number(), }, + methods: { + editService() { + // Костыль: нельзя запустить BModal с аргументом + this.$store.commit('setServiceModalId', this.port); + this.$store.commit('setServiceModalName', this.name); + this.$bvModal.show('editServiceModal'); + }, + }, }; diff --git a/src/store.js b/src/store.js index 3a514e2..220ef3b 100644 --- a/src/store.js +++ b/src/store.js @@ -14,6 +14,9 @@ export default new Vuex.Store({ hexdumpLineNumberBase: 10, pageSize: 25, displayFavoritesOnly: false, + + serviceModalName: '', + serviceModalId: 0, }, mutations: { setApiLogin: (s, p) => s.apiLogin = p, @@ -23,6 +26,9 @@ export default new Vuex.Store({ setPageSize: (s, p) => s.pageSize = p, // eslint-disable-next-line no-unused-vars toggleDisplayFavoritesOnly: (s, p) => s.displayFavoritesOnly = !s.displayFavoritesOnly, + + setServiceModalName: (s, p) => s.serviceModalName = p, + setServiceModalId: (s, p) => s.serviceModalId = p, }, actions: {}, plugins: [ @@ -31,7 +37,12 @@ export default new Vuex.Store({ // eslint-disable-next-line no-unused-vars predicate: (mutation, state) => { console.debug('Got mutation:', mutation); - return mutation?.type !== 'setDisplayFavoritesOnly'; + const mName = mutation?.type; + const process = mName !== 'toggleDisplayFavoritesOnly' + && mName !== 'setServiceModalName' + && mName !== 'setServiceModalId'; + console.debug('Processing?', process); + return process; }, }), ], diff --git a/src/views/AddService.vue b/src/views/AddService.vue index 9097505..e77f5a4 100644 --- a/src/views/AddService.vue +++ b/src/views/AddService.vue @@ -1,5 +1,6 @@ + + + +