From 1643eecc489c52616da39c010fe02f233a71d034 Mon Sep 17 00:00:00 2001 From: argirok Date: Mon, 1 Aug 2022 17:32:25 +0300 Subject: [PATCH] Connect Admin Customization: create button that updates layout timestamp and create new css files --- src/app/openaireLibrary | 2 +- .../admin-tools/admin-tools-routing.module.ts | 5 ++ ...nect-admin-customization-routing.module.ts | 15 ++++ .../connect-admin-customization.component.ts | 76 +++++++++++++++++++ .../connect-admin-customization.module.ts | 19 +++++ 5 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 src/app/pages/connect-admin-customization/connect-admin-customization-routing.module.ts create mode 100644 src/app/pages/connect-admin-customization/connect-admin-customization.component.ts create mode 100644 src/app/pages/connect-admin-customization/connect-admin-customization.module.ts diff --git a/src/app/openaireLibrary b/src/app/openaireLibrary index aaf8c50..dbbb832 160000 --- a/src/app/openaireLibrary +++ b/src/app/openaireLibrary @@ -1 +1 @@ -Subproject commit aaf8c50c684cc3a62f6f1dff739c5e2564c111be +Subproject commit dbbb832bff746f73c0bbcc416ee09bdbcd77b9e4 diff --git a/src/app/pages/admin-tools/admin-tools-routing.module.ts b/src/app/pages/admin-tools/admin-tools-routing.module.ts index 0011606..a835137 100644 --- a/src/app/pages/admin-tools/admin-tools-routing.module.ts +++ b/src/app/pages/admin-tools/admin-tools-routing.module.ts @@ -38,6 +38,11 @@ import {RouterModule} from '@angular/router'; path: 'menu', loadChildren: () => import('../../openaireLibrary/dashboard/menu/menu.module').then(m => m.MenuModule), pathMatch: 'full' + }, + { + path: 'customization', + loadChildren: () => import('../connect-admin-customization/connect-admin-customization.module').then(m => m.ConnectAdminCustomizationModule), + pathMatch: 'full' } ]) ] diff --git a/src/app/pages/connect-admin-customization/connect-admin-customization-routing.module.ts b/src/app/pages/connect-admin-customization/connect-admin-customization-routing.module.ts new file mode 100644 index 0000000..4b31594 --- /dev/null +++ b/src/app/pages/connect-admin-customization/connect-admin-customization-routing.module.ts @@ -0,0 +1,15 @@ +import {NgModule} from '@angular/core'; +import {RouterModule} from '@angular/router'; +import {AdminLoginGuard} from "../../openaireLibrary/login/adminLoginGuard.guard"; +import {ConnectAdminCustomizationComponent} from "./connect-admin-customization.component"; + +@NgModule({ + imports: [ + RouterModule.forChild([ + { path: '',component: ConnectAdminCustomizationComponent} + ]) + ], + providers: [AdminLoginGuard] +}) +export class ConnectAdminCustomizationRoutingModule { +} diff --git a/src/app/pages/connect-admin-customization/connect-admin-customization.component.ts b/src/app/pages/connect-admin-customization/connect-admin-customization.component.ts new file mode 100644 index 0000000..ca2fc3a --- /dev/null +++ b/src/app/pages/connect-admin-customization/connect-admin-customization.component.ts @@ -0,0 +1,76 @@ +import {Component, OnInit} from '@angular/core'; +import {Subscription} from 'rxjs'; +import {LayoutService} from "../../openaireLibrary/services/layout.service"; +import {properties} from "../../../environments/environment"; +declare var UIkit; + +@Component({ + selector: 'connect-admin-customization', + template: ` +
+
+
+ +
+
Admin Dashboard - Manage Options
+

Super Admin

+
+
+ + +
+ +
+
+
Use only after connect deployment. And only if there are css updates!
+ Press the following button to update the timestamp in the saved layouts and recreate the css files. +
+ +
+
+ + ` +}) +export class ConnectAdminCustomizationComponent implements OnInit { + private subscriptions: any[] = []; + savingChanges = false; + + constructor( private layoutService: LayoutService,) { + } + + ngOnInit() { + // this.sub =this.communityService.getCommunityAsObservable().subscribe(community => { + // this.community = community; + // }); + } + ngOnDestroy() { + + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscription) { + subscription.unsubscribe(); + } + }); + } + updateCss(){ + let date = new Date(); + this.savingChanges = true; + this.subscriptions.push(this.layoutService.getLayouts(properties, ).subscribe(layouts => { + + for(let layout of layouts){ + if(layout.portalPid != 'connect'){ + layout.date = date; + this.subscriptions.push(this.layoutService.saveLayout(properties, layout.portalPid, layout, "community").subscribe(data =>{ + this.subscriptions.push(this.layoutService.createCSS(layout.portalPid,properties.connectPortalUrl, layout.date.valueOf(), layout.layoutOptions).subscribe(data =>{ + UIkit.notification(layout.portalPid +"-"+ layout.date.valueOf() + ".css " + " was created successfully! ", { + status: 'success', + timeout: 6000, + pos: 'bottom-right' + }); + + })); + })); + } + } + })); + } +} diff --git a/src/app/pages/connect-admin-customization/connect-admin-customization.module.ts b/src/app/pages/connect-admin-customization/connect-admin-customization.module.ts new file mode 100644 index 0000000..8edb0fa --- /dev/null +++ b/src/app/pages/connect-admin-customization/connect-admin-customization.module.ts @@ -0,0 +1,19 @@ +import {NgModule} from '@angular/core'; +import {RouterModule} from "@angular/router"; +import {CommonModule} from "@angular/common"; +import {ConnectAdminCustomizationComponent} from "./connect-admin-customization.component"; +import {AdminTabsModule} from "../../openaireLibrary/dashboard/sharedComponents/admin-tabs/admin-tabs.module"; +import {ConnectAdminCustomizationRoutingModule} from "./connect-admin-customization-routing.module"; +import {PageContentModule} from "../../openaireLibrary/dashboard/sharedComponents/page-content/page-content.module"; +import {LayoutService} from "../../openaireLibrary/services/layout.service"; + +@NgModule({ + imports: [ + CommonModule, RouterModule, AdminTabsModule, ConnectAdminCustomizationRoutingModule, PageContentModule + ], + providers: [LayoutService], + declarations: [ConnectAdminCustomizationComponent], + exports: [ConnectAdminCustomizationComponent] +}) +export class ConnectAdminCustomizationModule { +}