diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 216610086..a125a725b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, Injector, ViewChild } from '@angular/core'; +import { Component, Inject, Injector } from '@angular/core'; import { AbstractControl, FormGroup, ValidatorFn, Validators } from '@angular/forms'; import { AppStateService } from '@state/app-state.service'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; @@ -8,7 +8,6 @@ import { FileAttributesConfig, FileAttributesControllerService } from '@redaction/red-ui-http'; -import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; import { BaseListingComponent } from '@shared/base/base-listing.component'; @@ -44,8 +43,6 @@ export class FileAttributesCsvImportDialogComponent extends BaseListingComponent keepPreview = false; columnSample = []; initialParseConfig: { delimiter?: string; encoding?: string } = {}; - @ViewChild(CdkVirtualScrollViewport, { static: false }) - cdkVirtualScrollViewport: CdkVirtualScrollViewport; protected readonly _searchKey = 'csvColumn'; constructor( diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html index 00b64cdb4..6005022e7 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html @@ -113,7 +113,7 @@ type="no-match" > - +
diff --git a/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.html b/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.html index b9def2da1..760dddfcd 100644 --- a/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.html +++ b/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.html @@ -16,18 +16,18 @@
@@ -142,10 +142,10 @@ diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html index 41009922f..a11cf5200 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html @@ -124,8 +124,8 @@ >
{{ dw.dossierName }} @@ -182,7 +182,7 @@
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.ts index 18987c562..d839b3956 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.ts @@ -14,7 +14,6 @@ import { RedactionFilterSorter } from '@utils/sorters/redaction-filter-sorter'; import { StatusSorter } from '@utils/sorters/status-sorter'; import { NavigationEnd, NavigationStart, Router } from '@angular/router'; import { DossiersDialogService } from '../../services/dossiers-dialog.service'; -import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { BaseListingComponent } from '@shared/base/base-listing.component'; import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy'; import { FilterModel } from '@shared/components/filters/popup-filter/model/filter.model'; @@ -50,7 +49,6 @@ export class DossierListingScreenComponent }; quickFilters: FilterModel[]; readonly itemSize = 85; - @ViewChild(CdkVirtualScrollViewport) scrollBar: CdkVirtualScrollViewport; protected readonly _searchKey = 'name'; protected readonly _sortKey = 'dossier-listing'; @ViewChild(QuickFiltersComponent) protected _quickFiltersComponent: QuickFiltersComponent; @@ -153,7 +151,7 @@ export class DossierListingScreenComponent ) .subscribe(event => { if (event instanceof NavigationStart && event.url !== '/main/dossiers') { - this._lastScrollPosition = this.scrollBar.measureScrollOffset('top'); + this._lastScrollPosition = this.scrollViewport.measureScrollOffset('top'); } }); } @@ -162,7 +160,7 @@ export class DossierListingScreenComponent this._appStateService.reset(); this._loadEntitiesFromState(); this.ngOnInit(); - this.scrollBar.scrollTo({ top: this._lastScrollPosition }); + this.scrollViewport.scrollTo({ top: this._lastScrollPosition }); } ngOnDetach() { diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.html index d99a00d40..5e2248361 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.html @@ -312,7 +312,7 @@
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts index 2f161efcd..4f3f63f4b 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts @@ -27,7 +27,6 @@ import { RedactionFilterSorter } from '@utils/sorters/redaction-filter-sorter'; import { StatusSorter } from '@utils/sorters/status-sorter'; import { convertFiles, handleFileDrop } from '@utils/file-drop-utils'; import { DossiersDialogService } from '../../services/dossiers-dialog.service'; -import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { BaseListingComponent } from '@shared/base/base-listing.component'; import { DossierWrapper } from '@state/model/dossier.wrapper'; import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy'; @@ -60,7 +59,6 @@ export class DossierOverviewScreenComponent } = { needsWorkFilters: [], statusFilters: [] }; readonly itemSize = 80; quickFilters: FilterModel[]; - @ViewChild(CdkVirtualScrollViewport) scrollBar: CdkVirtualScrollViewport; @ViewChild(QuickFiltersComponent) protected _quickFiltersComponent: QuickFiltersComponent; protected readonly _searchKey = 'searchField'; protected readonly _selectionKey = 'fileId'; @@ -183,7 +181,7 @@ export class DossierOverviewScreenComponent .pipe(filter(events => events instanceof NavigationStart)) .subscribe((event: NavigationStart) => { if (!event.url.endsWith(this._appStateService.activeDossierId)) { - this._lastScrollPosition = this.scrollBar.measureScrollOffset('top'); + this._lastScrollPosition = this.scrollViewport.measureScrollOffset('top'); } }); } @@ -198,7 +196,7 @@ export class DossierOverviewScreenComponent ngOnAttach() { this._loadEntitiesFromState(); this.ngOnInit(); - this.scrollBar.scrollTo({ top: this._lastScrollPosition }); + this.scrollViewport.scrollTo({ top: this._lastScrollPosition }); } ngOnDetach() { diff --git a/apps/red-ui/src/app/modules/shared/base/base-listing.component.ts b/apps/red-ui/src/app/modules/shared/base/base-listing.component.ts index 82b383883..69e374211 100644 --- a/apps/red-ui/src/app/modules/shared/base/base-listing.component.ts +++ b/apps/red-ui/src/app/modules/shared/base/base-listing.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, Injector } from '@angular/core'; +import { ChangeDetectorRef, Component, Injector, ViewChild } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { debounce } from '@utils/debounce'; import { ScreenName, SortingOption, SortingService } from '@services/sorting.service'; @@ -6,6 +6,7 @@ import { FilterModel } from '../components/filters/popup-filter/model/filter.mod import { PopupFilterComponent } from '../components/filters/popup-filter/popup-filter.component'; import { getFilteredEntities } from '../components/filters/popup-filter/utils/filter-utils'; import { QuickFiltersComponent } from '../components/filters/quick-filters/quick-filters.component'; +import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; // Functionalities: Filter, search, select, sort @@ -18,6 +19,7 @@ export abstract class BaseListingComponent { displayedEntities: T[] = []; selectedEntitiesIds: string[] = []; searchForm: FormGroup; + @ViewChild(CdkVirtualScrollViewport) scrollViewport: CdkVirtualScrollViewport; protected readonly _formBuilder: FormBuilder; protected readonly _changeDetectorRef: ChangeDetectorRef; diff --git a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html index 224c7d34a..958acff92 100644 --- a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html +++ b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html @@ -25,12 +25,11 @@ >
- + diff --git a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.scss b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.scss index 2af8428eb..f03fcd2fb 100644 --- a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.scss +++ b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.scss @@ -8,3 +8,11 @@ justify-content: center; height: 40px; } + +redaction-circle-button { + margin-left: 2px; + + &:first-of-type { + margin-left: 8px; + } +} diff --git a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts index 0ee6a2e5c..8a9b71032 100644 --- a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.ts @@ -9,12 +9,17 @@ import { UserService } from '@services/user.service'; changeDetection: ChangeDetectionStrategy.OnPush }) export class AssignUserDropdownComponent { - private _currentUser: User | string; oldUser: User | string; - @Input() options: (User | string)[]; @Output() save = new EventEmitter(); @Output() cancel = new EventEmitter(); + private _currentUser: User | string; + + constructor(private readonly _userService: UserService) {} + + get value(): User | string { + return this._currentUser; + } @Input() set value(value: User | string) { @@ -22,13 +27,7 @@ export class AssignUserDropdownComponent { this._currentUser = value; } - get value(): User | string { - return this._currentUser; - } - - constructor(private readonly _userService: UserService) {} - getContext(user: User | string) { - return typeof user === 'string' ? { userId: user } : { user: user }; + return { userId: typeof user === 'string' ? user : user?.userId }; } } diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html index 5390a4e5e..e5211ef5f 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html +++ b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html @@ -1,6 +1,6 @@