mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-12 13:53:20 +00:00
All these
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { Clipboard } from '@angular/cdk/clipboard'
|
||||
import { Component, Input, inject, signal } from '@angular/core'
|
||||
import { Component, Input, inject, input, signal } from '@angular/core'
|
||||
import { Title } from '@angular/platform-browser'
|
||||
import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap'
|
||||
import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons'
|
||||
@@ -16,83 +16,31 @@ export class PageHeaderComponent {
|
||||
private titleService = inject(Title)
|
||||
private clipboard = inject(Clipboard)
|
||||
|
||||
private titleSignal = signal('')
|
||||
private idSignal = signal<number>(undefined)
|
||||
private subTitleSignal = signal('')
|
||||
private infoSignal = signal<string>(undefined)
|
||||
private infoLinkSignal = signal<string>(undefined)
|
||||
private loadingSignal = signal(false)
|
||||
private copiedSignal = signal(false)
|
||||
readonly id = input<number>(undefined)
|
||||
readonly subTitle = input('')
|
||||
readonly info = input<string>(undefined)
|
||||
readonly infoLink = input<string>(undefined)
|
||||
readonly loading = input(false)
|
||||
readonly copied = signal(false)
|
||||
private copyTimeout: any
|
||||
|
||||
public get copied(): boolean {
|
||||
return this.copiedSignal()
|
||||
}
|
||||
|
||||
public set copied(copied: boolean) {
|
||||
this.copiedSignal.set(copied)
|
||||
}
|
||||
private readonly titleSignal = signal('')
|
||||
|
||||
@Input()
|
||||
set title(title: string) {
|
||||
this.titleSignal.set(title)
|
||||
this.titleService.setTitle(`${this.title} - ${environment.appTitle}`)
|
||||
this.titleService.setTitle(`${title} - ${environment.appTitle}`)
|
||||
}
|
||||
|
||||
get title() {
|
||||
return this.titleSignal()
|
||||
}
|
||||
|
||||
@Input()
|
||||
get id(): number {
|
||||
return this.idSignal()
|
||||
}
|
||||
|
||||
set id(id: number) {
|
||||
this.idSignal.set(id)
|
||||
}
|
||||
|
||||
@Input()
|
||||
get subTitle(): string {
|
||||
return this.subTitleSignal()
|
||||
}
|
||||
|
||||
set subTitle(subTitle: string) {
|
||||
this.subTitleSignal.set(subTitle)
|
||||
}
|
||||
|
||||
@Input()
|
||||
get info(): string {
|
||||
return this.infoSignal()
|
||||
}
|
||||
|
||||
set info(info: string) {
|
||||
this.infoSignal.set(info)
|
||||
}
|
||||
|
||||
@Input()
|
||||
get infoLink(): string {
|
||||
return this.infoLinkSignal()
|
||||
}
|
||||
|
||||
set infoLink(infoLink: string) {
|
||||
this.infoLinkSignal.set(infoLink)
|
||||
}
|
||||
|
||||
@Input()
|
||||
get loading(): boolean {
|
||||
return this.loadingSignal()
|
||||
}
|
||||
|
||||
set loading(loading: boolean) {
|
||||
this.loadingSignal.set(loading)
|
||||
}
|
||||
|
||||
public copyID() {
|
||||
this.copied = this.clipboard.copy(this.id.toString())
|
||||
this.copied.set(this.clipboard.copy(this.id().toString()))
|
||||
clearTimeout(this.copyTimeout)
|
||||
this.copyTimeout = setTimeout(() => {
|
||||
this.copied = false
|
||||
this.copied.set(false)
|
||||
}, 3000)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user