update user preference service
This commit is contained in:
parent
19cfa93575
commit
824794a4cc
@ -26,7 +26,6 @@ import { AnnotationProcessingService } from './services/annotation-processing.se
|
||||
import { EditDossierDialogComponent } from './dialogs/edit-dossier-dialog/edit-dossier-dialog.component';
|
||||
import { EditDossierGeneralInfoComponent } from './dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component';
|
||||
import { EditDossierDownloadPackageComponent } from './dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component';
|
||||
import { UserPreferenceControllerService } from '@redaction/red-ui-http';
|
||||
import { EditDossierDictionaryComponent } from './dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component';
|
||||
import { EditDossierTeamMembersComponent } from './dialogs/edit-dossier-dialog/team-members/edit-dossier-team-members.component';
|
||||
import { TeamMembersManagerComponent } from './components/team-members-manager/team-members-manager.component';
|
||||
@ -85,7 +84,6 @@ const services = [
|
||||
PdfViewerDataService,
|
||||
AnnotationDrawService,
|
||||
AnnotationProcessingService,
|
||||
UserPreferenceControllerService,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
||||
@ -28,7 +28,7 @@ import { PermissionsService } from '@services/permissions.service';
|
||||
import { timer } from 'rxjs';
|
||||
import { UserPreferenceService } from '@services/user-preference.service';
|
||||
import { UserService } from '@services/user.service';
|
||||
import { FileManagementControllerService, FileStatus, List, UserPreferenceControllerService } from '@redaction/red-ui-http';
|
||||
import { FileManagementControllerService, FileStatus, List } from '@redaction/red-ui-http';
|
||||
import { PdfViewerDataService } from '../../services/pdf-viewer-data.service';
|
||||
import { download } from '@utils/file-download-utils';
|
||||
import { ViewMode } from '@models/file/view-mode';
|
||||
@ -88,7 +88,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni
|
||||
readonly permissionsService: PermissionsService,
|
||||
readonly userPreferenceService: UserPreferenceService,
|
||||
readonly userService: UserService,
|
||||
private readonly _userPreferenceControllerService: UserPreferenceControllerService,
|
||||
private readonly _changeDetectorRef: ChangeDetectorRef,
|
||||
private readonly _activatedRoute: ActivatedRoute,
|
||||
private readonly _dialogService: DossiersDialogService,
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { UserPreferenceControllerService } from '@redaction/red-ui-http';
|
||||
import { Injectable, Injector } from '@angular/core';
|
||||
import { List } from '@redaction/red-ui-http';
|
||||
import { GenericService, RequiredParam, Validate } from '@iqser/common-ui';
|
||||
|
||||
interface UserAttributes {
|
||||
[p: string]: string[];
|
||||
}
|
||||
type UserAttributes = Record<string, List>;
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class UserPreferenceService {
|
||||
constructor(private readonly _userPreferenceControllerService: UserPreferenceControllerService) {
|
||||
export class UserPreferenceService extends GenericService<UserAttributes> {
|
||||
constructor(protected readonly _injector: Injector) {
|
||||
super(_injector, 'attributes');
|
||||
this.reload();
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ export class UserPreferenceService {
|
||||
async saveLastOpenedFileForDossier(dossierId: string, fileId: string): Promise<void> {
|
||||
const key = `Dossier-Recent-${dossierId}`;
|
||||
this.userAttributes[key] = [fileId];
|
||||
await this._userPreferenceControllerService.savePreferences([fileId], key).toPromise();
|
||||
await this.savePreferences([fileId], key).toPromise();
|
||||
}
|
||||
|
||||
toggleDevFeatures(): void {
|
||||
@ -44,11 +44,15 @@ export class UserPreferenceService {
|
||||
}
|
||||
|
||||
reload(): void {
|
||||
this._userPreferenceControllerService
|
||||
.getAllUserAttributes()
|
||||
this.getAll<UserAttributes>()
|
||||
.toPromise()
|
||||
.then(attributes => {
|
||||
this._userAttributes = attributes ?? {};
|
||||
});
|
||||
}
|
||||
|
||||
@Validate()
|
||||
savePreferences(@RequiredParam() body: List, @RequiredParam() key: string) {
|
||||
return this._put(body, `${this._defaultModelPath}/${key}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,7 +20,6 @@ import { RulesControllerService } from './api/rulesController.service';
|
||||
import { SmtpConfigurationControllerService } from './api/smtpConfigurationController.service';
|
||||
import { UploadControllerService } from './api/uploadController.service';
|
||||
import { UserControllerService } from './api/userController.service';
|
||||
import { UserPreferenceControllerService } from './api/userPreferenceController.service';
|
||||
import { VersionsControllerService } from './api/versionsController.service';
|
||||
import { ViewedPagesControllerService } from './api/viewedPagesController.service';
|
||||
import { WatermarkControllerService } from './api/watermarkController.service';
|
||||
@ -51,7 +50,6 @@ import { StatusReportControllerService } from './api/statusReportController.serv
|
||||
SmtpConfigurationControllerService,
|
||||
UploadControllerService,
|
||||
UserControllerService,
|
||||
UserPreferenceControllerService,
|
||||
VersionsControllerService,
|
||||
ViewedPagesControllerService,
|
||||
WatermarkControllerService,
|
||||
@ -67,7 +65,8 @@ export class ApiModule {
|
||||
}
|
||||
if (!http) {
|
||||
throw new Error(
|
||||
'You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575',
|
||||
'You need to import the HttpClientModule in your AppModule! \n' +
|
||||
'See also https://github.com/angular/angular/issues/20575',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user