From e6855709ab6813854027d1c6a0b42921a915c8c7 Mon Sep 17 00:00:00 2001 From: milanmajchrak Date: Thu, 11 Apr 2024 17:59:45 +0200 Subject: [PATCH 1/7] Load max 100 license labels in the edit license page --- .../modal/define-license-form/define-license-form.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/clarin-licenses/clarin-license-table/modal/define-license-form/define-license-form.component.ts b/src/app/clarin-licenses/clarin-license-table/modal/define-license-form/define-license-form.component.ts index 75793460e1c..2551f700017 100644 --- a/src/app/clarin-licenses/clarin-license-table/modal/define-license-form/define-license-form.component.ts +++ b/src/app/clarin-licenses/clarin-license-table/modal/define-license-form/define-license-form.component.ts @@ -182,7 +182,7 @@ export class DefineLicenseFormComponent implements OnInit { * @private */ private loadAndAssignClarinLicenseLabels() { - this.clarinLicenseLabelService.findAll({}, false) + this.clarinLicenseLabelService.findAll({ elementsPerPage: 100 }, false) .pipe(getFirstSucceededRemoteListPayload()) .subscribe(res => { res.forEach(clarinLicenseLabel => { From 98c750eceefd83ab0e11ed546ad4afb15fd4e7c0 Mon Sep 17 00:00:00 2001 From: milanmajchrak Date: Thu, 11 Apr 2024 18:01:06 +0200 Subject: [PATCH 2/7] The icon is not required during creation of the clarin license label --- .../define-license-label-form.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.ts b/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.ts index 1c12ff45090..0233b13b910 100644 --- a/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.ts +++ b/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.ts @@ -64,7 +64,7 @@ export class DefineLicenseLabelFormComponent implements OnInit { label: [this.label, [Validators.required, Validators.maxLength(5)]], title: [this.title, Validators.required], extended: isNotEmpty(this.extended) ? this.extended : this.extendedOptions[0], - icon: [this.icon, validateLicenseLabel()], + icon: [this.icon], }); } From 2f953d5e1a2a94be5f9e975672931eff212c4ef9 Mon Sep 17 00:00:00 2001 From: milanmajchrak Date: Thu, 11 Apr 2024 18:01:50 +0200 Subject: [PATCH 3/7] Updated creating of the clarin license label - refactored code, the icon is not required --- .../clarin-license-table.component.ts | 44 +++++++++++++------ .../define-license-label-form.component.html | 2 +- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/app/clarin-licenses/clarin-license-table/clarin-license-table.component.ts b/src/app/clarin-licenses/clarin-license-table/clarin-license-table.component.ts index 2888ba95333..1bf3ea66c22 100644 --- a/src/app/clarin-licenses/clarin-license-table/clarin-license-table.component.ts +++ b/src/app/clarin-licenses/clarin-license-table/clarin-license-table.component.ts @@ -222,12 +222,21 @@ export class ClarinLicenseTableComponent implements OnInit { const reader = new FileReader(); const fileByteArray = []; + let hasIcon = true; try { reader.readAsArrayBuffer(clarinLicenseLabel.icon?.[0]); } catch (error) { - this.notifyOperationStatus(null, successfulMessageContentDef, errorMessageContentDef); + // Cannot read any icon that means there is no icon + hasIcon = false; + } + + // Create license label without icon + if (!hasIcon) { + this.createClarinLicenseLabel(clarinLicenseLabel, [], successfulMessageContentDef, errorMessageContentDef); + return; } + // Create license label with icon reader.onerror = (evt) => { this.notifyOperationStatus(null, successfulMessageContentDef, errorMessageContentDef); }; @@ -240,22 +249,31 @@ export class ClarinLicenseTableComponent implements OnInit { fileByteArray.push(item); } } - clarinLicenseLabel.icon = fileByteArray; - // convert string value from the form to the boolean - clarinLicenseLabel.extended = ClarinLicenseLabelExtendedSerializer.Serialize(clarinLicenseLabel.extended); - - // create - this.clarinLicenseLabelService.create(clarinLicenseLabel) - .pipe(getFirstCompletedRemoteData()) - .subscribe((defineLicenseLabelResponse: RemoteData) => { - // check payload and show error or successful - this.notifyOperationStatus(defineLicenseLabelResponse, successfulMessageContentDef, errorMessageContentDef); - this.loadAllLicenses(); - }); + this.createClarinLicenseLabel(clarinLicenseLabel, fileByteArray, successfulMessageContentDef, errorMessageContentDef); } }; } + /** + * Call BE request to create a clarin license label with or without icon. + * Show response in the notification popup. + */ + createClarinLicenseLabel(clarinLicenseLabel: ClarinLicenseLabel, fileByteArray: any[] = [], + successfulMessageContentDef: any, errorMessageContentDef: any) { + clarinLicenseLabel.icon = fileByteArray; + // convert string value from the form to the boolean + clarinLicenseLabel.extended = ClarinLicenseLabelExtendedSerializer.Serialize(clarinLicenseLabel.extended); + + // create + this.clarinLicenseLabelService.create(clarinLicenseLabel) + .pipe(getFirstCompletedRemoteData()) + .subscribe((defineLicenseLabelResponse: RemoteData) => { + // check payload and show error or successful + this.notifyOperationStatus(defineLicenseLabelResponse, successfulMessageContentDef, errorMessageContentDef); + this.loadAllLicenses(); + }); + } + // delete license /** * Delete selected license. If none license is selected do nothing. diff --git a/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.html b/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.html index 69bbe0f4248..a78a285f638 100644 --- a/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.html +++ b/src/app/clarin-licenses/clarin-license-table/modal/define-license-label-form/define-license-label-form.component.html @@ -25,7 +25,7 @@