// import BootstrapVue from 'bootstrap-vue' import { DropdownPlugin, TablePlugin, BadgePlugin, ButtonPlugin, ButtonGroupPlugin, ButtonToolbarPlugin, CollapsePlugin, FormPlugin, FormCheckboxPlugin, FormFilePlugin, FormGroupPlugin, FormInputPlugin, FormRadioPlugin, FormSelectPlugin, FormTextareaPlugin, InputGroupPlugin, LayoutPlugin, LinkPlugin, ListGroupPlugin, NavbarPlugin, NavPlugin, PaginationNavPlugin, PaginationPlugin, PopoverPlugin, ProgressPlugin, SpinnerPlugin, TableLitePlugin, TableSimplePlugin, TabsPlugin, ToastPlugin, TooltipPlugin, FormDatepickerPlugin, } from 'bootstrap-vue' import VueModal from 'vue-js-modal' import Vuelidate from 'vuelidate' import draggable from 'vuedraggable' import VuePortal from 'portal-vue' import VueNotifications from 'vue-notification' import ToggleButton from 'vue-js-toggle-button' import vClickOutside from 'v-click-outside' import StyleVariables from './plugins/scssVariables' import EverydayFilters from './plugins/EverydayFilters' import DisplayPlugin from './plugins/display' import VueBus from './plugins/bus' import RouterHelper from './mixins/routerHelper' import Datepicker from './components/form/datepicker/components/Datepicker.vue' import Multiselect from './components/multiselect/Multiselect.vue' import ZpDatepicker from './components/datepicker' import ContentComponent from './components/blocks/Content.vue' import PageHeadingComponent from './components/blocks/PageHeading.vue' import dateTimeRangeResources from './resources/datetime' import ModalConstructorComponent from './components/modal/modal-constructor.vue' import ModalBodyComponent from './components/modal/modal-body.vue' import ModalHeaderComponent from './components/modal/modal-header.vue' import ModalFooterComponent from './components/modal/modal-footer.vue' import ChipsComponent from './components/chips/chips.vue' import ChipsContainerComponent from './components/chips/chips-container.vue' import IconLoader from './components/loader/IconLoader.vue' import IconComponent from './components/icons/Icon.vue' import ButtonComponent from './components/buttons/Button.vue' import TextReduction from './components/text-reduction/index.vue' import Paginator from './components/paginator/Paginator.vue' import InputComponent from './components/inputs/fup-input.vue' import NumberInput from './components/inputs/fup-number-input.vue' import TableHeader from './components/table-header/index.vue' import TableConfigurator from './components/table-configurator/index.vue' import FormGroup from './components/form/FormGroup.vue' import FileUploader from './components/form/FileUploader.vue' import PasswordInputComponent from './components/form/PasswordInput.vue' import VueContext from './components/context-menu/index.vue' import DateRange from './components/form/DateRange.vue' import PageLoader from './components/loader/PageLoader.vue' import Datetime from './components/datetime/index.vue' import LoadingComponent from './components/global/LoadingComponent.vue' import ErrorComponent from './components/global/ErrorComponent.vue' import MessagesPlugin from './plugins/messages' import SessionStorePlugin from './plugins/sessionStore' import LocalStorePlugin from './plugins/localStore' import PerformanceTestPlugin from './plugins/performanceTest' import SetupPlugin from './plugins/setupPlugin' export default class FrontUp { static install(Vue) { Vue.config.asyncComponent = { loading: LoadingComponent, error: ErrorComponent, delay: 200, timeout: 3000 }; Vue.use(DropdownPlugin); Vue.use(TablePlugin); Vue.use(BadgePlugin); Vue.use(ButtonPlugin); Vue.use(ButtonGroupPlugin); Vue.use(ButtonToolbarPlugin); Vue.use(CollapsePlugin); Vue.use(FormPlugin); Vue.use(FormCheckboxPlugin); Vue.use(FormFilePlugin); Vue.use(FormGroupPlugin); Vue.use(FormInputPlugin); Vue.use(FormRadioPlugin); Vue.use(FormSelectPlugin); // Vue.use(FormTagsPlugin); Vue.use(FormTextareaPlugin); Vue.use(InputGroupPlugin); Vue.use(LayoutPlugin); Vue.use(LinkPlugin); Vue.use(ListGroupPlugin); Vue.use(NavbarPlugin); Vue.use(NavPlugin); Vue.use(PaginationNavPlugin); Vue.use(PaginationPlugin); Vue.use(PopoverPlugin); Vue.use(ProgressPlugin); Vue.use(SpinnerPlugin); Vue.use(TableLitePlugin); Vue.use(TableSimplePlugin); Vue.use(TabsPlugin); Vue.use(ToastPlugin); Vue.use(TooltipPlugin); Vue.use(FormDatepickerPlugin) Vue.use(PerformanceTestPlugin); // Vue.use(BootstrapVue); Vue.use(RouterHelper); Vue.use(VuePortal); Vue.use(Vuelidate); Vue.use(vClickOutside); Vue.use(MessagesPlugin); Vue.use(SessionStorePlugin); Vue.use(LocalStorePlugin); Vue.use(SetupPlugin); Vue.use(DisplayPlugin); Vue.use(require('vue-inputmask').default); Vue.use(require('vue-shortkey'), {prevent: ['input', 'textarea']}); Vue.use(StyleVariables); Vue.use(VueBus); Vue.use(VueModal, { dialog: true, dynamic: true }); Vue.use(VueNotifications); Vue.use(ToggleButton); Vue.use(EverydayFilters); Vue.use(ZpDatepicker, { days: dateTimeRangeResources.daysOfWeek, daysShort: dateTimeRangeResources.daysShort, monthNames: dateTimeRangeResources.monthNames, colors: dateTimeRangeResources.colors, texts: dateTimeRangeResources.texts, // ariaLabels: dateTimeRangeResources.ariaLabels, keyboardShortcuts: dateTimeRangeResources.keyboardShortcuts, }); Vue.component('fup-icon-loader', IconLoader); Vue.component('fup-page-loader', PageLoader); Vue.component('fup-draggable', draggable); Vue.component('fup-modal-constructor', ModalConstructorComponent); Vue.component('fup-modal-body', ModalBodyComponent); Vue.component('fup-modal-header', ModalHeaderComponent); Vue.component('fup-modal-footer', ModalFooterComponent); Vue.component('fup-datepicker', Datepicker); Vue.component('fup-datetime', Datetime); Vue.component('fup-page-heading-block', PageHeadingComponent); Vue.component('fup-content-block', ContentComponent); Vue.component('fup-input', InputComponent); Vue.component('fup-password-input', PasswordInputComponent); Vue.component('fup-multiselect', Multiselect); Vue.component('fup-number-input', NumberInput); Vue.component('fup-form-group', FormGroup); Vue.component('fup-text-reduction', TextReduction); Vue.component('fup-context', VueContext); Vue.component('fup-file-uploader', FileUploader); Vue.component('fup-date-range', DateRange); Vue.component('fup-table-header', TableHeader); Vue.component('fup-table-configurator', TableConfigurator); Vue.component('fup-icon', IconComponent); Vue.component('fup-button', ButtonComponent); Vue.component('fup-pagination', Paginator); //chips Vue.component('fup-chips', ChipsComponent); Vue.component('fup-chips-container', ChipsContainerComponent); } }