xref: /openbmc/webui-vue/src/main.js (revision 82cca545)
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,
11*82cca545SYoshie Muranaka  DropdownPlugin,
12e080a1a7SDerick Montague  FormPlugin,
1397d86b33SDixsie Wolmers  FormCheckboxPlugin,
1437393810SYoshie Muranaka  FormFilePlugin,
15e080a1a7SDerick Montague  FormGroupPlugin,
16e080a1a7SDerick Montague  FormInputPlugin,
17463a5706SYoshie Muranaka  FormRadioPlugin,
18463a5706SYoshie Muranaka  FormSelectPlugin,
19532a4b03SYoshie Muranaka  FormTagsPlugin,
2035080acbSYoshie Muranaka  LayoutPlugin,
2142c19893SDerick Montague  LinkPlugin,
2297d86b33SDixsie Wolmers  ListGroupPlugin,
2342c19893SDerick Montague  ModalPlugin,
2442c19893SDerick Montague  NavbarPlugin,
2542c19893SDerick Montague  NavPlugin,
260fc91e79SYoshie Muranaka  TablePlugin,
271be6b41eSYoshie Muranaka  ToastPlugin,
281be6b41eSYoshie Muranaka  TooltipPlugin
29fded0d11SDerick Montague} from 'bootstrap-vue';
304b0fc1dbSYoshie Muranakaimport Vuelidate from 'vuelidate';
31cbcd2136SDixsie Wolmersimport i18n from './i18n';
32a2988f40SDerick Montague
3397f4187eSDixsie Wolmers// Filters
3497f4187eSDixsie WolmersVue.filter('formatDate', function(value) {
3597f4187eSDixsie Wolmers  const dateOptions = {
3697f4187eSDixsie Wolmers    year: 'numeric',
3797f4187eSDixsie Wolmers    month: 'short',
3897f4187eSDixsie Wolmers    day: 'numeric'
3997f4187eSDixsie Wolmers  };
4097f4187eSDixsie Wolmers  if (value instanceof Date) {
4197f4187eSDixsie Wolmers    return value.toLocaleDateString(i18n.locale, dateOptions);
4297f4187eSDixsie Wolmers  }
4397f4187eSDixsie Wolmers});
4497d86b33SDixsie Wolmers
4597f4187eSDixsie WolmersVue.filter('formatTime', function(value) {
4697f4187eSDixsie Wolmers  const timeOptions = {
4797f4187eSDixsie Wolmers    hour: 'numeric',
4897f4187eSDixsie Wolmers    minute: 'numeric',
4997f4187eSDixsie Wolmers    second: 'numeric',
5097f4187eSDixsie Wolmers    timeZoneName: 'short'
5197f4187eSDixsie Wolmers  };
5297f4187eSDixsie Wolmers  if (value instanceof Date) {
5397f4187eSDixsie Wolmers    return value.toLocaleTimeString('default', timeOptions);
5497f4187eSDixsie Wolmers  }
5597f4187eSDixsie Wolmers});
5697f4187eSDixsie Wolmers
5797f4187eSDixsie Wolmers// Plugins
58676f2fcaSDerick MontagueVue.use(AlertPlugin);
5997d86b33SDixsie WolmersVue.use(BadgePlugin);
60a2988f40SDerick MontagueVue.use(ButtonPlugin);
614b0fc1dbSYoshie MuranakaVue.use(BVConfigPlugin, {
627f970a1fSDerick Montague  BFormText: { textVariant: 'secondary' },
634b0fc1dbSYoshie Muranaka  BTable: {
644b0fc1dbSYoshie Muranaka    headVariant: 'light',
654b0fc1dbSYoshie Muranaka    footVariant: 'light'
66532a4b03SYoshie Muranaka  },
67532a4b03SYoshie Muranaka  BFormTags: {
68532a4b03SYoshie Muranaka    tagVariant: 'primary',
69532a4b03SYoshie Muranaka    addButtonVariant: 'link-primary'
70*82cca545SYoshie Muranaka  },
71*82cca545SYoshie Muranaka  BBadge: {
72*82cca545SYoshie Muranaka    variant: 'primary'
734b0fc1dbSYoshie Muranaka  }
744b0fc1dbSYoshie Muranaka});
75a2988f40SDerick MontagueVue.use(CollapsePlugin);
76*82cca545SYoshie MuranakaVue.use(DropdownPlugin);
77e080a1a7SDerick MontagueVue.use(FormPlugin);
7897d86b33SDixsie WolmersVue.use(FormCheckboxPlugin);
7937393810SYoshie MuranakaVue.use(FormFilePlugin);
80e080a1a7SDerick MontagueVue.use(FormGroupPlugin);
81e080a1a7SDerick MontagueVue.use(FormInputPlugin);
82463a5706SYoshie MuranakaVue.use(FormRadioPlugin);
83463a5706SYoshie MuranakaVue.use(FormSelectPlugin);
84532a4b03SYoshie MuranakaVue.use(FormTagsPlugin);
85e080a1a7SDerick MontagueVue.use(LayoutPlugin);
8697d86b33SDixsie WolmersVue.use(LayoutPlugin);
87a2988f40SDerick MontagueVue.use(LinkPlugin);
8897d86b33SDixsie WolmersVue.use(ListGroupPlugin);
8935080acbSYoshie MuranakaVue.use(ModalPlugin);
9042c19893SDerick MontagueVue.use(NavbarPlugin);
9142c19893SDerick MontagueVue.use(NavPlugin);
9242c19893SDerick MontagueVue.use(TablePlugin);
930fc91e79SYoshie MuranakaVue.use(ToastPlugin);
941be6b41eSYoshie MuranakaVue.use(TooltipPlugin);
954b0fc1dbSYoshie MuranakaVue.use(Vuelidate);
96a2988f40SDerick Montague
97a2988f40SDerick Montaguenew Vue({
98a2988f40SDerick Montague  router,
99a2988f40SDerick Montague  store,
100cbcd2136SDixsie Wolmers  i18n,
101a2988f40SDerick Montague  render: h => h(App)
102fded0d11SDerick Montague}).$mount('#app');
103