diff --git a/src/components/ClickableCard.vue b/src/components/ClickableCard.vue new file mode 100644 index 00000000..f650902e --- /dev/null +++ b/src/components/ClickableCard.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue index e2703d68..2442a79b 100644 --- a/src/components/Sidebar.vue +++ b/src/components/Sidebar.vue @@ -1,10 +1,18 @@ @@ -13,6 +21,7 @@ export default { data() { return { companyName: '', + dbFileName: '', items: [ { label: 'Invoices', @@ -28,7 +37,7 @@ export default { }, { label: 'Reports', - route: '/reports' + route: '/reportList' }, { label: 'Settings', @@ -40,6 +49,10 @@ export default { async mounted() { const accountingSettings = await frappe.getDoc('AccountingSettings'); this.companyName = accountingSettings.companyName; + if (localStorage.dbPath) { + const parts = localStorage.dbPath.split('/'); + this.dbFileName = parts[parts.length - 1]; + } }, methods: { isCurrentRoute(route) { @@ -47,6 +60,10 @@ export default { }, routeTo(route) { this.$router.push(route); + }, + goToDatabaseSelector() { + localStorage.dbPath = ''; + window.location.reload(); } } } diff --git a/src/pages/FormView/index.vue b/src/pages/FormView/FormView.vue similarity index 93% rename from src/pages/FormView/index.vue rename to src/pages/FormView/FormView.vue index 40c06ade..4c1d0033 100644 --- a/src/pages/FormView/index.vue +++ b/src/pages/FormView/FormView.vue @@ -36,6 +36,13 @@ export default { FormActions, FormLayout }, + watch: { + name(newValue, oldValue) { + if (newValue !== oldValue) { + this.loadDoc(); + } + } + }, data() { return { doc: null, @@ -59,6 +66,8 @@ export default { async loadDoc() { if (!this.name) return; try { + // need to de-reference to let vue know that doc is changed + this.doc = null; this.doc = await frappe.getDoc(this.doctype, this.name); if (this.doc._notInserted && this.meta.fields.map(df => df.fieldname).includes('name')) { diff --git a/src/pages/Report.vue b/src/pages/Report.vue new file mode 100644 index 00000000..df67a75a --- /dev/null +++ b/src/pages/Report.vue @@ -0,0 +1,45 @@ + + diff --git a/src/router/index.js b/src/router/index.js index 37d4ff0d..6e6c92e1 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -2,7 +2,7 @@ import Vue from 'vue'; import Router from 'vue-router'; import ListView from '../pages/ListView'; -import FormView from '../pages/FormView'; +import FormView from '../pages/FormView/FormView'; import PrintView from '../pages/PrintView'; import Report from 'frappejs/ui/pages/Report'; @@ -12,6 +12,8 @@ import DataImport from '../pages/DataImport'; import Settings from '../pages/Settings/Settings'; +import ReportList from '../pages/Report'; + Vue.use(Router); const routes = [ @@ -55,6 +57,11 @@ const routes = [ path: '/settings', name: 'Settings', component: Settings + }, + { + path: '/reportList', + name: 'Report', + component: ReportList } ];