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 index ca2fc3a..6cb62f8 100644 --- a/src/app/pages/connect-admin-customization/connect-admin-customization.component.ts +++ b/src/app/pages/connect-admin-customization/connect-admin-customization.component.ts @@ -1,7 +1,8 @@ import {Component, OnInit} from '@angular/core'; import {Subscription} from 'rxjs'; -import {LayoutService} from "../../openaireLibrary/services/layout.service"; +import {CustomizationService} from "../../openaireLibrary/services/customization.service"; import {properties} from "../../../environments/environment"; +import {Layout} from "../../openaireLibrary/connect/community/CustomizationOptions"; declare var UIkit; @Component({ @@ -21,11 +22,22 @@ declare var UIkit;
-
+
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.
+ +
+
+ Delete after next deployment +
+
+
Use to clean up multiple layouts of a community id.
+
+
+ +
@@ -34,14 +46,13 @@ declare var UIkit; export class ConnectAdminCustomizationComponent implements OnInit { private subscriptions: any[] = []; savingChanges = false; + community; + properties = properties; - constructor( private layoutService: LayoutService,) { + constructor( private customizationService: CustomizationService) { } ngOnInit() { - // this.sub =this.communityService.getCommunityAsObservable().subscribe(community => { - // this.community = community; - // }); } ngOnDestroy() { @@ -54,23 +65,52 @@ export class ConnectAdminCustomizationComponent implements OnInit { updateCss(){ let date = new Date(); this.savingChanges = true; - this.subscriptions.push(this.layoutService.getLayouts(properties, ).subscribe(layouts => { + let connectCssIsSaved = false; + let defaultCssIsSaved = false; + this.subscriptions.push(this.customizationService.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' - }); - - })); - })); + layout.date = date; + if(layout.portalPid == 'connect'){ + connectCssIsSaved = true; + this.callSaveAndCreate(layout, "connect") + }else if(layout.portalPid == 'default'){ + defaultCssIsSaved = true; + this.callSaveAndCreate(layout, "connect") + }else { + this.callSaveAndCreate(layout, "community"); } } + if(!connectCssIsSaved){ + let layout = new Layout("connect", null); + layout.date = date; + this.callSaveAndCreate(layout, "connect") + } + if(!defaultCssIsSaved){ + let layout = new Layout("default", null); + layout.date = date; + this.callSaveAndCreate(layout, "connect") + } })); } + + callSaveAndCreate(layout, portalType){ + this.subscriptions.push(this.customizationService.saveLayout(properties, layout.portalPid, layout, portalType).subscribe(data =>{ + this.subscriptions.push(this.customizationService.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' + }); + + })); + })); + } + deleteLayout(){ + if(this.community && this.community.length > 0) { + this.subscriptions.push(this.customizationService.deleteLayout(properties, this.community, "community").subscribe(data => { + + })); + } + } } 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 index 8edb0fa..7d0c926 100644 --- a/src/app/pages/connect-admin-customization/connect-admin-customization.module.ts +++ b/src/app/pages/connect-admin-customization/connect-admin-customization.module.ts @@ -5,13 +5,14 @@ import {ConnectAdminCustomizationComponent} from "./connect-admin-customization. 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"; +import {CustomizationService} from "../../openaireLibrary/services/customization.service"; +import {InputModule} from "../../openaireLibrary/sharedComponents/input/input.module"; @NgModule({ imports: [ - CommonModule, RouterModule, AdminTabsModule, ConnectAdminCustomizationRoutingModule, PageContentModule + CommonModule, RouterModule, AdminTabsModule, ConnectAdminCustomizationRoutingModule, PageContentModule, InputModule ], - providers: [LayoutService], + providers: [CustomizationService], declarations: [ConnectAdminCustomizationComponent], exports: [ConnectAdminCustomizationComponent] }) diff --git a/src/app/pages/customization/customization.component.html b/src/app/pages/customization/customization.component.html index 90b8942..2df026f 100644 --- a/src/app/pages/customization/customization.component.html +++ b/src/app/pages/customization/customization.component.html @@ -170,10 +170,10 @@ diff --git a/src/app/pages/customization/customization.component.ts b/src/app/pages/customization/customization.component.ts index 9173956..6b1dff8 100644 --- a/src/app/pages/customization/customization.component.ts +++ b/src/app/pages/customization/customization.component.ts @@ -8,7 +8,7 @@ import {LoginErrorCodes} from '../../openaireLibrary/login/utils/guardHelper.cla import {DomSanitizer, Title} from '@angular/platform-browser'; import {CustomizationOptions, Layout} from '../../openaireLibrary/connect/community/CustomizationOptions'; import {StringUtils} from '../../openaireLibrary/utils/string-utils.class'; -import {LayoutService} from '../../openaireLibrary/services/layout.service'; +import {CustomizationService} from '../../openaireLibrary/services/customization.service'; import {properties} from '../../../environments/environment'; import {UtilitiesService} from '../../openaireLibrary/services/utilities.service'; import {Subscription} from 'rxjs'; @@ -101,7 +101,7 @@ sidebarItems = [{name:"Identity", id : "identity", icon: "desktop_windows" }, private _router: Router, private title: Title, private sanitizer: DomSanitizer, - private layoutService: LayoutService, + private layoutService: CustomizationService, private utilsService: UtilitiesService, private userManagementService: UserManagementService) { } @@ -174,7 +174,7 @@ sidebarItems = [{name:"Identity", id : "identity", icon: "desktop_windows" }, this.publishedCustomizationOptions = this.copyObject(this.publishedLayout.layoutOptions) this.publishedLayout.date = new Date(); this.subscriptions.push(this.layoutService.saveLayout(this.properties, this.communityId, this.publishedLayout).subscribe(layout => { - + this.publishedLayout._id = layout._id; this.subscriptions.push(this.layoutService.createCSS(this.communityId,this.properties.connectPortalUrl, this.publishedLayout.date.valueOf(), this.publishedLayout.layoutOptions).subscribe(data => { console.log(data) @@ -237,7 +237,10 @@ sidebarItems = [{name:"Identity", id : "identity", icon: "desktop_windows" }, let d = new Date(); let prefix = "-preview-" + d.valueOf(); this.subscriptions.push(this.layoutService.createCSS(this.communityId, this.properties.connectPortalUrl, prefix, this.appliedCustomizationOptions).subscribe(data => { - this.previewUrl = this.getCommunityUrlSatinized(this.communityId + prefix); + + setTimeout(() => { + this.previewUrl = this.getCommunityUrlSatinized(this.communityId + prefix); + }, 1500); }, error => { diff --git a/src/app/pages/customization/customization.module.ts b/src/app/pages/customization/customization.module.ts index 33d064b..b7f06bd 100644 --- a/src/app/pages/customization/customization.module.ts +++ b/src/app/pages/customization/customization.module.ts @@ -10,7 +10,7 @@ import {ColorPickerModule} from 'ngx-color-picker'; import {FontSizeComponent} from './fontSize.component'; import {ColorComponent} from './color.component'; import {BorderComponent} from './border.component'; -import {LayoutService} from '../../openaireLibrary/services/layout.service'; +import {CustomizationService} from '../../openaireLibrary/services/customization.service'; import {AlertModalModule} from '../../openaireLibrary/utils/modal/alertModal.module'; import {PageContentModule} from '../../openaireLibrary/dashboard/sharedComponents/page-content/page-content.module'; import {QuickLookComponent} from './quickLook.component'; @@ -37,7 +37,7 @@ import {SideBarModule} from "../../openaireLibrary/dashboard/sharedComponents/si CustomizationComponent, FontSizeComponent, ColorComponent, BorderComponent, QuickLookComponent, QuickLookBackgroundsComponent, QuickLookButtonsComponent, CustomizeButtonsComponent, BackgroundComponent, BackgroundUploadComponent ], providers: [ - LayoutService + CustomizationService ], exports: [ CustomizationComponent