mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-19 10:19:27 -05:00
79 lines
2.3 KiB
TypeScript
79 lines
2.3 KiB
TypeScript
import { Component } from '@angular/core'
|
|
import { SavedViewService } from 'src/app/services/rest/saved-view.service'
|
|
import { SettingsService } from 'src/app/services/settings.service'
|
|
import { ComponentWithPermissions } from '../with-permissions/with-permissions.component'
|
|
import { TourService } from 'ngx-ui-tour-ng-bootstrap'
|
|
import { SavedView } from 'src/app/data/saved-view'
|
|
import { ToastService } from 'src/app/services/toast.service'
|
|
import {
|
|
CdkDragDrop,
|
|
CdkDragEnd,
|
|
CdkDragStart,
|
|
moveItemInArray,
|
|
} from '@angular/cdk/drag-drop'
|
|
import { environment } from 'src/environments/environment'
|
|
|
|
@Component({
|
|
selector: 'pngx-dashboard',
|
|
templateUrl: './dashboard.component.html',
|
|
styleUrls: ['./dashboard.component.scss'],
|
|
})
|
|
export class DashboardComponent extends ComponentWithPermissions {
|
|
public dashboardViews: SavedView[] = []
|
|
constructor(
|
|
public settingsService: SettingsService,
|
|
public savedViewService: SavedViewService,
|
|
private tourService: TourService,
|
|
private toastService: ToastService
|
|
) {
|
|
super()
|
|
|
|
this.savedViewService.listAll().subscribe(() => {
|
|
this.dashboardViews = this.savedViewService.dashboardViews
|
|
})
|
|
}
|
|
|
|
get subtitle() {
|
|
if (this.settingsService.displayName) {
|
|
return $localize`Hello ${this.settingsService.displayName}, welcome to ${environment.appTitle}`
|
|
} else {
|
|
return $localize`Welcome to ${environment.appTitle}`
|
|
}
|
|
}
|
|
|
|
completeTour() {
|
|
if (this.tourService.getStatus() !== 0) {
|
|
this.tourService.end() // will call settingsService.completeTour()
|
|
} else {
|
|
this.settingsService.completeTour()
|
|
}
|
|
}
|
|
|
|
onDragStart(event: CdkDragStart) {
|
|
this.settingsService.globalDropzoneEnabled = false
|
|
}
|
|
|
|
onDragEnd(event: CdkDragEnd) {
|
|
this.settingsService.globalDropzoneEnabled = true
|
|
}
|
|
|
|
onDrop(event: CdkDragDrop<SavedView[]>) {
|
|
moveItemInArray(
|
|
this.dashboardViews,
|
|
event.previousIndex,
|
|
event.currentIndex
|
|
)
|
|
|
|
this.settingsService
|
|
.updateDashboardViewsSort(this.dashboardViews)
|
|
.subscribe({
|
|
next: () => {
|
|
this.toastService.showInfo($localize`Dashboard updated`)
|
|
},
|
|
error: (e) => {
|
|
this.toastService.showError($localize`Error updating dashboard`, e)
|
|
},
|
|
})
|
|
}
|
|
}
|