mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-05-31 20:25:38 -04:00
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'
|
|
import { FormControl, FormGroup } from '@angular/forms'
|
|
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
|
|
|
|
@Component({
|
|
selector: 'app-save-view-config-dialog',
|
|
templateUrl: './save-view-config-dialog.component.html',
|
|
styleUrls: ['./save-view-config-dialog.component.scss'],
|
|
})
|
|
export class SaveViewConfigDialogComponent implements OnInit {
|
|
constructor(private modal: NgbActiveModal) {}
|
|
|
|
@Output()
|
|
public saveClicked = new EventEmitter()
|
|
|
|
@Input()
|
|
error
|
|
|
|
@Input()
|
|
buttonsEnabled = true
|
|
|
|
closeEnabled = false
|
|
|
|
_defaultName = ''
|
|
|
|
get defaultName() {
|
|
return this._defaultName
|
|
}
|
|
|
|
@Input()
|
|
set defaultName(value: string) {
|
|
this._defaultName = value
|
|
this.saveViewConfigForm.patchValue({ name: value })
|
|
}
|
|
|
|
saveViewConfigForm = new FormGroup({
|
|
name: new FormControl(''),
|
|
showInSideBar: new FormControl(false),
|
|
showOnDashboard: new FormControl(false),
|
|
})
|
|
|
|
ngOnInit(): void {
|
|
// wait to enable close button so it doesnt steal focus from input since its the first clickable element in the DOM
|
|
setTimeout(() => {
|
|
this.closeEnabled = true
|
|
})
|
|
}
|
|
|
|
save() {
|
|
this.saveClicked.emit(this.saveViewConfigForm.value)
|
|
}
|
|
|
|
cancel() {
|
|
this.modal.close()
|
|
}
|
|
}
|