| import StatusIcon from '../Global/StatusIcon'; | 
 |  | 
 | const BVToastMixin = { | 
 |   components: { | 
 |     StatusIcon, | 
 |   }, | 
 |   methods: { | 
 |     $_BVToastMixin_createTitle(title, status) { | 
 |       const statusIcon = this.$createElement('StatusIcon', { | 
 |         props: { status }, | 
 |       }); | 
 |       const titleWithIcon = this.$createElement( | 
 |         'strong', | 
 |         { class: 'toast-icon' }, | 
 |         [statusIcon, title] | 
 |       ); | 
 |       return titleWithIcon; | 
 |     }, | 
 |     $_BVToastMixin_createBody(messageBody) { | 
 |       if (Array.isArray(messageBody)) { | 
 |         return messageBody.map((message) => | 
 |           this.$createElement('p', { class: 'mb-0' }, message) | 
 |         ); | 
 |       } else { | 
 |         return [this.$createElement('p', { class: 'mb-0' }, messageBody)]; | 
 |       } | 
 |     }, | 
 |     $_BVToastMixin_createTimestamp() { | 
 |       const timestamp = this.$options.filters.formatTime(new Date()); | 
 |       return this.$createElement('p', { class: 'mt-3 mb-0' }, timestamp); | 
 |     }, | 
 |     $_BVToastMixin_createRefreshAction() { | 
 |       return this.$createElement( | 
 |         'BLink', | 
 |         { | 
 |           class: 'd-inline-block mt-3', | 
 |           on: { | 
 |             click: () => { | 
 |               this.$root.$emit('refresh-application'); | 
 |             }, | 
 |           }, | 
 |         }, | 
 |         this.$t('global.action.refresh') | 
 |       ); | 
 |     }, | 
 |     $_BVToastMixin_initToast(body, title, variant) { | 
 |       this.$root.$bvToast.toast(body, { | 
 |         title, | 
 |         variant, | 
 |         autoHideDelay: 10000, //auto hide in milliseconds | 
 |         noAutoHide: variant !== 'success', | 
 |         isStatus: true, | 
 |         solid: true, | 
 |       }); | 
 |     }, | 
 |     successToast( | 
 |       message, | 
 |       { | 
 |         title: t = this.$t('global.status.success'), | 
 |         timestamp, | 
 |         refreshAction, | 
 |       } = {} | 
 |     ) { | 
 |       const body = this.$_BVToastMixin_createBody(message); | 
 |       const title = this.$_BVToastMixin_createTitle(t, 'success'); | 
 |       if (refreshAction) body.push(this.$_BVToastMixin_createRefreshAction()); | 
 |       if (timestamp) body.push(this.$_BVToastMixin_createTimestamp()); | 
 |       this.$_BVToastMixin_initToast(body, title, 'success'); | 
 |     }, | 
 |     errorToast( | 
 |       message, | 
 |       { | 
 |         title: t = this.$t('global.status.error'), | 
 |         timestamp, | 
 |         refreshAction, | 
 |       } = {} | 
 |     ) { | 
 |       const body = this.$_BVToastMixin_createBody(message); | 
 |       const title = this.$_BVToastMixin_createTitle(t, 'danger'); | 
 |       if (refreshAction) body.push(this.$_BVToastMixin_createRefreshAction()); | 
 |       if (timestamp) body.push(this.$_BVToastMixin_createTimestamp()); | 
 |       this.$_BVToastMixin_initToast(body, title, 'danger'); | 
 |     }, | 
 |     warningToast( | 
 |       message, | 
 |       { | 
 |         title: t = this.$t('global.status.warning'), | 
 |         timestamp, | 
 |         refreshAction, | 
 |       } = {} | 
 |     ) { | 
 |       const body = this.$_BVToastMixin_createBody(message); | 
 |       const title = this.$_BVToastMixin_createTitle(t, 'warning'); | 
 |       if (refreshAction) body.push(this.$_BVToastMixin_createRefreshAction()); | 
 |       if (timestamp) body.push(this.$_BVToastMixin_createTimestamp()); | 
 |       this.$_BVToastMixin_initToast(body, title, 'warning'); | 
 |     }, | 
 |     infoToast( | 
 |       message, | 
 |       { | 
 |         title: t = this.$t('global.status.informational'), | 
 |         timestamp, | 
 |         refreshAction, | 
 |       } = {} | 
 |     ) { | 
 |       const body = this.$_BVToastMixin_createBody(message); | 
 |       const title = this.$_BVToastMixin_createTitle(t, 'info'); | 
 |       if (refreshAction) body.push(this.$_BVToastMixin_createRefreshAction()); | 
 |       if (timestamp) body.push(this.$_BVToastMixin_createTimestamp()); | 
 |       this.$_BVToastMixin_initToast(body, title, 'info'); | 
 |     }, | 
 |   }, | 
 | }; | 
 |  | 
 | export default BVToastMixin; |