import { Component, Vue } from 'vue-property-decorator' import personalIdGenerator from '@/classes/Service/Generators/PersonalIdGenerator' import ibanGenerator from '@/classes/Service/Generators/IbanGenerator' import phoneGenerator from '@/classes/Service/Generators/PhoneGenerator' import firstNameGenerator from '@/classes/Service/Generators/FirstNameGenerator' import lastNameGenerator from '@/classes/Service/Generators/LastNameGenerator' import { Person } from '@/classes/DTO/Person' import VueClipboard from 'vue-clipboard2' import { Target } from '@/classes/Enum/Target' import sender from '@/classes/Service/Browser/Chrome/Sender' import { Action } from '@/classes/Enum/Action' Vue.use(VueClipboard) @Component export default class HelloWorld extends Vue { tab = 'person' person = new Person() copyText = '' get allowedMonths () { const result = [] for (let i = 1; i <= 12; i++) { result.push(i) } return result } get allowedYears () { const result = [] const currentYear = (new Date()).getFullYear() for (let i = 1960; i <= currentYear; i++) { result.push(i) } return result } copyPersonalId () { const personalId = personalIdGenerator.generate(this.person) this.copy(personalId) } copyIban () { const iban = ibanGenerator.generate(this.person.country) this.copy(iban) } copyPhone () { const phone = phoneGenerator.generate(this.person.country) this.copy(phone) } copy (text: string) { this.copyText = text this.$copyText(text) } autocomplete () { const personalId = personalIdGenerator.generate(this.person.country, this.person.gender) this.insertValueToNode(Target.PERSONAL_ID, personalId) const iban = ibanGenerator.generate(this.person.country) this.insertValueToNode(Target.IBAN, iban) const phone = phoneGenerator.generate(this.person.country) this.insertValueToNode(Target.PHONE, phone) const firstName = firstNameGenerator.generate(this.person.country, this.person.gender) this.insertValueToNode(Target.FIRST_NAME, firstName) const lastName = lastNameGenerator.generate(this.person.country) this.insertValueToNode(Target.LAST_NAME, lastName) } insertValueToNode (target: Target, value: string): void { sender.send({ action: Action.INSERT, target: target, value: value }) } cleanNotifications (): void { sender.send({ action: Action.CLEAN_NOTIFICATION }) } }