add new openDatabse function
This commit is contained in:
@@ -130,13 +130,14 @@ import DateDaySelect from 'src/components/DateDaySelect.vue';
|
||||
import { computed, onMounted, ref } from 'vue';
|
||||
import { useNotify } from 'src/vueLib/general/useNotify';
|
||||
import { i18n } from 'src/boot/lang';
|
||||
import { appName, databaseName } from 'src/vueLib/models/settings';
|
||||
import { appName } from 'src/vueLib/models/settings';
|
||||
import type { Amount } from 'src/vueLib/models/report';
|
||||
import ReportStat from 'src/components/ReportStat.vue';
|
||||
import type { Group, Groups } from 'src/vueLib/models/group';
|
||||
import { getLocalPageDefaults, setLocalPageDefaults } from 'src/localstorage/localStorage';
|
||||
import html2pdf from 'html2pdf.js';
|
||||
import type { PageDefault } from 'src/vueLib/models/pageDefaults';
|
||||
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
|
||||
|
||||
const filter = ref<string>('');
|
||||
const group = ref<Group[]>([]);
|
||||
@@ -168,10 +169,9 @@ const columns = computed(() => [
|
||||
},
|
||||
]);
|
||||
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
loading.value = true;
|
||||
appApi
|
||||
.post('database/open', { dbPath: databaseName.value })
|
||||
await openDatabase()
|
||||
.catch((err) => NotifyResponse(err, 'error'))
|
||||
|
||||
.finally(() => {
|
||||
|
||||
14
src/vueLib/components/DatabaseCall.ts
Normal file
14
src/vueLib/components/DatabaseCall.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { appApi } from 'src/boot/axios';
|
||||
import { databaseName, workspace } from '../models/settings';
|
||||
|
||||
export async function openDatabase() {
|
||||
let path = databaseName.value;
|
||||
if (workspace.value !== '') {
|
||||
path = workspace.value + '/' + path;
|
||||
}
|
||||
|
||||
return appApi.post('database/open', {
|
||||
dbPath: path,
|
||||
create: true,
|
||||
});
|
||||
}
|
||||
@@ -123,13 +123,13 @@ import EditAllDialog from 'src/components/EventEditAllDialog.vue';
|
||||
import OkDialog from 'src/components/dialog/OkDialog.vue';
|
||||
import { useNotify } from 'src/vueLib/general/useNotify';
|
||||
import { useEventTable } from './EventsTable';
|
||||
import { databaseName } from 'src/vueLib/models/settings';
|
||||
import { useUserStore } from 'src/vueLib/login/userStore';
|
||||
import AttendeesTableDialog from '../attendees/AttendeesTableDialog.vue';
|
||||
import type { Members } from 'src/vueLib/models/member';
|
||||
import { i18n } from 'src/boot/lang';
|
||||
import SearchableInput from '../components/SearchableInput.vue';
|
||||
import TopButtonGroup from '../components/TopButtonGroup.vue';
|
||||
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
|
||||
|
||||
export interface EventDialog {
|
||||
getSelected: () => Events;
|
||||
@@ -150,11 +150,10 @@ const user = useUserStore();
|
||||
const { Events, pagination, loading, columns, updateEvents } = useEventTable();
|
||||
|
||||
//load on mounting page
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
loading.value = true;
|
||||
|
||||
appApi
|
||||
.post('database/open', { dbPath: databaseName.value, create: true })
|
||||
await openDatabase()
|
||||
.then(() => {
|
||||
updateEvents();
|
||||
})
|
||||
|
||||
@@ -116,7 +116,6 @@ import DialogFrame from 'src/vueLib/dialog/DialogFrame.vue';
|
||||
import OkDialog from 'src/components/dialog/OkDialog.vue';
|
||||
import { useNotify } from 'src/vueLib/general/useNotify';
|
||||
import { useGroupTable } from './GroupTable';
|
||||
import { databaseName } from 'src/vueLib/models/settings';
|
||||
import { useUserStore } from 'src/vueLib/login/userStore';
|
||||
import { i18n } from 'src/boot/lang';
|
||||
import type { Group, Groups } from 'src/vueLib/models/group';
|
||||
@@ -124,6 +123,7 @@ import SearchableInput from '../components/SearchableInput.vue';
|
||||
import TopButtonGroup from '../components/TopButtonGroup.vue';
|
||||
import { getAllMembers } from '../members/MembersTable';
|
||||
import type { Members } from 'src/vueLib/models/member';
|
||||
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
|
||||
|
||||
const { NotifyResponse } = useNotify();
|
||||
const groupDialog = ref();
|
||||
@@ -147,8 +147,7 @@ onMounted(async () => {
|
||||
|
||||
members.value = await getAllMembers();
|
||||
|
||||
appApi
|
||||
.post('database/open', { dbPath: databaseName.value, create: true })
|
||||
await openDatabase()
|
||||
.then(() => {
|
||||
updateGroups().catch((err) => {
|
||||
NotifyResponse(err, 'error');
|
||||
|
||||
@@ -206,7 +206,6 @@ import { useNotify } from 'src/vueLib/general/useNotify';
|
||||
import { useMemberTable } from './MembersTable';
|
||||
import UploadDialog from 'src/components/UploadDialog.vue';
|
||||
import AddToEvent from 'src/components/AddToEvent.vue';
|
||||
import { databaseName } from 'src/vueLib/models/settings';
|
||||
import { useUserStore } from 'src/vueLib/login/userStore';
|
||||
import { i18n } from 'src/boot/lang';
|
||||
import type { Responsible } from 'src/vueLib/models/responsible';
|
||||
@@ -216,6 +215,7 @@ import FilterSelect from '../components/FilterSelect.vue';
|
||||
import TopButtonGroup from '../components/TopButtonGroup.vue';
|
||||
import { getLocalPageDefaults, setLocalPageDefaults } from 'src/localstorage/localStorage';
|
||||
import type { PageDefault } from 'src/vueLib/models/pageDefaults';
|
||||
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
|
||||
|
||||
const inProps = defineProps({
|
||||
addAttendees: { type: Boolean },
|
||||
@@ -263,7 +263,7 @@ const {
|
||||
} = useMemberTable();
|
||||
|
||||
//load on mounting page
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
page.value = 'members';
|
||||
if (inProps.addAttendees || inProps.addResponsible) {
|
||||
selectOption.value = true;
|
||||
@@ -295,8 +295,7 @@ onMounted(() => {
|
||||
// set custom filter
|
||||
setNewFilter(selectedColumnFilter.value, ...selectedColumnOptions.value);
|
||||
|
||||
appApi
|
||||
.post('database/open', { dbPath: databaseName.value, create: true })
|
||||
await openDatabase()
|
||||
.then(() => {
|
||||
updateTable().catch((err) => NotifyResponse(err, 'error'));
|
||||
})
|
||||
|
||||
@@ -108,12 +108,12 @@ import type { Members } from 'src/vueLib/models/member';
|
||||
import OkDialog from 'src/components/dialog/OkDialog.vue';
|
||||
import { useNotify } from 'src/vueLib/general/useNotify';
|
||||
import { useResponsibleTable } from './ResponsibleTable';
|
||||
import { databaseName } from 'src/vueLib/models/settings';
|
||||
import { useUserStore } from 'src/vueLib/login/userStore';
|
||||
import { i18n } from 'src/boot/lang';
|
||||
import type { Responsible, Responsibles } from 'src/vueLib/models/responsible';
|
||||
import SearchableInput from '../components/SearchableInput.vue';
|
||||
import TopButtonGroup from '../components/TopButtonGroup.vue';
|
||||
import { openDatabase } from 'src/vueLib/components/DatabaseCall';
|
||||
|
||||
const { NotifyResponse } = useNotify();
|
||||
const responsibleDialog = ref();
|
||||
@@ -129,11 +129,10 @@ const { responsibleMember, pagination, loading, columns, updateResponsibles } =
|
||||
useResponsibleTable();
|
||||
|
||||
//load on mounting page
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
loading.value = true;
|
||||
|
||||
appApi
|
||||
.post('database/open', { dbPath: databaseName.value, create: true })
|
||||
await openDatabase()
|
||||
.then(() => {
|
||||
updateResponsibles().catch((err) => {
|
||||
NotifyResponse(err, 'error');
|
||||
|
||||
Reference in New Issue
Block a user