From 2a27c1caf7ad7dc118738429e9c54088b8fd7d45 Mon Sep 17 00:00:00 2001 From: argirok Date: Wed, 28 Feb 2024 14:46:29 +0200 Subject: [PATCH] [plugins-functionality | WIP] content providers: update methods, add options to select for deposit and add deposition message --- .../communityContentProviders.module.ts | 3 +- .../manage-content-providers.component.ts | 44 ++++++++++++++++++- .../remove-content-providers.component.html | 18 ++++++++ .../remove-content-providers.component.ts | 4 ++ .../manageContentProviders.service.ts | 6 +-- 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/app/pages/content-providers/communityContentProviders.module.ts b/src/app/pages/content-providers/communityContentProviders.module.ts index 4a0708e..843d787 100644 --- a/src/app/pages/content-providers/communityContentProviders.module.ts +++ b/src/app/pages/content-providers/communityContentProviders.module.ts @@ -28,6 +28,7 @@ import {AddContentProvidersComponent} from "./add-content-providers.component"; import {ManageCommunityContentProvidersService} from "../../services/manageContentProviders.service"; import {SearchDataprovidersService} from "../../openaireLibrary/services/searchDataproviders.service"; import {CriteriaModule} from "./criteria/criteria.module"; +import {MatSlideToggleModule} from "@angular/material/slide-toggle"; @NgModule({ imports: [ @@ -48,7 +49,7 @@ import {CriteriaModule} from "./criteria/criteria.module"; path: '', component: ManageContentProvidersComponent } ]), - NoLoadPaging, LoadingModule, IconsModule, FullScreenModalModule, ResultPreviewModule, CriteriaModule + NoLoadPaging, LoadingModule, IconsModule, FullScreenModalModule, ResultPreviewModule, CriteriaModule, MatSlideToggleModule ], declarations: [ ManageContentProvidersComponent, diff --git a/src/app/pages/content-providers/manage-content-providers.component.ts b/src/app/pages/content-providers/manage-content-providers.component.ts index f211f4f..df641dc 100644 --- a/src/app/pages/content-providers/manage-content-providers.component.ts +++ b/src/app/pages/content-providers/manage-content-providers.component.ts @@ -23,6 +23,7 @@ import {ManageCommunityContentProvidersService} from "../../services/manageConte [communityContentProviders]="communityContentProviders" [loading]="showLoadingInRemove" [community]="community" (editCriteria)="openCriteria($event)" + (editDepositInfo)="openDeposit($event)" (communityContentProvidersChanged)="communityContentProvidersChanged($event)"> @@ -44,6 +45,17 @@ import {ManageCommunityContentProvidersService} from "../../services/manageConte + +
+
+
+ + + +
+
` }) @@ -53,6 +65,7 @@ export class ManageContentProvidersComponent implements OnInit { @ViewChild('criteria') criteria: CriteriaComponent; @ViewChild('addContentProvidersModal', { static: true }) addContentProvidersModal: FullScreenModalComponent; @ViewChild('filtersModal', { static: true }) filtersModal: FullScreenModalComponent; + @ViewChild('depositModal', { static: true }) depositModal: FullScreenModalComponent; private subscriptions: any[] = []; public showLoadingInRemove: boolean = true; public body: string = "Send from page"; @@ -60,6 +73,8 @@ export class ManageContentProvidersComponent implements OnInit { public openaireEntities = OpenaireEntities; public community: CommunityInfo; public dataProvider: ContentProvider; + message = ""; + deposit= false; constructor(private title: Title, private cdr: ChangeDetectorRef, @@ -103,7 +118,17 @@ export class ManageContentProvidersComponent implements OnInit { this.filtersModal.open(); this.cdr.detectChanges(); } - + public openDeposit(contentProvider: ContentProvider) { + this.dataProvider = contentProvider; + this.deposit = this.dataProvider.deposit; + this.message = this.dataProvider.message; + this.depositModal.title = 'Deposit info'; + this.depositModal.okButtonText = "Save"; + this.depositModal.back = true; + this.depositModal.okButton = true; + this.depositModal.open(); + this.cdr.detectChanges(); + } public saveCriteria() { let callback = (selectionCriteria): void => { this.dataProvider.selectioncriteria = selectionCriteria; @@ -128,4 +153,21 @@ export class ManageContentProvidersComponent implements OnInit { this.removeContentProvidersComponent.applyFilters(); } } + + saveDepositInfo(){ + this.dataProvider.deposit = this.deposit; + this.dataProvider.message = this.message; + console.log(this.message) + this.manageCommunityContentProvidersService.saveContentProvider(this.properties, this.dataProvider).subscribe(() => { + this.removeContentProvidersComponent.getCommunityContentProviders(); + NotificationHandler.rise('Deposit info have been successfully updated'); + }, error => { + this.criteria.handeError('An error has been occurred. Try again later!', error); + }); + } + + depositReset(){ + this.message = this.dataProvider.message; + this.deposit = this.dataProvider.deposit; + } } diff --git a/src/app/pages/content-providers/remove-content-providers.component.html b/src/app/pages/content-providers/remove-content-providers.component.html index 6156177..d57f687 100644 --- a/src/app/pages/content-providers/remove-content-providers.component.html +++ b/src/app/pages/content-providers/remove-content-providers.component.html @@ -54,6 +54,8 @@ [no title available] +
Deposit
+
{{item.message}}
Filters
@@ -64,6 +66,22 @@