165 lines
3.0 KiB
JavaScript
165 lines
3.0 KiB
JavaScript
/*=========================================================================================
|
|
File Name: main.jsقخ
|
|
Description: main vue(js) file
|
|
----------------------------------------------------------------------------------------
|
|
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
|
Author: Pixinvent
|
|
Author URL: http://www.themeforest.net/user/pixinvent
|
|
==========================================================================================*/
|
|
|
|
|
|
import Vue from 'vue'
|
|
import Antd from 'ant-design-vue';
|
|
import App from './App.vue'
|
|
|
|
import 'ant-design-vue/dist/antd.less';
|
|
|
|
// Vuesax Component Framework
|
|
import Vuesax from 'vuesax'
|
|
import 'material-icons/iconfont/material-icons.css' //Material Icons
|
|
import 'vuesax/dist/vuesax.css' // Vuesax
|
|
Vue.use(Vuesax)
|
|
Vue.use(Antd)
|
|
|
|
// axios
|
|
import axios from './axios.js'
|
|
|
|
Vue.prototype.$http = axios
|
|
|
|
// API Calls
|
|
/*import './http/requests'*/
|
|
|
|
// mock
|
|
/*import './fake-db/index.js'*/
|
|
|
|
// Theme Configurations
|
|
import '../themeConfig.js'
|
|
|
|
|
|
// Firebase
|
|
import '@/firebase/firebaseConfig'
|
|
|
|
|
|
// Auth0 Plugin
|
|
import AuthPlugin from './plugins/auth'
|
|
|
|
Vue.use(AuthPlugin)
|
|
|
|
|
|
// ACL
|
|
import acl from './acl/acl'
|
|
|
|
|
|
// Globally Registered Components
|
|
import './globalComponents.js'
|
|
|
|
|
|
// Styles: SCSS
|
|
import './assets/scss/main.scss'
|
|
|
|
|
|
// Tailwind
|
|
import '@/assets/css/main.css'
|
|
|
|
// Vue Router
|
|
import router from './router'
|
|
|
|
|
|
// Vuex Store
|
|
import store from './store/store'
|
|
|
|
|
|
// i18n
|
|
import i18n from './i18n/i18n'
|
|
|
|
|
|
// Vuexy Admin Filters
|
|
import './filters/filters'
|
|
|
|
|
|
// Clipboard
|
|
/*import VueClipboard from 'vue-clipboard2'
|
|
|
|
Vue.use(VueClipboard)*/
|
|
|
|
|
|
// Tour
|
|
/*import VueTour from 'vue-tour'
|
|
|
|
Vue.use(VueTour)
|
|
require('vue-tour/dist/vue-tour.css')*/
|
|
|
|
|
|
// VeeValidate
|
|
import VeeValidate from 'vee-validate'
|
|
|
|
Vue.use(VeeValidate)
|
|
|
|
|
|
// Google Maps
|
|
/*import * as VueGoogleMaps from 'vue2-google-maps'
|
|
|
|
Vue.use(VueGoogleMaps, {
|
|
load: {
|
|
// Add your API key here
|
|
key: 'AIzaSyB4DDathvvwuwlwnUu7F4Sow3oU22y5T1Y',
|
|
libraries: 'places' // This is required if you use the Auto complete plug-in
|
|
}
|
|
})*/
|
|
|
|
// Vuejs - Vue wrapper for hammerjs
|
|
import {VueHammer} from 'vue2-hammer'
|
|
|
|
Vue.use(VueHammer)
|
|
|
|
|
|
// Vuejs - Vue wrapper for hammerjs
|
|
import notify from './notify'
|
|
|
|
Vue.use(notify)
|
|
|
|
|
|
// PrismJS
|
|
//import 'prismjs'
|
|
import 'prismjs/themes/prism-tomorrow.css'
|
|
|
|
|
|
// Feather font icon
|
|
require('./assets/css/iconfont.css')
|
|
|
|
|
|
// Vue select css
|
|
// Note: In latest version you have to add it separately
|
|
// import 'vue-select/dist/vue-select.css';
|
|
|
|
//permission functions
|
|
Vue.prototype.$getAccess = (rid)=>{
|
|
const roles = store.state.access.permissions
|
|
if(roles){
|
|
return roles.includes(rid)
|
|
}
|
|
}
|
|
import VuePersianDatetimePicker from 'vue-persian-datetime-picker';
|
|
Vue.use(VuePersianDatetimePicker, {
|
|
name: 'date-picker',
|
|
props: {
|
|
displayFormat: 'jYYYY/jMM/jDD',
|
|
format: 'YYYY/MM/DD',
|
|
editable: false,
|
|
inputClass: '',
|
|
placeholder: 'انتخاب کنید',
|
|
color: '#1DA57A',
|
|
autoSubmit: true,
|
|
}
|
|
});
|
|
|
|
Vue.config.productionTip = false
|
|
|
|
new Vue({
|
|
router,
|
|
store,
|
|
i18n,
|
|
acl,
|
|
render: h => h(App)
|
|
}).$mount('#app')
|