|  | import i18n from '@/i18n'; | 
|  | import StatusIcon from '../Global/StatusIcon'; | 
|  | const BVToastMixin = { | 
|  | components: { | 
|  | StatusIcon, | 
|  | }, | 
|  | methods: { | 
|  | toastTitle(title, status) { | 
|  | // Create title with icon | 
|  | const titleWithIcon = this.$createElement( | 
|  | 'strong', | 
|  | { class: 'toast-icon' }, | 
|  | [ | 
|  | this.$createElement('StatusIcon', { props: { status: status } }), | 
|  | title, | 
|  | ] | 
|  | ); | 
|  | return titleWithIcon; | 
|  | }, | 
|  | successToast(message, title = i18n.t('global.status.success')) { | 
|  | this.$root.$bvToast.toast(message, { | 
|  | title: this.toastTitle(title, 'success'), | 
|  | variant: 'success', | 
|  | autoHideDelay: 10000, //auto hide in milliseconds | 
|  | isStatus: true, | 
|  | solid: true, | 
|  | }); | 
|  | }, | 
|  | errorToast(message, title = i18n.t('global.status.error')) { | 
|  | this.$root.$bvToast.toast(message, { | 
|  | title: this.toastTitle(title, 'danger'), | 
|  | variant: 'danger', | 
|  | noAutoHide: true, | 
|  | isStatus: true, | 
|  | solid: true, | 
|  | }); | 
|  | }, | 
|  | warningToast(message, title = i18n.t('global.status.warning')) { | 
|  | this.$root.$bvToast.toast(message, { | 
|  | title: this.toastTitle(title, 'warning'), | 
|  | variant: 'warning', | 
|  | noAutoHide: true, | 
|  | isStatus: true, | 
|  | solid: true, | 
|  | }); | 
|  | }, | 
|  | infoToast(message, title = i18n.t('global.status.informational')) { | 
|  | this.$root.$bvToast.toast(message, { | 
|  | title: this.toastTitle(title, 'info'), | 
|  | variant: 'info', | 
|  | noAutoHide: true, | 
|  | isStatus: true, | 
|  | solid: true, | 
|  | }); | 
|  | }, | 
|  | }, | 
|  | }; | 
|  |  | 
|  | export default BVToastMixin; |