xref: /openbmc/webui-vue/src/main.js (revision 7f970a1f)
1fded0d11SDerick Montagueimport Vue from 'vue';
2fded0d11SDerick Montagueimport App from './App.vue';
3fded0d11SDerick Montagueimport router from './router';
4fded0d11SDerick Montagueimport store from './store';
5a2988f40SDerick Montagueimport {
6676f2fcaSDerick Montague  AlertPlugin,
797d86b33SDixsie Wolmers  BadgePlugin,
8a2988f40SDerick Montague  ButtonPlugin,
94b0fc1dbSYoshie Muranaka  BVConfigPlugin,
10a2988f40SDerick Montague  CollapsePlugin,
11e080a1a7SDerick Montague  FormPlugin,
1297d86b33SDixsie Wolmers  FormCheckboxPlugin,
13e080a1a7SDerick Montague  FormGroupPlugin,
14e080a1a7SDerick Montague  FormInputPlugin,
15463a5706SYoshie Muranaka  FormRadioPlugin,
16463a5706SYoshie Muranaka  FormSelectPlugin,
1735080acbSYoshie Muranaka  LayoutPlugin,
1842c19893SDerick Montague  LinkPlugin,
1997d86b33SDixsie Wolmers  ListGroupPlugin,
2042c19893SDerick Montague  ModalPlugin,
2142c19893SDerick Montague  NavbarPlugin,
2242c19893SDerick Montague  NavPlugin,
230fc91e79SYoshie Muranaka  TablePlugin,
240fc91e79SYoshie Muranaka  ToastPlugin
25fded0d11SDerick Montague} from 'bootstrap-vue';
264b0fc1dbSYoshie Muranakaimport Vuelidate from 'vuelidate';
27cbcd2136SDixsie Wolmersimport i18n from './i18n';
28a2988f40SDerick Montague
2997f4187eSDixsie Wolmers// Filters
3097f4187eSDixsie WolmersVue.filter('formatDate', function(value) {
3197f4187eSDixsie Wolmers  const dateOptions = {
3297f4187eSDixsie Wolmers    year: 'numeric',
3397f4187eSDixsie Wolmers    month: 'short',
3497f4187eSDixsie Wolmers    day: 'numeric'
3597f4187eSDixsie Wolmers  };
3697f4187eSDixsie Wolmers  if (value instanceof Date) {
3797f4187eSDixsie Wolmers    return value.toLocaleDateString(i18n.locale, dateOptions);
3897f4187eSDixsie Wolmers  }
3997f4187eSDixsie Wolmers});
4097d86b33SDixsie Wolmers
4197f4187eSDixsie WolmersVue.filter('formatTime', function(value) {
4297f4187eSDixsie Wolmers  const timeOptions = {
4397f4187eSDixsie Wolmers    hour: 'numeric',
4497f4187eSDixsie Wolmers    minute: 'numeric',
4597f4187eSDixsie Wolmers    second: 'numeric',
4697f4187eSDixsie Wolmers    timeZoneName: 'short'
4797f4187eSDixsie Wolmers  };
4897f4187eSDixsie Wolmers  if (value instanceof Date) {
4997f4187eSDixsie Wolmers    return value.toLocaleTimeString('default', timeOptions);
5097f4187eSDixsie Wolmers  }
5197f4187eSDixsie Wolmers});
5297f4187eSDixsie Wolmers
5397f4187eSDixsie Wolmers// Plugins
54676f2fcaSDerick MontagueVue.use(AlertPlugin);
5597d86b33SDixsie WolmersVue.use(BadgePlugin);
56a2988f40SDerick MontagueVue.use(ButtonPlugin);
574b0fc1dbSYoshie MuranakaVue.use(BVConfigPlugin, {
58*7f970a1fSDerick Montague  BFormText: { textVariant: 'secondary' },
594b0fc1dbSYoshie Muranaka  BTable: {
604b0fc1dbSYoshie Muranaka    headVariant: 'light',
614b0fc1dbSYoshie Muranaka    footVariant: 'light'
624b0fc1dbSYoshie Muranaka  }
634b0fc1dbSYoshie Muranaka});
64a2988f40SDerick MontagueVue.use(CollapsePlugin);
65e080a1a7SDerick MontagueVue.use(FormPlugin);
6697d86b33SDixsie WolmersVue.use(FormCheckboxPlugin);
67e080a1a7SDerick MontagueVue.use(FormGroupPlugin);
68e080a1a7SDerick MontagueVue.use(FormInputPlugin);
69463a5706SYoshie MuranakaVue.use(FormRadioPlugin);
70463a5706SYoshie MuranakaVue.use(FormSelectPlugin);
71e080a1a7SDerick MontagueVue.use(LayoutPlugin);
7297d86b33SDixsie WolmersVue.use(LayoutPlugin);
73a2988f40SDerick MontagueVue.use(LinkPlugin);
7497d86b33SDixsie WolmersVue.use(ListGroupPlugin);
7535080acbSYoshie MuranakaVue.use(ModalPlugin);
7642c19893SDerick MontagueVue.use(NavbarPlugin);
7742c19893SDerick MontagueVue.use(NavPlugin);
7842c19893SDerick MontagueVue.use(TablePlugin);
790fc91e79SYoshie MuranakaVue.use(ToastPlugin);
804b0fc1dbSYoshie MuranakaVue.use(Vuelidate);
81a2988f40SDerick Montague
82a2988f40SDerick Montaguenew Vue({
83a2988f40SDerick Montague  router,
84a2988f40SDerick Montague  store,
85cbcd2136SDixsie Wolmers  i18n,
86a2988f40SDerick Montague  render: h => h(App)
87fded0d11SDerick Montague}).$mount('#app');
88