blob: ab1f2967f448fb95754d4b47fe96fb1f92ed03dd [file] [log] [blame]
Derick Montaguefded0d12019-12-11 06:16:40 -06001import Vue from 'vue';
2import App from './App.vue';
3import router from './router';
4import store from './store';
Derick Montaguea2988f42020-01-17 13:46:30 -06005import {
Derick Montague676f2fc2019-12-23 20:53:49 -06006 AlertPlugin,
Dixsie Wolmers97d86b32019-12-02 05:07:57 -06007 BadgePlugin,
Derick Montaguea2988f42020-01-17 13:46:30 -06008 ButtonPlugin,
Yoshie Muranaka4b0fc1d2020-01-06 07:36:16 -08009 BVConfigPlugin,
Derick Montaguea2988f42020-01-17 13:46:30 -060010 CollapsePlugin,
Derick Montaguee080a1a2019-12-04 16:30:08 -060011 FormPlugin,
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060012 FormCheckboxPlugin,
Derick Montaguee080a1a2019-12-04 16:30:08 -060013 FormGroupPlugin,
14 FormInputPlugin,
Yoshie Muranaka463a5702019-12-04 09:09:36 -080015 FormRadioPlugin,
16 FormSelectPlugin,
Yoshie Muranaka35080ac2020-01-17 15:38:57 -060017 LayoutPlugin,
Derick Montague42c19892020-01-17 16:10:34 -060018 LinkPlugin,
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060019 ListGroupPlugin,
Derick Montague42c19892020-01-17 16:10:34 -060020 ModalPlugin,
21 NavbarPlugin,
22 NavPlugin,
Yoshie Muranaka0fc91e72020-02-05 11:23:06 -080023 TablePlugin,
24 ToastPlugin
Derick Montaguefded0d12019-12-11 06:16:40 -060025} from 'bootstrap-vue';
Yoshie Muranaka4b0fc1d2020-01-06 07:36:16 -080026import Vuelidate from 'vuelidate';
Dixsie Wolmerscbcd2132020-01-30 20:58:37 -060027import i18n from './i18n';
Derick Montaguea2988f42020-01-17 13:46:30 -060028
Dixsie Wolmers97f41872020-02-23 15:56:16 -060029// Filters
30Vue.filter('formatDate', function(value) {
31 const dateOptions = {
32 year: 'numeric',
33 month: 'short',
34 day: 'numeric'
35 };
36 if (value instanceof Date) {
37 return value.toLocaleDateString(i18n.locale, dateOptions);
38 }
39});
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060040
Dixsie Wolmers97f41872020-02-23 15:56:16 -060041Vue.filter('formatTime', function(value) {
42 const timeOptions = {
43 hour: 'numeric',
44 minute: 'numeric',
45 second: 'numeric',
46 timeZoneName: 'short'
47 };
48 if (value instanceof Date) {
49 return value.toLocaleTimeString('default', timeOptions);
50 }
51});
52
53// Plugins
Derick Montague676f2fc2019-12-23 20:53:49 -060054Vue.use(AlertPlugin);
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060055Vue.use(BadgePlugin);
Derick Montaguea2988f42020-01-17 13:46:30 -060056Vue.use(ButtonPlugin);
Yoshie Muranaka4b0fc1d2020-01-06 07:36:16 -080057Vue.use(BVConfigPlugin, {
Derick Montague7f970a12020-03-02 17:56:09 -060058 BFormText: { textVariant: 'secondary' },
Yoshie Muranaka4b0fc1d2020-01-06 07:36:16 -080059 BTable: {
60 headVariant: 'light',
61 footVariant: 'light'
62 }
63});
Derick Montaguea2988f42020-01-17 13:46:30 -060064Vue.use(CollapsePlugin);
Derick Montaguee080a1a2019-12-04 16:30:08 -060065Vue.use(FormPlugin);
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060066Vue.use(FormCheckboxPlugin);
Derick Montaguee080a1a2019-12-04 16:30:08 -060067Vue.use(FormGroupPlugin);
68Vue.use(FormInputPlugin);
Yoshie Muranaka463a5702019-12-04 09:09:36 -080069Vue.use(FormRadioPlugin);
70Vue.use(FormSelectPlugin);
Derick Montaguee080a1a2019-12-04 16:30:08 -060071Vue.use(LayoutPlugin);
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060072Vue.use(LayoutPlugin);
Derick Montaguea2988f42020-01-17 13:46:30 -060073Vue.use(LinkPlugin);
Dixsie Wolmers97d86b32019-12-02 05:07:57 -060074Vue.use(ListGroupPlugin);
Yoshie Muranaka35080ac2020-01-17 15:38:57 -060075Vue.use(ModalPlugin);
Derick Montague42c19892020-01-17 16:10:34 -060076Vue.use(NavbarPlugin);
77Vue.use(NavPlugin);
78Vue.use(TablePlugin);
Yoshie Muranaka0fc91e72020-02-05 11:23:06 -080079Vue.use(ToastPlugin);
Yoshie Muranaka4b0fc1d2020-01-06 07:36:16 -080080Vue.use(Vuelidate);
Derick Montaguea2988f42020-01-17 13:46:30 -060081
Derick Montaguea2988f42020-01-17 13:46:30 -060082new Vue({
83 router,
84 store,
Dixsie Wolmerscbcd2132020-01-30 20:58:37 -060085 i18n,
Derick Montaguea2988f42020-01-17 13:46:30 -060086 render: h => h(App)
Derick Montaguefded0d12019-12-11 06:16:40 -060087}).$mount('#app');