- desktop navigation

- invoice vuex module
This commit is contained in:
Peter Papp
2021-04-21 07:56:15 +02:00
parent 597a600109
commit 8707a61144
8 changed files with 163 additions and 39 deletions
+15 -4
View File
@@ -52,8 +52,8 @@
"/chunks/invoices.js": "/chunks/invoices.js?id=1deb187f6d3eb1e81ad0",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=7fc7f9b6f10bdfac770e",
"/chunks/oasis/homepage.js": "/chunks/oasis/homepage.js?id=a1885dd8814f9eb63a1c",
"/chunks/oasis/invoices.js": "/chunks/oasis/invoices.js?id=1f245b837b2f16ca047e",
"/chunks/oasis/invoices/list.js": "/chunks/oasis/invoices/list.js?id=b9a5d5bfb77de123f8f4",
"/chunks/oasis/invoices.js": "/chunks/oasis/invoices.js?id=ff41d90afd0154a45d77",
"/chunks/oasis/invoices/list.js": "/chunks/oasis/invoices/list.js?id=fa265ec5658bfb5d47d2",
"/chunks/oasis/invoices~chunks/platform~chunks/shared.js": "/chunks/oasis/invoices~chunks/platform~chunks/shared.js?id=9ad184d8e96c7d04941c",
"/chunks/oasis/platba.js": "/chunks/oasis/platba.js?id=53d9f2a31b1dd5dad85e",
"/chunks/oasis/platba~chunks/oasis/upgrade-billing~chunks/oasis/upgrade-plan~chunks/upgrade-billing~ch~6880400b.js": "/chunks/oasis/platba~chunks/oasis/upgrade-billing~chunks/oasis/upgrade-plan~chunks/upgrade-billing~ch~6880400b.js?id=0c8d1c3cca084baa177f",
@@ -108,6 +108,17 @@
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~f0e94b19.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~f0e94b19.js?id=d57479525cd6baaf09f3",
"/vendors~chunks/files~chunks/oasis/invoices~chunks/platform~chunks/shared~chunks/shared-files~chunks/~9b82b04f.js": "/vendors~chunks/files~chunks/oasis/invoices~chunks/platform~chunks/shared~chunks/shared-files~chunks/~9b82b04f.js?id=548bff41ffa0385b8f01",
"/vendors~chunks/oasis/invoices~chunks/platform~chunks/shared.js": "/vendors~chunks/oasis/invoices~chunks/platform~chunks/shared.js?id=03d3cf785cbafa4d31f0",
"/chunks/oasis/invoices/list.ab3b54844dc16173a87c.hot-update.js": "/chunks/oasis/invoices/list.ab3b54844dc16173a87c.hot-update.js",
"/chunks/oasis/invoices.d65a991f6008d028b1a4.hot-update.js": "/chunks/oasis/invoices.d65a991f6008d028b1a4.hot-update.js"
"/chunks/oasis/invoices.525fb5fc3996fd479e64.hot-update.js": "/chunks/oasis/invoices.525fb5fc3996fd479e64.hot-update.js",
"/chunks/oasis/invoices/list.f8b68fed096730458e93.hot-update.js": "/chunks/oasis/invoices/list.f8b68fed096730458e93.hot-update.js",
"/chunks/oasis/invoices.5bd21dc572fc69a3cc77.hot-update.js": "/chunks/oasis/invoices.5bd21dc572fc69a3cc77.hot-update.js",
"/js/main.0837bfb2fd90932547ee.hot-update.js": "/js/main.0837bfb2fd90932547ee.hot-update.js",
"/js/main.0905d00a6c5a085b2fe7.hot-update.js": "/js/main.0905d00a6c5a085b2fe7.hot-update.js",
"/js/main.16fd33b90c3edcb8b122.hot-update.js": "/js/main.16fd33b90c3edcb8b122.hot-update.js",
"/js/main.c4585c2affb9ad7faa80.hot-update.js": "/js/main.c4585c2affb9ad7faa80.hot-update.js",
"/js/main.cc9d6a982ece49bfd227.hot-update.js": "/js/main.cc9d6a982ece49bfd227.hot-update.js",
"/js/main.6973dc93adfa40ca5718.hot-update.js": "/js/main.6973dc93adfa40ca5718.hot-update.js",
"/js/main.178d7e57e604f65f98b2.hot-update.js": "/js/main.178d7e57e604f65f98b2.hot-update.js",
"/chunks/oasis/invoices/list.8578178491ad6c3c565f.hot-update.js": "/chunks/oasis/invoices/list.8578178491ad6c3c565f.hot-update.js",
"/chunks/oasis/invoices.0522bbd02c490c945440.hot-update.js": "/chunks/oasis/invoices.0522bbd02c490c945440.hot-update.js",
"/chunks/oasis/invoices/list.0522bbd02c490c945440.hot-update.js": "/chunks/oasis/invoices/list.0522bbd02c490c945440.hot-update.js"
}
@@ -9,42 +9,42 @@
<InvoiceFilterMobile />
<InvoiceSortingMobile />
<!--Navigations-->
<!--Navigations-->
<MobileNavigation />
<SidebarNavigation/>
<SidebarNavigation />
<!--Sidebar navigation-->
<ContentSidebar>
<ContentGroup title="Invoices" class="navigator">
<div class="menu-list-wrapper vertical">
<router-link :to="{name: 'InvoicesList'}" class="menu-list-item link">
<a @click="goTo('invoices')" :class="{'is-active': $isThisLocation(['invoices'])}" class="menu-list-item link">
<div class="icon text-theme">
<file-text-icon size="17" />
</div>
<div class="label text-theme">
Invoices
</div>
</router-link>
<router-link :to="{name: 'Users'}" class="menu-list-item link">
</a>
<a @click="goTo('advance-invoices')" :class="{'is-active': $isThisLocation(['advance-invoices'])}" class="menu-list-item link">
<div class="icon text-theme">
<clock-icon size="17" />
</div>
<div class="label text-theme">
Advance Invoices
</div>
</router-link>
</a>
</div>
</ContentGroup>
<ContentGroup title="Others" class="navigator">
<div class="menu-list-wrapper vertical">
<router-link :to="{name: 'Plans'}" class="menu-list-item link">
<a @click="goTo('clients')" :class="{'is-active': $isThisLocation(['clients'])}" class="menu-list-item link">
<div class="icon text-theme">
<users-icon size="17" />
</div>
<div class="label text-theme">
Clients
</div>
</router-link>
</a>
</div>
</ContentGroup>
</ContentSidebar>
@@ -55,51 +55,62 @@
<script>
import InvoiceSortingMobile from '@/Oasis/Modules/Invoices/components/InvoiceSortingMobile'
import InvoiceFilterMobile from '@/Oasis/Modules/Invoices/components/InvoiceFilterMobile'
import InvoiceMobileMenu from '@/Oasis/Modules/Invoices/components/InvoiceMobileMenu'
import InvoiceCreateMenu from '@/Oasis/Modules/Invoices/components/InvoiceCreateMenu'
import InvoiceFilterMobile from '@/Oasis/Modules/Invoices/components/InvoiceFilterMobile'
import InvoiceMobileMenu from '@/Oasis/Modules/Invoices/components/InvoiceMobileMenu'
import InvoiceCreateMenu from '@/Oasis/Modules/Invoices/components/InvoiceCreateMenu'
import { UsersIcon, FileTextIcon, ClockIcon } from 'vue-feather-icons'
import SidebarNavigation from '@/components/Sidebar/SidebarNavigation'
import MobileNavigation from '@/components/Others/MobileNavigation'
import ContentSidebar from '@/components/Sidebar/ContentSidebar'
import FilePreview from '@/components/FilesView/FilePreview'
import ContentGroup from '@/components/Sidebar/ContentGroup'
import { mapGetters } from 'vuex'
import {UsersIcon, FileTextIcon, ClockIcon} from 'vue-feather-icons'
import SidebarNavigation from '@/components/Sidebar/SidebarNavigation'
import MobileNavigation from '@/components/Others/MobileNavigation'
import ContentSidebar from '@/components/Sidebar/ContentSidebar'
import FilePreview from '@/components/FilesView/FilePreview'
import ContentGroup from '@/components/Sidebar/ContentGroup'
import {mapGetters} from 'vuex'
import {events} from '@/bus'
export default {
name: 'Settings',
computed: {
...mapGetters([
name: 'Settings',
computed: {
...mapGetters([
'config'
]),
},
components: {
},
components: {
InvoiceSortingMobile,
InvoiceFilterMobile,
InvoiceCreateMenu,
InvoiceMobileMenu,
SidebarNavigation,
MobileNavigation,
ContentSidebar,
FileTextIcon,
ContentGroup,
SidebarNavigation,
MobileNavigation,
ContentSidebar,
FileTextIcon,
ContentGroup,
FilePreview,
UsersIcon,
UsersIcon,
ClockIcon,
},
},
data() {
return {
isScaledDown: false
isScaledDown: false,
}
},
methods: {
goTo(category) {
let routes = {
'invoices': 'getInvoices',
'advance-invoices': 'getAdvanceInvoices',
'clients': 'getClients',
}
this.$store.dispatch(routes[category])
}
},
mounted() {
events.$on('mobile-menu:show', () => this.isScaledDown = true)
events.$on('fileItem:deselect', () => this.isScaledDown = false)
events.$on('mobile-menu:hide', () => this.isScaledDown = false)
}
}
}
</script>
<style lang="scss">
@@ -139,6 +139,12 @@
this.$store.commit('CLIPBOARD_CLEAR')
})
this.$store.commit('STORE_CURRENT_FOLDER', {
name: 'Invoices',
id: undefined,
location: 'invoices',
})
this.$store.commit('LOADING_STATE', {
isLoading: false,
data: [
@@ -5,7 +5,7 @@
<div class="menu-options" id="menu-list">
<OptionGroup class="menu-option-group">
<Option @click.native="" title="Edit Invoice" icon="rename" />
<Option @click.native="" title="Share Invoice" icon="send" />
<Option @click.native="" title="Send Invoice" icon="send" />
<Option @click.native="" title="Go to Company" icon="user" />
<Option @click.native="deleteItem" :title="$t('context_menu.delete')" icon="trash" />
</OptionGroup>
@@ -112,7 +112,7 @@
this.$store.dispatch('deleteInvoice')
},
shareInvoice() {
alert('Share Invoice')
alert('Send Invoice')
},
},
}
@@ -12,7 +12,7 @@
<MenuMobileGroup>
<OptionGroup class="menu-option-group">
<Option @click.native="" title="Edit Invoice" icon="rename" />
<Option @click.native="" title="Share Invoice" icon="send" />
<Option @click.native="" title="Send Invoice" icon="send" />
<Option @click.native="" title="Go to Company" icon="user" />
<Option @click.native="" :title="$t('context_menu.delete')" icon="trash" />
</OptionGroup>
+2
View File
@@ -1,6 +1,7 @@
import Vuex from 'vuex'
import Vue from 'vue'
import oasisInvoices from './modules/oasisInvoices'
import fileFunctions from './modules/fileFunctions'
import fileBrowser from './modules/fileBrowser'
import userAuth from './modules/userAuth'
@@ -11,6 +12,7 @@ Vue.use(Vuex)
export default new Vuex.Store({
modules: {
oasisInvoices,
fileFunctions,
fileBrowser,
userAuth,
+94
View File
@@ -0,0 +1,94 @@
import {events} from '@/bus'
import axios from "axios"
import Vue from "vue"
const defaultState = {}
const actions = {
getInvoices: ({commit, getters}) => {
commit('LOADING_STATE', {loading: true, data: []})
commit('STORE_CURRENT_FOLDER', {
name: 'Invoices',
id: undefined,
location: 'invoices',
})
axios
.get(`${getters.api}/invoices/invoice`)
.then(response => {
commit('LOADING_STATE', {loading: false, data: response.data})
})
.catch(() => {
Vue.prototype.$isSomethingWrong()
})
.finally(() => {
events.$emit('scrollTop')
})
},
getAdvanceInvoices: ({commit, getters}) => {
commit('LOADING_STATE', {loading: true, data: []})
commit('STORE_CURRENT_FOLDER', {
name: 'Advance Invoices',
id: undefined,
location: 'advance-invoices',
})
axios
.get(`${getters.api}/invoices/advance-invoice`)
.then(response => {
commit('LOADING_STATE', {loading: false, data: response.data})
})
.catch(() => {
Vue.prototype.$isSomethingWrong()
})
.finally(() => {
events.$emit('scrollTop')
})
},
getClients: ({commit, getters}) => {
commit('LOADING_STATE', {loading: true, data: []})
commit('STORE_CURRENT_FOLDER', {
name: 'Clients',
id: undefined,
location: 'clients',
})
axios
.get(`${getters.api}/invoices/clients`)
.then(response => {
commit('LOADING_STATE', {loading: false, data: response.data})
})
.catch(() => {
Vue.prototype.$isSomethingWrong()
})
.finally(() => {
events.$emit('scrollTop')
})
},
deleteClient: ({commit, getters}, payload) => {
//
},
deleteInvoice: ({commit, getters}, payload) => {
//
},
deleteAdvanceInvoice: ({commit, getters}, payload) => {
//
},
sendInvoice: ({commit, getters}, payload) => {
//
},
}
const mutations = {}
const getters = {}
export default {
state: defaultState,
getters,
actions,
mutations
}