From 6d0b2a2a828a6327f9e87474671bc602c4c9e0a3 Mon Sep 17 00:00:00 2001 From: Nazar Semets Date: Tue, 9 Sep 2025 22:19:22 +0300 Subject: [PATCH 1/4] fix(packages): removed unused packages --- package-lock.json | 4 +++- package.json | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 912834b45..e5bd9aae8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,6 @@ "@angular/platform-browser": "^19.2.0", "@angular/platform-browser-dynamic": "^19.2.0", "@angular/router": "^19.2.0", - "@angular/service-worker": "^19.2.0", "@fortawesome/fontawesome-free": "^6.7.2", "@ngx-translate/core": "^16.0.4", "@ngx-translate/http-loader": "^16.0.1", @@ -913,7 +912,10 @@ "version": "19.2.14", "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-19.2.14.tgz", "integrity": "sha512-ajH4kjsuzDvJNxnG18y8N47R0avXFKwOeLszoiirlr5160C+k4HmQvIbzcCjD5liW0OkmxJN1cMW6KdilP8/2w==", + "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "tslib": "^2.3.0" }, diff --git a/package.json b/package.json index 63ec17e4b..b2aa7044e 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "@angular/platform-browser": "^19.2.0", "@angular/platform-browser-dynamic": "^19.2.0", "@angular/router": "^19.2.0", - "@angular/service-worker": "^19.2.0", "@fortawesome/fontawesome-free": "^6.7.2", "@ngx-translate/core": "^16.0.4", "@ngx-translate/http-loader": "^16.0.1", From bc8889b79ed9791e43db9edb1799ec9342b601a3 Mon Sep 17 00:00:00 2001 From: Nazar Semets Date: Tue, 9 Sep 2025 22:20:17 +0300 Subject: [PATCH 2/4] fix(protected): removed protected in all files --- .../breadcrumb/breadcrumb.component.ts | 8 +-- .../components/footer/footer.component.ts | 2 +- .../components/nav-menu/nav-menu.component.ts | 16 ++--- .../institutions-summary.component.ts | 28 ++++---- ...ollection-confirmation-dialog.component.ts | 12 ++-- .../add-to-collection.component.ts | 36 +++++----- .../collection-metadata-step.component.ts | 10 +-- .../project-contributors-step.component.ts | 2 +- .../select-project-step.component.ts | 8 +-- .../collections-discover.component.ts | 30 ++++---- .../collections-filter-chips.component.ts | 8 +-- .../collections-filters.component.ts | 12 ++-- .../collections-main-content.component.ts | 32 ++++----- ...ollections-search-result-card.component.ts | 2 +- .../collections-search-results.component.ts | 18 ++--- .../create-folder-dialog.component.ts | 2 +- .../edit-file-metadata-dialog.component.ts | 4 +- .../rename-file-dialog.component.ts | 2 +- src/app/features/home/home.component.ts | 2 +- .../add-moderator-dialog.component.ts | 22 +++--- ...ection-moderation-submissions.component.ts | 28 ++++---- .../collection-submission-item.component.ts | 10 +-- .../invite-moderator-dialog.component.ts | 8 +-- .../moderators-list.component.ts | 4 +- .../moderators-table.component.ts | 14 ++-- ...preprint-recent-activity-list.component.ts | 2 +- .../citation-section.component.ts | 20 +++--- .../general-information.component.ts | 2 +- .../make-decision/make-decision.component.ts | 2 +- .../moderation-status-banner.component.ts | 2 +- .../withdraw-dialog.component.ts | 4 +- .../preprint-provider-hero.component.ts | 4 +- .../contributors/contributors.component.ts | 8 +-- .../preprints-subjects.component.ts | 8 +-- .../title-and-abstract-step.component.ts | 6 +- .../landing/preprints-landing.component.ts | 2 +- .../features/preprints/preprints.component.ts | 2 +- .../project/addons/addons.component.ts | 68 +++++++++---------- .../configure-addon.component.ts | 18 ++--- ...firm-account-connection-modal.component.ts | 10 +-- .../connect-configured-addon.component.ts | 60 ++++++++-------- .../disconnect-addon-modal.component.ts | 14 ++-- .../add-component-dialog.component.ts | 14 ++-- .../delete-component-dialog.component.ts | 24 +++---- .../delete-node-link-dialog.component.ts | 10 +-- .../duplicate-dialog.component.ts | 8 +-- .../fork-dialog/fork-dialog.component.ts | 8 +-- .../linked-resources.component.ts | 6 +- .../overview-collections.component.ts | 8 +-- .../overview-components.component.ts | 8 +-- .../overview-wiki/overview-wiki.component.ts | 4 +- .../toggle-publicity-dialog.component.ts | 10 +-- ...project-setting-notifications.component.ts | 4 +- ...nfirm-continue-editing-dialog.component.ts | 4 +- .../confirm-registration-dialog.component.ts | 6 +- .../components/drafts/drafts.component.ts | 16 ++--- .../justification-review.component.ts | 18 ++--- .../justification-step.component.ts | 4 +- .../contributors/contributors.component.ts | 16 ++--- .../components/metadata/metadata.component.ts | 12 ++-- .../registries-subjects.component.ts | 8 +-- .../registries-tags.component.ts | 4 +- .../registry-services.component.ts | 2 +- .../components/review/review.component.ts | 32 ++++----- .../select-components-dialog.component.ts | 2 +- .../justification/justification.component.ts | 8 +-- .../registries-landing.component.ts | 6 +- .../revisions-custom-step.component.ts | 8 +-- .../account-settings.component.ts | 2 +- .../add-email/add-email.component.ts | 2 +- .../affiliated-institutions.component.ts | 4 +- .../connected-emails.component.ts | 14 ++-- .../settings/addons/addons.component.ts | 58 ++++++++-------- .../connect-addon/connect-addon.component.ts | 26 +++---- .../developer-apps-container.component.ts | 7 +- .../addon-setup-account-form.component.ts | 18 ++--- .../datacite-tracker.component.ts | 4 +- .../project-selector.component.ts | 12 ++-- .../registration-blocks-data.component.ts | 4 +- .../resource-metadata.component.ts | 2 +- .../search-results-container.component.ts | 8 +-- .../components/subjects/subjects.component.ts | 2 +- .../truncated-text.component.ts | 8 +-- .../add-wiki-dialog.component.ts | 8 +-- .../wiki-syntax-help-dialog.component.ts | 2 +- 85 files changed, 491 insertions(+), 492 deletions(-) diff --git a/src/app/core/components/breadcrumb/breadcrumb.component.ts b/src/app/core/components/breadcrumb/breadcrumb.component.ts index 767689e46..ec3c34816 100644 --- a/src/app/core/components/breadcrumb/breadcrumb.component.ts +++ b/src/app/core/components/breadcrumb/breadcrumb.component.ts @@ -17,7 +17,7 @@ export class BreadcrumbComponent { private readonly router = inject(Router); private readonly route = inject(ActivatedRoute); - protected readonly url = toSignal( + readonly url = toSignal( this.router.events.pipe( filter((event) => event instanceof NavigationEnd), map(() => this.router.url), @@ -26,7 +26,7 @@ export class BreadcrumbComponent { { initialValue: this.router.url } ); - protected readonly routeData = toSignal( + readonly routeData = toSignal( this.router.events.pipe( filter((event) => event instanceof NavigationEnd), map(() => this.getCurrentRouteData()), @@ -35,9 +35,9 @@ export class BreadcrumbComponent { { initialValue: { skipBreadcrumbs: false } as RouteData } ); - protected readonly showBreadcrumb = computed(() => this.routeData()?.skipBreadcrumbs !== true); + readonly showBreadcrumb = computed(() => this.routeData()?.skipBreadcrumbs !== true); - protected readonly parsedUrl = computed(() => + readonly parsedUrl = computed(() => this.url() .split('?')[0] .split('/') diff --git a/src/app/core/components/footer/footer.component.ts b/src/app/core/components/footer/footer.component.ts index 227a253d9..d91b31c12 100644 --- a/src/app/core/components/footer/footer.component.ts +++ b/src/app/core/components/footer/footer.component.ts @@ -18,5 +18,5 @@ import { IS_WEB } from '@osf/shared/helpers'; export class FooterComponent { isWeb = toSignal(inject(IS_WEB)); - protected readonly socialIcons = SOCIAL_ICONS; + readonly socialIcons = SOCIAL_ICONS; } diff --git a/src/app/core/components/nav-menu/nav-menu.component.ts b/src/app/core/components/nav-menu/nav-menu.component.ts index 29a552419..5b5ff3c46 100644 --- a/src/app/core/components/nav-menu/nav-menu.component.ts +++ b/src/app/core/components/nav-menu/nav-menu.component.ts @@ -38,7 +38,7 @@ export class NavMenuComponent { private readonly isAuthenticated = select(UserSelectors.isAuthenticated); private readonly currentResource = select(CurrentResourceSelectors.getCurrentResource); - protected readonly mainMenuItems = computed(() => { + readonly mainMenuItems = computed(() => { const isAuthenticated = this.isAuthenticated(); const filtered = filterMenuItems(MENU_ITEMS, isAuthenticated); @@ -63,7 +63,7 @@ export class NavMenuComponent { return items; }); - protected readonly currentRoute = toSignal( + readonly currentRoute = toSignal( this.router.events.pipe( filter((event): event is NavigationEnd => event instanceof NavigationEnd), map(() => this.getRouteInfo()) @@ -73,11 +73,11 @@ export class NavMenuComponent { } ); - protected readonly currentResourceId = computed(() => this.currentRoute().resourceId); - protected readonly currentProviderId = computed(() => this.currentRoute().providerId); - protected readonly isCollectionsRoute = computed(() => this.currentRoute().isCollectionsWithId); - protected readonly isPreprintRoute = computed(() => this.currentRoute().isPreprintRoute); - protected readonly canUserViewReviews = select(UserSelectors.getCanViewReviews); + readonly currentResourceId = computed(() => this.currentRoute().resourceId); + readonly currentProviderId = computed(() => this.currentRoute().providerId); + readonly isCollectionsRoute = computed(() => this.currentRoute().isCollectionsWithId); + readonly isPreprintRoute = computed(() => this.currentRoute().isPreprintRoute); + readonly canUserViewReviews = select(UserSelectors.getCanViewReviews); private getRouteInfo() { const urlSegments = this.router.url.split('/').filter((segment) => segment); @@ -115,6 +115,6 @@ export class NavMenuComponent { } } - protected readonly hasVisibleChildren = (item: MenuItem): boolean => + readonly hasVisibleChildren = (item: MenuItem): boolean => Array.isArray(item.items) && item.items.some((child) => !!child.visible); } diff --git a/src/app/features/admin-institutions/pages/institutions-summary/institutions-summary.component.ts b/src/app/features/admin-institutions/pages/institutions-summary/institutions-summary.component.ts index 43b0b0343..24a443e7e 100644 --- a/src/app/features/admin-institutions/pages/institutions-summary/institutions-summary.component.ts +++ b/src/app/features/admin-institutions/pages/institutions-summary/institutions-summary.component.ts @@ -45,26 +45,26 @@ export class InstitutionsSummaryComponent implements OnInit { rightsSearch = select(InstitutionsAdminSelectors.getSearchResults); rightsLoading = select(InstitutionsAdminSelectors.getSearchResultsLoading); - protected departmentLabels: string[] = []; - protected departmentDataset: DatasetInput[] = []; + departmentLabels: string[] = []; + departmentDataset: DatasetInput[] = []; - protected projectsLabels: string[] = []; - protected projectDataset: DatasetInput[] = []; + projectsLabels: string[] = []; + projectDataset: DatasetInput[] = []; - protected registrationsLabels: string[] = []; - protected registrationsDataset: DatasetInput[] = []; + registrationsLabels: string[] = []; + registrationsDataset: DatasetInput[] = []; - protected osfProjectsLabels: string[] = []; - protected osfProjectsDataset: DatasetInput[] = []; + osfProjectsLabels: string[] = []; + osfProjectsDataset: DatasetInput[] = []; - protected storageLabels: string[] = []; - protected storageDataset: DatasetInput[] = []; + storageLabels: string[] = []; + storageDataset: DatasetInput[] = []; - protected licenceLabels: string[] = []; - protected licenceDataset: DatasetInput[] = []; + licenceLabels: string[] = []; + licenceDataset: DatasetInput[] = []; - protected addonLabels: string[] = []; - protected addonDataset: DatasetInput[] = []; + addonLabels: string[] = []; + addonDataset: DatasetInput[] = []; private readonly actions = createDispatchMap({ fetchDepartments: FetchInstitutionDepartments, diff --git a/src/app/features/collections/components/add-to-collection/add-to-collection-confirmation-dialog/add-to-collection-confirmation-dialog.component.ts b/src/app/features/collections/components/add-to-collection/add-to-collection-confirmation-dialog/add-to-collection-confirmation-dialog.component.ts index 0a43ed039..6c7b14287 100644 --- a/src/app/features/collections/components/add-to-collection/add-to-collection-confirmation-dialog/add-to-collection-confirmation-dialog.component.ts +++ b/src/app/features/collections/components/add-to-collection/add-to-collection-confirmation-dialog/add-to-collection-confirmation-dialog.component.ts @@ -23,16 +23,16 @@ import { ToastService } from '@shared/services'; }) export class AddToCollectionConfirmationDialogComponent { private toastService = inject(ToastService); - protected dialogRef = inject(DynamicDialogRef); - protected config = inject(DynamicDialogConfig); - protected destroyRef = inject(DestroyRef); - protected isSubmitting = signal(false); - protected actions = createDispatchMap({ + dialogRef = inject(DynamicDialogRef); + config = inject(DynamicDialogConfig); + destroyRef = inject(DestroyRef); + isSubmitting = signal(false); + actions = createDispatchMap({ createCollectionSubmission: CreateCollectionSubmission, updateProjectPublicStatus: UpdateProjectPublicStatus, }); - protected handleAddToCollectionConfirm(): void { + handleAddToCollectionConfirm(): void { const payload = this.config.data.payload; const project = this.config.data.project; diff --git a/src/app/features/collections/components/add-to-collection/add-to-collection.component.ts b/src/app/features/collections/components/add-to-collection/add-to-collection.component.ts index 3b01c6e5e..cd508271e 100644 --- a/src/app/features/collections/components/add-to-collection/add-to-collection.component.ts +++ b/src/app/features/collections/components/add-to-collection/add-to-collection.component.ts @@ -67,27 +67,27 @@ export class AddToCollectionComponent implements CanDeactivateComponent { private readonly dialogService = inject(DialogService); private readonly translateService = inject(TranslateService); - protected readonly AddToCollectionSteps = AddToCollectionSteps; - - protected collectionMetadataForm = new FormGroup({}); - protected isProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); - protected collectionProvider = select(CollectionsSelectors.getCollectionProvider); - protected selectedProject = select(ProjectsSelectors.getSelectedProject); - protected currentUser = select(UserSelectors.getCurrentUser); - protected providerId = signal(''); - protected allowNavigation = signal(false); - protected projectMetadataSaved = signal(false); - protected projectContributorsSaved = signal(false); - protected collectionMetadataSaved = signal(false); - protected stepperActiveValue = signal(AddToCollectionSteps.SelectProject); - protected primaryCollectionId = computed(() => this.collectionProvider()?.primaryCollection?.id); - protected isProjectMetadataDisabled = computed(() => !this.selectedProject()); - protected isProjectContributorsDisabled = computed(() => !this.selectedProject() || !this.projectMetadataSaved()); - protected isCollectionMetadataDisabled = computed( + readonly AddToCollectionSteps = AddToCollectionSteps; + + collectionMetadataForm = new FormGroup({}); + isProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); + collectionProvider = select(CollectionsSelectors.getCollectionProvider); + selectedProject = select(ProjectsSelectors.getSelectedProject); + currentUser = select(UserSelectors.getCurrentUser); + providerId = signal(''); + allowNavigation = signal(false); + projectMetadataSaved = signal(false); + projectContributorsSaved = signal(false); + collectionMetadataSaved = signal(false); + stepperActiveValue = signal(AddToCollectionSteps.SelectProject); + primaryCollectionId = computed(() => this.collectionProvider()?.primaryCollection?.id); + isProjectMetadataDisabled = computed(() => !this.selectedProject()); + isProjectContributorsDisabled = computed(() => !this.selectedProject() || !this.projectMetadataSaved()); + isCollectionMetadataDisabled = computed( () => !this.selectedProject() || !this.projectMetadataSaved() || !this.projectContributorsSaved() ); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getCollectionProvider: GetCollectionProvider, clearAddToCollectionState: ClearAddToCollectionState, createCollectionSubmission: CreateCollectionSubmission, diff --git a/src/app/features/collections/components/add-to-collection/collection-metadata-step/collection-metadata-step.component.ts b/src/app/features/collections/components/add-to-collection/collection-metadata-step/collection-metadata-step.component.ts index 86e974b06..8086245b2 100644 --- a/src/app/features/collections/components/add-to-collection/collection-metadata-step/collection-metadata-step.component.ts +++ b/src/app/features/collections/components/add-to-collection/collection-metadata-step/collection-metadata-step.component.ts @@ -24,8 +24,8 @@ import { CollectionsSelectors, GetCollectionDetails } from '@shared/stores'; }) export class CollectionMetadataStepComponent { private readonly filterTypes = collectionFilterTypes; - protected readonly collectionFilterOptions = select(CollectionsSelectors.getAllFiltersOptions); - protected readonly availableFilterEntries = computed(() => { + readonly collectionFilterOptions = select(CollectionsSelectors.getAllFiltersOptions); + readonly availableFilterEntries = computed(() => { const options = this.collectionFilterOptions(); return this.filterTypes @@ -46,10 +46,10 @@ export class CollectionMetadataStepComponent { stepChange = output(); metadataSaved = output(); - protected collectionMetadataForm = signal(new FormGroup({})); - protected collectionMetadataSaved = signal(false); + collectionMetadataForm = signal(new FormGroup({})); + collectionMetadataSaved = signal(false); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getCollectionDetails: GetCollectionDetails, }); diff --git a/src/app/features/collections/components/add-to-collection/project-contributors-step/project-contributors-step.component.ts b/src/app/features/collections/components/add-to-collection/project-contributors-step/project-contributors-step.component.ts index 9a94426e2..dfa1bad79 100644 --- a/src/app/features/collections/components/add-to-collection/project-contributors-step/project-contributors-step.component.ts +++ b/src/app/features/collections/components/add-to-collection/project-contributors-step/project-contributors-step.component.ts @@ -60,7 +60,7 @@ export class ProjectContributorsStepComponent { stepChange = output(); contributorsSaved = output(); - protected actions = createDispatchMap({ + actions = createDispatchMap({ addContributor: AddContributor, updateContributor: UpdateContributor, deleteContributor: DeleteContributor, diff --git a/src/app/features/collections/components/add-to-collection/select-project-step/select-project-step.component.ts b/src/app/features/collections/components/add-to-collection/select-project-step/select-project-step.component.ts index ac8e45a60..f88889e4a 100644 --- a/src/app/features/collections/components/add-to-collection/select-project-step/select-project-step.component.ts +++ b/src/app/features/collections/components/add-to-collection/select-project-step/select-project-step.component.ts @@ -22,8 +22,8 @@ import { ProjectsSelectors } from '@shared/stores/projects/projects.selectors'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class SelectProjectStepComponent { - protected selectedProject = select(ProjectsSelectors.getSelectedProject); - protected currentUserSubmissions = select(CollectionsSelectors.getUserCollectionSubmissions); + selectedProject = select(ProjectsSelectors.getSelectedProject); + currentUserSubmissions = select(CollectionsSelectors.getUserCollectionSubmissions); stepperActiveValue = input.required(); targetStepValue = input.required(); @@ -34,12 +34,12 @@ export class SelectProjectStepComponent { currentSelectedProject = signal(null); - protected excludedProjectIds = computed(() => { + excludedProjectIds = computed(() => { const submissions = this.currentUserSubmissions(); return submissions.map((submission) => submission.nodeId); }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ setSelectedProject: SetSelectedProject, getUserCollectionSubmissions: GetUserCollectionSubmissions, }); diff --git a/src/app/features/collections/components/collections-discover/collections-discover.component.ts b/src/app/features/collections/components/collections-discover/collections-discover.component.ts index e199ec1f4..363456ffe 100644 --- a/src/app/features/collections/components/collections-discover/collections-discover.component.ts +++ b/src/app/features/collections/components/collections-discover/collections-discover.component.ts @@ -52,19 +52,19 @@ export class CollectionsDiscoverComponent { private querySyncService = inject(CollectionsQuerySyncService); private destroyRef = inject(DestroyRef); - protected searchControl = new FormControl(''); - protected providerId = signal(''); - - protected collectionProvider = select(CollectionsSelectors.getCollectionProvider); - protected collectionDetails = select(CollectionsSelectors.getCollectionDetails); - protected selectedFilters = select(CollectionsSelectors.getAllSelectedFilters); - protected sortBy = select(CollectionsSelectors.getSortBy); - protected searchText = select(CollectionsSelectors.getSearchText); - protected pageNumber = select(CollectionsSelectors.getPageNumber); - protected isProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); - protected primaryCollectionId = computed(() => this.collectionProvider()?.primaryCollection?.id); - - protected actions = createDispatchMap({ + searchControl = new FormControl(''); + providerId = signal(''); + + collectionProvider = select(CollectionsSelectors.getCollectionProvider); + collectionDetails = select(CollectionsSelectors.getCollectionDetails); + selectedFilters = select(CollectionsSelectors.getAllSelectedFilters); + sortBy = select(CollectionsSelectors.getSortBy); + searchText = select(CollectionsSelectors.getSearchText); + pageNumber = select(CollectionsSelectors.getPageNumber); + isProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); + primaryCollectionId = computed(() => this.collectionProvider()?.primaryCollection?.id); + + actions = createDispatchMap({ getCollectionProvider: GetCollectionProvider, getCollectionDetails: GetCollectionDetails, setSearchValue: SetSearchValue, @@ -80,7 +80,7 @@ export class CollectionsDiscoverComponent { this.setupSearchBinding(); } - protected openHelpDialog(): void { + openHelpDialog(): void { this.dialogService.open(CollectionsHelpDialogComponent, { focusOnShow: false, header: this.translateService.instant('collections.helpDialog.header'), @@ -90,7 +90,7 @@ export class CollectionsDiscoverComponent { }); } - protected onSearchTriggered(searchValue: string): void { + onSearchTriggered(searchValue: string): void { this.actions.setSearchValue(searchValue); this.actions.setPageNumber('1'); } diff --git a/src/app/features/collections/components/collections-filter-chips/collections-filter-chips.component.ts b/src/app/features/collections/components/collections-filter-chips/collections-filter-chips.component.ts index 7523ddba6..77f067bf1 100644 --- a/src/app/features/collections/components/collections-filter-chips/collections-filter-chips.component.ts +++ b/src/app/features/collections/components/collections-filter-chips/collections-filter-chips.component.ts @@ -28,11 +28,11 @@ import { changeDetection: ChangeDetectionStrategy.OnPush, }) export class CollectionsFilterChipsComponent { - protected activeFilters = select(CollectionsSelectors.getAllSelectedFilters); + activeFilters = select(CollectionsSelectors.getAllSelectedFilters); private readonly filterTypes = collectionFilterTypes; - protected actions = createDispatchMap({ + actions = createDispatchMap({ programArea: SetProgramAreaFilters, collectedType: SetCollectedTypeFilters, status: SetStatusFilters, @@ -45,7 +45,7 @@ export class CollectionsFilterChipsComponent { volume: SetVolumeFilters, }); - protected activeFilterEntries = computed(() => { + activeFilterEntries = computed(() => { const filters = this.activeFilters(); return this.filterTypes .map((key) => ({ @@ -55,7 +55,7 @@ export class CollectionsFilterChipsComponent { .filter((entry) => entry.filters.length); }); - protected onRemoveFilter(filterType: CollectionFilterType, removedFilter: string): void { + onRemoveFilter(filterType: CollectionFilterType, removedFilter: string): void { const currentFilters = this.activeFilters()[filterType].filter((filter: string) => filter !== removedFilter); switch (filterType) { diff --git a/src/app/features/collections/components/collections-filters/collections-filters.component.ts b/src/app/features/collections/components/collections-filters/collections-filters.component.ts index cae7d8b17..cd560197c 100644 --- a/src/app/features/collections/components/collections-filters/collections-filters.component.ts +++ b/src/app/features/collections/components/collections-filters/collections-filters.component.ts @@ -34,10 +34,10 @@ import { export class CollectionsFiltersComponent { private readonly filterTypes = collectionFilterTypes; - protected filtersOptions = select(CollectionsSelectors.getAllFiltersOptions); - protected selectedFilters = select(CollectionsSelectors.getAllSelectedFilters); + filtersOptions = select(CollectionsSelectors.getAllFiltersOptions); + selectedFilters = select(CollectionsSelectors.getAllSelectedFilters); - protected actions = createDispatchMap({ + actions = createDispatchMap({ programArea: SetProgramAreaFilters, collectedType: SetCollectedTypeFilters, status: SetStatusFilters, @@ -50,7 +50,7 @@ export class CollectionsFiltersComponent { volume: SetVolumeFilters, }); - protected availableFilterEntries = computed(() => { + availableFilterEntries = computed(() => { const options = this.filtersOptions(); const selectedFilters = this.selectedFilters(); @@ -69,7 +69,7 @@ export class CollectionsFiltersComponent { .filter((entry) => entry.options.length > 0); }); - protected setFilters(filterType: CollectionFilterType, $event: MultiSelectChangeEvent): void { + setFilters(filterType: CollectionFilterType, $event: MultiSelectChangeEvent): void { const filters = $event.value; switch (filterType) { @@ -106,7 +106,7 @@ export class CollectionsFiltersComponent { } } - protected clearFilters(filterType: CollectionFilterType): void { + clearFilters(filterType: CollectionFilterType): void { this.setFilters(filterType, { value: [] } as MultiSelectChangeEvent); } } diff --git a/src/app/features/collections/components/collections-main-content/collections-main-content.component.ts b/src/app/features/collections/components/collections-main-content/collections-main-content.component.ts index 23019cfb5..700cc6b69 100644 --- a/src/app/features/collections/components/collections-main-content/collections-main-content.component.ts +++ b/src/app/features/collections/components/collections-main-content/collections-main-content.component.ts @@ -35,24 +35,24 @@ import { CollectionsSearchResultsComponent } from '../collections-search-results changeDetection: ChangeDetectionStrategy.OnPush, }) export class CollectionsMainContentComponent { - protected readonly sortOptions = collectionsSortOptions; - protected isWeb = toSignal(inject(IS_WEB)); - protected selectedSort = select(CollectionsSelectors.getSortBy); - protected collectionSubmissions = select(CollectionsSelectors.getCollectionSubmissionsSearchResult); - protected isCollectionSubmissionsLoading = select(CollectionsSelectors.getCollectionSubmissionsLoading); + readonly sortOptions = collectionsSortOptions; + isWeb = toSignal(inject(IS_WEB)); + selectedSort = select(CollectionsSelectors.getSortBy); + collectionSubmissions = select(CollectionsSelectors.getCollectionSubmissionsSearchResult); + isCollectionSubmissionsLoading = select(CollectionsSelectors.getCollectionSubmissionsLoading); - protected isFiltersOpen = signal(false); - protected isSortingOpen = signal(false); + isFiltersOpen = signal(false); + isSortingOpen = signal(false); - protected selectedFilters = select(CollectionsSelectors.getAllSelectedFilters); - protected isCollectionProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); - protected isCollectionDetailsLoading = select(CollectionsSelectors.getCollectionDetailsLoading); + selectedFilters = select(CollectionsSelectors.getAllSelectedFilters); + isCollectionProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); + isCollectionDetailsLoading = select(CollectionsSelectors.getCollectionDetailsLoading); - protected isCollectionLoading = computed(() => { + isCollectionLoading = computed(() => { return this.isCollectionProviderLoading() || this.isCollectionDetailsLoading(); }); - protected hasAnySelectedFilters = computed(() => { + hasAnySelectedFilters = computed(() => { const currentFilters = this.selectedFilters(); const hasSelectedFiltersOptions = Object.values(currentFilters).some((value) => { return value.length; @@ -61,21 +61,21 @@ export class CollectionsMainContentComponent { return hasSelectedFiltersOptions; }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ setSortBy: SetSortBy, }); - protected openFilters(): void { + openFilters(): void { this.isFiltersOpen.set(!this.isFiltersOpen()); this.isSortingOpen.set(false); } - protected openSorting(): void { + openSorting(): void { this.isSortingOpen.set(!this.isSortingOpen()); this.isFiltersOpen.set(false); } - protected handleSortBy(value: string): void { + handleSortBy(value: string): void { this.actions.setSortBy(value); this.isSortingOpen.set(false); } diff --git a/src/app/features/collections/components/collections-search-result-card/collections-search-result-card.component.ts b/src/app/features/collections/components/collections-search-result-card/collections-search-result-card.component.ts index 7dfdc3c5a..32b2b18a3 100644 --- a/src/app/features/collections/components/collections-search-result-card/collections-search-result-card.component.ts +++ b/src/app/features/collections/components/collections-search-result-card/collections-search-result-card.component.ts @@ -16,7 +16,7 @@ import { CollectionSubmissionWithGuid } from '@shared/models'; export class CollectionsSearchResultCardComponent { cardItem = input.required(); - protected presentSubmissionAttributes = computed(() => { + presentSubmissionAttributes = computed(() => { const item = this.cardItem(); if (!item) return []; diff --git a/src/app/features/collections/components/collections-search-results/collections-search-results.component.ts b/src/app/features/collections/components/collections-search-results/collections-search-results.component.ts index 30b43ede8..c456fb6af 100644 --- a/src/app/features/collections/components/collections-search-results/collections-search-results.component.ts +++ b/src/app/features/collections/components/collections-search-results/collections-search-results.component.ts @@ -21,23 +21,23 @@ import { CollectionsSearchResultCardComponent } from '../collections-search-resu changeDetection: ChangeDetectionStrategy.OnPush, }) export class CollectionsSearchResultsComponent { - protected searchResults = select(CollectionsSelectors.getCollectionSubmissionsSearchResult); - protected isCollectionDetailsLoading = select(CollectionsSelectors.getCollectionDetailsLoading); - protected isCollectionSubmissionsLoading = select(CollectionsSelectors.getCollectionSubmissionsLoading); - protected totalSubmissions = select(CollectionsSelectors.getTotalSubmissions); - protected pageNumber = select(CollectionsSelectors.getPageNumber); + searchResults = select(CollectionsSelectors.getCollectionSubmissionsSearchResult); + isCollectionDetailsLoading = select(CollectionsSelectors.getCollectionDetailsLoading); + isCollectionSubmissionsLoading = select(CollectionsSelectors.getCollectionSubmissionsLoading); + totalSubmissions = select(CollectionsSelectors.getTotalSubmissions); + pageNumber = select(CollectionsSelectors.getPageNumber); - protected actions = createDispatchMap({ + actions = createDispatchMap({ setPageNumber: SetPageNumber, }); - protected isLoading = computed(() => { + isLoading = computed(() => { return this.isCollectionDetailsLoading() || this.isCollectionSubmissionsLoading(); }); - protected firstIndex = computed(() => (parseInt(this.pageNumber()) - 1) * 10); + firstIndex = computed(() => (parseInt(this.pageNumber()) - 1) * 10); - protected onPageChange(event: PaginatorState): void { + onPageChange(event: PaginatorState): void { if (event.page !== undefined) { const pageNumber = (event.page + 1).toString(); this.actions.setPageNumber(pageNumber); diff --git a/src/app/features/files/components/create-folder-dialog/create-folder-dialog.component.ts b/src/app/features/files/components/create-folder-dialog/create-folder-dialog.component.ts index 685833155..6bcd42408 100644 --- a/src/app/features/files/components/create-folder-dialog/create-folder-dialog.component.ts +++ b/src/app/features/files/components/create-folder-dialog/create-folder-dialog.component.ts @@ -20,7 +20,7 @@ export class CreateFolderDialogComponent { readonly nameLimit = InputLimits.name.maxLength; readonly nameMinLength = InputLimits.name.minLength; - protected readonly folderForm = new FormGroup({ + readonly folderForm = new FormGroup({ name: new FormControl('', { nonNullable: true, validators: [CustomValidators.requiredTrimmed()], diff --git a/src/app/features/files/components/edit-file-metadata-dialog/edit-file-metadata-dialog.component.ts b/src/app/features/files/components/edit-file-metadata-dialog/edit-file-metadata-dialog.component.ts index c7c233316..68b7f6c11 100644 --- a/src/app/features/files/components/edit-file-metadata-dialog/edit-file-metadata-dialog.component.ts +++ b/src/app/features/files/components/edit-file-metadata-dialog/edit-file-metadata-dialog.component.ts @@ -20,8 +20,8 @@ import { PatchFileMetadata } from '../../models'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class EditFileMetadataDialogComponent { - protected readonly resourceTypes = resourceTypes; - protected readonly languages = languageCodes; + readonly resourceTypes = resourceTypes; + readonly languages = languageCodes; private readonly dialogRef = inject(DynamicDialogRef); diff --git a/src/app/features/files/components/rename-file-dialog/rename-file-dialog.component.ts b/src/app/features/files/components/rename-file-dialog/rename-file-dialog.component.ts index 4eeeb4f13..b9b4e5c48 100644 --- a/src/app/features/files/components/rename-file-dialog/rename-file-dialog.component.ts +++ b/src/app/features/files/components/rename-file-dialog/rename-file-dialog.component.ts @@ -23,7 +23,7 @@ export class RenameFileDialogComponent { readonly nameLimit = InputLimits.name.maxLength; readonly nameMinLength = InputLimits.name.minLength; - protected readonly renameForm = new FormGroup({ + readonly renameForm = new FormGroup({ name: new FormControl(this.config.data?.currentName ?? '', { nonNullable: true, validators: [CustomValidators.requiredTrimmed()], diff --git a/src/app/features/home/home.component.ts b/src/app/features/home/home.component.ts index 7df01f953..5013b55ce 100644 --- a/src/app/features/home/home.component.ts +++ b/src/app/features/home/home.component.ts @@ -21,7 +21,7 @@ import { INTEGRATION_ICONS, SLIDES } from './constants'; export class HomeComponent { private readonly router = inject(Router); - protected searchControl = new FormControl(''); + searchControl = new FormControl(''); readonly icons = INTEGRATION_ICONS; readonly slides = SLIDES; diff --git a/src/app/features/moderation/components/add-moderator-dialog/add-moderator-dialog.component.ts b/src/app/features/moderation/components/add-moderator-dialog/add-moderator-dialog.component.ts index 40337fa7b..106657b1c 100644 --- a/src/app/features/moderation/components/add-moderator-dialog/add-moderator-dialog.component.ts +++ b/src/app/features/moderation/components/add-moderator-dialog/add-moderator-dialog.component.ts @@ -35,23 +35,23 @@ import { ClearUsers, ModeratorsSelectors, SearchUsers } from '../../store/modera changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddModeratorDialogComponent implements OnInit, OnDestroy { - protected dialogRef = inject(DynamicDialogRef); + dialogRef = inject(DynamicDialogRef); private readonly destroyRef = inject(DestroyRef); readonly config = inject(DynamicDialogConfig); - protected users = select(ModeratorsSelectors.getUsers); - protected isLoading = select(ModeratorsSelectors.isUsersLoading); - protected totalUsersCount = select(ModeratorsSelectors.getUsersTotalCount); - protected isInitialState = signal(true); + users = select(ModeratorsSelectors.getUsers); + isLoading = select(ModeratorsSelectors.isUsersLoading); + totalUsersCount = select(ModeratorsSelectors.getUsersTotalCount); + isInitialState = signal(true); - protected currentPage = signal(1); - protected first = signal(0); - protected rows = signal(10); + currentPage = signal(1); + first = signal(0); + rows = signal(10); - protected selectedUsers = signal([]); - protected searchControl = new FormControl(''); + selectedUsers = signal([]); + searchControl = new FormControl(''); - protected actions = createDispatchMap({ searchUsers: SearchUsers, clearUsers: ClearUsers }); + actions = createDispatchMap({ searchUsers: SearchUsers, clearUsers: ClearUsers }); ngOnInit(): void { this.setSearchSubscription(); diff --git a/src/app/features/moderation/components/collection-moderation-submissions/collection-moderation-submissions.component.ts b/src/app/features/moderation/components/collection-moderation-submissions/collection-moderation-submissions.component.ts index 7f5697ff8..181ebc0b4 100644 --- a/src/app/features/moderation/components/collection-moderation-submissions/collection-moderation-submissions.component.ts +++ b/src/app/features/moderation/components/collection-moderation-submissions/collection-moderation-submissions.component.ts @@ -57,27 +57,27 @@ export class CollectionModerationSubmissionsComponent { private route = inject(ActivatedRoute); readonly submissionReviewOptions = COLLECTIONS_SUBMISSIONS_REVIEW_OPTIONS; - protected collectionProvider = select(CollectionsSelectors.getCollectionProvider); - protected isCollectionProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); - protected isSubmissionsLoading = select(CollectionsModerationSelectors.getCollectionSubmissionsLoading); - protected collectionSubmissions = select(CollectionsModerationSelectors.getCollectionSubmissions); - protected totalSubmissions = select(CollectionsModerationSelectors.getCollectionSubmissionsTotalCount); - protected providerId = signal(''); - protected primaryCollectionId = computed(() => this.collectionProvider()?.primaryCollection?.id); - protected reviewStatus = signal(SubmissionReviewStatus.Pending); - protected currentPage = signal('1'); - protected pageSize = 10; - - protected isLoading = computed(() => { + collectionProvider = select(CollectionsSelectors.getCollectionProvider); + isCollectionProviderLoading = select(CollectionsSelectors.getCollectionProviderLoading); + isSubmissionsLoading = select(CollectionsModerationSelectors.getCollectionSubmissionsLoading); + collectionSubmissions = select(CollectionsModerationSelectors.getCollectionSubmissions); + totalSubmissions = select(CollectionsModerationSelectors.getCollectionSubmissionsTotalCount); + providerId = signal(''); + primaryCollectionId = computed(() => this.collectionProvider()?.primaryCollection?.id); + reviewStatus = signal(SubmissionReviewStatus.Pending); + currentPage = signal('1'); + pageSize = 10; + + isLoading = computed(() => { return this.isCollectionProviderLoading() || this.isSubmissionsLoading(); }); sortOptions = COLLECTION_SUBMISSIONS_SORT_OPTIONS; selectedSortOption = signal(this.sortOptions[0].value); - protected firstIndex = computed(() => (parseInt(this.currentPage()) - 1) * 10); + firstIndex = computed(() => (parseInt(this.currentPage()) - 1) * 10); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getCollectionProvider: GetCollectionProvider, getCollectionDetails: GetCollectionDetails, searchCollectionSubmissions: SearchCollectionSubmissions, diff --git a/src/app/features/moderation/components/collection-submission-item/collection-submission-item.component.ts b/src/app/features/moderation/components/collection-submission-item/collection-submission-item.component.ts index 5467686c7..a44c3ff3e 100644 --- a/src/app/features/moderation/components/collection-submission-item/collection-submission-item.component.ts +++ b/src/app/features/moderation/components/collection-submission-item/collection-submission-item.component.ts @@ -31,9 +31,9 @@ export class CollectionSubmissionItemComponent { submission = input.required(); collectionProvider = select(CollectionsSelectors.getCollectionProvider); - protected readonly reviewStatusIcon = ReviewStatusIcon; + readonly reviewStatusIcon = ReviewStatusIcon; - protected currentReviewAction = computed(() => { + currentReviewAction = computed(() => { const actions = this.submission().actions; if (!actions || !actions.length) return null; @@ -41,7 +41,7 @@ export class CollectionSubmissionItemComponent { return actions[0]; }); - protected currentSubmissionAttributes = computed(() => { + currentSubmissionAttributes = computed(() => { const item = this.submission(); if (!item) return null; @@ -53,7 +53,7 @@ export class CollectionSubmissionItemComponent { .filter((attribute) => attribute.value); }); - protected handleNavigation() { + handleNavigation() { const currentStatus = this.activatedRoute.snapshot.queryParams['status']; const queryParams = currentStatus ? { status: currentStatus, mode: 'moderation' } : {}; @@ -63,5 +63,5 @@ export class CollectionSubmissionItemComponent { }); } - protected readonly SubmissionReviewStatus = SubmissionReviewStatus; + readonly SubmissionReviewStatus = SubmissionReviewStatus; } diff --git a/src/app/features/moderation/components/invite-moderator-dialog/invite-moderator-dialog.component.ts b/src/app/features/moderation/components/invite-moderator-dialog/invite-moderator-dialog.component.ts index bb8960ec2..700717724 100644 --- a/src/app/features/moderation/components/invite-moderator-dialog/invite-moderator-dialog.component.ts +++ b/src/app/features/moderation/components/invite-moderator-dialog/invite-moderator-dialog.component.ts @@ -22,10 +22,10 @@ import { InviteModeratorForm, ModeratorAddModel, ModeratorDialogAddModel } from changeDetection: ChangeDetectionStrategy.OnPush, }) export class InviteModeratorDialogComponent { - protected dialogRef = inject(DynamicDialogRef); - protected moderatorForm!: FormGroup; - protected inputLimits = InputLimits; - protected readonly permissionsOptions = MODERATION_PERMISSIONS; + dialogRef = inject(DynamicDialogRef); + moderatorForm!: FormGroup; + inputLimits = InputLimits; + readonly permissionsOptions = MODERATION_PERMISSIONS; constructor() { this.initForm(); diff --git a/src/app/features/moderation/components/moderators-list/moderators-list.component.ts b/src/app/features/moderation/components/moderators-list/moderators-list.component.ts index 5c575a75e..123fd3f6f 100644 --- a/src/app/features/moderation/components/moderators-list/moderators-list.component.ts +++ b/src/app/features/moderation/components/moderators-list/moderators-list.component.ts @@ -50,7 +50,7 @@ import { ModeratorsTableComponent } from '../moderators-table/moderators-table.c providers: [DialogService], }) export class ModeratorsListComponent implements OnInit { - protected searchControl = new FormControl(''); + searchControl = new FormControl(''); private readonly route = inject(ActivatedRoute); private readonly destroyRef = inject(DestroyRef); @@ -81,7 +81,7 @@ export class ModeratorsListComponent implements OnInit { }); }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ loadModerators: LoadModerators, updateSearchValue: UpdateSearchValue, addModerators: AddModerator, diff --git a/src/app/features/moderation/components/moderators-table/moderators-table.component.ts b/src/app/features/moderation/components/moderators-table/moderators-table.component.ts index 1cfed3308..fc857a840 100644 --- a/src/app/features/moderation/components/moderators-table/moderators-table.component.ts +++ b/src/app/features/moderation/components/moderators-table/moderators-table.component.ts @@ -39,21 +39,21 @@ export class ModeratorsTableComponent { dialogService = inject(DialogService); translateService = inject(TranslateService); - protected readonly tableParams = signal({ ...MY_PROJECTS_TABLE_PARAMS }); - protected readonly permissionsOptions = MODERATION_PERMISSIONS; - protected readonly ModeratorPermission = ModeratorPermission; + readonly tableParams = signal({ ...MY_PROJECTS_TABLE_PARAMS }); + readonly permissionsOptions = MODERATION_PERMISSIONS; + readonly ModeratorPermission = ModeratorPermission; skeletonData: ModeratorModel[] = Array.from({ length: 3 }, () => ({}) as ModeratorModel); - protected updatePermission(item: ModeratorModel) { + updatePermission(item: ModeratorModel) { this.update.emit(item); } - protected removeModerator(item: ModeratorModel) { + removeModerator(item: ModeratorModel) { this.remove.emit(item); } - protected openEducationHistory(contributor: ModeratorModel) { + openEducationHistory(contributor: ModeratorModel) { this.dialogService.open(EducationHistoryDialogComponent, { width: '552px', data: contributor.education, @@ -65,7 +65,7 @@ export class ModeratorsTableComponent { }); } - protected openEmploymentHistory(contributor: ModeratorModel) { + openEmploymentHistory(contributor: ModeratorModel) { this.dialogService.open(EmploymentHistoryDialogComponent, { width: '552px', data: contributor.employment, diff --git a/src/app/features/moderation/components/preprint-recent-activity-list/preprint-recent-activity-list.component.ts b/src/app/features/moderation/components/preprint-recent-activity-list/preprint-recent-activity-list.component.ts index 5e32a5e2b..734ae2e36 100644 --- a/src/app/features/moderation/components/preprint-recent-activity-list/preprint-recent-activity-list.component.ts +++ b/src/app/features/moderation/components/preprint-recent-activity-list/preprint-recent-activity-list.component.ts @@ -25,7 +25,7 @@ export class PreprintRecentActivityListComponent { pageChanged = output(); - protected first = signal(0); + first = signal(0); readonly reviewStatusIcon = ReviewStatusIcon; readonly preprintReviewStatus = PreprintReviewStatus; diff --git a/src/app/features/preprints/components/preprint-details/citation-section/citation-section.component.ts b/src/app/features/preprints/components/preprint-details/citation-section/citation-section.component.ts index 217379e72..e1d9d0ce3 100644 --- a/src/app/features/preprints/components/preprint-details/citation-section/citation-section.component.ts +++ b/src/app/features/preprints/components/preprint-details/citation-section/citation-section.component.ts @@ -52,14 +52,14 @@ export class CitationSectionComponent implements OnInit { updateCustomCitation: UpdateCustomCitation, }); - protected defaultCitations = select(CitationsSelectors.getDefaultCitations); - protected areCitationsLoading = select(CitationsSelectors.getDefaultCitationsLoading); - protected citationStyles = select(CitationsSelectors.getCitationStyles); - protected areCitationStylesLoading = select(CitationsSelectors.getCitationStylesLoading); - protected styledCitation = select(CitationsSelectors.getStyledCitation); - protected citationStylesOptions = signal[]>([]); - - protected filterMessage = computed(() => { + defaultCitations = select(CitationsSelectors.getDefaultCitations); + areCitationsLoading = select(CitationsSelectors.getDefaultCitationsLoading); + citationStyles = select(CitationsSelectors.getCitationStyles); + areCitationStylesLoading = select(CitationsSelectors.getCitationStylesLoading); + styledCitation = select(CitationsSelectors.getStyledCitation); + citationStylesOptions = signal[]>([]); + + filterMessage = computed(() => { const isLoading = this.areCitationStylesLoading(); return isLoading ? this.translateService.instant('project.overview.metadata.citationLoadingPlaceholder') @@ -75,12 +75,12 @@ export class CitationSectionComponent implements OnInit { this.actions.getDefaultCitations(ResourceType.Preprint, this.preprintId()); } - protected handleCitationStyleFilterSearch(event: SelectFilterEvent) { + handleCitationStyleFilterSearch(event: SelectFilterEvent) { event.originalEvent.preventDefault(); this.filterSubject.next(event.filter); } - protected handleGetStyledCitation(event: SelectChangeEvent) { + handleGetStyledCitation(event: SelectChangeEvent) { this.actions.getStyledCitation(ResourceType.Preprint, this.preprintId(), event.value.id); } diff --git a/src/app/features/preprints/components/preprint-details/general-information/general-information.component.ts b/src/app/features/preprints/components/preprint-details/general-information/general-information.component.ts index c6ce10509..df6933c9c 100644 --- a/src/app/features/preprints/components/preprint-details/general-information/general-information.component.ts +++ b/src/app/features/preprints/components/preprint-details/general-information/general-information.component.ts @@ -45,7 +45,7 @@ export class GeneralInformationComponent implements OnDestroy { fetchPreprintById: FetchPreprintById, fetchResourceInstitutions: FetchResourceInstitutions, }); - protected readonly environment = environment; + readonly environment = environment; preprintProvider = input.required(); preprintVersionSelected = output(); diff --git a/src/app/features/preprints/components/preprint-details/make-decision/make-decision.component.ts b/src/app/features/preprints/components/preprint-details/make-decision/make-decision.component.ts index 33ce709b6..cd6d5b9fb 100644 --- a/src/app/features/preprints/components/preprint-details/make-decision/make-decision.component.ts +++ b/src/app/features/preprints/components/preprint-details/make-decision/make-decision.component.ts @@ -40,7 +40,7 @@ export class MakeDecisionComponent { submitRequestsDecision: SubmitRequestsDecision, }); - protected readonly ReviewsState = ReviewsState; + readonly ReviewsState = ReviewsState; preprint = select(PreprintSelectors.getPreprint); provider = input.required(); diff --git a/src/app/features/preprints/components/preprint-details/moderation-status-banner/moderation-status-banner.component.ts b/src/app/features/preprints/components/preprint-details/moderation-status-banner/moderation-status-banner.component.ts index 129bce73b..11a401117 100644 --- a/src/app/features/preprints/components/preprint-details/moderation-status-banner/moderation-status-banner.component.ts +++ b/src/app/features/preprints/components/preprint-details/moderation-status-banner/moderation-status-banner.component.ts @@ -32,7 +32,7 @@ import { environment } from 'src/environments/environment'; }) export class ModerationStatusBannerComponent { private readonly translateService = inject(TranslateService); - protected readonly environment = environment; + readonly environment = environment; preprint = select(PreprintSelectors.getPreprint); provider = input.required(); diff --git a/src/app/features/preprints/components/preprint-details/withdraw-dialog/withdraw-dialog.component.ts b/src/app/features/preprints/components/preprint-details/withdraw-dialog/withdraw-dialog.component.ts index 5d1a8a2bc..2030a6d94 100644 --- a/src/app/features/preprints/components/preprint-details/withdraw-dialog/withdraw-dialog.component.ts +++ b/src/app/features/preprints/components/preprint-details/withdraw-dialog/withdraw-dialog.component.ts @@ -42,8 +42,8 @@ export class WithdrawDialogComponent implements OnInit { withdrawPreprint: WithdrawPreprint, }); - protected inputLimits = formInputLimits; - protected readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; + inputLimits = formInputLimits; + readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; withdrawalJustificationFormControl = new FormControl('', { nonNullable: true, diff --git a/src/app/features/preprints/components/preprint-provider-hero/preprint-provider-hero.component.ts b/src/app/features/preprints/components/preprint-provider-hero/preprint-provider-hero.component.ts index d263fc656..37218f65e 100644 --- a/src/app/features/preprints/components/preprint-provider-hero/preprint-provider-hero.component.ts +++ b/src/app/features/preprints/components/preprint-provider-hero/preprint-provider-hero.component.ts @@ -24,8 +24,8 @@ import { PreprintsHelpDialogComponent } from '../preprints-help-dialog/preprints changeDetection: ChangeDetectionStrategy.OnPush, }) export class PreprintProviderHeroComponent { - protected translateService = inject(TranslateService); - protected dialogService = inject(DialogService); + translateService = inject(TranslateService); + dialogService = inject(DialogService); searchControl = input(new FormControl()); preprintProvider = input.required(); diff --git a/src/app/features/preprints/components/stepper/metadata-step/contributors/contributors.component.ts b/src/app/features/preprints/components/stepper/metadata-step/contributors/contributors.component.ts index 624582045..f9b813287 100644 --- a/src/app/features/preprints/components/stepper/metadata-step/contributors/contributors.component.ts +++ b/src/app/features/preprints/components/stepper/metadata-step/contributors/contributors.component.ts @@ -48,12 +48,12 @@ export class ContributorsComponent implements OnInit { readonly toastService = inject(ToastService); readonly customConfirmationService = inject(CustomConfirmationService); - protected initialContributors = select(ContributorsSelectors.getContributors); - protected contributors = signal([]); + initialContributors = select(ContributorsSelectors.getContributors); + contributors = signal([]); - protected readonly isContributorsLoading = select(ContributorsSelectors.isContributorsLoading); + readonly isContributorsLoading = select(ContributorsSelectors.isContributorsLoading); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getContributors: GetAllContributors, deleteContributor: DeleteContributor, updateContributor: UpdateContributor, diff --git a/src/app/features/preprints/components/stepper/metadata-step/preprints-subjects/preprints-subjects.component.ts b/src/app/features/preprints/components/stepper/metadata-step/preprints-subjects/preprints-subjects.component.ts index c7ce009f1..a88ca063c 100644 --- a/src/app/features/preprints/components/stepper/metadata-step/preprints-subjects/preprints-subjects.component.ts +++ b/src/app/features/preprints/components/stepper/metadata-step/preprints-subjects/preprints-subjects.component.ts @@ -32,12 +32,12 @@ export class PreprintsSubjectsComponent implements OnInit { preprintId = input(); private readonly selectedProviderId = select(PreprintStepperSelectors.getSelectedProviderId); - protected selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); - protected isSubjectsUpdating = select(SubjectsSelectors.areSelectedSubjectsLoading); + selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); + isSubjectsUpdating = select(SubjectsSelectors.areSelectedSubjectsLoading); control = input.required(); - protected readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; - protected actions = createDispatchMap({ + readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; + actions = createDispatchMap({ fetchSubjects: FetchSubjects, fetchSelectedSubjects: FetchSelectedSubjects, fetchChildrenSubjects: FetchChildrenSubjects, diff --git a/src/app/features/preprints/components/stepper/title-and-abstract-step/title-and-abstract-step.component.ts b/src/app/features/preprints/components/stepper/title-and-abstract-step/title-and-abstract-step.component.ts index 14c6e5932..86bd75dc3 100644 --- a/src/app/features/preprints/components/stepper/title-and-abstract-step/title-and-abstract-step.component.ts +++ b/src/app/features/preprints/components/stepper/title-and-abstract-step/title-and-abstract-step.component.ts @@ -50,10 +50,10 @@ export class TitleAndAbstractStepComponent { updatePreprint: UpdatePreprint, }); - protected inputLimits = formInputLimits; - protected readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; + inputLimits = formInputLimits; + readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; - protected titleAndAbstractForm = new FormGroup({ + titleAndAbstractForm = new FormGroup({ title: new FormControl('', { nonNullable: true, validators: [CustomValidators.requiredTrimmed(), Validators.maxLength(this.inputLimits.title.maxLength)], diff --git a/src/app/features/preprints/pages/landing/preprints-landing.component.ts b/src/app/features/preprints/pages/landing/preprints-landing.component.ts index 401d551c5..4f446cee7 100644 --- a/src/app/features/preprints/pages/landing/preprints-landing.component.ts +++ b/src/app/features/preprints/pages/landing/preprints-landing.component.ts @@ -47,7 +47,7 @@ import { environment } from 'src/environments/environment'; export class PreprintsLandingComponent implements OnInit, OnDestroy { @HostBinding('class') classes = 'flex-1 flex flex-column w-full h-full'; - protected searchControl = new FormControl(''); + searchControl = new FormControl(''); readonly supportEmail = environment.supportEmail; private readonly OSF_PROVIDER_ID = environment.defaultProvider; diff --git a/src/app/features/preprints/preprints.component.ts b/src/app/features/preprints/preprints.component.ts index 31c627915..86cc62761 100644 --- a/src/app/features/preprints/preprints.component.ts +++ b/src/app/features/preprints/preprints.component.ts @@ -12,6 +12,6 @@ import { IS_WEB } from '@osf/shared/helpers'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class PreprintsComponent { - protected readonly isDesktop = toSignal(inject(IS_WEB)); + readonly isDesktop = toSignal(inject(IS_WEB)); @HostBinding('class') classes = 'flex flex-1 flex-column w-full'; } diff --git a/src/app/features/project/addons/addons.component.ts b/src/app/features/project/addons/addons.component.ts index 0b6606d1d..3aea50976 100644 --- a/src/app/features/project/addons/addons.component.ts +++ b/src/app/features/project/addons/addons.component.ts @@ -60,31 +60,31 @@ import { export class AddonsComponent implements OnInit { private route = inject(ActivatedRoute); private destroyRef = inject(DestroyRef); - protected readonly tabOptions = ADDON_TAB_OPTIONS; - protected readonly categoryOptions = ADDON_CATEGORY_OPTIONS; - protected readonly AddonTabValue = AddonTabValue; - protected readonly defaultTabValue = AddonTabValue.ALL_ADDONS; - protected searchControl = new FormControl(''); - protected searchValue = signal(''); - protected selectedCategory = signal(AddonCategory.EXTERNAL_STORAGE_SERVICES); - protected selectedTab = signal(this.defaultTabValue); - - protected currentUser = select(UserSelectors.getCurrentUser); - protected addonsResourceReference = select(AddonsSelectors.getAddonsResourceReference); - protected addonsUserReference = select(AddonsSelectors.getAddonsUserReference); - protected storageAddons = select(AddonsSelectors.getStorageAddons); - protected citationAddons = select(AddonsSelectors.getCitationAddons); - protected configuredStorageAddons = select(AddonsSelectors.getConfiguredStorageAddons); - protected configuredCitationAddons = select(AddonsSelectors.getConfiguredCitationAddons); - - protected isCurrentUserLoading = select(UserSelectors.getCurrentUserLoading); - protected isUserReferenceLoading = select(AddonsSelectors.getAddonsUserReferenceLoading); - protected isResourceReferenceLoading = select(AddonsSelectors.getAddonsResourceReferenceLoading); - protected isStorageAddonsLoading = select(AddonsSelectors.getStorageAddonsLoading); - protected isCitationAddonsLoading = select(AddonsSelectors.getCitationAddonsLoading); - protected isConfiguredStorageAddonsLoading = select(AddonsSelectors.getConfiguredStorageAddonsLoading); - protected isConfiguredCitationAddonsLoading = select(AddonsSelectors.getConfiguredCitationAddonsLoading); - protected isAddonsLoading = computed(() => { + readonly tabOptions = ADDON_TAB_OPTIONS; + readonly categoryOptions = ADDON_CATEGORY_OPTIONS; + readonly AddonTabValue = AddonTabValue; + readonly defaultTabValue = AddonTabValue.ALL_ADDONS; + searchControl = new FormControl(''); + searchValue = signal(''); + selectedCategory = signal(AddonCategory.EXTERNAL_STORAGE_SERVICES); + selectedTab = signal(this.defaultTabValue); + + currentUser = select(UserSelectors.getCurrentUser); + addonsResourceReference = select(AddonsSelectors.getAddonsResourceReference); + addonsUserReference = select(AddonsSelectors.getAddonsUserReference); + storageAddons = select(AddonsSelectors.getStorageAddons); + citationAddons = select(AddonsSelectors.getCitationAddons); + configuredStorageAddons = select(AddonsSelectors.getConfiguredStorageAddons); + configuredCitationAddons = select(AddonsSelectors.getConfiguredCitationAddons); + + isCurrentUserLoading = select(UserSelectors.getCurrentUserLoading); + isUserReferenceLoading = select(AddonsSelectors.getAddonsUserReferenceLoading); + isResourceReferenceLoading = select(AddonsSelectors.getAddonsResourceReferenceLoading); + isStorageAddonsLoading = select(AddonsSelectors.getStorageAddonsLoading); + isCitationAddonsLoading = select(AddonsSelectors.getCitationAddonsLoading); + isConfiguredStorageAddonsLoading = select(AddonsSelectors.getConfiguredStorageAddonsLoading); + isConfiguredCitationAddonsLoading = select(AddonsSelectors.getConfiguredCitationAddonsLoading); + isAddonsLoading = computed(() => { return ( this.isStorageAddonsLoading() || this.isCitationAddonsLoading() || @@ -92,7 +92,7 @@ export class AddonsComponent implements OnInit { this.isCurrentUserLoading() ); }); - protected isConfiguredAddonsLoading = computed(() => { + isConfiguredAddonsLoading = computed(() => { return ( this.isConfiguredStorageAddonsLoading() || this.isConfiguredCitationAddonsLoading() || @@ -101,7 +101,7 @@ export class AddonsComponent implements OnInit { ); }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getStorageAddons: GetStorageAddons, getCitationAddons: GetCitationAddons, getConfiguredStorageAddons: GetConfiguredStorageAddons, @@ -112,32 +112,32 @@ export class AddonsComponent implements OnInit { clearConfiguredAddons: ClearConfiguredAddons, }); - protected readonly userReferenceId = computed(() => { + readonly userReferenceId = computed(() => { return this.addonsUserReference()[0]?.id; }); - protected allConfiguredAddons = computed(() => { + allConfiguredAddons = computed(() => { const authorizedAddons = [...this.configuredStorageAddons(), ...this.configuredCitationAddons()]; const searchValue = this.searchValue().toLowerCase(); return authorizedAddons.filter((card) => card.displayName.toLowerCase().includes(searchValue)); }); - protected resourceReferenceId = computed(() => { + resourceReferenceId = computed(() => { return this.addonsResourceReference()[0]?.id; }); - protected currentAction = computed(() => + currentAction = computed(() => this.selectedCategory() === AddonCategory.EXTERNAL_STORAGE_SERVICES ? this.actions.getStorageAddons : this.actions.getCitationAddons ); - protected currentAddonsState = computed(() => + currentAddonsState = computed(() => this.selectedCategory() === AddonCategory.EXTERNAL_STORAGE_SERVICES ? this.storageAddons() : this.citationAddons() ); - protected filteredAddonCards = computed(() => { + filteredAddonCards = computed(() => { const searchValue = this.searchValue().toLowerCase(); return this.currentAddonsState().filter( (card) => @@ -146,7 +146,7 @@ export class AddonsComponent implements OnInit { ); }); - protected onCategoryChange(value: Primitive): void { + onCategoryChange(value: Primitive): void { if (typeof value === 'string') { this.selectedCategory.set(value); } diff --git a/src/app/features/project/addons/components/configure-addon/configure-addon.component.ts b/src/app/features/project/addons/components/configure-addon/configure-addon.component.ts index 20d622702..69d0e2faa 100644 --- a/src/app/features/project/addons/components/configure-addon/configure-addon.component.ts +++ b/src/app/features/project/addons/components/configure-addon/configure-addon.component.ts @@ -87,12 +87,12 @@ export class ConfigureAddonComponent implements OnInit { return this.storageAddon()?.wbKey === 'googledrive'; }); - protected isEditMode = signal(false); + isEditMode = signal(false); public selectedRootFolderId = signal(''); - protected addonsUserReference = select(AddonsSelectors.getAddonsUserReference); + addonsUserReference = select(AddonsSelectors.getAddonsUserReference); public operationInvocation = select(AddonsSelectors.getOperationInvocation); - protected selectedFolderOperationInvocation = select(AddonsSelectors.getSelectedFolderOperationInvocation); - protected selectedFolder = select(AddonsSelectors.getSelectedFolder); + selectedFolderOperationInvocation = select(AddonsSelectors.getSelectedFolderOperationInvocation); + selectedFolder = select(AddonsSelectors.getSelectedFolder); readonly baseUrl = computed(() => { const currentUrl = this.router.url; @@ -105,7 +105,7 @@ export class ConfigureAddonComponent implements OnInit { readonly addonTypeString = computed(() => { return getAddonTypeString(this.addon()); }); - protected readonly actions = createDispatchMap({ + readonly actions = createDispatchMap({ createAddonOperationInvocation: CreateAddonOperationInvocation, updateConfiguredAddon: UpdateConfiguredAddon, clearOperationInvocations: ClearOperationInvocations, @@ -139,7 +139,7 @@ export class ConfigureAddonComponent implements OnInit { } } - protected handleCreateOperationInvocation(operationName: OperationNames, folderId: string): void { + handleCreateOperationInvocation(operationName: OperationNames, folderId: string): void { const addon = this.addon(); if (!addon) return; @@ -152,7 +152,7 @@ export class ConfigureAddonComponent implements OnInit { this.handleCreateOperationInvocation(OperationNames.GET_ITEM_INFO, this.selectedRootFolderId()); } - protected handleDisconnectAccount(): void { + handleDisconnectAccount(): void { const currentAddon = this.addon(); if (!currentAddon) return; @@ -172,7 +172,7 @@ export class ConfigureAddonComponent implements OnInit { }); } - protected toggleEditMode(): void { + toggleEditMode(): void { const operationResult = this.selectedFolderOperationInvocation()?.operationResult[0]; const hasRootCandidates = operationResult?.mayContainRootCandidates ?? false; const itemId = operationResult?.itemId || '/'; @@ -184,7 +184,7 @@ export class ConfigureAddonComponent implements OnInit { this.isEditMode.set(!this.isEditMode()); } - protected handleUpdateAddonConfiguration(): void { + handleUpdateAddonConfiguration(): void { const currentAddon = this.addon(); if (!currentAddon) return; diff --git a/src/app/features/project/addons/components/confirm-account-connection-modal/confirm-account-connection-modal.component.ts b/src/app/features/project/addons/components/confirm-account-connection-modal/confirm-account-connection-modal.component.ts index 3ffeb0989..0075b0c16 100644 --- a/src/app/features/project/addons/components/confirm-account-connection-modal/confirm-account-connection-modal.component.ts +++ b/src/app/features/project/addons/components/confirm-account-connection-modal/confirm-account-connection-modal.component.ts @@ -22,15 +22,15 @@ import { AddonsSelectors, CreateAddonOperationInvocation } from '@shared/stores/ export class ConfirmAccountConnectionModalComponent { private dialogConfig = inject(DynamicDialogConfig); private operationInvocationService = inject(AddonOperationInvocationService); - protected dialogRef = inject(DynamicDialogRef); - protected dialogMessage = this.dialogConfig.data.message || ''; - protected isSubmitting = select(AddonsSelectors.getOperationInvocationSubmitting); + dialogRef = inject(DynamicDialogRef); + dialogMessage = this.dialogConfig.data.message || ''; + isSubmitting = select(AddonsSelectors.getOperationInvocationSubmitting); - protected actions = createDispatchMap({ + actions = createDispatchMap({ createAddonOperationInvocation: CreateAddonOperationInvocation, }); - protected handleConnectAddonAccount(): void { + handleConnectAddonAccount(): void { const selectedAccount = this.dialogConfig.data.selectedAccount; if (!selectedAccount) return; diff --git a/src/app/features/project/addons/components/connect-configured-addon/connect-configured-addon.component.ts b/src/app/features/project/addons/components/connect-configured-addon/connect-configured-addon.component.ts index f2c6cf70c..6a51c5ad3 100644 --- a/src/app/features/project/addons/components/connect-configured-addon/connect-configured-addon.component.ts +++ b/src/app/features/project/addons/components/connect-configured-addon/connect-configured-addon.component.ts @@ -71,33 +71,33 @@ export class ConnectConfiguredAddonComponent { private operationInvocationService = inject(AddonOperationInvocationService); private router = inject(Router); private route = inject(ActivatedRoute); - protected readonly AddonStepperValue = ProjectAddonsStepperValue; - protected readonly stepper = viewChild(Stepper); - protected accountNameControl = new FormControl(''); - protected terms = signal([]); - protected addon = signal(null); - protected addonAuthUrl = signal('/settings/addons'); - protected currentAuthorizedAddonAccounts = signal([]); - protected chosenAccountId = signal(''); - protected chosenAccountName = signal(''); - protected selectedRootFolderId = signal(''); + readonly AddonStepperValue = ProjectAddonsStepperValue; + readonly stepper = viewChild(Stepper); + accountNameControl = new FormControl(''); + terms = signal([]); + addon = signal(null); + addonAuthUrl = signal('/settings/addons'); + currentAuthorizedAddonAccounts = signal([]); + chosenAccountId = signal(''); + chosenAccountName = signal(''); + selectedRootFolderId = signal(''); private selectedAccount = signal({} as AuthorizedAccountModel); public readonly isGoogleDrive = computed(() => { return this.selectedAccount()?.externalServiceName === 'googledrive'; }); - protected addonsUserReference = select(AddonsSelectors.getAddonsUserReference); - protected createdAuthorizedAddon = select(AddonsSelectors.getCreatedOrUpdatedAuthorizedAddon); - protected createdConfiguredAddon = select(AddonsSelectors.getCreatedOrUpdatedConfiguredAddon); - protected authorizedStorageAddons = select(AddonsSelectors.getAuthorizedStorageAddons); - protected authorizedCitationAddons = select(AddonsSelectors.getAuthorizedCitationAddons); - protected operationInvocation = select(AddonsSelectors.getOperationInvocation); + addonsUserReference = select(AddonsSelectors.getAddonsUserReference); + createdAuthorizedAddon = select(AddonsSelectors.getCreatedOrUpdatedAuthorizedAddon); + createdConfiguredAddon = select(AddonsSelectors.getCreatedOrUpdatedConfiguredAddon); + authorizedStorageAddons = select(AddonsSelectors.getAuthorizedStorageAddons); + authorizedCitationAddons = select(AddonsSelectors.getAuthorizedCitationAddons); + operationInvocation = select(AddonsSelectors.getOperationInvocation); - protected isAuthorizedStorageAddonsLoading = select(AddonsSelectors.getAuthorizedStorageAddonsLoading); - protected isAuthorizedCitationAddonsLoading = select(AddonsSelectors.getAuthorizedCitationAddonsLoading); - protected isCreatingAuthorizedAddon = select(AddonsSelectors.getCreatedOrUpdatedStorageAddonSubmitting); + isAuthorizedStorageAddonsLoading = select(AddonsSelectors.getAuthorizedStorageAddonsLoading); + isAuthorizedCitationAddonsLoading = select(AddonsSelectors.getAuthorizedCitationAddonsLoading); + isCreatingAuthorizedAddon = select(AddonsSelectors.getCreatedOrUpdatedStorageAddonSubmitting); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getAuthorizedStorageAddons: GetAuthorizedStorageAddons, getAuthorizedCitationAddons: GetAuthorizedCitationAddons, createAuthorizedAddon: CreateAuthorizedAddon, @@ -107,26 +107,26 @@ export class ConnectConfiguredAddonComponent { createAddonOperationInvocation: CreateAddonOperationInvocation, }); - protected readonly userReferenceId = computed(() => { + readonly userReferenceId = computed(() => { return this.addonsUserReference()[0]?.id; }); - protected loginOrChooseAccountText = computed(() => { + loginOrChooseAccountText = computed(() => { return this.translateService.instant('settings.addons.connectAddon.loginToOrSelectAccount', { addonName: this.addon()?.displayName, }); }); - protected resourceUri = computed(() => { + resourceUri = computed(() => { const id = this.route.parent?.parent?.snapshot.params['id']; return `${environment.webUrl}/${id}`; }); - protected addonTypeString = computed(() => { + addonTypeString = computed(() => { return getAddonTypeString(this.addon()); }); - protected readonly baseUrl = computed(() => { + readonly baseUrl = computed(() => { const currentUrl = this.router.url; return currentUrl.split('/addons')[0]; }); @@ -139,7 +139,7 @@ export class ConnectConfiguredAddonComponent { this.addon.set(addon); } - protected handleCreateConfiguredAddon() { + handleCreateConfiguredAddon() { const addon = this.addon(); this.selectedAccount.set( this.currentAuthorizedAddonAccounts().find((account) => account.id === this.chosenAccountId()) || @@ -170,7 +170,7 @@ export class ConnectConfiguredAddonComponent { }); } - protected handleCreateAuthorizedAddon(payload: AuthorizedAddonRequestJsonApi): void { + handleCreateAuthorizedAddon(payload: AuthorizedAddonRequestJsonApi): void { if (!this.addon()) return; this.actions.createAuthorizedAddon(payload, this.addonTypeString()).subscribe({ @@ -185,7 +185,7 @@ export class ConnectConfiguredAddonComponent { }); } - protected handleConfirmAccountConnection(): void { + handleConfirmAccountConnection(): void { this.selectedAccount.set( this.currentAuthorizedAddonAccounts().find((account) => account.id === this.chosenAccountId()) || ({} as AuthorizedAccountModel) @@ -204,7 +204,7 @@ export class ConnectConfiguredAddonComponent { }); } - protected handleAuthorizedAccountsPresenceCheck() { + handleAuthorizedAccountsPresenceCheck() { const requiredData = this.getDataForAccountCheck(); if (!requiredData) return; @@ -273,7 +273,7 @@ export class ConnectConfiguredAddonComponent { return authorizedAddons.filter((addon) => addon.externalServiceName === currentAddon.externalServiceName); } - protected handleCreateOperationInvocation(operationName: OperationNames, itemId: string): void { + handleCreateOperationInvocation(operationName: OperationNames, itemId: string): void { const selectedAccount = this.currentAuthorizedAddonAccounts().find( (account) => account.id === this.chosenAccountId() ); diff --git a/src/app/features/project/addons/components/disconnect-addon-modal/disconnect-addon-modal.component.ts b/src/app/features/project/addons/components/disconnect-addon-modal/disconnect-addon-modal.component.ts index 2821f7432..c6b95cee2 100644 --- a/src/app/features/project/addons/components/disconnect-addon-modal/disconnect-addon-modal.component.ts +++ b/src/app/features/project/addons/components/disconnect-addon-modal/disconnect-addon-modal.component.ts @@ -18,16 +18,16 @@ import { AddonsSelectors, DeleteConfiguredAddon } from '@shared/stores/addons'; }) export class DisconnectAddonModalComponent { private dialogConfig = inject(DynamicDialogConfig); - protected dialogRef = inject(DynamicDialogRef); - protected addon = this.dialogConfig.data.addon; - protected dialogMessage = this.dialogConfig.data.message || ''; - protected isSubmitting = select(AddonsSelectors.getDeleteStorageAddonSubmitting); - protected selectedFolder = select(AddonsSelectors.getSelectedFolder); - protected actions = createDispatchMap({ + dialogRef = inject(DynamicDialogRef); + addon = this.dialogConfig.data.addon; + dialogMessage = this.dialogConfig.data.message || ''; + isSubmitting = select(AddonsSelectors.getDeleteStorageAddonSubmitting); + selectedFolder = select(AddonsSelectors.getSelectedFolder); + actions = createDispatchMap({ deleteConfiguredAddon: DeleteConfiguredAddon, }); - protected handleDisconnectAddonAccount(): void { + handleDisconnectAddonAccount(): void { if (!this.addon) return; this.actions.deleteConfiguredAddon(this.addon.id, this.addon.type).subscribe({ diff --git a/src/app/features/project/overview/components/add-component-dialog/add-component-dialog.component.ts b/src/app/features/project/overview/components/add-component-dialog/add-component-dialog.component.ts index c767b1769..d480edb7a 100644 --- a/src/app/features/project/overview/components/add-component-dialog/add-component-dialog.component.ts +++ b/src/app/features/project/overview/components/add-component-dialog/add-component-dialog.component.ts @@ -45,13 +45,13 @@ export class AddComponentDialogComponent implements OnInit { private store = inject(Store); private readonly toastService = inject(ToastService); - protected isMobile = toSignal(inject(IS_XSMALL)); - protected dialogRef = inject(DynamicDialogRef); - protected destroyRef = inject(DestroyRef); - protected ComponentFormControls = ComponentFormControls; - protected storageLocations = STORAGE_LOCATIONS; - protected isSubmitting = select(ProjectOverviewSelectors.getComponentsSubmitting); - protected currentProject = this.store.selectSignal(ProjectOverviewSelectors.getProject); + isMobile = toSignal(inject(IS_XSMALL)); + dialogRef = inject(DynamicDialogRef); + destroyRef = inject(DestroyRef); + ComponentFormControls = ComponentFormControls; + storageLocations = STORAGE_LOCATIONS; + isSubmitting = select(ProjectOverviewSelectors.getComponentsSubmitting); + currentProject = this.store.selectSignal(ProjectOverviewSelectors.getProject); toggleAddContributors(): void { const control = this.componentForm.get(ComponentFormControls.AddContributors); diff --git a/src/app/features/project/overview/components/delete-component-dialog/delete-component-dialog.component.ts b/src/app/features/project/overview/components/delete-component-dialog/delete-component-dialog.component.ts index 88a9fbbc2..4b000cd31 100644 --- a/src/app/features/project/overview/components/delete-component-dialog/delete-component-dialog.component.ts +++ b/src/app/features/project/overview/components/delete-component-dialog/delete-component-dialog.component.ts @@ -27,15 +27,15 @@ import { DeleteComponent, GetComponents, ProjectOverviewSelectors } from '../../ export class DeleteComponentDialogComponent { private dialogConfig = inject(DynamicDialogConfig); private toastService = inject(ToastService); - protected dialogRef = inject(DynamicDialogRef); - protected destroyRef = inject(DestroyRef); + dialogRef = inject(DynamicDialogRef); + destroyRef = inject(DestroyRef); private componentId = signal(this.dialogConfig.data.componentId); - protected scientistNames = ScientistsNames; - protected project = select(ProjectOverviewSelectors.getProject); - protected registration = select(RegistryOverviewSelectors.getRegistry); - protected isSubmitting = select(ProjectOverviewSelectors.getComponentsSubmitting); - protected userInput = signal(''); - protected selectedScientist = computed(() => { + scientistNames = ScientistsNames; + project = select(ProjectOverviewSelectors.getProject); + registration = select(RegistryOverviewSelectors.getRegistry); + isSubmitting = select(ProjectOverviewSelectors.getComponentsSubmitting); + userInput = signal(''); + selectedScientist = computed(() => { const names = Object.values(this.scientistNames); return names[Math.floor(Math.random() * names.length)]; }); @@ -52,20 +52,20 @@ export class DeleteComponentDialogComponent { return null; }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getComponents: GetComponents, deleteComponent: DeleteComponent, }); - protected isInputValid(): boolean { + isInputValid(): boolean { return this.userInput() === this.selectedScientist(); } - protected onInputChange(value: string): void { + onInputChange(value: string): void { this.userInput.set(value); } - protected handleDeleteComponent(): void { + handleDeleteComponent(): void { const resource = this.currentResource(); const componentId = this.componentId(); diff --git a/src/app/features/project/overview/components/delete-node-link-dialog/delete-node-link-dialog.component.ts b/src/app/features/project/overview/components/delete-node-link-dialog/delete-node-link-dialog.component.ts index 6bd1e24a6..97d9f20f3 100644 --- a/src/app/features/project/overview/components/delete-node-link-dialog/delete-node-link-dialog.component.ts +++ b/src/app/features/project/overview/components/delete-node-link-dialog/delete-node-link-dialog.component.ts @@ -22,12 +22,12 @@ import { ProjectOverviewSelectors } from '../../store'; export class DeleteNodeLinkDialogComponent { private toastService = inject(ToastService); private dialogConfig = inject(DynamicDialogConfig); - protected dialogRef = inject(DynamicDialogRef); - protected destroyRef = inject(DestroyRef); - protected currentProject = select(ProjectOverviewSelectors.getProject); - protected isSubmitting = select(NodeLinksSelectors.getNodeLinksSubmitting); + dialogRef = inject(DynamicDialogRef); + destroyRef = inject(DestroyRef); + currentProject = select(ProjectOverviewSelectors.getProject); + isSubmitting = select(NodeLinksSelectors.getNodeLinksSubmitting); - protected actions = createDispatchMap({ deleteNodeLink: DeleteNodeLink, getLinkedResources: GetLinkedResources }); + actions = createDispatchMap({ deleteNodeLink: DeleteNodeLink, getLinkedResources: GetLinkedResources }); handleDeleteNodeLink(): void { const project = this.currentProject(); diff --git a/src/app/features/project/overview/components/duplicate-dialog/duplicate-dialog.component.ts b/src/app/features/project/overview/components/duplicate-dialog/duplicate-dialog.component.ts index c4b4e5361..36ae89d50 100644 --- a/src/app/features/project/overview/components/duplicate-dialog/duplicate-dialog.component.ts +++ b/src/app/features/project/overview/components/duplicate-dialog/duplicate-dialog.component.ts @@ -22,11 +22,11 @@ import { DuplicateProject, ProjectOverviewSelectors } from '../../store'; export class DuplicateDialogComponent { private store = inject(Store); private toastService = inject(ToastService); - protected dialogRef = inject(DynamicDialogRef); - protected destroyRef = inject(DestroyRef); - protected isSubmitting = select(ProjectOverviewSelectors.getDuplicateProjectSubmitting); + dialogRef = inject(DynamicDialogRef); + destroyRef = inject(DestroyRef); + isSubmitting = select(ProjectOverviewSelectors.getDuplicateProjectSubmitting); - protected handleDuplicateConfirm(): void { + handleDuplicateConfirm(): void { const project = this.store.selectSnapshot(ProjectOverviewSelectors.getProject); if (!project) return; diff --git a/src/app/features/project/overview/components/fork-dialog/fork-dialog.component.ts b/src/app/features/project/overview/components/fork-dialog/fork-dialog.component.ts index 7be6d2886..ef8236097 100644 --- a/src/app/features/project/overview/components/fork-dialog/fork-dialog.component.ts +++ b/src/app/features/project/overview/components/fork-dialog/fork-dialog.component.ts @@ -25,12 +25,12 @@ import { ForkResource, ProjectOverviewSelectors } from '../../store'; export class ForkDialogComponent { private store = inject(Store); private toastService = inject(ToastService); - protected dialogRef = inject(DynamicDialogRef); - protected destroyRef = inject(DestroyRef); - protected isSubmitting = select(ProjectOverviewSelectors.getForkProjectSubmitting); + dialogRef = inject(DynamicDialogRef); + destroyRef = inject(DestroyRef); + isSubmitting = select(ProjectOverviewSelectors.getForkProjectSubmitting); readonly config = inject(DynamicDialogConfig); - protected handleForkConfirm(): void { + handleForkConfirm(): void { const resource = this.config.data.resource as ToolbarResource; if (!resource) return; diff --git a/src/app/features/project/overview/components/linked-resources/linked-resources.component.ts b/src/app/features/project/overview/components/linked-resources/linked-resources.component.ts index bc3d43d62..9a3e1e76b 100644 --- a/src/app/features/project/overview/components/linked-resources/linked-resources.component.ts +++ b/src/app/features/project/overview/components/linked-resources/linked-resources.component.ts @@ -31,9 +31,9 @@ export class LinkedResourcesComponent { isCollectionsRoute = input(false); canWrite = input.required(); - protected linkedResources = select(NodeLinksSelectors.getLinkedResources); - protected isLinkedResourcesLoading = select(NodeLinksSelectors.getLinkedResourcesLoading); - protected isMedium = toSignal(inject(IS_MEDIUM)); + linkedResources = select(NodeLinksSelectors.getLinkedResources); + isLinkedResourcesLoading = select(NodeLinksSelectors.getLinkedResourcesLoading); + isMedium = toSignal(inject(IS_MEDIUM)); openLinkProjectModal() { const dialogWidth = this.isMedium() ? '850px' : '95vw'; diff --git a/src/app/features/project/overview/components/overview-collections/overview-collections.component.ts b/src/app/features/project/overview/components/overview-collections/overview-collections.component.ts index 220def59a..dfe5cc5d8 100644 --- a/src/app/features/project/overview/components/overview-collections/overview-collections.component.ts +++ b/src/app/features/project/overview/components/overview-collections/overview-collections.component.ts @@ -24,18 +24,18 @@ import { CollectionsSelectors, GetProjectSubmissions } from '@osf/shared/stores' }) export class OverviewCollectionsComponent { private readonly router = inject(Router); - protected readonly SubmissionReviewStatus = SubmissionReviewStatus; + readonly SubmissionReviewStatus = SubmissionReviewStatus; currentProject = input.required(); projectSubmissions = select(CollectionsSelectors.getCurrentProjectSubmissions); isProjectSubmissionsLoading = select(CollectionsSelectors.getCurrentProjectSubmissionsLoading); - protected projectId = computed(() => { + projectId = computed(() => { const resource = this.currentProject(); return resource ? resource.id : null; }); - protected actions = createDispatchMap({ getProjectSubmissions: GetProjectSubmissions }); + actions = createDispatchMap({ getProjectSubmissions: GetProjectSubmissions }); constructor() { effect(() => { @@ -47,7 +47,7 @@ export class OverviewCollectionsComponent { }); } - protected get submissionAttributes() { + get submissionAttributes() { return (submission: CollectionSubmission) => { if (!submission) return []; diff --git a/src/app/features/project/overview/components/overview-components/overview-components.component.ts b/src/app/features/project/overview/components/overview-components/overview-components.component.ts index 9d7b484cb..0a838d8dd 100644 --- a/src/app/features/project/overview/components/overview-components/overview-components.component.ts +++ b/src/app/features/project/overview/components/overview-components/overview-components.component.ts @@ -30,14 +30,14 @@ export class OverviewComponentsComponent { private router = inject(Router); private dialogService = inject(DialogService); private translateService = inject(TranslateService); - protected isMobile = toSignal(inject(IS_XSMALL)); + isMobile = toSignal(inject(IS_XSMALL)); isCollectionsRoute = input(false); canWrite = input.required(); - protected components = select(ProjectOverviewSelectors.getComponents); - protected isComponentsLoading = select(ProjectOverviewSelectors.getComponentsLoading); - protected readonly componentActionItems = (componentId: string) => [ + components = select(ProjectOverviewSelectors.getComponents); + isComponentsLoading = select(ProjectOverviewSelectors.getComponentsLoading); + readonly componentActionItems = (componentId: string) => [ { label: 'project.overview.actions.manageContributors', command: () => this.router.navigate([componentId, 'contributors']), diff --git a/src/app/features/project/overview/components/overview-wiki/overview-wiki.component.ts b/src/app/features/project/overview/components/overview-wiki/overview-wiki.component.ts index 801498c03..361572974 100644 --- a/src/app/features/project/overview/components/overview-wiki/overview-wiki.component.ts +++ b/src/app/features/project/overview/components/overview-wiki/overview-wiki.component.ts @@ -17,6 +17,6 @@ import { WikiSelectors } from '@osf/shared/stores'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class OverviewWikiComponent { - protected isWikiLoading = select(WikiSelectors.getHomeWikiLoading); - protected wikiContent = select(WikiSelectors.getHomeWikiContent); + isWikiLoading = select(WikiSelectors.getHomeWikiLoading); + wikiContent = select(WikiSelectors.getHomeWikiContent); } diff --git a/src/app/features/project/overview/components/toggle-publicity-dialog/toggle-publicity-dialog.component.ts b/src/app/features/project/overview/components/toggle-publicity-dialog/toggle-publicity-dialog.component.ts index df1e9c940..514ea39f4 100644 --- a/src/app/features/project/overview/components/toggle-publicity-dialog/toggle-publicity-dialog.component.ts +++ b/src/app/features/project/overview/components/toggle-publicity-dialog/toggle-publicity-dialog.component.ts @@ -24,14 +24,14 @@ export class TogglePublicityDialogComponent { private dialogConfig = inject(DynamicDialogConfig); private toastService = inject(ToastService); - protected dialogRef = inject(DynamicDialogRef); - protected destroyRef = inject(DestroyRef); - protected isSubmitting = select(ProjectOverviewSelectors.getUpdatePublicStatusSubmitting); + dialogRef = inject(DynamicDialogRef); + destroyRef = inject(DestroyRef); + isSubmitting = select(ProjectOverviewSelectors.getUpdatePublicStatusSubmitting); private newPublicStatus = signal(this.dialogConfig.data.newPublicStatus); private projectId = signal(this.dialogConfig.data.projectId); - protected isCurrentlyPublic = signal(this.dialogConfig.data.isCurrentlyPublic); - protected messageKey = computed(() => { + isCurrentlyPublic = signal(this.dialogConfig.data.isCurrentlyPublic); + messageKey = computed(() => { return this.isCurrentlyPublic() ? 'project.overview.dialog.makePrivate.message' : 'project.overview.dialog.makePublic.message'; diff --git a/src/app/features/project/settings/components/project-setting-notifications/project-setting-notifications.component.ts b/src/app/features/project/settings/components/project-setting-notifications/project-setting-notifications.component.ts index f915fabbc..80ec8a191 100644 --- a/src/app/features/project/settings/components/project-setting-notifications/project-setting-notifications.component.ts +++ b/src/app/features/project/settings/components/project-setting-notifications/project-setting-notifications.component.ts @@ -25,8 +25,8 @@ export class ProjectSettingNotificationsComponent { allAccordionData: RightControl[] | undefined = []; - protected readonly subscriptionEvent = SubscriptionEvent; - protected subscriptionFrequencyOptions = Object.entries(SubscriptionFrequency).map(([key, value]) => ({ + readonly subscriptionEvent = SubscriptionEvent; + subscriptionFrequencyOptions = Object.entries(SubscriptionFrequency).map(([key, value]) => ({ label: key, value, })); diff --git a/src/app/features/registries/components/confirm-continue-editing-dialog/confirm-continue-editing-dialog.component.ts b/src/app/features/registries/components/confirm-continue-editing-dialog/confirm-continue-editing-dialog.component.ts index f0ca7c4e1..87b307f68 100644 --- a/src/app/features/registries/components/confirm-continue-editing-dialog/confirm-continue-editing-dialog.component.ts +++ b/src/app/features/registries/components/confirm-continue-editing-dialog/confirm-continue-editing-dialog.component.ts @@ -23,12 +23,12 @@ import { HandleSchemaResponse } from '../../store'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ConfirmContinueEditingDialogComponent { - protected readonly dialogRef = inject(DynamicDialogRef); + readonly dialogRef = inject(DynamicDialogRef); private readonly fb = inject(FormBuilder); readonly config = inject(DynamicDialogConfig); private readonly destroyRef = inject(DestroyRef); - protected actions = createDispatchMap({ + actions = createDispatchMap({ handleSchemaResponse: HandleSchemaResponse, }); diff --git a/src/app/features/registries/components/confirm-registration-dialog/confirm-registration-dialog.component.ts b/src/app/features/registries/components/confirm-registration-dialog/confirm-registration-dialog.component.ts index 59fcd1abf..c264e5964 100644 --- a/src/app/features/registries/components/confirm-registration-dialog/confirm-registration-dialog.component.ts +++ b/src/app/features/registries/components/confirm-registration-dialog/confirm-registration-dialog.component.ts @@ -21,12 +21,12 @@ import { RegisterDraft, RegistriesSelectors } from '../../store'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ConfirmRegistrationDialogComponent { - protected readonly dialogRef = inject(DynamicDialogRef); + readonly dialogRef = inject(DynamicDialogRef); private readonly fb = inject(FormBuilder); readonly config = inject(DynamicDialogConfig); - protected readonly isRegistrationSubmitting = select(RegistriesSelectors.isRegistrationSubmitting); - protected actions = createDispatchMap({ + readonly isRegistrationSubmitting = select(RegistriesSelectors.isRegistrationSubmitting); + actions = createDispatchMap({ registerDraft: RegisterDraft, }); SubmitType = SubmitType; diff --git a/src/app/features/registries/components/drafts/drafts.component.ts b/src/app/features/registries/components/drafts/drafts.component.ts index 504895c7a..7c30dc25c 100644 --- a/src/app/features/registries/components/drafts/drafts.component.ts +++ b/src/app/features/registries/components/drafts/drafts.component.ts @@ -36,14 +36,14 @@ export class DraftsComponent implements OnDestroy { private readonly loaderService = inject(LoaderService); private readonly translateService = inject(TranslateService); - protected readonly pages = select(RegistriesSelectors.getPagesSchema); - protected readonly draftRegistration = select(RegistriesSelectors.getDraftRegistration); - protected stepsValidation = select(RegistriesSelectors.getStepsValidation); - protected readonly stepsData = select(RegistriesSelectors.getStepsData); - protected selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); - protected initialContributors = select(ContributorsSelectors.getContributors); - protected readonly contributors = select(ContributorsSelectors.getContributors); - protected readonly subjects = select(SubjectsSelectors.getSelectedSubjects); + readonly pages = select(RegistriesSelectors.getPagesSchema); + readonly draftRegistration = select(RegistriesSelectors.getDraftRegistration); + stepsValidation = select(RegistriesSelectors.getStepsValidation); + readonly stepsData = select(RegistriesSelectors.getStepsData); + selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); + initialContributors = select(ContributorsSelectors.getContributors); + readonly contributors = select(ContributorsSelectors.getContributors); + readonly subjects = select(SubjectsSelectors.getSelectedSubjects); private readonly actions = createDispatchMap({ getSchemaBlocks: FetchSchemaBlocks, diff --git a/src/app/features/registries/components/justification-review/justification-review.component.ts b/src/app/features/registries/components/justification-review/justification-review.component.ts index bba04e1a0..3988ad984 100644 --- a/src/app/features/registries/components/justification-review/justification-review.component.ts +++ b/src/app/features/registries/components/justification-review/justification-review.component.ts @@ -35,17 +35,17 @@ export class JustificationReviewComponent { private readonly translateService = inject(TranslateService); private readonly toastService = inject(ToastService); - protected readonly pages = select(RegistriesSelectors.getPagesSchema); - protected readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); - protected readonly schemaResponseRevisionData = select(RegistriesSelectors.getSchemaResponseRevisionData); - protected readonly updatedFields = select(RegistriesSelectors.getUpdatedFields); - protected readonly isSchemaResponseLoading = select(RegistriesSelectors.getSchemaResponseLoading); + readonly pages = select(RegistriesSelectors.getPagesSchema); + readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); + readonly schemaResponseRevisionData = select(RegistriesSelectors.getSchemaResponseRevisionData); + readonly updatedFields = select(RegistriesSelectors.getUpdatedFields); + readonly isSchemaResponseLoading = select(RegistriesSelectors.getSchemaResponseLoading); - protected readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; - protected readonly FieldType = FieldType; - protected readonly RevisionReviewStates = RevisionReviewStates; + readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; + readonly FieldType = FieldType; + readonly RevisionReviewStates = RevisionReviewStates; - protected actions = createDispatchMap({ + actions = createDispatchMap({ deleteSchemaResponse: DeleteSchemaResponse, handleSchemaResponse: HandleSchemaResponse, clearState: ClearState, diff --git a/src/app/features/registries/components/justification-step/justification-step.component.ts b/src/app/features/registries/components/justification-step/justification-step.component.ts index 13e523d07..cfdb8315b 100644 --- a/src/app/features/registries/components/justification-step/justification-step.component.ts +++ b/src/app/features/registries/components/justification-step/justification-step.component.ts @@ -38,11 +38,11 @@ export class JustificationStepComponent implements OnDestroy { private readonly customConfirmationService = inject(CustomConfirmationService); private readonly toastService = inject(ToastService); - protected readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); + readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; - protected actions = createDispatchMap({ + actions = createDispatchMap({ updateStepValidation: UpdateStepValidation, updateRevision: UpdateSchemaResponse, deleteSchemaResponse: DeleteSchemaResponse, diff --git a/src/app/features/registries/components/metadata/contributors/contributors.component.ts b/src/app/features/registries/components/metadata/contributors/contributors.component.ts index 81bb557c7..cb27d6bd3 100644 --- a/src/app/features/registries/components/metadata/contributors/contributors.component.ts +++ b/src/app/features/registries/components/metadata/contributors/contributors.component.ts @@ -52,17 +52,17 @@ export class ContributorsComponent implements OnInit { private readonly route = inject(ActivatedRoute); private readonly draftId = toSignal(this.route.params.pipe(map((params) => params['id'])) ?? of(undefined)); - protected readonly selectedPermission = signal(null); - protected readonly selectedBibliography = signal(null); - protected readonly permissionsOptions: SelectOption[] = PERMISSION_OPTIONS; - protected readonly bibliographyOptions: SelectOption[] = BIBLIOGRAPHY_OPTIONS; + readonly selectedPermission = signal(null); + readonly selectedBibliography = signal(null); + readonly permissionsOptions: SelectOption[] = PERMISSION_OPTIONS; + readonly bibliographyOptions: SelectOption[] = BIBLIOGRAPHY_OPTIONS; - protected initialContributors = select(ContributorsSelectors.getContributors); - protected contributors = signal([]); + initialContributors = select(ContributorsSelectors.getContributors); + contributors = signal([]); - protected readonly isContributorsLoading = select(ContributorsSelectors.isContributorsLoading); + readonly isContributorsLoading = select(ContributorsSelectors.isContributorsLoading); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getContributors: GetAllContributors, deleteContributor: DeleteContributor, updateContributor: UpdateContributor, diff --git a/src/app/features/registries/components/metadata/metadata.component.ts b/src/app/features/registries/components/metadata/metadata.component.ts index a07c22f01..852fc14e2 100644 --- a/src/app/features/registries/components/metadata/metadata.component.ts +++ b/src/app/features/registries/components/metadata/metadata.component.ts @@ -55,18 +55,18 @@ export class MetadataComponent implements OnDestroy { private readonly customConfirmationService = inject(CustomConfirmationService); private readonly draftId = this.route.snapshot.params['id']; - protected readonly draftRegistration = select(RegistriesSelectors.getDraftRegistration); - protected selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); - protected initialContributors = select(ContributorsSelectors.getContributors); - protected stepsValidation = select(RegistriesSelectors.getStepsValidation); + readonly draftRegistration = select(RegistriesSelectors.getDraftRegistration); + selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); + initialContributors = select(ContributorsSelectors.getContributors); + stepsValidation = select(RegistriesSelectors.getStepsValidation); - protected actions = createDispatchMap({ + actions = createDispatchMap({ deleteDraft: DeleteDraft, updateDraft: UpdateDraft, updateStepValidation: UpdateStepValidation, clearState: ClearState, }); - protected inputLimits = InputLimits; + inputLimits = InputLimits; readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; metadataForm = this.fb.group({ diff --git a/src/app/features/registries/components/metadata/registries-subjects/registries-subjects.component.ts b/src/app/features/registries/components/metadata/registries-subjects/registries-subjects.component.ts index 9844053e9..ea6db6907 100644 --- a/src/app/features/registries/components/metadata/registries-subjects/registries-subjects.component.ts +++ b/src/app/features/registries/components/metadata/registries-subjects/registries-subjects.component.ts @@ -34,11 +34,11 @@ export class RegistriesSubjectsComponent { private readonly route = inject(ActivatedRoute); private readonly draftId = this.route.snapshot.params['id']; - protected selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); - protected isSubjectsUpdating = select(SubjectsSelectors.areSelectedSubjectsLoading); - protected draftRegistration = select(RegistriesSelectors.getDraftRegistration); + selectedSubjects = select(SubjectsSelectors.getSelectedSubjects); + isSubjectsUpdating = select(SubjectsSelectors.areSelectedSubjectsLoading); + draftRegistration = select(RegistriesSelectors.getDraftRegistration); - protected actions = createDispatchMap({ + actions = createDispatchMap({ fetchSubjects: FetchSubjects, fetchSelectedSubjects: FetchSelectedSubjects, fetchChildrenSubjects: FetchChildrenSubjects, diff --git a/src/app/features/registries/components/metadata/registries-tags/registries-tags.component.ts b/src/app/features/registries/components/metadata/registries-tags/registries-tags.component.ts index 1d9fbd869..977316404 100644 --- a/src/app/features/registries/components/metadata/registries-tags/registries-tags.component.ts +++ b/src/app/features/registries/components/metadata/registries-tags/registries-tags.component.ts @@ -20,9 +20,9 @@ import { TagsInputComponent } from '@osf/shared/components'; export class RegistriesTagsComponent { private readonly route = inject(ActivatedRoute); private readonly draftId = this.route.snapshot.params['id']; - protected selectedTags = select(RegistriesSelectors.getSelectedTags); + selectedTags = select(RegistriesSelectors.getSelectedTags); - protected actions = createDispatchMap({ + actions = createDispatchMap({ updateDraft: UpdateDraft, }); diff --git a/src/app/features/registries/components/registry-services/registry-services.component.ts b/src/app/features/registries/components/registry-services/registry-services.component.ts index 85dba0605..c7c66a518 100644 --- a/src/app/features/registries/components/registry-services/registry-services.component.ts +++ b/src/app/features/registries/components/registry-services/registry-services.component.ts @@ -15,7 +15,7 @@ import { RegistryServiceIcons } from '@shared/constants'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class RegistryServicesComponent { - protected registryServices = RegistryServiceIcons; + registryServices = RegistryServiceIcons; openEmail() { window.location.href = 'mailto:contact@osf.io'; diff --git a/src/app/features/registries/components/review/review.component.ts b/src/app/features/registries/components/review/review.component.ts index 716114d5f..219b2301b 100644 --- a/src/app/features/registries/components/review/review.component.ts +++ b/src/app/features/registries/components/review/review.component.ts @@ -62,21 +62,21 @@ export class ReviewComponent { private readonly translateService = inject(TranslateService); private readonly toastService = inject(ToastService); - protected readonly pages = select(RegistriesSelectors.getPagesSchema); - protected readonly draftRegistration = select(RegistriesSelectors.getDraftRegistration); - protected readonly isDraftSubmitting = select(RegistriesSelectors.isDraftSubmitting); - protected readonly isDraftLoading = select(RegistriesSelectors.isDraftLoading); - protected readonly stepsData = select(RegistriesSelectors.getStepsData); - protected readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; - protected readonly contributors = select(ContributorsSelectors.getContributors); - protected readonly subjects = select(SubjectsSelectors.getSelectedSubjects); - protected readonly components = select(RegistriesSelectors.getRegistrationComponents); - protected readonly license = select(RegistriesSelectors.getRegistrationLicense); - protected readonly newRegistration = select(RegistriesSelectors.getRegistration); - - protected readonly FieldType = FieldType; - - protected actions = createDispatchMap({ + readonly pages = select(RegistriesSelectors.getPagesSchema); + readonly draftRegistration = select(RegistriesSelectors.getDraftRegistration); + readonly isDraftSubmitting = select(RegistriesSelectors.isDraftSubmitting); + readonly isDraftLoading = select(RegistriesSelectors.isDraftLoading); + readonly stepsData = select(RegistriesSelectors.getStepsData); + readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; + readonly contributors = select(ContributorsSelectors.getContributors); + readonly subjects = select(SubjectsSelectors.getSelectedSubjects); + readonly components = select(RegistriesSelectors.getRegistrationComponents); + readonly license = select(RegistriesSelectors.getRegistrationLicense); + readonly newRegistration = select(RegistriesSelectors.getRegistration); + + readonly FieldType = FieldType; + + actions = createDispatchMap({ getContributors: GetAllContributors, getSubjects: FetchSelectedSubjects, deleteDraft: DeleteDraft, @@ -87,7 +87,7 @@ export class ReviewComponent { private readonly draftId = toSignal(this.route.params.pipe(map((params) => params['id'])) ?? of(undefined)); - protected stepsValidation = select(RegistriesSelectors.getStepsValidation); + stepsValidation = select(RegistriesSelectors.getStepsValidation); isDraftInvalid = computed(() => { return Object.values(this.stepsValidation()).some((step) => step.invalid); diff --git a/src/app/features/registries/components/select-components-dialog/select-components-dialog.component.ts b/src/app/features/registries/components/select-components-dialog/select-components-dialog.component.ts index 4daae3712..ce8327310 100644 --- a/src/app/features/registries/components/select-components-dialog/select-components-dialog.component.ts +++ b/src/app/features/registries/components/select-components-dialog/select-components-dialog.component.ts @@ -17,7 +17,7 @@ import { Project } from '../../models'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class SelectComponentsDialogComponent { - protected readonly dialogRef = inject(DynamicDialogRef); + readonly dialogRef = inject(DynamicDialogRef); readonly config = inject(DynamicDialogConfig); selectedComponents: TreeNode[] = []; parent: Project = this.config.data.parent; diff --git a/src/app/features/registries/pages/justification/justification.component.ts b/src/app/features/registries/pages/justification/justification.component.ts index 9b6d4eb58..cb200fdbf 100644 --- a/src/app/features/registries/pages/justification/justification.component.ts +++ b/src/app/features/registries/pages/justification/justification.component.ts @@ -35,10 +35,10 @@ export class JustificationComponent implements OnDestroy { private readonly loaderService = inject(LoaderService); private readonly translateService = inject(TranslateService); - protected readonly pages = select(RegistriesSelectors.getPagesSchema); - protected readonly stepsValidation = select(RegistriesSelectors.getStepsValidation); - protected readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); - protected readonly schemaResponseRevisionData = select(RegistriesSelectors.getSchemaResponseRevisionData); + readonly pages = select(RegistriesSelectors.getPagesSchema); + readonly stepsValidation = select(RegistriesSelectors.getStepsValidation); + readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); + readonly schemaResponseRevisionData = select(RegistriesSelectors.getSchemaResponseRevisionData); private readonly actions = createDispatchMap({ getSchemaBlocks: FetchSchemaBlocks, diff --git a/src/app/features/registries/pages/registries-landing/registries-landing.component.ts b/src/app/features/registries/pages/registries-landing/registries-landing.component.ts index 1f13d2435..9e79c0402 100644 --- a/src/app/features/registries/pages/registries-landing/registries-landing.component.ts +++ b/src/app/features/registries/pages/registries-landing/registries-landing.component.ts @@ -38,14 +38,14 @@ import { environment } from 'src/environments/environment'; export class RegistriesLandingComponent implements OnInit { private router = inject(Router); - protected searchControl = new FormControl(''); + searchControl = new FormControl(''); private readonly actions = createDispatchMap({ getRegistries: GetRegistries, }); - protected registries = select(RegistriesSelectors.getRegistries); - protected isRegistriesLoading = select(RegistriesSelectors.isRegistriesLoading); + registries = select(RegistriesSelectors.getRegistries); + isRegistriesLoading = select(RegistriesSelectors.isRegistriesLoading); ngOnInit(): void { this.actions.getRegistries(); diff --git a/src/app/features/registries/pages/revisions-custom-step/revisions-custom-step.component.ts b/src/app/features/registries/pages/revisions-custom-step/revisions-custom-step.component.ts index b2b7012a9..e59a55ef7 100644 --- a/src/app/features/registries/pages/revisions-custom-step/revisions-custom-step.component.ts +++ b/src/app/features/registries/pages/revisions-custom-step/revisions-custom-step.component.ts @@ -14,12 +14,12 @@ import { RegistriesSelectors, UpdateSchemaResponse } from '../../store'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class RevisionsCustomStepComponent { - protected readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); - protected readonly schemaResponseRevisionData = select(RegistriesSelectors.getSchemaResponseRevisionData); + readonly schemaResponse = select(RegistriesSelectors.getSchemaResponse); + readonly schemaResponseRevisionData = select(RegistriesSelectors.getSchemaResponseRevisionData); private readonly route = inject(ActivatedRoute); private readonly router = inject(Router); - protected actions = createDispatchMap({ + actions = createDispatchMap({ updateRevision: UpdateSchemaResponse, }); @@ -35,7 +35,7 @@ export class RevisionsCustomStepComponent { return this.schemaResponse()?.registrationId || ''; }); - protected stepsData = computed(() => { + stepsData = computed(() => { const schemaResponse = this.schemaResponse(); return schemaResponse?.revisionResponses || {}; }); diff --git a/src/app/features/settings/account-settings/account-settings.component.ts b/src/app/features/settings/account-settings/account-settings.component.ts index 1ce4fdb36..f20f47fba 100644 --- a/src/app/features/settings/account-settings/account-settings.component.ts +++ b/src/app/features/settings/account-settings/account-settings.component.ts @@ -51,7 +51,7 @@ export class AccountSettingsComponent { getRegions: GetRegions, getUserInstitutions: GetUserInstitutions, }); - protected readonly currentUser = select(UserSelectors.getCurrentUser); + readonly currentUser = select(UserSelectors.getCurrentUser); constructor() { effect(() => { diff --git a/src/app/features/settings/account-settings/components/add-email/add-email.component.ts b/src/app/features/settings/account-settings/components/add-email/add-email.component.ts index 8bd844f3f..126609877 100644 --- a/src/app/features/settings/account-settings/components/add-email/add-email.component.ts +++ b/src/app/features/settings/account-settings/components/add-email/add-email.component.ts @@ -29,7 +29,7 @@ export class AddEmailComponent { isSubmitting = select(UserEmailsSelectors.isEmailsSubmitting); - protected readonly emailControl = new FormControl('', { + readonly emailControl = new FormControl('', { nonNullable: true, validators: [Validators.email, CustomValidators.requiredTrimmed()], }); diff --git a/src/app/features/settings/account-settings/components/affiliated-institutions/affiliated-institutions.component.ts b/src/app/features/settings/account-settings/components/affiliated-institutions/affiliated-institutions.component.ts index fbd92366a..b9412784a 100644 --- a/src/app/features/settings/account-settings/components/affiliated-institutions/affiliated-institutions.component.ts +++ b/src/app/features/settings/account-settings/components/affiliated-institutions/affiliated-institutions.component.ts @@ -28,8 +28,8 @@ export class AffiliatedInstitutionsComponent { private readonly loaderService = inject(LoaderService); private readonly actions = createDispatchMap({ deleteUserInstitution: DeleteUserInstitution }); - protected institutions = select(AccountSettingsSelectors.getUserInstitutions); - protected currentUser = select(UserSelectors.getCurrentUser); + institutions = select(AccountSettingsSelectors.getUserInstitutions); + currentUser = select(UserSelectors.getCurrentUser); deleteInstitution(institution: Institution) { this.customConfirmationService.confirmDelete({ diff --git a/src/app/features/settings/account-settings/components/connected-emails/connected-emails.component.ts b/src/app/features/settings/account-settings/components/connected-emails/connected-emails.component.ts index a4f833163..9b7114f40 100644 --- a/src/app/features/settings/account-settings/components/connected-emails/connected-emails.component.ts +++ b/src/app/features/settings/account-settings/components/connected-emails/connected-emails.component.ts @@ -39,10 +39,10 @@ export class ConnectedEmailsComponent { private readonly loaderService = inject(LoaderService); private readonly toastService = inject(ToastService); - protected readonly currentUser = select(UserSelectors.getCurrentUser); - protected readonly emails = select(UserEmailsSelectors.getEmails); - protected readonly isEmailsLoading = select(UserEmailsSelectors.isEmailsLoading); - protected readonly isEmailsSubmitting = select(UserEmailsSelectors.isEmailsSubmitting); + readonly currentUser = select(UserSelectors.getCurrentUser); + readonly emails = select(UserEmailsSelectors.getEmails); + readonly isEmailsLoading = select(UserEmailsSelectors.isEmailsLoading); + readonly isEmailsSubmitting = select(UserEmailsSelectors.isEmailsSubmitting); private readonly actions = createDispatchMap({ resendConfirmation: ResendConfirmation, @@ -50,13 +50,13 @@ export class ConnectedEmailsComponent { makePrimary: MakePrimary, }); - protected readonly unconfirmedEmails = computed(() => { + readonly unconfirmedEmails = computed(() => { return this.emails().filter((email) => !email.confirmed && !email.primary); }); - protected readonly confirmedEmails = computed(() => { + readonly confirmedEmails = computed(() => { return this.emails().filter((email) => email.confirmed && !email.primary); }); - protected readonly primaryEmail = computed(() => { + readonly primaryEmail = computed(() => { return this.emails().find((email) => email.primary); }); diff --git a/src/app/features/settings/addons/addons.component.ts b/src/app/features/settings/addons/addons.component.ts index 2b47a827b..4748590ed 100644 --- a/src/app/features/settings/addons/addons.component.ts +++ b/src/app/features/settings/addons/addons.component.ts @@ -53,33 +53,33 @@ import { changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddonsComponent { - protected readonly tabOptions = ADDON_TAB_OPTIONS; - protected readonly categoryOptions = ADDON_CATEGORY_OPTIONS; + readonly tabOptions = ADDON_TAB_OPTIONS; + readonly categoryOptions = ADDON_CATEGORY_OPTIONS; - protected AddonTabValue = AddonTabValue; - protected defaultTabValue = AddonTabValue.ALL_ADDONS; + AddonTabValue = AddonTabValue; + defaultTabValue = AddonTabValue.ALL_ADDONS; - protected searchControl = new FormControl(''); + searchControl = new FormControl(''); - protected searchValue = signal(''); - protected selectedCategory = signal(AddonCategory.EXTERNAL_STORAGE_SERVICES); - protected selectedTab = signal(this.defaultTabValue); + searchValue = signal(''); + selectedCategory = signal(AddonCategory.EXTERNAL_STORAGE_SERVICES); + selectedTab = signal(this.defaultTabValue); - protected currentUser = select(UserSelectors.getCurrentUser); - protected addonsUserReference = select(AddonsSelectors.getAddonsUserReference); - protected storageAddons = select(AddonsSelectors.getStorageAddons); - protected citationAddons = select(AddonsSelectors.getCitationAddons); - protected authorizedStorageAddons = select(AddonsSelectors.getAuthorizedStorageAddons); - protected authorizedCitationAddons = select(AddonsSelectors.getAuthorizedCitationAddons); + currentUser = select(UserSelectors.getCurrentUser); + addonsUserReference = select(AddonsSelectors.getAddonsUserReference); + storageAddons = select(AddonsSelectors.getStorageAddons); + citationAddons = select(AddonsSelectors.getCitationAddons); + authorizedStorageAddons = select(AddonsSelectors.getAuthorizedStorageAddons); + authorizedCitationAddons = select(AddonsSelectors.getAuthorizedCitationAddons); - protected isCurrentUserLoading = select(UserSelectors.getCurrentUserLoading); - protected isUserReferenceLoading = select(AddonsSelectors.getAddonsUserReferenceLoading); - protected isStorageAddonsLoading = select(AddonsSelectors.getStorageAddonsLoading); - protected isCitationAddonsLoading = select(AddonsSelectors.getCitationAddonsLoading); - protected isAuthorizedStorageAddonsLoading = select(AddonsSelectors.getAuthorizedStorageAddonsLoading); - protected isAuthorizedCitationAddonsLoading = select(AddonsSelectors.getAuthorizedCitationAddonsLoading); + isCurrentUserLoading = select(UserSelectors.getCurrentUserLoading); + isUserReferenceLoading = select(AddonsSelectors.getAddonsUserReferenceLoading); + isStorageAddonsLoading = select(AddonsSelectors.getStorageAddonsLoading); + isCitationAddonsLoading = select(AddonsSelectors.getCitationAddonsLoading); + isAuthorizedStorageAddonsLoading = select(AddonsSelectors.getAuthorizedStorageAddonsLoading); + isAuthorizedCitationAddonsLoading = select(AddonsSelectors.getAuthorizedCitationAddonsLoading); - protected isAddonsLoading = computed(() => { + isAddonsLoading = computed(() => { return ( this.isStorageAddonsLoading() || this.isCitationAddonsLoading() || @@ -87,7 +87,7 @@ export class AddonsComponent { this.isCurrentUserLoading() ); }); - protected isAuthorizedAddonsLoading = computed(() => { + isAuthorizedAddonsLoading = computed(() => { return ( this.isAuthorizedStorageAddonsLoading() || this.isAuthorizedCitationAddonsLoading() || @@ -96,7 +96,7 @@ export class AddonsComponent { ); }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getStorageAddons: GetStorageAddons, getCitationAddons: GetCitationAddons, getAuthorizedStorageAddons: GetAuthorizedStorageAddons, @@ -107,33 +107,33 @@ export class AddonsComponent { deleteAuthorizedAddon: DeleteAuthorizedAddon, }); - protected readonly allAuthorizedAddons = computed(() => { + readonly allAuthorizedAddons = computed(() => { const authorizedAddons = [...this.authorizedStorageAddons(), ...this.authorizedCitationAddons()]; const searchValue = this.searchValue().toLowerCase(); return authorizedAddons.filter((card) => card.displayName.includes(searchValue)); }); - protected readonly userReferenceId = computed(() => { + readonly userReferenceId = computed(() => { return this.addonsUserReference()[0]?.id; }); - protected readonly currentAction = computed(() => + readonly currentAction = computed(() => this.selectedCategory() === AddonCategory.EXTERNAL_STORAGE_SERVICES ? this.actions.getStorageAddons : this.actions.getCitationAddons ); - protected readonly currentAddonsState = computed(() => + readonly currentAddonsState = computed(() => this.selectedCategory() === AddonCategory.EXTERNAL_STORAGE_SERVICES ? this.storageAddons() : this.citationAddons() ); - protected readonly filteredAddonCards = computed(() => { + readonly filteredAddonCards = computed(() => { const searchValue = this.searchValue().toLowerCase(); return this.currentAddonsState().filter((card) => card.externalServiceName.toLowerCase().includes(searchValue)); }); - protected onCategoryChange(value: Primitive): void { + onCategoryChange(value: Primitive): void { if (typeof value === 'string') { this.selectedCategory.set(value); } diff --git a/src/app/features/settings/addons/components/connect-addon/connect-addon.component.ts b/src/app/features/settings/addons/components/connect-addon/connect-addon.component.ts index 8d60665c1..084e10e43 100644 --- a/src/app/features/settings/addons/components/connect-addon/connect-addon.component.ts +++ b/src/app/features/settings/addons/components/connect-addon/connect-addon.component.ts @@ -39,32 +39,32 @@ import { AddonsSelectors, CreateAuthorizedAddon, UpdateAuthorizedAddon } from '@ export class ConnectAddonComponent { private readonly router = inject(Router); - protected readonly stepper = viewChild(Stepper); - protected readonly ProjectAddonsStepperValue = ProjectAddonsStepperValue; + readonly stepper = viewChild(Stepper); + readonly ProjectAddonsStepperValue = ProjectAddonsStepperValue; - protected terms = signal([]); - protected addon = signal(null); - protected addonAuthUrl = signal('/settings/addons'); + terms = signal([]); + addon = signal(null); + addonAuthUrl = signal('/settings/addons'); - protected addonsUserReference = select(AddonsSelectors.getAddonsUserReference); - protected createdAddon = select(AddonsSelectors.getCreatedOrUpdatedAuthorizedAddon); - protected isCreatingAuthorizedAddon = select(AddonsSelectors.getCreatedOrUpdatedStorageAddonSubmitting); - protected isAuthorized = computed(() => { + addonsUserReference = select(AddonsSelectors.getAddonsUserReference); + createdAddon = select(AddonsSelectors.getCreatedOrUpdatedAuthorizedAddon); + isCreatingAuthorizedAddon = select(AddonsSelectors.getCreatedOrUpdatedStorageAddonSubmitting); + isAuthorized = computed(() => { return isAuthorizedAddon(this.addon()); }); - protected addonTypeString = computed(() => { + addonTypeString = computed(() => { return getAddonTypeString(this.addon()); }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ createAuthorizedAddon: CreateAuthorizedAddon, updateAuthorizedAddon: UpdateAuthorizedAddon, }); - protected readonly userReferenceId = computed(() => { + readonly userReferenceId = computed(() => { return this.addonsUserReference()[0]?.id; }); - protected readonly baseUrl = computed(() => { + readonly baseUrl = computed(() => { const currentUrl = this.router.url; return currentUrl.split('/addons')[0]; }); diff --git a/src/app/features/settings/developer-apps/developer-apps-container.component.ts b/src/app/features/settings/developer-apps/developer-apps-container.component.ts index 64f62fdc2..b384321cd 100644 --- a/src/app/features/settings/developer-apps/developer-apps-container.component.ts +++ b/src/app/features/settings/developer-apps/developer-apps-container.component.ts @@ -27,10 +27,9 @@ export class DeveloperAppsContainerComponent { private readonly isMedium = toSignal(inject(IS_MEDIUM)); private readonly translateService = inject(TranslateService); - protected readonly isBaseRoute = toSignal( - this.router.events.pipe(map(() => this.router.url === '/settings/developer-apps')), - { initialValue: this.router.url === '/settings/developer-apps' } - ); + readonly isBaseRoute = toSignal(this.router.events.pipe(map(() => this.router.url === '/settings/developer-apps')), { + initialValue: this.router.url === '/settings/developer-apps', + }); createDeveloperApp(): void { const dialogWidth = this.isMedium() ? '500px' : '340px'; diff --git a/src/app/shared/components/addons/addon-setup-account-form/addon-setup-account-form.component.ts b/src/app/shared/components/addons/addon-setup-account-form/addon-setup-account-form.component.ts index c0b2ea0a8..cbcb857eb 100644 --- a/src/app/shared/components/addons/addon-setup-account-form/addon-setup-account-form.component.ts +++ b/src/app/shared/components/addons/addon-setup-account-form/addon-setup-account-form.component.ts @@ -31,38 +31,38 @@ export class AddonSetupAccountFormComponent { readonly formSubmit = output(); readonly backClick = output(); - protected readonly formControls = AddonFormControls; + readonly formControls = AddonFormControls; get isFormValid() { return this.addonForm().valid; } - protected readonly addonForm = computed>(() => { + readonly addonForm = computed>(() => { return this.addonFormService.initializeForm(this.addon()); }); - protected readonly isAccessSecretKeysFormat = computed(() => { + readonly isAccessSecretKeysFormat = computed(() => { return this.addon().credentialsFormat === CredentialsFormat.ACCESS_SECRET_KEYS; }); - protected readonly isDataverseApiTokenFormat = computed(() => { + readonly isDataverseApiTokenFormat = computed(() => { return this.addon().credentialsFormat === CredentialsFormat.DATAVERSE_API_TOKEN; }); - protected readonly isUsernamePasswordFormat = computed(() => { + readonly isUsernamePasswordFormat = computed(() => { return this.addon().credentialsFormat === CredentialsFormat.USERNAME_PASSWORD; }); - protected readonly isRepoTokenFormat = computed(() => { + readonly isRepoTokenFormat = computed(() => { return this.addon().credentialsFormat === CredentialsFormat.REPO_TOKEN; }); - protected readonly isOAuthFormat = computed(() => { + readonly isOAuthFormat = computed(() => { const format = this.addon().credentialsFormat; return format === CredentialsFormat.OAUTH2 || format === CredentialsFormat.OAUTH; }); - protected handleSubmit(): void { + handleSubmit(): void { if (!this.isFormValid) return; const formValue = this.addonForm().value; @@ -76,7 +76,7 @@ export class AddonSetupAccountFormComponent { this.formSubmit.emit(payload); } - protected handleBack(): void { + handleBack(): void { this.backClick.emit(); } } diff --git a/src/app/shared/components/datacite-tracker/datacite-tracker.component.ts b/src/app/shared/components/datacite-tracker/datacite-tracker.component.ts index 25a58e204..29c9643a4 100644 --- a/src/app/shared/components/datacite-tracker/datacite-tracker.component.ts +++ b/src/app/shared/components/datacite-tracker/datacite-tracker.component.ts @@ -14,7 +14,7 @@ export abstract class DataciteTrackerComponent { * * @returns An Observable that emits a string DOI or null if unavailable. */ - protected abstract getDoi(): Observable; + abstract getDoi(): Observable; /** * Sets up a one-time effect to log a "view" event to Datacite for the resource DOI. @@ -23,7 +23,7 @@ export abstract class DataciteTrackerComponent { * * @returns An Observable that completes after logging the view. */ - protected setupDataciteViewTrackerEffect(): Observable { + setupDataciteViewTrackerEffect(): Observable { return this.getDoi().pipe( take(1), filter((doi): doi is string => !!doi), diff --git a/src/app/shared/components/project-selector/project-selector.component.ts b/src/app/shared/components/project-selector/project-selector.component.ts index 0dff92456..fdf5ab030 100644 --- a/src/app/shared/components/project-selector/project-selector.component.ts +++ b/src/app/shared/components/project-selector/project-selector.component.ts @@ -39,9 +39,9 @@ export class ProjectSelectorComponent { private readonly translateService = inject(TranslateService); private readonly filterSubject = new Subject(); - protected projects = select(ProjectsSelectors.getProjects); - protected isProjectsLoading = select(ProjectsSelectors.getProjectsLoading); - protected currentUser = select(UserSelectors.getCurrentUser); + projects = select(ProjectsSelectors.getProjects); + isProjectsLoading = select(ProjectsSelectors.getProjectsLoading); + currentUser = select(UserSelectors.getCurrentUser); placeholder = input('common.buttons.select'); showClear = input(true); @@ -51,16 +51,16 @@ export class ProjectSelectorComponent { projectChange = output(); projectsLoaded = output(); - protected projectsOptions = signal[]>([]); + projectsOptions = signal[]>([]); - protected filterMessage = computed(() => { + filterMessage = computed(() => { const isLoading = this.isProjectsLoading(); return isLoading ? this.translateService.instant('collections.addToCollection.form.loadingPlaceholder') : this.translateService.instant('collections.addToCollection.form.noProjectsFound'); }); - protected actions = createDispatchMap({ + actions = createDispatchMap({ getProjects: GetProjects, }); diff --git a/src/app/shared/components/registration-blocks-data/registration-blocks-data.component.ts b/src/app/shared/components/registration-blocks-data/registration-blocks-data.component.ts index 080c02764..2918394fb 100644 --- a/src/app/shared/components/registration-blocks-data/registration-blocks-data.component.ts +++ b/src/app/shared/components/registration-blocks-data/registration-blocks-data.component.ts @@ -32,6 +32,6 @@ export class RegistrationBlocksDataComponent { }, {}); }); - protected readonly FieldType = FieldType; - protected readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; + readonly FieldType = FieldType; + readonly INPUT_VALIDATION_MESSAGES = INPUT_VALIDATION_MESSAGES; } diff --git a/src/app/shared/components/resource-metadata/resource-metadata.component.ts b/src/app/shared/components/resource-metadata/resource-metadata.component.ts index a2903fd98..b0ac1da41 100644 --- a/src/app/shared/components/resource-metadata/resource-metadata.component.ts +++ b/src/app/shared/components/resource-metadata/resource-metadata.component.ts @@ -38,7 +38,7 @@ export class ResourceMetadataComponent { isCollectionsRoute = input(false); canWrite = input.required(); - protected readonly resourceTypes = OsfResourceTypes; + readonly resourceTypes = OsfResourceTypes; onCustomCitationUpdated(citation: string): void { this.customCitationUpdated.emit(citation); diff --git a/src/app/shared/components/search-results-container/search-results-container.component.ts b/src/app/shared/components/search-results-container/search-results-container.component.ts index 11502fb0f..7aea4d1b4 100644 --- a/src/app/shared/components/search-results-container/search-results-container.component.ts +++ b/src/app/shared/components/search-results-container/search-results-container.component.ts @@ -69,15 +69,15 @@ export class SearchResultsContainerComponent { return this.tabOptions().length > 0; }); - protected readonly searchSortingOptions = searchSortingOptions; - protected readonly ResourceType = ResourceType; + readonly searchSortingOptions = searchSortingOptions; + readonly ResourceType = ResourceType; - protected readonly hasSelectedValues = computed(() => { + readonly hasSelectedValues = computed(() => { const values = this.selectedValues(); return Object.values(values).some((value) => value !== null && value !== ''); }); - protected readonly hasFilters = computed(() => { + readonly hasFilters = computed(() => { //[RNi] TODO: check if there are any filters return true; }); diff --git a/src/app/shared/components/subjects/subjects.component.ts b/src/app/shared/components/subjects/subjects.component.ts index cb7c793f5..d87b132d5 100644 --- a/src/app/shared/components/subjects/subjects.component.ts +++ b/src/app/shared/components/subjects/subjects.component.ts @@ -45,7 +45,7 @@ export class SubjectsComponent { ); expanded: Record = {}; - protected searchControl = new FormControl(''); + searchControl = new FormControl(''); constructor() { this.searchControl.valueChanges.pipe(debounceTime(300), distinctUntilChanged()).subscribe((value) => { diff --git a/src/app/shared/components/truncated-text/truncated-text.component.ts b/src/app/shared/components/truncated-text/truncated-text.component.ts index c25dd2cfd..9efd3a6ba 100644 --- a/src/app/shared/components/truncated-text/truncated-text.component.ts +++ b/src/app/shared/components/truncated-text/truncated-text.component.ts @@ -13,9 +13,9 @@ export class TruncatedTextComponent implements AfterViewInit { readonly text = input(''); readonly hasContent = input(false); readonly maxVisibleLines = input(3); - protected readonly contentElement = viewChild('textContent'); - protected isTextExpanded = signal(false); - protected hasOverflowingText = signal(false); + readonly contentElement = viewChild('textContent'); + isTextExpanded = signal(false); + hasOverflowingText = signal(false); ngAfterViewInit() { this.checkTextOverflow(); @@ -29,7 +29,7 @@ export class TruncatedTextComponent implements AfterViewInit { this.hasOverflowingText.set(hasOverflow); } - protected toggleTextExpansion(): void { + toggleTextExpansion(): void { this.isTextExpanded.update((expanded) => !expanded); } } diff --git a/src/app/shared/components/wiki/add-wiki-dialog/add-wiki-dialog.component.ts b/src/app/shared/components/wiki/add-wiki-dialog/add-wiki-dialog.component.ts index f8634e134..a6d662da0 100644 --- a/src/app/shared/components/wiki/add-wiki-dialog/add-wiki-dialog.component.ts +++ b/src/app/shared/components/wiki/add-wiki-dialog/add-wiki-dialog.component.ts @@ -23,13 +23,13 @@ import { CreateWiki, WikiSelectors } from '@osf/shared/stores'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddWikiDialogComponent { - protected readonly dialogRef = inject(DynamicDialogRef); + readonly dialogRef = inject(DynamicDialogRef); readonly config = inject(DynamicDialogConfig); - protected actions = createDispatchMap({ + actions = createDispatchMap({ createWiki: CreateWiki, }); - protected isSubmitting = select(WikiSelectors.getWikiSubmitting); - protected inputLimits = InputLimits; + isSubmitting = select(WikiSelectors.getWikiSubmitting); + inputLimits = InputLimits; private toastService = inject(ToastService); addWikiForm = new FormGroup({ diff --git a/src/app/shared/components/wiki/wiki-syntax-help-dialog/wiki-syntax-help-dialog.component.ts b/src/app/shared/components/wiki/wiki-syntax-help-dialog/wiki-syntax-help-dialog.component.ts index 85a2a6f71..68019df74 100644 --- a/src/app/shared/components/wiki/wiki-syntax-help-dialog/wiki-syntax-help-dialog.component.ts +++ b/src/app/shared/components/wiki/wiki-syntax-help-dialog/wiki-syntax-help-dialog.component.ts @@ -13,5 +13,5 @@ import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class WikiSyntaxHelpDialogComponent { - protected readonly dialogRef = inject(DynamicDialogRef); + readonly dialogRef = inject(DynamicDialogRef); } From af5f7a43211c76b15cc2ed990b52af163f2f64e2 Mon Sep 17 00:00:00 2001 From: Nazar Semets Date: Tue, 9 Sep 2025 22:33:32 +0300 Subject: [PATCH 3/4] fix(styles): removed some mixins and scss files --- .../components/footer/footer.component.html | 4 +- .../components/sidenav/sidenav.component.html | 2 +- .../pages/dashboard/dashboard.component.html | 4 +- .../add-moderator-dialog.component.html | 2 +- .../invite-moderator-dialog.component.html | 2 +- .../make-decision.component.html | 8 ++-- .../withdraw-dialog.component.html | 4 +- .../array-input/array-input.component.html | 2 +- .../author-assertions-step.component.html | 32 +++++++-------- .../file-step/file-step.component.html | 16 ++++---- .../contributors/contributors.component.html | 2 +- .../metadata-step.component.html | 26 ++++++------ .../review-step/review-step.component.html | 12 +++--- .../supplements-step.component.html | 14 +++---- .../title-and-abstract-step.component.html | 4 +- .../create-new-version.component.html | 4 +- .../select-preprint-service.component.html | 14 +++---- .../submit-preprint-stepper.component.html | 4 +- .../update-preprint-stepper.component.html | 4 +- .../my-profile/my-profile.component.html | 2 +- .../user-profile/user-profile.component.html | 2 +- ...ries-affiliated-institution.component.html | 6 +-- .../registries-license.component.html | 2 +- src/app/features/search/search.component.html | 2 +- .../add-contributor-dialog.component.html | 2 +- .../add-contributor-item.component.html | 6 +-- ...gistered-contributor-dialog.component.html | 2 +- .../components/license/license.component.html | 2 +- .../resource-card.component.html | 2 +- src/styles/_common.scss | 12 +++--- src/styles/_mixins.scss | 41 ------------------- src/styles/overrides/autocomplete.scss | 0 src/styles/overrides/iconfield.scss | 0 src/styles/overrides/password.scss | 0 src/styles/styles.scss | 3 -- 35 files changed, 99 insertions(+), 145 deletions(-) delete mode 100644 src/styles/overrides/autocomplete.scss delete mode 100644 src/styles/overrides/iconfield.scss delete mode 100644 src/styles/overrides/password.scss diff --git a/src/app/core/components/footer/footer.component.html b/src/app/core/components/footer/footer.component.html index b11f9dd2b..0ec7ca5c6 100644 --- a/src/app/core/components/footer/footer.component.html +++ b/src/app/core/components/footer/footer.component.html @@ -21,9 +21,9 @@