import Vue, { PluginObject } from 'vue'; import Component from 'vue-class-component'; import { Prop } from 'vue-property-decorator'; import { ModulVue } from '../../../utils/vue/vue'; import { ERROR_ACCESS_DENIED_NAME } from '../../component-names'; import { Link, MMessagePage } from '../../message-page/message-page'; import { MMessageState } from '../../message/message'; import WithRender from './error-access-denied.html'; @WithRender @Component({ components: { MMessagePage } }) export class MErrorAccessDenied extends ModulVue { @Prop({ default: () => (Vue.prototype).$i18n.translate('m-error-access-denied:title') }) public readonly title: string; @Prop() public readonly links: Link[]; @Prop({ default: () => [ (Vue.prototype).$i18n.translate('m-error-access-denied:hint.primary')] }) public readonly hints: string[]; public readonly state: string = MMessageState.Information; public readonly svgName: string = 'message-error-access-denied'; public beforeCreate(): void { this.$svgSprite.addSvg('message-error-access-denied', require('./message-error-access-denied.svg')); } } const ErrorAccessDeniedPlugin: PluginObject = { install(v, options): void { v.component(ERROR_ACCESS_DENIED_NAME, MErrorAccessDenied); } }; export default ErrorAccessDeniedPlugin;