From dfbb753d5e0f2ae79743598ec54254893e6ebbfa Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Fri, 11 Apr 2025 16:13:52 +0300 Subject: [PATCH] UI: Fixed empty delete dialog in javascript library panel --- .../entity-details-page-component.models.ts | 1 + .../js-library-table-config.resolver.ts | 23 ++++++++++++------- .../admin/resource/js-resource.component.html | 2 +- .../admin/resource/js-resource.component.ts | 3 --- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ui-ngx/src/app/modules/home/models/entity/entity-details-page-component.models.ts b/ui-ngx/src/app/modules/home/models/entity/entity-details-page-component.models.ts index 704e18abe5..88ca8e69e5 100644 --- a/ui-ngx/src/app/modules/home/models/entity/entity-details-page-component.models.ts +++ b/ui-ngx/src/app/modules/home/models/entity/entity-details-page-component.models.ts @@ -16,4 +16,5 @@ export interface IEntityDetailsPageComponent { reload(): void; + goBack(): void; } diff --git a/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts b/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts index 8525983a36..cd992f8886 100644 --- a/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts +++ b/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts @@ -26,10 +26,10 @@ import { Router } from '@angular/router'; import { Resource, ResourceInfo, + ResourceInfoWithReferences, ResourceSubType, ResourceSubTypeTranslationMap, ResourceType, - ResourceInfoWithReferences, toResourceDeleteResult } from '@shared/models/resource.models'; import { EntityType, entityTypeResources } from '@shared/models/entity-type.models'; @@ -57,7 +57,6 @@ import { ResourcesInUseDialogData } from "@shared/components/resource/resources-in-use-dialog.component"; import { ResourcesDatasource } from "@home/pages/admin/resource/resources-datasource"; -import { AuthUser } from '@shared/models/user.model'; @Injectable() export class JsLibraryTableConfigResolver { @@ -166,6 +165,8 @@ export class JsLibraryTableConfigResolver { case 'downloadResource': this.downloadResource(action.event, action.entity); return true; + case 'deleteLibrary': + this.deleteResource(action.event, action.entity); } return false; } @@ -200,7 +201,11 @@ export class JsLibraryTableConfigResolver { ).subscribe( (deleteResult) => { if (deleteResult.success) { - this.config.updateData(); + if (this.config.getEntityDetailsPage()) { + this.config.getEntityDetailsPage().goBack(); + } else { + this.config.updateData(true); + } } else if (deleteResult.resourceIsReferencedError) { const resources: ResourceInfoWithReferences[] = [{...resource, ...{references: deleteResult.references}}]; const data = { @@ -221,11 +226,13 @@ export class JsLibraryTableConfigResolver { data }).afterClosed().subscribe((resources) => { if (resources) { - this.resourceService.deleteResource(resource.id.id, true).subscribe( - () => { - this.config.updateData(); + this.resourceService.deleteResource(resource.id.id, true).subscribe(() => { + if (this.config.getEntityDetailsPage()) { + this.config.getEntityDetailsPage().goBack(); + } else { + this.config.updateData(true); } - ); + }); } }); } else { @@ -276,7 +283,7 @@ export class JsLibraryTableConfigResolver { message: this.translate.instant('javascript.javascript-resources-are-in-use-text'), deleteText: 'javascript.delete-javascript-resource-in-use-text', selectedText: 'javascript.selected-javascript-resources', - datasource: new ResourcesDatasource(this.resourceService, resourcesWithReferences, entity => true), + datasource: new ResourcesDatasource(this.resourceService, resourcesWithReferences, () => true), columns: ['select', 'title', 'references'] } }; diff --git a/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.html b/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.html index 62036a8ea1..c9f7483bdc 100644 --- a/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.html +++ b/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.html @@ -30,7 +30,7 @@ diff --git a/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.ts b/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.ts index 5b931c438f..4a67bd10c8 100644 --- a/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.ts +++ b/ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.ts @@ -34,7 +34,6 @@ import { startWith, takeUntil } from 'rxjs/operators'; import { ActionNotificationShow } from '@core/notification/notification.actions'; import { isDefinedAndNotNull } from '@core/utils'; import { getCurrentAuthState } from '@core/auth/auth.selectors'; -import { scadaSymbolGeneralStateHighlightRules } from '@home/pages/scada-symbol/scada-symbol-editor.models'; @Component({ selector: 'tb-js-resource', @@ -171,6 +170,4 @@ export class JsResourceComponent extends EntityComponent implements On this.entityForm.get('content').enable({ emitEvent: false }); } } - - protected readonly highlightRules = scadaSymbolGeneralStateHighlightRules; }