From a6876cfb0ba3142382865024c0c7cc3e85c7f240 Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Wed, 19 Jun 2024 17:21:27 +0300 Subject: [PATCH] feat: clear all and translate all btns --- bun.lockb | Bin 565928 -> 559208 bytes src/app/app.component.html | 16 +++++++++---- src/app/app.component.ts | 22 +++++++++++++++++- .../text_list/text_list.component.html | 2 +- .../text_list/text_list.component.ts | 3 ++- 5 files changed, 36 insertions(+), 7 deletions(-) diff --git a/bun.lockb b/bun.lockb index 406a9aa4568e4c0c7c48daf1dc1b58411318dbee..e87c6d25fba6a12193f0a8b4f1c952b7e556b5d2 100755 GIT binary patch delta 23529 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
&UJ%ykkv0B-}Sv_=dZpPbc$6v~|o` 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 Nu6Ywa>N)m-{{cqJsObOz delta 36821 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 diff --git a/src/app/app.component.html b/src/app/app.component.html index f8a40e6..9d6327c 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,13 +1,21 @@
Upload - - - - Clear + Save + @if (this.elements.length){ + + Clear translations + + + Translate all + + + Clear + + }
diff --git a/src/app/app.component.ts b/src/app/app.component.ts index a296e85..0243214 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,3 +1,4 @@ +import { NgIf } from '@angular/common'; import { Component, OnInit, ViewChild } from '@angular/core'; import { NWUIButtonComponent } from '@nwaifu-ui'; import { TextListComponent } from './components/text_list/text_list.component'; @@ -7,7 +8,7 @@ import { saveOriginalFile } from './lib/file_tools'; import { parse } from './lib/parser'; @Component({ standalone: true, - imports: [TextListComponent, NWUIButtonComponent], + imports: [TextListComponent, NWUIButtonComponent, NgIf], selector: 'app-root', templateUrl: './app.component.html', styleUrl: './app.component.scss', @@ -16,6 +17,7 @@ export class AppComponent implements OnInit { title = 'NitroPlusTranslator'; elements: TranslateData[] = []; @ViewChild('fileInput') fileInput: HTMLInputElement | null = null; + @ViewChild(TextListComponent) text_list: TextListComponent | null = null; ngOnInit(): void { const data = localStorage.getItem(LocalStorageKeys.TRANSLATIONS); @@ -85,4 +87,22 @@ export class AppComponent implements OnInit { element.click(); } } + + //TODO: Dialog windows for clear op + clearAllTranslations() { + if (this.text_list) + if (this.text_list.translate_blocks) { + this.text_list.translate_blocks.filter((item) => item.item.translated_text).forEach((item) => item.clear()); + } + } + + getAllTranslations() { + if (this.text_list) + if (this.text_list.translate_blocks) + this.text_list.translate_blocks.forEach((item) => item.sendToGoogleTranslate()); + } + + get has_translations(): boolean { + return this.elements.some((i) => i.translated_text); + } } diff --git a/src/app/components/text_list/text_list.component.html b/src/app/components/text_list/text_list.component.html index 744fd31..2040557 100644 --- a/src/app/components/text_list/text_list.component.html +++ b/src/app/components/text_list/text_list.component.html @@ -1,6 +1,6 @@

Всего: {{ elements_data.length }}

@for(item of elements_data; track $index) { - + }
diff --git a/src/app/components/text_list/text_list.component.ts b/src/app/components/text_list/text_list.component.ts index ab8899c..a6e130c 100644 --- a/src/app/components/text_list/text_list.component.ts +++ b/src/app/components/text_list/text_list.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, Input } from '@angular/core'; +import { Component, Input, QueryList, ViewChildren } from '@angular/core'; import { TranslateData } from '../../dto/translate_data.dto'; import { TranslateBlockComponent } from '../translate_block/translate_block.component'; @@ -11,6 +11,7 @@ import { TranslateBlockComponent } from '../translate_block/translate_block.comp imports: [CommonModule, TranslateBlockComponent], }) export class TextListComponent { + @ViewChildren('translateBlock') translate_blocks: QueryList | null = null; elements_data: TranslateData[] = []; @Input() set elements(el: TranslateData[]) { this.elements_data = el;