Revize bb71c84a
Přidáno uživatelem Ondřej Váně před téměř 5 roky(ů)
fe/fulltextsearch/src/app/components/pages/upload/upload.component.css | ||
---|---|---|
30 | 30 |
width: 35%; |
31 | 31 |
} |
32 | 32 |
|
33 |
.center h2 {
|
|
34 |
|
|
33 |
.alert h2 {
|
|
34 |
margin-bottom: 0; |
|
35 | 35 |
} |
fe/fulltextsearch/src/app/components/pages/upload/upload.component.html | ||
---|---|---|
17 | 17 |
{{ file.name }} |
18 | 18 |
</li> |
19 | 19 |
</ul> |
20 |
<div class="row justify-content-center align-items-center"> |
|
21 |
<h2>{{resultMessage}}</h2> |
|
20 |
<div *ngIf="showSuccessMessage" class="row justify-content-center align-items-center"> |
|
21 |
<div class="alert alert-success" role="alert"> |
|
22 |
<h2>{{'app-upload.success-uploaded-files-message' | translate}}</h2> |
|
23 |
</div> |
|
24 |
</div> |
|
25 |
<div *ngIf="showSelectFilesMessage" class="row justify-content-center align-items-center"> |
|
26 |
<div class="alert alert-danger" role="alert"> |
|
27 |
<h2>{{'app-upload.select-files-message' | translate}}</h2> |
|
28 |
</div> |
|
29 |
</div> |
|
30 |
<div *ngIf="showAlwaysPairMessage" class="row justify-content-center align-items-center"> |
|
31 |
<div class="alert alert-danger" role="alert"> |
|
32 |
<h2>{{'app-upload.always-pair-of-files-message' | translate}}</h2> |
|
33 |
</div> |
|
34 |
</div> |
|
35 |
<div *ngIf="showFileMissingPairMessage" class="row justify-content-center align-items-center"> |
|
36 |
<div class="alert alert-danger" role="alert"> |
|
37 |
<h2>{{'app-upload.file' | translate}} {{fileMissingPair}} {{'app-upload.missing-xml-or-png-pair-message' | translate}}</h2> |
|
38 |
</div> |
|
22 | 39 |
</div> |
23 | 40 |
</div> |
24 | 41 |
</div> |
fe/fulltextsearch/src/app/components/pages/upload/upload.component.ts | ||
---|---|---|
11 | 11 |
}) |
12 | 12 |
export class UploadComponent implements OnInit { |
13 | 13 |
selectedFiles: File[] = null; |
14 |
resultMessage: string = null; |
|
15 | 14 |
progress = 0; |
15 |
fileMissingPair = null; |
|
16 |
|
|
17 |
// show messages boolean values |
|
18 |
showSuccessMessage = false; |
|
19 |
showSelectFilesMessage = false; |
|
20 |
showAlwaysPairMessage = false; |
|
21 |
showFileMissingPairMessage = false; |
|
22 |
|
|
16 | 23 |
|
17 | 24 |
constructor( private queryService: QueryService, private LOGGER: LoggerService ) { } |
18 | 25 |
|
... | ... | |
23 | 30 |
onFilesSelected(event) { |
24 | 31 |
this.selectedFiles = event.target.files; |
25 | 32 |
this.progress = 0; |
26 |
this.resultMessage = null;
|
|
33 |
this.resetAllMessages();
|
|
27 | 34 |
} |
28 | 35 |
|
29 | 36 |
onUpload() { |
30 | 37 |
this.LOGGER.info('Selected files: ' + this.selectedFiles); |
31 | 38 |
|
39 |
this.resetAllMessages(); |
|
40 |
|
|
32 | 41 |
if (!this.checkFiles(this.selectedFiles)) { |
33 | 42 |
this.LOGGER.warn('Files are not valid'); |
34 | 43 |
return; |
... | ... | |
38 | 47 |
if (event.type === HttpEventType.UploadProgress) { |
39 | 48 |
this.progress = Math.round(event.loaded / event.total * 100) - 5; |
40 | 49 |
} else if (event.type === HttpEventType.Response ) { |
41 |
this.resultMessage = 'Successfully uploaded ' + this.selectedFiles.length + ' files';
|
|
50 |
this.showSuccessMessage = true;
|
|
42 | 51 |
this.progress = 100; |
43 | 52 |
this.selectedFiles = null; |
44 | 53 |
this.LOGGER.info('Files successfully uploaded'); |
... | ... | |
46 | 55 |
}); |
47 | 56 |
} |
48 | 57 |
|
58 |
resetAllMessages(): void { |
|
59 |
this.showSuccessMessage = false; |
|
60 |
this.showSelectFilesMessage = false; |
|
61 |
this.showAlwaysPairMessage = false; |
|
62 |
this.showFileMissingPairMessage = false; |
|
63 |
} |
|
64 |
|
|
49 | 65 |
checkFiles(selectedFiles: File[]): boolean { |
50 |
if (selectedFiles === null) { |
|
51 |
this.resultMessage = 'Select files first';
|
|
66 |
if (selectedFiles === null || selectedFiles.length === 0) {
|
|
67 |
this.showSelectFilesMessage = true;
|
|
52 | 68 |
return false; |
53 | 69 |
} |
54 | 70 |
|
55 | 71 |
// check if is even |
56 | 72 |
if (selectedFiles.length % 2 !== 0) { |
57 |
this.resultMessage = 'Always pair of files JPEG and XML';
|
|
73 |
this.showAlwaysPairMessage = true;
|
|
58 | 74 |
return false; |
59 | 75 |
} |
60 | 76 |
|
... | ... | |
73 | 89 |
} |
74 | 90 |
|
75 | 91 |
if (count !== 2) { |
76 |
this.resultMessage = 'File ' + temp1 + ' missing xml or jpeg pair'; |
|
92 |
this.fileMissingPair = temp1; |
|
93 |
this.showFileMissingPairMessage = true; |
|
77 | 94 |
return false; |
78 | 95 |
} |
79 | 96 |
|
fe/fulltextsearch/src/assets/i18n/cz-lang.json | ||
---|---|---|
34 | 34 |
"app-upload": { |
35 | 35 |
"card-header": "Nahrát soubory", |
36 | 36 |
"pick-files": "Vybrat soubory", |
37 |
"upload": "Nahrát" |
|
37 |
"upload": "Nahrát", |
|
38 |
"select-files-message": "Nejprve vyberte soubory", |
|
39 |
"always-pair-of-files-message": "Nahrávejte pouze dvojice souborů PNG a XML", |
|
40 |
"success-uploaded-files-message": "Soubory úspěšně nahrány", |
|
41 |
"missing-xml-or-png-pair-message": "postrádá dvojici XML nebo PNG", |
|
42 |
"file": "Soubor" |
|
38 | 43 |
}, |
39 | 44 |
"app-about-dialog": { |
40 | 45 |
"title": "O nás", |
fe/fulltextsearch/src/assets/i18n/de-lang.json | ||
---|---|---|
34 | 34 |
"app-upload": { |
35 | 35 |
"card-header": "Dateien hochladen", |
36 | 36 |
"pick-files": "Dateien auswählen", |
37 |
"upload": "Hochladen" |
|
37 |
"upload": "Hochladen", |
|
38 |
"select-files-message": "Wählen Sie zuerst die Dateien aus", |
|
39 |
"always-pair-of-files-message": "Immer zwei Dateien PNG und XML", |
|
40 |
"success-uploaded-files-message": "Dateien erfolgreich hochgeladen", |
|
41 |
"missing-xml-or-png-pair-message": "fehlt XML oder PNG Paar", |
|
42 |
"file": "Datei" |
|
38 | 43 |
}, |
39 | 44 |
"app-about-dialog": { |
40 | 45 |
"title": "Über", |
fe/fulltextsearch/src/assets/i18n/en-lang.json | ||
---|---|---|
34 | 34 |
"app-upload": { |
35 | 35 |
"card-header": "Upload files", |
36 | 36 |
"pick-files": "Pick files", |
37 |
"upload": "Upload" |
|
37 |
"upload": "Upload", |
|
38 |
"select-files-message": "Select files first", |
|
39 |
"always-pair-of-files-message": "Always pair of files PNG and XML", |
|
40 |
"success-uploaded-files-message": "Files successfully uploaded", |
|
41 |
"missing-xml-or-png-pair-message": "missing xml or jpeg pair", |
|
42 |
"file": "File" |
|
38 | 43 |
}, |
39 | 44 |
"app-about-dialog": { |
40 | 45 |
"title": "About", |
Také k dispozici: Unified diff
Re #7905: Lokalizace FE
- přidání překladů pro zprávy při uploadu
- předělání zobrazování zpráv
- pro zprávy je použit bootstrap alert