|
|
|
@ -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'] |
|
|
|
} |
|
|
|
}; |
|
|
|
|