112 lines
2.7 KiB
TypeScript
112 lines
2.7 KiB
TypeScript
import { createApp, defineAsyncComponent } from "vue";
|
|
import App from "./App.vue";
|
|
import router from "./router";
|
|
import { Dialog, Notify, Quasar, Loading } from "quasar";
|
|
import "./quasar-user-options";
|
|
|
|
import qDraggableTable from "quasar-ui-q-draggable-table";
|
|
import "quasar-ui-q-draggable-table/dist/index.css";
|
|
|
|
import "quasar/src/css/index.sass";
|
|
import th from "quasar/lang/th";
|
|
|
|
import "@vuepic/vue-datepicker/dist/main.css";
|
|
import http from "./plugins/http";
|
|
import { createPinia } from "pinia";
|
|
|
|
import CodeDiff from "v-code-diff";
|
|
import json from "highlight.js/lib/languages/json";
|
|
|
|
CodeDiff.hljs.registerLanguage("json", json);
|
|
// organization
|
|
// position
|
|
// positionEmployee
|
|
//calendar
|
|
// insignia
|
|
|
|
// import './assets/main.css'
|
|
|
|
// Import GlobalFilters
|
|
import filters from "./plugins/filters";
|
|
|
|
const app = createApp(App);
|
|
const pinia = createPinia();
|
|
|
|
// เพิ่ม Global Filters ลงใน App
|
|
app.config.globalProperties.$filters = filters;
|
|
|
|
app.use(CodeDiff);
|
|
app.use(router);
|
|
app.use(pinia);
|
|
app.use(qDraggableTable);
|
|
|
|
app.use(
|
|
Quasar,
|
|
{
|
|
plugins: {
|
|
Notify,
|
|
Dialog,
|
|
Loading,
|
|
}, // import Quasar plugins and add here
|
|
config: {
|
|
notify: {
|
|
/* look at QuasarConfOptions from the API card */
|
|
},
|
|
loading: {
|
|
/* look at QuasarConfOptions from the API card */
|
|
},
|
|
},
|
|
lang: th,
|
|
}
|
|
// quasarUserOptions // build ไม่ผ่านหลัง install code org&structure chart เลยต้องคอมเม้นไว้ก่อน เทสแล้วยังรันได้หลังคอมเม้น
|
|
);
|
|
|
|
//** Global Components */
|
|
app.component(
|
|
"data-table",
|
|
defineAsyncComponent(() => import("@/components/TableView.vue"))
|
|
);
|
|
app.component(
|
|
"datepicker",
|
|
defineAsyncComponent(() => import("@vuepic/vue-datepicker"))
|
|
);
|
|
app.component(
|
|
"full-loader",
|
|
defineAsyncComponent(() => import("@/components/FullLoader.vue"))
|
|
);
|
|
|
|
app.component(
|
|
"selector",
|
|
defineAsyncComponent(() => import("@/components/Selector.vue"))
|
|
);
|
|
|
|
app.component(
|
|
"d-table",
|
|
defineAsyncComponent(() => import("@/components/Table.vue"))
|
|
);
|
|
|
|
app.config.globalProperties.$http = http;
|
|
|
|
// authen with keycloak client
|
|
// function getCookie(name: string) {
|
|
// const nameEQ = name + "=";
|
|
// const ca = document.cookie.split(";");
|
|
// for (let i = 0; i < ca.length; i++) {
|
|
// let c = ca[i];
|
|
// while (c.charAt(0) == " ") c = c.substring(1, c.length);
|
|
// if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
|
// }
|
|
// return null;
|
|
// }
|
|
|
|
// const auth = await getToken();
|
|
|
|
// if (auth.token && auth.refresh_token) {
|
|
// keycloak.init({
|
|
// checkLoginIframe: false,
|
|
// token: auth.token,
|
|
// refreshToken: auth.refresh_token,
|
|
// });
|
|
// }
|
|
|
|
app.mount("#app");
|