// Polyfills for js features used in the Dashboard but not supported in some browsers (mainly IE) import '@/polyfills' // Notifications plugin. Used on Notifications page import Notifications from '@/components/NotificationPlugin' // Validation plugin used to validate forms import { configure } from 'vee-validate' // A plugin file where you could register global components used across the app import GlobalComponents from './globalComponents' // A plugin file where you could register global directives import GlobalDirectives from './globalDirectives' // Sidebar on the right. Used as a local plugin in DashboardLayout.vue import SideBar from '@/components/SidebarPlugin' // element ui language configuration import lang from 'element-ui/lib/locale/lang/en' import locale from 'element-ui/lib/locale' locale.use(lang) // vue-bootstrap import { BootstrapVue, IconsPlugin } from 'bootstrap-vue' // asset imports import '@/assets/scss/argon.scss' import '@/assets/vendor/nucleo/css/nucleo.css' import { extend } from 'vee-validate' import * as rules from 'vee-validate/dist/rules' import { messages } from 'vee-validate/dist/locale/en.json' import VueQrcodeReader from 'vue-qrcode-reader' import VueQrcode from 'vue-qrcode' import VueFlatPickr from 'vue-flatpickr-component' import VueGoodTablePlugin from 'vue-good-table' // import the styles import 'vue-good-table/dist/vue-good-table.css' import VueMoment from 'vue-moment' Object.keys(rules).forEach((rule) => { extend(rule, { ...rules[rule], // copies rule configuration message: messages[rule], // assign message }) }) export default { install(Vue) { Vue.use(GlobalComponents) Vue.use(GlobalDirectives) Vue.use(SideBar) Vue.use(Notifications) Vue.use(BootstrapVue) Vue.use(IconsPlugin) Vue.use(VueGoodTablePlugin) Vue.use(VueMoment) Vue.use(VueQrcodeReader) Vue.use(VueQrcode) Vue.use(VueFlatPickr) configure({ classes: { valid: 'is-valid', invalid: 'is-invalid', dirty: ['is-dirty', 'is-dirty'], // multiple classes per flag! }, }) }, }