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' Vue.use(VueClipboard) @Component export default class HelloWorld extends Vue { tab = 'person' person = new Person() copyText = '' copyPersonalId () { console.log(JSON.stringify(this.person)) const personalId = personalIdGenerator.generate(this.person.country, this.person.gender) this.copy(personalId) } copyIban () { console.log(JSON.stringify(this.person)) const iban = ibanGenerator.generate(this.person.country) this.copy(iban) } copyPhone () { console.log(JSON.stringify(this.person)) 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({ target: target, value: value }) } }