From c2c6db4782a7a2806703359cc60e7e412684bad8 Mon Sep 17 00:00:00 2001 From: saber-nyan Date: Sun, 24 Nov 2019 22:37:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=B5=D1=80=D0=B2=D0=B8=D1=81=D0=BE=D0=B2?= =?UTF-8?q?,=20=D1=84=D0=B8=D0=BA=D1=81=D1=8B=20=D0=BC=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BE=D0=BA=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #5 --- src/App.vue | 3 ++ src/components/NavbarService.vue | 10 +++- src/store.js | 13 ++++- src/views/AddService.vue | 8 +-- src/views/EditService.vue | 93 ++++++++++++++++++++++++++++++++ 5 files changed, 122 insertions(+), 5 deletions(-) create mode 100644 src/views/EditService.vue 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 @@ + + + +