|
|
|
|
@@ -1,7 +1,7 @@
|
|
|
|
|
import { CommonModule } from '@angular/common';
|
|
|
|
|
import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';
|
|
|
|
|
import { Component, Input, OnInit, ViewChild } from '@angular/core';
|
|
|
|
|
import { NWUIButtonComponent, NWUITextAreaComponent } from '@nwaifu-ui';
|
|
|
|
|
import { LocalStorageKeys } from 'src/app/consts';
|
|
|
|
|
import { LocalStorageKeys } from '../../consts';
|
|
|
|
|
import { TranslateData } from '../../dto/translate_data.dto';
|
|
|
|
|
import { ETranslateService } from '../../services/translate.enums';
|
|
|
|
|
import { TranslateService } from '../../services/translate.service';
|
|
|
|
|
@@ -15,7 +15,7 @@ import { TranslateService } from '../../services/translate.service';
|
|
|
|
|
providers: [TranslateService],
|
|
|
|
|
})
|
|
|
|
|
export class TranslateBlockComponent implements OnInit {
|
|
|
|
|
@ViewChild('translatedText') translatedText: ElementRef<HTMLDivElement> | null = null;
|
|
|
|
|
@ViewChild('translatedText') translatedText: NWUITextAreaComponent | null = null;
|
|
|
|
|
@Input({ required: true }) item: TranslateData = { english_text: '', translated_text: '' };
|
|
|
|
|
@Input({ required: true }) index = 0;
|
|
|
|
|
translateLoading = false;
|
|
|
|
|
@@ -40,6 +40,7 @@ export class TranslateBlockComponent implements OnInit {
|
|
|
|
|
private sendToTranslate(service: ETranslateService = ETranslateService.GOOGLE) {
|
|
|
|
|
this.translateLoading = true;
|
|
|
|
|
this.translateService.translate(this.item.english_text, service).subscribe((text) => {
|
|
|
|
|
if (this.translatedText) if (this.translatedText.ref) this.translatedText.ref.nativeElement.textContent = text;
|
|
|
|
|
this.item.translated_text = text;
|
|
|
|
|
this.isEditing = false;
|
|
|
|
|
this.translateLoading = false;
|
|
|
|
|
@@ -61,12 +62,14 @@ export class TranslateBlockComponent implements OnInit {
|
|
|
|
|
|
|
|
|
|
saveTranslate(text: string) {
|
|
|
|
|
this.isEditing = false;
|
|
|
|
|
if (this.translatedText) if (this.translatedText.ref) this.translatedText.ref.nativeElement.textContent = '';
|
|
|
|
|
this.item.translated_text = text;
|
|
|
|
|
this.saveChanges();
|
|
|
|
|
}
|
|
|
|
|
clear() {
|
|
|
|
|
this.item.translated_text = '';
|
|
|
|
|
this.isEditing = true;
|
|
|
|
|
if (this.translatedText) if (this.translatedText.ref) this.translatedText.ref.nativeElement.textContent = '';
|
|
|
|
|
this.saveChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|