laravel-vue-datatable
Version:
Vue.js datatable made with Laravel and Bootstrap in mind
97 lines (81 loc) • 2.25 kB
text/typescript
//Imports
import 'bootstrap';
import Vue from 'vue';
import Vuex from 'vuex';
import moment from 'moment'
import App from './App.vue';
import routes from './routes.js';
import VueRouter from 'vue-router';
import DataTable from './plugin';
import 'highlight.js/styles/github.css';
import VueHighlightJS from 'vue-highlightjs';
import 'bootstrap/dist/css/bootstrap.min.css';
import createPersistedState from 'vuex-persistedstate';
import { library } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
import VueSweetalert2 from 'vue-sweetalert2';
import './assets/styles/main.css';
import 'sweetalert2/dist/sweetalert2.min.css';
Vue.use(VueSweetalert2);
//Plugin Useage
Vue.use(Vuex);
Vue.use(DataTable);
Vue.use(VueRouter);
Vue.use(VueHighlightJS);
//Font Awesome
import { faEye } from '@fortawesome/free-regular-svg-icons';
import { faInfoCircle, faTable, faProjectDiagram, faRestroom, faHammer, faEllipsisV, faBars } from '@fortawesome/free-solid-svg-icons';
import { faVuejs, faPhp, faLaravel, faGithub } from '@fortawesome/free-brands-svg-icons';
library.add(
faBars,
faEllipsisV,
faVuejs,
faPhp,
faGithub,
faLaravel,
faTable,
faProjectDiagram,
faInfoCircle,
faEye,
faRestroom,
faHammer
);
Vue.component('font-awesome-icon', FontAwesomeIcon);
//Filters
Vue.filter('formatDate', function(value, format='Do MMMM YYYY') {
if (value) {
return moment(String(value)).format(format)
}
return 'N/A'
});
//Filters
Vue.filter('padDigit', function(num, padlen, padchar) {
var pad_char = typeof padchar !== 'undefined' ? padchar : '0';
var pad = new Array(1 + padlen).join(pad_char);
return (pad + num).slice(-pad.length);
});
//VueRouter
const router = new VueRouter({
mode: "history",
base: "/",
routes,
scrollBehavior () {
return { x: 0, y: 0 }
},
});
//Turn off production tips
Vue.config.productionTip = false;
//VueX
import state from './state';
import mutations from './mutations';
const store = new Vuex.Store({
state,
mutations,
plugins: [createPersistedState()],
});
//App Instance
new Vue({
store,
router,
render: h => h(App),
}).$mount('#app');