import Vue from 'vue' import Context from '@baserow/modules/core/components/Context' import Modal from '@baserow/modules/core/components/Modal' import Editable from '@baserow/modules/core/components/Editable' import Dropdown from '@baserow/modules/core/components/Dropdown' import DropdownItem from '@baserow/modules/core/components/DropdownItem' import Picker from '@baserow/modules/core/components/Picker' import ProgressBar from '@baserow/modules/core/components/ProgressBar' import Checkbox from '@baserow/modules/core/components/Checkbox' import Radio from '@baserow/modules/core/components/Radio' import RadioGroup from '@baserow/modules/core/components/RadioGroup' import Scrollbars from '@baserow/modules/core/components/Scrollbars' import Error from '@baserow/modules/core/components/Error' import SwitchInput from '@baserow/modules/core/components/SwitchInput' import Copied from '@baserow/modules/core/components/Copied' import MarkdownIt from '@baserow/modules/core/components/MarkdownIt' import DownloadLink from '@baserow/modules/core/components/DownloadLink' import FormElement from '@baserow/modules/core/components/FormElement' import Alert from '@baserow/modules/core/components/Alert' import Tabs from '@baserow/modules/core/components/Tabs' import Tab from '@baserow/modules/core/components/Tab' import List from '@baserow/modules/core/components/List' import HelpIcon from '@baserow/modules/core/components/HelpIcon' import Button from '@baserow/modules/core/components/Button' import ButtonText from '@baserow/modules/core/components/ButtonText' import ButtonAdd from '@baserow/modules/core/components/ButtonAdd' import ButtonIcon from '@baserow/modules/core/components/ButtonIcon' import ButtonFloating from '@baserow/modules/core/components/ButtonFloating' import Avatar from '@baserow/modules/core/components/Avatar' import Chips from '@baserow/modules/core/components/Chips' import Presentation from '@baserow/modules/core/components/Presentation' import FormInput from '@baserow/modules/core/components/FormInput' import ImageInput from '@baserow/modules/core/components/ImageInput' import FormTextarea from '@baserow/modules/core/components/FormTextarea' import CallToAction from '@baserow/modules/core/components/CallToAction.vue' import FormGroup from '@baserow/modules/core/components/FormGroup' import FormRow from '@baserow/modules/core/components/FormRow' import Logo from '@baserow/modules/core/components/Logo' import ReadOnlyForm from '@baserow/modules/core/components/ReadOnlyForm' import FormSection from '@baserow/modules/core/components/FormSection' import lowercase from '@baserow/modules/core/filters/lowercase' import uppercase from '@baserow/modules/core/filters/uppercase' import nameAbbreviation from '@baserow/modules/core/filters/nameAbbreviation' import scroll from '@baserow/modules/core/directives/scroll' import preventParentScroll from '@baserow/modules/core/directives/preventParentScroll' import tooltip from '@baserow/modules/core/directives/tooltip' import sortable from '@baserow/modules/core/directives/sortable' import autoOverflowScroll from '@baserow/modules/core/directives/autoOverflowScroll' import userFileUpload from '@baserow/modules/core/directives/userFileUpload' import autoScroll from '@baserow/modules/core/directives/autoScroll' import clickOutside from '@baserow/modules/core/directives/clickOutside' import Badge from '@baserow/modules/core/components/Badge' import Expandable from '@baserow/modules/core/components/Expandable.vue' import RadioButton from '@baserow/modules/core/components/RadioButton' import Thumbnail from '@baserow/modules/core/components/Thumbnail' import ColorInput from '@baserow/modules/core/components/ColorInput' import SelectSearch from '@baserow/modules/core/components/SelectSearch' function setupVue(Vue) { Vue.component('Context', Context) Vue.component('Modal', Modal) Vue.component('Editable', Editable) Vue.component('Dropdown', Dropdown) Vue.component('DropdownItem', DropdownItem) Vue.component('Checkbox', Checkbox) Vue.component('Radio', Radio) Vue.component('RadioGroup', RadioGroup) Vue.component('Scrollbars', Scrollbars) Vue.component('Alert', Alert) Vue.component('Error', Error) Vue.component('SwitchInput', SwitchInput) Vue.component('Copied', Copied) Vue.component('MarkdownIt', MarkdownIt) Vue.component('DownloadLink', DownloadLink) Vue.component('FormElement', FormElement) Vue.component('Picker', Picker) Vue.component('ProgressBar', ProgressBar) Vue.component('Tab', Tab) Vue.component('Tabs', Tabs) Vue.component('List', List) Vue.component('HelpIcon', HelpIcon) Vue.component('Badge', Badge) Vue.component('Expandable', Expandable) Vue.component('Button', Button) Vue.component('ButtonText', ButtonText) Vue.component('ButtonFloating', ButtonFloating) Vue.component('ButtonAdd', ButtonAdd) Vue.component('ButtonIcon', ButtonIcon) Vue.component('Chips', Chips) Vue.component('RadioButton', RadioButton) Vue.component('Thumbnail', Thumbnail) Vue.component('Avatar', Avatar) Vue.component('Presentation', Presentation) Vue.component('FormInput', FormInput) Vue.component('FormTextarea', FormTextarea) Vue.component('CallToAction', CallToAction) Vue.component('FormGroup', FormGroup) Vue.component('FormRow', FormRow) Vue.component('ColorInput', ColorInput) Vue.component('ImageInput', ImageInput) Vue.component('SelectSearch', SelectSearch) Vue.component('Logo', Logo) Vue.component('ReadOnlyForm', ReadOnlyForm) Vue.component('FormSection', FormSection) Vue.filter('lowercase', lowercase) Vue.filter('uppercase', uppercase) Vue.filter('nameAbbreviation', nameAbbreviation) Vue.directive('scroll', scroll) Vue.directive('preventParentScroll', preventParentScroll) Vue.directive('tooltip', tooltip) Vue.directive('sortable', sortable) Vue.directive('autoOverflowScroll', autoOverflowScroll) Vue.directive('userFileUpload', userFileUpload) Vue.directive('autoScroll', autoScroll) Vue.directive('clickOutside', clickOutside) Vue.prototype.$super = function (options) { return new Proxy(options, { get: (options, name) => { if (options.methods && name in options.methods) { return options.methods[name].bind(this) } }, }) } } setupVue(Vue) export { setupVue }