mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-17 10:13:56 -05:00
fixes #278
This commit is contained in:
parent
ac2cac6edc
commit
0ee6426eb5
@ -1,10 +1,13 @@
|
|||||||
import { Directive, Input, OnInit } from '@angular/core';
|
import { Directive, ElementRef, Input, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ControlValueAccessor } from '@angular/forms';
|
import { ControlValueAccessor } from '@angular/forms';
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
|
|
||||||
@Directive()
|
@Directive()
|
||||||
export class AbstractInputComponent<T> implements OnInit, ControlValueAccessor {
|
export class AbstractInputComponent<T> implements OnInit, ControlValueAccessor {
|
||||||
|
|
||||||
|
@ViewChild("inputField")
|
||||||
|
inputField: ElementRef
|
||||||
|
|
||||||
constructor() { }
|
constructor() { }
|
||||||
|
|
||||||
onChange = (newValue: T) => {};
|
onChange = (newValue: T) => {};
|
||||||
@ -24,6 +27,12 @@ export class AbstractInputComponent<T> implements OnInit, ControlValueAccessor {
|
|||||||
this.disabled = isDisabled;
|
this.disabled = isDisabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
focus() {
|
||||||
|
if (this.inputField && this.inputField.nativeElement) {
|
||||||
|
this.inputField.nativeElement.focus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
title: string
|
title: string
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label [for]="inputId">{{title}}</label>
|
<label [for]="inputId">{{title}}</label>
|
||||||
<input type="text" class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)">
|
<input #inputField type="text" class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)">
|
||||||
<small *ngIf="hint" class="form-text text-muted">{{hint}}</small>
|
<small *ngIf="hint" class="form-text text-muted">{{hint}}</small>
|
||||||
<div class="invalid-feedback">
|
<div class="invalid-feedback">
|
||||||
{{error}}
|
{{error}}
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
<a ngbNavLink i18n>Details</a>
|
<a ngbNavLink i18n>Details</a>
|
||||||
<ng-template ngbNavContent>
|
<ng-template ngbNavContent>
|
||||||
|
|
||||||
<app-input-text i18n-title title="Title" formControlName="title" [error]="error?.title"></app-input-text>
|
<app-input-text #inputTitle i18n-title title="Title" formControlName="title" [error]="error?.title"></app-input-text>
|
||||||
<app-input-number i18n-title title="Archive serial number" [error]="error?.archive_serial_number" formControlName='archive_serial_number'></app-input-number>
|
<app-input-number i18n-title title="Archive serial number" [error]="error?.archive_serial_number" formControlName='archive_serial_number'></app-input-number>
|
||||||
<app-input-date-time i18n-titleDate titleDate="Date created" formControlName="created"></app-input-date-time>
|
<app-input-date-time i18n-titleDate titleDate="Date created" formControlName="created"></app-input-date-time>
|
||||||
<app-input-select [items]="correspondents" i18n-title title="Correspondent" formControlName="correspondent" [allowNull]="true"
|
<app-input-select [items]="correspondents" i18n-title title="Correspondent" formControlName="correspondent" [allowNull]="true"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { FormControl, FormGroup } from '@angular/forms';
|
import { FormControl, FormGroup } from '@angular/forms';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||||
@ -17,6 +17,7 @@ import { CorrespondentEditDialogComponent } from '../manage/correspondent-list/c
|
|||||||
import { DocumentTypeEditDialogComponent } from '../manage/document-type-list/document-type-edit-dialog/document-type-edit-dialog.component';
|
import { DocumentTypeEditDialogComponent } from '../manage/document-type-list/document-type-edit-dialog/document-type-edit-dialog.component';
|
||||||
import { PDFDocumentProxy } from 'ng2-pdf-viewer';
|
import { PDFDocumentProxy } from 'ng2-pdf-viewer';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { TextComponent } from '../common/input/text/text.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-document-detail',
|
selector: 'app-document-detail',
|
||||||
@ -25,6 +26,9 @@ import { ToastService } from 'src/app/services/toast.service';
|
|||||||
})
|
})
|
||||||
export class DocumentDetailComponent implements OnInit {
|
export class DocumentDetailComponent implements OnInit {
|
||||||
|
|
||||||
|
@ViewChild("inputTitle")
|
||||||
|
titleInput: TextComponent
|
||||||
|
|
||||||
expandOriginalMetadata = false
|
expandOriginalMetadata = false
|
||||||
expandArchivedMetadata = false
|
expandArchivedMetadata = false
|
||||||
|
|
||||||
@ -157,6 +161,7 @@ export class DocumentDetailComponent implements OnInit {
|
|||||||
if (nextDocId) {
|
if (nextDocId) {
|
||||||
this.openDocumentService.closeDocument(this.document)
|
this.openDocumentService.closeDocument(this.document)
|
||||||
this.router.navigate(['documents', nextDocId])
|
this.router.navigate(['documents', nextDocId])
|
||||||
|
this.titleInput.focus()
|
||||||
}
|
}
|
||||||
}, error => {
|
}, error => {
|
||||||
this.networkActive = false
|
this.networkActive = false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user