import { Component, signal, computed, inject, DestroyRef, OnInit, ChangeDetectionStrategy, } from '@angular/core'; import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop'; import { CommonModule } from '@angular/common'; import { ReactiveFormsModule, FormBuilder, Validators } from '@angular/forms'; import { Router, RouterLink, ActivatedRoute } from '@angular/router'; import { ApiService } from '../../core/api.service'; import { CategoryService } from '../../core/category.service'; import { ApiEntry, ApiEntryListItem, Category, API_CONVENTION_LABELS, ApiConvention } from '@datacat/shared'; @Component({ selector: 'app-upload', standalone: true, imports: [CommonModule, ReactiveFormsModule, RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: `
{{ fileError() }}
Validation en cours...
Fichier(s) invalide(s)
@for (err of validationErrors(); track err.file) {{{ err.file ? err.file + ' : ' : '' }}{{ err.message }}
}Fichier(s) valide(s)
Le fichier a été validé avec succès.
Nouvelle version de : {{ origin.title }} (v{{ origin.version }}) — le nom et la convention sont verrouillés.
Erreur lors de l'import
{{ uploadError() }}