diff --git a/interactivemining-install.sh b/interactivemining-install.sh
index 047dd8c..8aaa876 100755
--- a/interactivemining-install.sh
+++ b/interactivemining-install.sh
@@ -1,7 +1,7 @@
rm -f interactiveminingv3.tgz
git clone https://code-repo.d4science.org/MaDgIK/interactive-mining.git
cd interactive-mining/
-git checkout angular-14
+git checkout angular-16
cd interactive-mining-angular-frontend/
npm install
npm run packagr
diff --git a/package.json b/package.json
index f82f848..93b7fb3 100644
--- a/package.json
+++ b/package.json
@@ -17,41 +17,40 @@
},
"private": true,
"dependencies": {
- "@angular/animations": "^14.2.3",
- "@angular/cdk": "^14.2.2",
- "@angular/common": "^14.2.3",
- "@angular/compiler": "^14.2.3",
- "@angular/core": "^14.2.3",
- "@angular/forms": "^14.2.3",
- "@angular/localize": "^14.2.3",
- "@angular/material": "^14.2.2",
- "@angular/platform-browser": "^14.2.3",
- "@angular/platform-browser-dynamic": "^14.2.3",
- "@angular/router": "^14.2.3",
+ "@angular/animations": "^16.1.8",
+ "@angular/cdk": "^16.1.7",
+ "@angular/common": "^16.1.8",
+ "@angular/compiler": "^16.1.8",
+ "@angular/core": "^16.1.8",
+ "@angular/forms": "^16.1.8",
+ "@angular/localize": "^16.1.8",
+ "@angular/material": "^16.1.7",
+ "@angular/platform-browser": "^16.1.8",
+ "@angular/platform-browser-dynamic": "^16.1.8",
+ "@angular/router": "^16.1.8",
"clipboard": "^1.5.16",
"core-js": "^2.5.4",
"express": "^4.15.2",
"jquery": "^3.4.1",
- "ng-recaptcha": "^10.0.0",
+ "ng-recaptcha": "^12.0.2",
"ng2-ckeditor": "1.3.7",
- "ngx-color-picker": "^8.1.0",
+ "ngx-color-picker": "^14.0.0",
"rxjs": "^6.5.1",
"sass-loader": "7.3.1",
"ts-md5": "^1.2.0",
"tslib": "^2.0.0",
- "uikit": "3.13.10",
- "zone.js": "~0.11.4"
+ "uikit": "3.16.24",
+ "zone.js": "~0.13.1"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^14.2.3",
- "@angular/cli": "^14.2.3",
- "@angular/compiler-cli": "^14.2.3",
- "@angular/language-service": "^14.2.3",
+ "@angular-devkit/build-angular": "^16.1.7",
+ "@angular/cli": "^16.1.7",
+ "@angular/compiler-cli": "^16.1.8",
+ "@angular/language-service": "^16.1.8",
+ "@types/ckeditor": "^4.9.10",
"@types/express": "^4.17.0",
"@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.3",
- "@types/node": "^12.11.1",
- "@types/ckeditor": "^4.9.10",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.8.0",
"jasmine-spec-reporter": "~5.0.0",
@@ -62,6 +61,6 @@
"karma-jasmine-html-reporter": "^1.6.0",
"protractor": "~7.0.0",
"ts-node": "~7.0.0",
- "typescript": "~4.6.4"
+ "typescript": "~4.9.5"
}
}
diff --git a/src/app/app.component.html b/src/app/app.component.html
index c6796f9..b63493a 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -2,17 +2,15 @@
diff --git a/src/app/pages/community-info/profile/edit-community/edit-community.component.ts b/src/app/pages/community-info/profile/edit-community/edit-community.component.ts
index d418d0b..0134f16 100644
--- a/src/app/pages/community-info/profile/edit-community/edit-community.component.ts
+++ b/src/app/pages/community-info/profile/edit-community/edit-community.component.ts
@@ -42,7 +42,7 @@ import {ClearCacheService} from "../../../../openaireLibrary/services/clear-cach
-
+
-
`,
diff --git a/src/app/pages/customization/color.component.ts b/src/app/pages/customization/color.component.ts
index 094100e..eabe19e 100644
--- a/src/app/pages/customization/color.component.ts
+++ b/src/app/pages/customization/color.component.ts
@@ -21,14 +21,14 @@ import {CustomizationOptions} from '../../openaireLibrary/connect/community/Cust
`,
styles:[
`
- .color-input{
- width:24px;
- height:14px;
- border-radius:3px;
- border:0.1px solid #707070;
- cursor: pointer;
-
- }`
+ .color-input{
+ width:24px;
+ height:14px;
+ border-radius:3px;
+ border:0.1px solid #707070;
+ cursor: pointer;
+
+ }`
]
})
diff --git a/src/app/pages/projects/remove-projects.component.html b/src/app/pages/projects/remove-projects.component.html
index 59af0c5..ce7d1ab 100644
--- a/src/app/pages/projects/remove-projects.component.html
+++ b/src/app/pages/projects/remove-projects.component.html
@@ -82,14 +82,14 @@
-
{{item.name}}
({{item.acronym}})
[no title available]
-
+ = lastDBLoadDate))">
{{item.name}}
({{item.acronym}})
[no title available]
diff --git a/src/app/pages/projects/remove-projects.component.ts b/src/app/pages/projects/remove-projects.component.ts
index d5bc5fb..c930aef 100644
--- a/src/app/pages/projects/remove-projects.component.ts
+++ b/src/app/pages/projects/remove-projects.component.ts
@@ -20,6 +20,7 @@ import {HelperFunctions} from "../../openaireLibrary/utils/HelperFunctions.class
import {NotificationHandler} from "../../openaireLibrary/utils/notification-handler";
import {ClearCacheService} from "../../openaireLibrary/services/clear-cache.service";
import {debounceTime, distinctUntilChanged} from "rxjs/operators";
+import {IndexInfoService} from "../../openaireLibrary/utils/indexInfo.service";
@Component({
selector: 'remove-projects',
@@ -63,18 +64,21 @@ export class RemoveProjectsComponent implements OnInit {
];
public openaireEntiites = OpenaireEntities;
-
+ lastDBLoadDate = null;
constructor(private route: ActivatedRoute, private _router: Router,
private _fb: UntypedFormBuilder,
private communityService: CommunityService,
private _manageCommunityProjectsService: ManageCommunityProjectsService,
private _searchCommunityProjectsService: SearchCommunityProjectsService,
- private _clearCacheService: ClearCacheService) {
+ private _clearCacheService: ClearCacheService, private indexInfoService: IndexInfoService) {
this.errorCodes = new ErrorCodes();
this.communitySearchUtils.status = this.errorCodes.LOADING;
}
ngOnInit() {
+ this.subscriptions.push(this.indexInfoService.getDBLoadLastDate(this.properties).subscribe(res => {
+ this.lastDBLoadDate = res;
+ }));
this.communitySearchUtils.keyword = "";
this.filterForm = this._fb.group({
@@ -254,4 +258,6 @@ export class RemoveProjectsComponent implements OnInit {
isSelected(value: string) {
return this.filterForm && this.filterForm.get('funder').value && this.filterForm.get('funder').value.id === value;
}
+
+
}
diff --git a/src/app/pages/users/users-managers/users-managers.component.ts b/src/app/pages/users/users-managers/users-managers.component.ts
index 0589cc1..ecb8256 100644
--- a/src/app/pages/users/users-managers/users-managers.component.ts
+++ b/src/app/pages/users/users-managers/users-managers.component.ts
@@ -30,7 +30,6 @@ export class UsersManagersComponent implements OnInit {
private subscriptions: any[] = [];
constructor(private communityService: CommunityService,
- private route: ActivatedRoute,
private title: Title) {
}
diff --git a/src/app/pages/users/users-subscribers/users-subscribers.component.ts b/src/app/pages/users/users-subscribers/users-subscribers.component.ts
index e432e46..02063ec 100644
--- a/src/app/pages/users/users-subscribers/users-subscribers.component.ts
+++ b/src/app/pages/users/users-subscribers/users-subscribers.component.ts
@@ -4,24 +4,36 @@ import {ActivatedRoute} from "@angular/router";
import {CommunityService} from "../../../openaireLibrary/connect/community/community.service";
import {Subscriber} from "rxjs";
import {CommunityInfo} from "../../../openaireLibrary/connect/community/communityInfo";
+import {Email} from "../../../openaireLibrary/utils/email/email";
+import {Composer} from "../../../openaireLibrary/utils/email/composer";
+import {properties} from "../../../../environments/environment";
@Component({
selector: 'users-subscribers',
template: `
-
+
+
+
`
})
export class UsersSubscribersComponent implements OnInit {
public community: CommunityInfo;
+ public link: string;
public loading: boolean;
+ public message: string;
public inviteDisableMessage: string;
+ public emailComposer: Function = (name, recipient, role):Email => {
+ return Composer.composeEmailForCommunityDashboard(name, role, recipient);
+ }
private subscriptions: any[] = [];
constructor(private communityService: CommunityService,
- private route: ActivatedRoute,
private title: Title) {
}
@@ -30,7 +42,10 @@ export class UsersSubscribersComponent implements OnInit {
this.subscriptions.push(this.communityService.getCommunityAsObservable().subscribe(community => {
if(community) {
this.community = community;
- this.title.setTitle(this.community.shortTitle.toUpperCase() + " | Subscribers");
+ this.title.setTitle(this.community.shortTitle.toUpperCase() + " | Members");
+ this.link = this.getURL(this.community.communityId);
+ this.message = 'A member can access the community dashboard and link research results with projects, ' +
+ 'communities and other research projects.';
if(community.status !== "all") {
this.inviteDisableMessage = "Community's status is " + (community.status === 'manager'?'Visible to managers':'Hidden') + " and invitation to join the Research community dashboard is disabled. Update the community status to enable invitations."
}
@@ -46,4 +61,8 @@ export class UsersSubscribersComponent implements OnInit {
}
});
}
+
+ private getURL(id: string): string {
+ return 'https://' + (properties.environment !== "production"?'beta.':'') + id + ".openaire.eu?verify=";
+ }
}
diff --git a/src/app/pages/users/users-subscribers/users-subscribers.module.ts b/src/app/pages/users/users-subscribers/users-subscribers.module.ts
index 7865cfe..62b0293 100644
--- a/src/app/pages/users/users-subscribers/users-subscribers.module.ts
+++ b/src/app/pages/users/users-subscribers/users-subscribers.module.ts
@@ -5,11 +5,12 @@ import {LoadingModule} from "../../../openaireLibrary/utils/loading/loading.modu
import {RouterModule} from "@angular/router";
import {SubscribersModule} from "../../../openaireLibrary/dashboard/users/subscribers/subscribers.module";
import {UsersTabsModule} from '../users-tabs.module';
+import {RoleUsersModule} from "../../../openaireLibrary/dashboard/users/role-users/role-users.module";
@NgModule({
imports: [CommonModule, LoadingModule, RouterModule.forChild([
{path: '', component: UsersSubscribersComponent}
- ]), SubscribersModule, UsersTabsModule],
+ ]), SubscribersModule, UsersTabsModule, RoleUsersModule],
declarations: [UsersSubscribersComponent],
exports: [UsersSubscribersComponent]
})
diff --git a/src/app/pages/zenodo-communities/zenodo-communities.component.ts b/src/app/pages/zenodo-communities/zenodo-communities.component.ts
index 717c259..54080c3 100644
--- a/src/app/pages/zenodo-communities/zenodo-communities.component.ts
+++ b/src/app/pages/zenodo-communities/zenodo-communities.component.ts
@@ -62,7 +62,7 @@ export class ZenodoCommunitiesComponent implements OnInit, OnDestroy {
this.masterZenodoCommunityId = this.community.zenodoCommunity;
if (this.masterZenodoCommunityId) {
this.subscriptions.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties,
- this.properties.zenodoCommunities + this.masterZenodoCommunityId).subscribe(
+ this.masterZenodoCommunityId).subscribe(
result => {
this.masterZenodoCommunity = result;
this.selectedCommunities.unshift(this.masterZenodoCommunity);
@@ -113,7 +113,7 @@ export class ZenodoCommunitiesComponent implements OnInit, OnDestroy {
getZenodoCommunityById(zenodoid) {
this.subscriptions.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties,
- this.properties.zenodoCommunities + zenodoid).subscribe(
+ zenodoid).subscribe(
result => {
this.selectedCommunities.push(result);
this.zenodocommunitiesloadedCount++;
diff --git a/src/assets/common-assets b/src/assets/common-assets
index d18e0a7..d1b2d5e 160000
--- a/src/assets/common-assets
+++ b/src/assets/common-assets
@@ -1 +1 @@
-Subproject commit d18e0a7e43e5ab74649481ecbf352ba49893c66f
+Subproject commit d1b2d5e585722751792d12645d17f820cd6a7860
diff --git a/src/assets/openaire-theme b/src/assets/openaire-theme
index ac458b5..2dadcf8 160000
--- a/src/assets/openaire-theme
+++ b/src/assets/openaire-theme
@@ -1 +1 @@
-Subproject commit ac458b5a6d156167d7b6c9005ef1f9cfac75d3ae
+Subproject commit 2dadcf85926bc0f11fff22ed94dc197ddd8587c6
diff --git a/src/mining.scss b/src/mining.scss
index 75b9615..d1e47b7 100644
--- a/src/mining.scss
+++ b/src/mining.scss
@@ -1,5 +1,5 @@
@use "sass:meta";
-@import "~interactiveminingv3/assets/css/variables.css";
+@import "node_modules/interactiveminingv3/assets/css/variables.css";
.mining {
diff --git a/src/test.ts b/src/test.ts
index 6b03dbe..ae25f27 100644
--- a/src/test.ts
+++ b/src/test.ts
@@ -7,8 +7,6 @@ import {
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
-declare const require: any;
-
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
@@ -16,7 +14,3 @@ getTestBed().initTestEnvironment(
teardown: { destroyAfterEach: false }
}
);
-// Then we find all the tests.
-const context = require.context('./', true, /\.spec\.ts$/);
-// And load the modules.
-context.keys().map(context);
diff --git a/tsconfig.json b/tsconfig.json
index fc8b4c1..668d981 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -10,13 +10,14 @@
"moduleResolution": "node",
"experimentalDecorators": true,
"importHelpers": true,
- "target": "es2020",
+ "target": "ES2022",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
- ]
+ ],
+ "useDefineForClassFields": false
}
}