|
|
|
@ -1,268 +1,222 @@ |
|
|
|
|
import { createApp } from 'vue'; |
|
|
|
|
import App from './App.vue'; |
|
|
|
|
import i18n from './i18n'; |
|
|
|
|
import router from './router'; |
|
|
|
|
import store from './store'; |
|
|
|
|
import axios from 'axios' |
|
|
|
|
import { createPinia } from 'pinia'; |
|
|
|
|
import { createApp } from "vue" |
|
|
|
|
import App from "./App.vue" |
|
|
|
|
import i18n from "./i18n" |
|
|
|
|
import router from "./router" |
|
|
|
|
import store from "./store" |
|
|
|
|
import axios from "axios" |
|
|
|
|
import { createPinia } from "pinia" |
|
|
|
|
|
|
|
|
|
// Services.
|
|
|
|
|
import courseCategoryService from "./services/coursecategory" |
|
|
|
|
import documentsService from "./services/documents" |
|
|
|
|
import courseService from "./services/course" |
|
|
|
|
import personalFileService from "./services/personalfile" |
|
|
|
|
import resourceLinkService from "./services/resourcelink" |
|
|
|
|
import resourceNodeService from "./services/resourcenode" |
|
|
|
|
import messageService from "./services/message" |
|
|
|
|
import messageAttachmentService from "./services/messageattachment" |
|
|
|
|
import messageRelUserService from "./services/messagereluser" |
|
|
|
|
import messageTagService from "./services/messagetag" |
|
|
|
|
import userService from "./services/user" |
|
|
|
|
import userGroupService from "./services/usergroup" |
|
|
|
|
import userRelUserService from "./services/userreluser" |
|
|
|
|
import calendarEventService from "./services/ccalendarevent" |
|
|
|
|
import toolIntroService from "./services/ctoolintro" |
|
|
|
|
import pageService from "./services/page" |
|
|
|
|
import pageCategoryService from "./services/pagecategory" |
|
|
|
|
import sessionService from "./services/session" |
|
|
|
|
import socialPostService from "./services/socialpost" |
|
|
|
|
|
|
|
|
|
import makeCrudModule from "./store/modules/crud" |
|
|
|
|
|
|
|
|
|
import VueFlatPickr from "vue-flatpickr-component" |
|
|
|
|
import "flatpickr/dist/flatpickr.css" |
|
|
|
|
import "@mdi/font/css/materialdesignicons.css" |
|
|
|
|
|
|
|
|
|
import DashboardLayout from "./components/layout/DashboardLayout.vue" |
|
|
|
|
import EmptyLayout from "./components/layout/EmptyLayout.vue" |
|
|
|
|
// Tinymce
|
|
|
|
|
import Editor from "./components/Editor" |
|
|
|
|
|
|
|
|
|
import courseCategoryService from './services/coursecategory'; |
|
|
|
|
import documentsService from './services/documents'; |
|
|
|
|
import courseService from './services/course'; |
|
|
|
|
import personalFileService from './services/personalfile'; |
|
|
|
|
import resourceLinkService from './services/resourcelink'; |
|
|
|
|
import resourceNodeService from './services/resourcenode'; |
|
|
|
|
import messageService from './services/message'; |
|
|
|
|
import messageAttachmentService from './services/messageattachment'; |
|
|
|
|
import messageRelUserService from './services/messagereluser'; |
|
|
|
|
import messageTagService from "./services/messagetag"; |
|
|
|
|
import userService from './services/user'; |
|
|
|
|
import userGroupService from './services/usergroup'; |
|
|
|
|
import userRelUserService from './services/userreluser'; |
|
|
|
|
import calendarEventService from './services/ccalendarevent'; |
|
|
|
|
import toolIntroService from './services/ctoolintro'; |
|
|
|
|
import pageService from './services/page'; |
|
|
|
|
import pageCategoryService from './services/pagecategory'; |
|
|
|
|
import sessionService from './services/session'; |
|
|
|
|
import socialPostService from './services/socialpost'; |
|
|
|
|
|
|
|
|
|
import makeCrudModule from './store/modules/crud'; |
|
|
|
|
//import vuetify from './plugins/vuetify' // path to vuetify export
|
|
|
|
|
|
|
|
|
|
//require('@fancyapps/fancybox');
|
|
|
|
|
//require('@fancyapps/fancybox/dist/jquery.fancybox.css');
|
|
|
|
|
|
|
|
|
|
//Vue.use(Vuelidate);
|
|
|
|
|
|
|
|
|
|
import Toast from 'vue-toastification'; |
|
|
|
|
//import 'vue-toastification/dist/index.css';
|
|
|
|
|
const toastOptions = { |
|
|
|
|
transition: 'Vue-Toastification__fade', |
|
|
|
|
maxToasts: 20, |
|
|
|
|
newestOnTop: true |
|
|
|
|
}; |
|
|
|
|
import VueFlatPickr from 'vue-flatpickr-component'; |
|
|
|
|
import 'flatpickr/dist/flatpickr.css'; |
|
|
|
|
// Prime
|
|
|
|
|
import PrimeVue from "primevue/config" |
|
|
|
|
import DataView from "primevue/dataview" |
|
|
|
|
import DataTable from "primevue/datatable" |
|
|
|
|
import Dropdown from "primevue/dropdown" |
|
|
|
|
import Toolbar from "primevue/toolbar" |
|
|
|
|
import DataViewLayoutOptions from "primevue/dataviewlayoutoptions" |
|
|
|
|
|
|
|
|
|
import Dialog from "primevue/dialog" |
|
|
|
|
import InputText from "primevue/inputtext" |
|
|
|
|
import Button from "primevue/button" |
|
|
|
|
import Column from "primevue/column" |
|
|
|
|
import ColumnGroup from "primevue/columngroup" |
|
|
|
|
import ToastService from "primevue/toastservice" |
|
|
|
|
import ConfirmationService from "primevue/confirmationservice" |
|
|
|
|
|
|
|
|
|
import "primevue/resources/primevue.min.css" |
|
|
|
|
// import 'primeflex/primeflex.css';
|
|
|
|
|
import "primeicons/primeicons.css" |
|
|
|
|
import Alpine from "alpinejs" |
|
|
|
|
|
|
|
|
|
// @todo move in a file:
|
|
|
|
|
store.registerModule( |
|
|
|
|
'course', |
|
|
|
|
"course", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: courseService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: courseService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'coursecategory', |
|
|
|
|
"coursecategory", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: courseCategoryService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: courseCategoryService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'documents', |
|
|
|
|
"documents", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: documentsService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: documentsService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'ccalendarevent', |
|
|
|
|
"ccalendarevent", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: calendarEventService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: calendarEventService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'ctoolintro', |
|
|
|
|
"ctoolintro", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: toolIntroService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: toolIntroService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'page', |
|
|
|
|
"page", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: pageService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: pageService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'pagecategory', |
|
|
|
|
"pagecategory", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: pageCategoryService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: pageCategoryService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'session', |
|
|
|
|
"session", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: sessionService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: sessionService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'personalfile', |
|
|
|
|
"personalfile", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: personalFileService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: personalFileService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'resourcelink', |
|
|
|
|
"resourcelink", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: resourceLinkService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: resourceLinkService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'resourcenode', |
|
|
|
|
"resourcenode", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: resourceNodeService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: resourceNodeService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'message', |
|
|
|
|
"message", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: messageService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: messageService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'messageattachment', |
|
|
|
|
"messageattachment", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: messageAttachmentService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: messageAttachmentService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'messagereluser', |
|
|
|
|
"messagereluser", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: messageRelUserService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: messageRelUserService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'messagetag', |
|
|
|
|
"messagetag", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: messageTagService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: messageTagService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'userreluser', |
|
|
|
|
"userreluser", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: userRelUserService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: userRelUserService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'user', |
|
|
|
|
"user", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: userService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: userService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'usergroup', |
|
|
|
|
"usergroup", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: userGroupService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
service: userGroupService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
store.registerModule( |
|
|
|
|
'socialpost', |
|
|
|
|
"socialpost", |
|
|
|
|
makeCrudModule({ |
|
|
|
|
service: socialPostService |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// Vuetify.
|
|
|
|
|
import '@mdi/font/css/materialdesignicons.css'; |
|
|
|
|
//import 'vuetify/styles'
|
|
|
|
|
import { createVuetify } from 'vuetify'; |
|
|
|
|
import { aliases, mdi } from 'vuetify/lib/iconsets/mdi' |
|
|
|
|
|
|
|
|
|
const options = { |
|
|
|
|
// components,
|
|
|
|
|
// directives,
|
|
|
|
|
defaults: { |
|
|
|
|
global: { |
|
|
|
|
ripple: false, |
|
|
|
|
}, |
|
|
|
|
VSheet: { |
|
|
|
|
elevation: 4, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
icons: { |
|
|
|
|
defaultSet: 'mdi', |
|
|
|
|
aliases, |
|
|
|
|
sets: { |
|
|
|
|
mdi, |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
theme: { |
|
|
|
|
defaultTheme: 'light' |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
const vuetify = createVuetify(options); |
|
|
|
|
|
|
|
|
|
import DashboardLayout from './components/layout/DashboardLayout.vue' |
|
|
|
|
import EmptyLayout from './components/layout/EmptyLayout.vue' |
|
|
|
|
service: socialPostService, |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// Vue setup.
|
|
|
|
|
const app = createApp(App); |
|
|
|
|
|
|
|
|
|
// Quasar
|
|
|
|
|
import { Quasar } from 'quasar' |
|
|
|
|
import quasarUserOptions from './quasar-user-options' |
|
|
|
|
|
|
|
|
|
// Tinymce
|
|
|
|
|
import Editor from './components/Editor'; |
|
|
|
|
|
|
|
|
|
// Prime
|
|
|
|
|
import PrimeVue from 'primevue/config' |
|
|
|
|
import DataView from 'primevue/dataview'; |
|
|
|
|
import DataTable from 'primevue/datatable'; |
|
|
|
|
import Dropdown from 'primevue/dropdown'; |
|
|
|
|
import Toolbar from 'primevue/toolbar'; |
|
|
|
|
import DataViewLayoutOptions from 'primevue/dataviewlayoutoptions'; |
|
|
|
|
|
|
|
|
|
import Dialog from 'primevue/dialog'; |
|
|
|
|
import InputText from 'primevue/inputtext'; |
|
|
|
|
import Button from 'primevue/button'; |
|
|
|
|
import Column from 'primevue/column'; |
|
|
|
|
import ColumnGroup from 'primevue/columngroup'; |
|
|
|
|
import ToastService from 'primevue/toastservice'; |
|
|
|
|
import ConfirmationService from 'primevue/confirmationservice'; |
|
|
|
|
|
|
|
|
|
import 'primevue/resources/primevue.min.css'; |
|
|
|
|
// import 'primeflex/primeflex.css';
|
|
|
|
|
import "primeicons/primeicons.css"; |
|
|
|
|
|
|
|
|
|
app.use(ToastService); |
|
|
|
|
app.use(ConfirmationService); |
|
|
|
|
app.component('Dialog', Dialog); |
|
|
|
|
app.component('DataView', DataView); |
|
|
|
|
app.component('DataTable', DataTable); |
|
|
|
|
app.component('Dropdown', Dropdown); |
|
|
|
|
app.component('DataViewLayoutOptions', DataViewLayoutOptions); |
|
|
|
|
app.component('InputText', InputText); |
|
|
|
|
app.component('Button', Button); |
|
|
|
|
app.component('Column', Column); |
|
|
|
|
app.component('ColumnGroup', ColumnGroup); |
|
|
|
|
app.component('Toolbar', Toolbar); |
|
|
|
|
app.component('DashboardLayout', DashboardLayout); |
|
|
|
|
app.component('EmptyLayout', EmptyLayout); |
|
|
|
|
app.component('TinyEditor', Editor); |
|
|
|
|
|
|
|
|
|
app.config.globalProperties.axios = axios; |
|
|
|
|
const app = createApp(App) |
|
|
|
|
|
|
|
|
|
app.use(ToastService) |
|
|
|
|
app.use(ConfirmationService) |
|
|
|
|
app.component("Dialog", Dialog) |
|
|
|
|
app.component("DataView", DataView) |
|
|
|
|
app.component("DataTable", DataTable) |
|
|
|
|
app.component("Dropdown", Dropdown) |
|
|
|
|
app.component("DataViewLayoutOptions", DataViewLayoutOptions) |
|
|
|
|
app.component("InputText", InputText) |
|
|
|
|
app.component("Button", Button) |
|
|
|
|
app.component("Column", Column) |
|
|
|
|
app.component("ColumnGroup", ColumnGroup) |
|
|
|
|
app.component("Toolbar", Toolbar) |
|
|
|
|
app.component("DashboardLayout", DashboardLayout) |
|
|
|
|
app.component("EmptyLayout", EmptyLayout) |
|
|
|
|
app.component("TinyEditor", Editor) |
|
|
|
|
|
|
|
|
|
app.config.globalProperties.axios = axios |
|
|
|
|
app.config.globalProperties.window = window |
|
|
|
|
const prettyBytes = require('pretty-bytes'); |
|
|
|
|
const { DateTime } = require("luxon"); |
|
|
|
|
|
|
|
|
|
const prettyBytes = require("pretty-bytes") |
|
|
|
|
const { DateTime } = require("luxon") |
|
|
|
|
|
|
|
|
|
app.config.globalProperties.$filters = { |
|
|
|
|
/** |
|
|
|
@ -270,35 +224,23 @@ app.config.globalProperties.$filters = { |
|
|
|
|
* @returns {string} |
|
|
|
|
*/ |
|
|
|
|
abbreviatedDatetime(datetime) { |
|
|
|
|
return DateTime.fromISO(datetime).toLocaleString({ ...DateTime.DATETIME_MED, month: 'long' }); |
|
|
|
|
return DateTime.fromISO(datetime).toLocaleString({ ...DateTime.DATETIME_MED, month: "long" }) |
|
|
|
|
}, |
|
|
|
|
/** |
|
|
|
|
* @param {string} datetime |
|
|
|
|
* @returns {string} |
|
|
|
|
*/ |
|
|
|
|
relativeDatetime(datetime) { |
|
|
|
|
return DateTime.fromISO(datetime).toRelative(); |
|
|
|
|
return DateTime.fromISO(datetime).toRelative() |
|
|
|
|
}, |
|
|
|
|
prettyBytes, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
import Alpine from 'alpinejs' |
|
|
|
|
window.Alpine = Alpine |
|
|
|
|
Alpine.start(); |
|
|
|
|
|
|
|
|
|
const pinia = createPinia(); |
|
|
|
|
|
|
|
|
|
app |
|
|
|
|
.use(PrimeVue, {ripple: false}) |
|
|
|
|
.use(Quasar, quasarUserOptions) |
|
|
|
|
.use(VueFlatPickr) |
|
|
|
|
//.use(VuelidatePlugin)
|
|
|
|
|
// .use(vuetify)
|
|
|
|
|
.use(router) |
|
|
|
|
.use(store) |
|
|
|
|
.use(pinia) |
|
|
|
|
.use(i18n) |
|
|
|
|
.use(Toast, toastOptions) |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
app.mount('#app'); |
|
|
|
|
Alpine.start() |
|
|
|
|
|
|
|
|
|
const pinia = createPinia() |
|
|
|
|
|
|
|
|
|
app.use(PrimeVue, { ripple: false }).use(VueFlatPickr).use(router).use(store).use(pinia).use(i18n) |
|
|
|
|
|
|
|
|
|
app.mount("#app") |
|
|
|
|