149 lines
3.5 KiB
TypeScript
149 lines
3.5 KiB
TypeScript
import Vue from 'vue';
|
|
import axios from 'axios';
|
|
import VueAxios from 'vue-axios';
|
|
import BootstrapVue from 'bootstrap-vue';
|
|
import App from './App.vue';
|
|
import router from './router';
|
|
import store from './store';
|
|
import VueSweetalert2 from 'vue-sweetalert2';
|
|
import VueCookies from 'vue-cookies';
|
|
import VueLogger from 'vuejs-logger';
|
|
import VueSocketIOExt from 'vue-socket.io-extended';
|
|
import io from 'socket.io-client';
|
|
import i18n from '@/plugins/i18n';
|
|
import { ValidationObserver, ValidationProvider, extend, localize } from 'vee-validate';
|
|
// @ts-ignore
|
|
import FlagIcon from 'vue-flag-icon';
|
|
// @ts-ignore
|
|
import VueMoment from 'vue-moment';
|
|
// following is to avoid missing type definitions
|
|
// const FlagIcon = require('vue-flag-icon');
|
|
|
|
|
|
import {library} from '@fortawesome/fontawesome-svg-core';
|
|
import {
|
|
faCoffee,
|
|
faDoorOpen,
|
|
faCheck,
|
|
faPlus,
|
|
faScroll,
|
|
faCircle,
|
|
faArrowCircleLeft,
|
|
faArrowCircleRight,
|
|
faList,
|
|
faTrash,
|
|
faPencilAlt,
|
|
faCogs,
|
|
faAt,
|
|
faIdBadge,
|
|
faUser,
|
|
faEnvelope,
|
|
faHome,
|
|
faSync,
|
|
faCode,
|
|
faBarcode,
|
|
faTag,
|
|
faTags,
|
|
faVideo,
|
|
faLock,
|
|
faLockOpen,
|
|
faWrench,
|
|
faPlay,
|
|
faFrown,
|
|
faSmile,
|
|
faUserTag,
|
|
faExternalLinkAlt,
|
|
faThumbsUp,
|
|
faThumbsDown,
|
|
} from '@fortawesome/free-solid-svg-icons';
|
|
|
|
import { faOpenid,
|
|
} from '@fortawesome/free-brands-svg-icons';
|
|
|
|
import {
|
|
faDotCircle,
|
|
} from '@fortawesome/free-regular-svg-icons';
|
|
|
|
import {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';
|
|
|
|
|
|
// import 'bootstrap';
|
|
// import 'bootstrap/dist/css/bootstrap.min.css';
|
|
|
|
import 'bootstrap/dist/css/bootstrap.css';
|
|
import 'bootstrap-vue/dist/bootstrap-vue.css';
|
|
|
|
const isProduction = process.env.NODE_ENV === 'production';
|
|
Vue.prototype.$isProduction = isProduction;
|
|
|
|
library.add(faCoffee, faTrash, faPencilAlt, faScroll, faCheck, faCircle, faList, faPlus, faDoorOpen, faCogs, faAt,
|
|
faUser, faEnvelope, faUserTag, faExternalLinkAlt, faSync, faHome, faCode, faBarcode, faTag, faTags, faVideo, faLock,
|
|
faLockOpen, faArrowCircleLeft, faArrowCircleRight, faWrench, faPlay, faFrown, faSmile, faThumbsUp, faThumbsDown,
|
|
faOpenid, faDotCircle, faIdBadge);
|
|
|
|
Vue.component('font-awesome-icon', FontAwesomeIcon);
|
|
|
|
const loggerOptions = {
|
|
isEnabled: true,
|
|
logLevel : isProduction ? 'error' : 'debug',
|
|
//logLevel: 'debug',
|
|
stringifyArguments: false,
|
|
showLogLevel: true,
|
|
showMethodName: true,
|
|
separator: '|',
|
|
showConsoleColors: true,
|
|
};
|
|
|
|
//Vue.use(VueLogger, loggerOptions);
|
|
Vue.use(VueAxios, axios);
|
|
Vue.use(BootstrapVue);
|
|
Vue.use(FlagIcon);
|
|
Vue.use(VueCookies);
|
|
Vue.use(VueSweetalert2);
|
|
Vue.use(VueMoment);
|
|
|
|
|
|
import en from 'vee-validate/dist/locale/en.json';
|
|
import de from 'vee-validate/dist/locale/de.json';
|
|
import es from 'vee-validate/dist/locale/es.json';
|
|
import * as rules from 'vee-validate/dist/rules';
|
|
import '@/validation.js';
|
|
|
|
// install rules and localization
|
|
Object.keys(rules).forEach((rule) => {
|
|
// @ts-ignore
|
|
extend(rule, rules[rule]);
|
|
});
|
|
|
|
localize('de', de);
|
|
|
|
// Install components globally
|
|
Vue.component('ValidationObserver', ValidationObserver);
|
|
Vue.component('ValidationProvider', ValidationProvider);
|
|
|
|
// const socket = io('ws://localhost:5000',{autoConnect: false, reconnectionAttempts: 3});
|
|
const socket = io('ws://localhost:5443', {
|
|
autoConnect: false,
|
|
reconnectionAttempts: 3,
|
|
query: {jwt: store.state.access_token},
|
|
});
|
|
Vue.use(VueSocketIOExt, socket);
|
|
|
|
|
|
|
|
Vue.config.productionTip = false;
|
|
|
|
|
|
// @ts-ignore
|
|
String.prototype.isEmpty = function() {
|
|
return (this.length === 0 || !this.trim());
|
|
};
|
|
|
|
new Vue({
|
|
i18n,
|
|
router,
|
|
store,
|
|
render: (h) => h(App),
|
|
}).$mount('#app');
|
|
|