diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/SupportiveMaterialFieldType.java b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/SupportiveMaterialFieldType.java index ce3854316..de939dd88 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/SupportiveMaterialFieldType.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/SupportiveMaterialFieldType.java @@ -1,10 +1,31 @@ package eu.eudat.commons.enums; -public enum SupportiveMaterialFieldType { +import eu.eudat.data.converters.enums.DatabaseEnum; - faq, - about, - glossary, - termsofservice, - userguide +import java.util.Map; + +public enum SupportiveMaterialFieldType implements DatabaseEnum { + + Faq((short) 0), + About((short) 1), + Glossary((short) 2), + TermsOfService((short) 3), + UserGuide((short) 4); + + private final Short value; + + SupportiveMaterialFieldType(Short value) { + this.value = value; + } + + @Override + public Short getValue() { + return value; + } + + private static final Map map = EnumUtils.getEnumValueMap(SupportiveMaterialFieldType.class); + + public static SupportiveMaterialFieldType of(Short i) { + return map.get(i); + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/persist/UserGuidePersist.java b/dmp-backend/core/src/main/java/eu/eudat/model/persist/SupportiveMaterialPersist.java similarity index 59% rename from dmp-backend/core/src/main/java/eu/eudat/model/persist/UserGuidePersist.java rename to dmp-backend/core/src/main/java/eu/eudat/model/persist/SupportiveMaterialPersist.java index 6707ba919..cd4d6b948 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/persist/UserGuidePersist.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/persist/SupportiveMaterialPersist.java @@ -1,13 +1,19 @@ package eu.eudat.model.persist; +import eu.eudat.commons.enums.SupportiveMaterialFieldType; +import eu.eudat.commons.validation.ValidEnum; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; -public class UserGuidePersist { +public class SupportiveMaterialPersist { @NotNull(message = "{validation.empty}") @NotEmpty(message = "{validation.empty}") private String name; + + @ValidEnum(message = "{validation.empty}") + private SupportiveMaterialFieldType type; + @NotNull(message = "{validation.empty}") @NotEmpty(message = "{validation.empty}") private String html; @@ -20,6 +26,14 @@ public class UserGuidePersist { this.name = name; } + public SupportiveMaterialFieldType getType() { + return type; + } + + public void setType(SupportiveMaterialFieldType type) { + this.type = type; + } + public String getHtml() { return html; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/supportivematerial/SupportiveMaterialService.java b/dmp-backend/core/src/main/java/eu/eudat/service/supportivematerial/SupportiveMaterialService.java index b5cf20223..3a1bafc79 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/supportivematerial/SupportiveMaterialService.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/supportivematerial/SupportiveMaterialService.java @@ -1,6 +1,6 @@ package eu.eudat.service.supportivematerial; -import eu.eudat.model.persist.UserGuidePersist; +import eu.eudat.model.persist.SupportiveMaterialPersist; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -10,7 +10,6 @@ import org.springframework.stereotype.Service; import java.io.*; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -62,10 +61,10 @@ public class SupportiveMaterialService { return new ResponseEntity<>(supportiveMaterialCacheItem.getContent(), responseHeaders, HttpStatus.OK); } - public void persist(UserGuidePersist userGuidePersist, String fileName) throws IOException { - this.supportiveMaterialCacheService.evict(fileName); - OutputStream os = new FileOutputStream(fileName); - os.write(userGuidePersist.getHtml().getBytes()); + public void persist(SupportiveMaterialPersist model) throws IOException { + this.supportiveMaterialCacheService.evict(model.getName()); + OutputStream os = new FileOutputStream(model.getName()); + os.write(model.getHtml().getBytes()); os.close(); } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java index ba6251d2c..c8c992066 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java @@ -3,7 +3,7 @@ package eu.eudat.controllers.v2; import eu.eudat.authorization.Permission; import eu.eudat.commons.enums.SupportiveMaterialFieldType; import eu.eudat.logic.managers.MetricsManager; -import eu.eudat.model.persist.UserGuidePersist; +import eu.eudat.model.persist.SupportiveMaterialPersist; import eu.eudat.models.data.helpers.responses.ResponseItem; import eu.eudat.service.supportivematerial.SupportiveMaterialService; import eu.eudat.types.ApiMessageCode; @@ -19,6 +19,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Locale; import java.util.Objects; import java.util.stream.Stream; @@ -38,24 +39,23 @@ public class SupportiveMaterialController { } @GetMapping("{lang}") - public ResponseEntity getMaterial(@PathVariable(name = "lang") String lang, String field) throws IOException { - if( !EnumUtils.isValidEnum(SupportiveMaterialFieldType.class, field)){ + public ResponseEntity getMaterial(@PathVariable(name = "lang") String lang, int field) throws IOException { + if( !EnumUtils.isValidEnum(SupportiveMaterialFieldType.class, SupportiveMaterialFieldType.of((short) field).name())){ return new ResponseEntity<>(HttpStatus.NOT_FOUND); } - try (Stream paths = Files.walk(Paths.get(Objects.requireNonNull(this.environment.getProperty(field +".path"))))) { + + try (Stream paths = Files.walk(Paths.get(Objects.requireNonNull(this.environment.getProperty(SupportiveMaterialFieldType.of((short) field).name().toLowerCase() +".path"))))) { return this.supportiveMaterialService.getResponseEntity(lang, paths); } } - @PostMapping("current") + @PostMapping("persist") public @ResponseBody - ResponseEntity> persist(@RequestBody UserGuidePersist guide, String field) throws IOException { + ResponseEntity> persist(@RequestBody SupportiveMaterialPersist model) throws IOException { this.authorizationService.authorizeForce(Permission.AdminRole); - if( !EnumUtils.isValidEnum(SupportiveMaterialFieldType.class, field)){ - return new ResponseEntity<>(HttpStatus.NOT_FOUND); - } - String fileName = this.environment.getProperty(field+ ".path") + guide.getName(); - this.supportiveMaterialService.persist(guide, fileName); + + //String fileName = this.environment.getProperty(model.getName()+ ".path"); + this.supportiveMaterialService.persist(model); return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem().status(ApiMessageCode.SUCCESS_MESSAGE).message("Updated").payload("Updated")); } diff --git a/dmp-backend/web/src/main/resources/material/about/About_gr.html b/dmp-backend/web/src/main/resources/material/about/About_gr.html new file mode 100644 index 000000000..c2bfd135c --- /dev/null +++ b/dmp-backend/web/src/main/resources/material/about/About_gr.html @@ -0,0 +1,17 @@ +

 

+

+ + +

+
+
+
+

Σχετικά με το Argos

+
+
+
+
+

Το ARGOS είναι ένα διαδικτυακό εργαλείο για την υποστήριξη αυτοματοποιημένων διαδικασιών για τη δημιουργία, τη διαχείριση, την κοινή χρήση και τη σύνδεση των DMP με ερευνητικά αντικείμενα στα οποία αντιστοιχούν. Αποτελεί κοινή προσπάθεια του OpenAIRE και της EUDAT να παραδώσουν μια ανοιχτή πλατφόρμα για τον Σχεδιασμό Διαχείρισης Δεδομένων που να αντιμετωπίζει τις βέλτιστες πρακτικές FAIR και Open και να μην προϋποθέτει εμπόδια για τη χρήση και την υιοθέτησή της. Το κάνει εφαρμόζοντας κοινά πρότυπα για μηχανικά ενεργά DMPs, όπως ορίζονται από την παγκόσμια κοινότητα ερευνητικών δεδομένων της RDA και επικοινωνώντας και διαβουλεύοντας τους ερευνητές, τις ερευνητικές κοινότητες και τους χρηματοδότες για να προβληματιστούν καλύτερα για τις ανάγκες τους.

Το ARGOS παρέχει ένα ευέλικτο περιβάλλον και μια εύκολη διεπαφή για την πλοήγηση και χρήση των χρηστών.

+
+
+
\ No newline at end of file diff --git a/dmp-frontend/src/app/app-routing.module.ts b/dmp-frontend/src/app/app-routing.module.ts index 52c026ed0..4cab1b795 100644 --- a/dmp-frontend/src/app/app-routing.module.ts +++ b/dmp-frontend/src/app/app-routing.module.ts @@ -240,11 +240,11 @@ const appRoutes: Routes = [ }, }, { - path: 'user-guide-editor', - loadChildren: () => import('./ui/user-guide-editor/user-guide-editor.module').then(m => m.UserGuideEditorModule), + path: 'supportive-material', + loadChildren: () => import('./ui/supportive-material-editor/supportive-material-editor.module').then(m => m.SupportiveMaterialEditorModule), data: { breadcrumb: true, - title: 'GENERAL.TITLES.GUIDE-EDITOR' + title: 'GENERAL.TITLES.SUPPORTIVE-MATERIAL' }, }, { diff --git a/dmp-frontend/src/app/core/common/enum/supportive-material-field-type.ts b/dmp-frontend/src/app/core/common/enum/supportive-material-field-type.ts index 8385c9380..e7c8b35f3 100644 --- a/dmp-frontend/src/app/core/common/enum/supportive-material-field-type.ts +++ b/dmp-frontend/src/app/core/common/enum/supportive-material-field-type.ts @@ -1,7 +1,7 @@ export enum SupportiveMaterialFieldType { - faq = 'faq', - about = 'about', - glossary = 'glossary', - termsofservice = 'termsofservice', - userguide = 'userguide' + Faq = 0, + About = 1, + Glossary = 2, + TermsOfService = 3, + UserGuide = 4 } \ No newline at end of file diff --git a/dmp-frontend/src/app/core/model/supportive-material/supportive-material.ts b/dmp-frontend/src/app/core/model/supportive-material/supportive-material.ts new file mode 100644 index 000000000..e3501146f --- /dev/null +++ b/dmp-frontend/src/app/core/model/supportive-material/supportive-material.ts @@ -0,0 +1,7 @@ +import { SupportiveMaterialFieldType } from "@app/core/common/enum/supportive-material-field-type"; + +export interface SupportiveMaterialPersist{ + name: string; + type: SupportiveMaterialFieldType; + html: string; +} \ No newline at end of file diff --git a/dmp-frontend/src/app/core/services/supportive-material/supportive-material.service.ts b/dmp-frontend/src/app/core/services/supportive-material/supportive-material.service.ts index 803e0e1a9..9defff094 100644 --- a/dmp-frontend/src/app/core/services/supportive-material/supportive-material.service.ts +++ b/dmp-frontend/src/app/core/services/supportive-material/supportive-material.service.ts @@ -2,26 +2,26 @@ import { Injectable } from "@angular/core"; import { ConfigurationService } from "../configuration/configuration.service"; import { HttpClient, HttpResponse } from "@angular/common/http"; import { Observable } from "rxjs"; +import { SupportiveMaterialFieldType } from "@app/core/common/enum/supportive-material-field-type"; +import { SupportiveMaterialPersist } from "@app/core/model/supportive-material/supportive-material"; +import { BaseHttpV2Service } from "../http/base-http-v2.service"; @Injectable() export class SupportiveMaterialService{ - private baseUrl : string; constructor( - private http: HttpClient, + private http: BaseHttpV2Service, private configurationService: ConfigurationService ) { - this.baseUrl = `${configurationService.server}material`; } - public getMaterial(lang: string, field: string): Observable> { - return this.http.get(`${this.baseUrl}/${lang}`, {params: {field}, responseType: 'blob', observe: 'response', headers: {'Content-type': 'text/html', - 'Accept': 'text/html', - 'Access-Control-Allow-Origin': this.configurationService.app, - 'Access-Control-Allow-Credentials': 'true'} }); + private get apiBase(): string { return `${this.configurationService.server}material`; } + + public getMaterial(lang: string, field: number): Observable> { + return this.http.get(`${this.apiBase}/${lang}`, {params: {field}, responseType: 'blob', observe: 'response' }); } - public persist(data: any, field: string): Observable { - return this.http.post(`${this.baseUrl}/current`, data, {params: {field}}); + public persist(item :SupportiveMaterialPersist): Observable { + return this.http.post(`${this.apiBase}/persist`, item); } } \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/about/about.component.ts b/dmp-frontend/src/app/ui/about/about.component.ts index b89c0ae40..0325ab24d 100644 --- a/dmp-frontend/src/app/ui/about/about.component.ts +++ b/dmp-frontend/src/app/ui/about/about.component.ts @@ -33,7 +33,7 @@ export class AboutComponent extends BaseComponent implements OnInit { this.translate.onLangChange.subscribe((event: LangChangeEvent) => { this.router.navigate(['/reload'], { skipLocationChange: true }).then(() => this.router.navigate(['/about'])); }); - this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.about) + this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.About) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'text/html' }); diff --git a/dmp-frontend/src/app/ui/faq/faq-content/faq-content.component.ts b/dmp-frontend/src/app/ui/faq/faq-content/faq-content.component.ts index 2aef80fb7..d64808040 100644 --- a/dmp-frontend/src/app/ui/faq/faq-content/faq-content.component.ts +++ b/dmp-frontend/src/app/ui/faq/faq-content/faq-content.component.ts @@ -28,7 +28,7 @@ export class FaqContentComponent extends BaseComponent implements OnInit { ngOnInit() { this.matomoService.trackPageView('FAQ'); - this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.faq) + this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.Faq) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'text/html' }); diff --git a/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts b/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts index ba753ecb7..d1686704d 100644 --- a/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts +++ b/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts @@ -36,7 +36,7 @@ export class GlossaryContentComponent extends BaseComponent implements OnInit { this.router.navigate(['/reload'], { skipLocationChange: true }).then(() => this.router.navigate(['/glossary'])); }); - this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.glossary) + this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.Glossary) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'text/html' }); diff --git a/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts b/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts index b022de297..23586c4d1 100644 --- a/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts +++ b/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts @@ -33,7 +33,7 @@ export class TermsComponent extends BaseComponent implements OnInit { this.translate.onLangChange.subscribe((event: LangChangeEvent) => { this.router.navigate(['/reload'], { skipLocationChange: true }).then(() => this.router.navigate(['/terms-and-conditions'])); }); - this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.termsofservice) + this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.TermsOfService) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'text/html' }); diff --git a/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts b/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts index 2c67d929a..a75c8a90d 100644 --- a/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts +++ b/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts @@ -55,7 +55,7 @@ export const ADMIN_ROUTES: RouteInfo[] = [ { path: '/description-template-type', title: 'SIDE-BAR.DESCRIPTION-TEMPLATE-TYPES', icon: 'library_books' }, { path: '/users', title: 'SIDE-BAR.USERS', icon: 'people' }, { path: '/language-editor', title: 'SIDE-BAR.LANGUAGE-EDITOR', icon: 'language' }, - { path: '/user-guide-editor', title: 'SIDE-BAR.GUIDE-EDITOR', icon: 'import_contacts' } + { path: '/supportive-material', title: 'SIDE-BAR.SUPPORTIVE-MATERIAL', icon: 'import_contacts' } ]; export const DATASET_TEMPLATE_ROUTES: RouteInfo[] = [ diff --git a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.html b/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.component.html similarity index 56% rename from dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.html rename to dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.component.html index 9e1d78d76..9f0804829 100644 --- a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.html +++ b/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.component.html @@ -1,8 +1,30 @@ -
+
-
{{'GUIDE.TITLE' | translate}}
+
+
+ + Material type + + + {{vis.name | translate}} + + + +
+
+ + Language + + + {{vis.name | translate}} + + + +
+
+ x.type == SupportiveMaterialFieldType.Faq); + this.selectedLang = this.visiblesLangTypes.find(x => x.type == this.languageService.getCurrentLanguage()); + this.getSupportiveMaterialData(); + + } + + public selectedMaterialChanged(item: VisibleMaterialType){ + this.selectedMaterial = item; + this.getSupportiveMaterialData(); + } + + public selectedLangChanged(item: VisibleLangType){ + this.selectedLang = item; + this.getSupportiveMaterialData(); + } + + private getSupportiveMaterialData(){ + this.matomoService.trackPageView(`Admin: ${this.selectedMaterial.name} Editor`); this.formBuilder = new UntypedFormBuilder(); this.formGroup = this.formBuilder.group({ name: [''], html: [''] }); - this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.userguide).pipe(takeUntil(this._destroyed)).subscribe(data => { + this.supportiveMaterialService.getMaterial(this.selectedLang.type, this.selectedMaterial.type).pipe(takeUntil(this._destroyed)).subscribe(data => { const contentDispositionHeader = data.headers.get('Content-Disposition'); const filename = contentDispositionHeader.split(';')[1].trim().split('=')[1].replace(/"/g, ''); @@ -77,7 +132,12 @@ export class UserGuideEditorComponent extends BaseComponent implements OnInit { let result = this.parseText(this.formGroup.get('html').value); //result = result.replace(/href="#/g, 'class="href" path="'); this.formGroup.get('html').patchValue(result); - this.supportiveMaterialService.persist(this.formGroup.value, SupportiveMaterialFieldType.userguide).pipe(takeUntil(this._destroyed)) + const item = {name: this.formGroup.value['name'], type: this.selectedMaterial.type ,html: this.formGroup.value['html']} as SupportiveMaterialPersist + if(item.name.endsWith("_en.html") && this.selectedLang.type != "en" ){ + item.name = item.name.replace("_en.html", `_${this.selectedLang.type}.html`); + } + + this.supportiveMaterialService.persist(item).pipe(takeUntil(this._destroyed)) .subscribe( complete => { this.onCallbackSuccess(complete); diff --git a/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.module.ts b/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.module.ts new file mode 100644 index 000000000..f93571978 --- /dev/null +++ b/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { EditorModule } from '@tinymce/tinymce-angular'; +import { SupportiveMaterialEditorRoutingModule } from './supportive-material-editor.routing'; +import { SupportiveMaterialEditorComponent } from './supportive-material-editor.component'; +import { CommonUiModule } from '@common/ui/common-ui.module'; +import { CommonFormsModule } from '@common/forms/common-forms.module'; + + +@NgModule({ + declarations: [SupportiveMaterialEditorComponent], + imports: [ + CommonUiModule, + CommonFormsModule, + SupportiveMaterialEditorRoutingModule, + EditorModule + ] +}) +export class SupportiveMaterialEditorModule { } diff --git a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.routing.ts b/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.routing.ts similarity index 54% rename from dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.routing.ts rename to dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.routing.ts index 52817c887..cd8c22d0c 100644 --- a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.routing.ts +++ b/dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.routing.ts @@ -1,15 +1,15 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; -import { UserGuideEditorComponent } from './user-guide-editor.component'; +import { SupportiveMaterialEditorComponent } from './supportive-material-editor.component'; import { AdminAuthGuard } from '@app/core/admin-auth-guard.service'; const routes: Routes = [ - { path: '', component: UserGuideEditorComponent, canActivate: [AdminAuthGuard] }, + { path: '', component: SupportiveMaterialEditorComponent, canActivate: [AdminAuthGuard] }, ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) -export class UserGuideEditorRoutingModule { } +export class SupportiveMaterialEditorRoutingModule { } diff --git a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.scss b/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.scss deleted file mode 100644 index b53bc7ae5..000000000 --- a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.scss +++ /dev/null @@ -1,14 +0,0 @@ -.user-guide-editor { - //padding-top: 5em; - padding-bottom: 2em; - margin-top: 1em; - - .save-btn { - padding-top: inherit !important; - top: auto !important; - width: 56px !important; - bottom: 10px; - position: fixed; - right: 40px; - } -} diff --git a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.module.ts b/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.module.ts deleted file mode 100644 index 556b481de..000000000 --- a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { EditorModule } from '@tinymce/tinymce-angular'; -import { UserGuideEditorRoutingModule } from './user-guide-editor.routing'; -import { UserGuideEditorComponent } from './user-guide-editor.component'; -import { CommonUiModule } from '@common/ui/common-ui.module'; -import { CommonFormsModule } from '@common/forms/common-forms.module'; - - -@NgModule({ - declarations: [UserGuideEditorComponent], - imports: [ - CommonUiModule, - CommonFormsModule, - UserGuideEditorRoutingModule, - EditorModule - ] -}) -export class UserGuideEditorModule { } diff --git a/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts b/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts index 1b21b1092..fd2f5a08d 100644 --- a/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts +++ b/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts @@ -51,7 +51,7 @@ export class UserGuideContentComponent extends BaseComponent implements OnInit { this.translate.onLangChange.subscribe((event: LangChangeEvent) => { this.router.navigate(['/reload'], { skipLocationChange: true }).then(() => this.router.navigate(['/user-guide'])); }); - this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.userguide) + this.supportiveMaterialService.getMaterial(this.languageService.getCurrentLanguage(), SupportiveMaterialFieldType.UserGuide) .pipe(takeUntil(this._destroyed)) .subscribe(response => { const blob = new Blob([response.body], { type: 'text/html' }); diff --git a/dmp-frontend/src/assets/i18n/de.json b/dmp-frontend/src/assets/i18n/de.json index 78e3086ca..f79b37740 100644 --- a/dmp-frontend/src/assets/i18n/de.json +++ b/dmp-frontend/src/assets/i18n/de.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Benutzerhandbuch bearbeiten", "CO-BRANDING": "Co-Branding", "SUPPORT": "Support", - "FEEDBACK": "Send feedback" + "FEEDBACK": "Send feedback", + "SUPPORTIVE-MATERIAL": "Unterstützendes Material" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json index 79f4db20f..c3d15a006 100644 --- a/dmp-frontend/src/assets/i18n/en.json +++ b/dmp-frontend/src/assets/i18n/en.json @@ -331,7 +331,8 @@ "GUIDE-EDITOR": "User Guide Editor", "CO-BRANDING": "Co-Branding", "SUPPORT": "Support", - "FEEDBACK": "Send feedback" + "FEEDBACK": "Send feedback", + "SUPPORTIVE-MATERIAL": "Supportive Material" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json index 4ea5c96e9..c02630386 100644 --- a/dmp-frontend/src/assets/i18n/es.json +++ b/dmp-frontend/src/assets/i18n/es.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Editor de la guía de usuario", "CO-BRANDING": "Marca compartida", "SUPPORT": "Soporte", - "FEEDBACK": "Enviar feedback" + "FEEDBACK": "Enviar feedback", + "SUPPORTIVE-MATERIAL": "Μaterial de Αpoyo" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json index 8168b7310..db0c88bdb 100644 --- a/dmp-frontend/src/assets/i18n/gr.json +++ b/dmp-frontend/src/assets/i18n/gr.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Οδηγός Χρήστη", "CO-BRANDING": "Co-Branding", "SUPPORT": "Υποστήριξη", - "FEEDBACK": "Στείλετε τα σχόλιά σας" + "FEEDBACK": "Στείλετε τα σχόλιά σας", + "SUPPORTIVE-MATERIAL": "Υποστηρικτικό Yλικό" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/hr.json b/dmp-frontend/src/assets/i18n/hr.json index ec0313d2c..a43b550d7 100644 --- a/dmp-frontend/src/assets/i18n/hr.json +++ b/dmp-frontend/src/assets/i18n/hr.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Uređivanje uputa za korisnike", "CO-BRANDING": "Razvoj i suradnja", "SUPPORT": "Podrška", - "FEEDBACK": "Molimo pošaljite nam svoje sugestije i komentare" + "FEEDBACK": "Molimo pošaljite nam svoje sugestije i komentare", + "SUPPORTIVE-MATERIAL": "Potporni Materijal" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/pl.json b/dmp-frontend/src/assets/i18n/pl.json index 0f301defa..505b92f5c 100644 --- a/dmp-frontend/src/assets/i18n/pl.json +++ b/dmp-frontend/src/assets/i18n/pl.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Edytor podręcznika użytkownika", "CO-BRANDING": "Wspólne oznaczenie", "SUPPORT": "Wsparcie", - "FEEDBACK": "Wyślij opinię" + "FEEDBACK": "Wyślij opinię", + "SUPPORTIVE-MATERIAL": "Materiał Pomocniczy" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/pt.json b/dmp-frontend/src/assets/i18n/pt.json index c5b7b0180..258e3a372 100644 --- a/dmp-frontend/src/assets/i18n/pt.json +++ b/dmp-frontend/src/assets/i18n/pt.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Editor do Guia de Utilizador", "CO-BRANDING": "Co-Branding", "SUPPORT": "Suporte", - "FEEDBACK": "Enviar comentários" + "FEEDBACK": "Enviar comentários", + "SUPPORTIVE-MATERIAL": "Material de Suporte" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/sk.json b/dmp-frontend/src/assets/i18n/sk.json index bed2fb128..008c50a08 100644 --- a/dmp-frontend/src/assets/i18n/sk.json +++ b/dmp-frontend/src/assets/i18n/sk.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Úprava používateľskej príručky", "CO-BRANDING": "Co-Branding", "SUPPORT": "Podpora", - "FEEDBACK": "Poslať spätnú väzbu" + "FEEDBACK": "Poslať spätnú väzbu", + "SUPPORTIVE-MATERIAL": "Podporný materiál" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/sr.json b/dmp-frontend/src/assets/i18n/sr.json index ad83eb791..538617693 100644 --- a/dmp-frontend/src/assets/i18n/sr.json +++ b/dmp-frontend/src/assets/i18n/sr.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Uređivanje vodiča za korisnike", "CO-BRANDING": "Partnerstvo", "SUPPORT": "Podrška", - "FEEDBACK": "Pošaljite nam sugestije i komentare" + "FEEDBACK": "Pošaljite nam sugestije i komentare", + "SUPPORTIVE-MATERIAL": "Потпорни материјал" }, "DATASET-PROFILE-EDITOR": { "TITLE": { diff --git a/dmp-frontend/src/assets/i18n/tr.json b/dmp-frontend/src/assets/i18n/tr.json index bba6832ba..2e71d78a1 100644 --- a/dmp-frontend/src/assets/i18n/tr.json +++ b/dmp-frontend/src/assets/i18n/tr.json @@ -285,7 +285,8 @@ "GUIDE-EDITOR": "Kullanıcı Rehberi Editörü", "CO-BRANDING": "Birlikte Markalama", "SUPPORT": "Destek", - "FEEDBACK": "Geribildirim Yolla" + "FEEDBACK": "Geribildirim Yolla", + "SUPPORTIVE-MATERIAL": "Destekleyici Malzeme" }, "DATASET-PROFILE-EDITOR": { "TITLE": {