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