xref: /openbmc/webui-vue/src/main.js (revision c4e38abf)
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,
1182cca545SYoshie 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,
20*c4e38abfSYoshie Muranaka  InputGroupPlugin,
2135080acbSYoshie Muranaka  LayoutPlugin,
2242c19893SDerick Montague  LinkPlugin,
2397d86b33SDixsie Wolmers  ListGroupPlugin,
2442c19893SDerick Montague  ModalPlugin,
2542c19893SDerick Montague  NavbarPlugin,
2642c19893SDerick Montague  NavPlugin,
270fc91e79SYoshie Muranaka  TablePlugin,
281be6b41eSYoshie Muranaka  ToastPlugin,
291be6b41eSYoshie Muranaka  TooltipPlugin
30fded0d11SDerick Montague} from 'bootstrap-vue';
314b0fc1dbSYoshie Muranakaimport Vuelidate from 'vuelidate';
32cbcd2136SDixsie Wolmersimport i18n from './i18n';
33a2988f40SDerick Montague
3497f4187eSDixsie Wolmers// Filters
3597f4187eSDixsie WolmersVue.filter('formatDate', function(value) {
3697f4187eSDixsie Wolmers  const dateOptions = {
3797f4187eSDixsie Wolmers    year: 'numeric',
3897f4187eSDixsie Wolmers    month: 'short',
3997f4187eSDixsie Wolmers    day: 'numeric'
4097f4187eSDixsie Wolmers  };
4197f4187eSDixsie Wolmers  if (value instanceof Date) {
4297f4187eSDixsie Wolmers    return value.toLocaleDateString(i18n.locale, dateOptions);
4397f4187eSDixsie Wolmers  }
4497f4187eSDixsie Wolmers});
4597d86b33SDixsie Wolmers
4697f4187eSDixsie WolmersVue.filter('formatTime', function(value) {
4797f4187eSDixsie Wolmers  const timeOptions = {
4897f4187eSDixsie Wolmers    hour: 'numeric',
4997f4187eSDixsie Wolmers    minute: 'numeric',
5097f4187eSDixsie Wolmers    second: 'numeric',
5197f4187eSDixsie Wolmers    timeZoneName: 'short'
5297f4187eSDixsie Wolmers  };
5397f4187eSDixsie Wolmers  if (value instanceof Date) {
5497f4187eSDixsie Wolmers    return value.toLocaleTimeString('default', timeOptions);
5597f4187eSDixsie Wolmers  }
5697f4187eSDixsie Wolmers});
5797f4187eSDixsie Wolmers
5897f4187eSDixsie Wolmers// Plugins
59676f2fcaSDerick MontagueVue.use(AlertPlugin);
6097d86b33SDixsie WolmersVue.use(BadgePlugin);
61a2988f40SDerick MontagueVue.use(ButtonPlugin);
624b0fc1dbSYoshie MuranakaVue.use(BVConfigPlugin, {
637f970a1fSDerick Montague  BFormText: { textVariant: 'secondary' },
644b0fc1dbSYoshie Muranaka  BTable: {
654b0fc1dbSYoshie Muranaka    headVariant: 'light',
664b0fc1dbSYoshie Muranaka    footVariant: 'light'
67532a4b03SYoshie Muranaka  },
68532a4b03SYoshie Muranaka  BFormTags: {
69532a4b03SYoshie Muranaka    tagVariant: 'primary',
70532a4b03SYoshie Muranaka    addButtonVariant: 'link-primary'
7182cca545SYoshie Muranaka  },
7282cca545SYoshie Muranaka  BBadge: {
7382cca545SYoshie Muranaka    variant: 'primary'
744b0fc1dbSYoshie Muranaka  }
754b0fc1dbSYoshie Muranaka});
76a2988f40SDerick MontagueVue.use(CollapsePlugin);
7782cca545SYoshie MuranakaVue.use(DropdownPlugin);
78e080a1a7SDerick MontagueVue.use(FormPlugin);
7997d86b33SDixsie WolmersVue.use(FormCheckboxPlugin);
8037393810SYoshie MuranakaVue.use(FormFilePlugin);
81e080a1a7SDerick MontagueVue.use(FormGroupPlugin);
82e080a1a7SDerick MontagueVue.use(FormInputPlugin);
83463a5706SYoshie MuranakaVue.use(FormRadioPlugin);
84463a5706SYoshie MuranakaVue.use(FormSelectPlugin);
85532a4b03SYoshie MuranakaVue.use(FormTagsPlugin);
86*c4e38abfSYoshie MuranakaVue.use(InputGroupPlugin);
87e080a1a7SDerick MontagueVue.use(LayoutPlugin);
8897d86b33SDixsie WolmersVue.use(LayoutPlugin);
89a2988f40SDerick MontagueVue.use(LinkPlugin);
9097d86b33SDixsie WolmersVue.use(ListGroupPlugin);
9135080acbSYoshie MuranakaVue.use(ModalPlugin);
9242c19893SDerick MontagueVue.use(NavbarPlugin);
9342c19893SDerick MontagueVue.use(NavPlugin);
9442c19893SDerick MontagueVue.use(TablePlugin);
950fc91e79SYoshie MuranakaVue.use(ToastPlugin);
961be6b41eSYoshie MuranakaVue.use(TooltipPlugin);
974b0fc1dbSYoshie MuranakaVue.use(Vuelidate);
98a2988f40SDerick Montague
99a2988f40SDerick Montaguenew Vue({
100a2988f40SDerick Montague  router,
101a2988f40SDerick Montague  store,
102cbcd2136SDixsie Wolmers  i18n,
103a2988f40SDerick Montague  render: h => h(App)
104fded0d11SDerick Montague}).$mount('#app');
105