|
|
|
@ -43,8 +43,7 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
readonly resourceType = ResourceType; |
|
|
|
readonly resourceTypes: ResourceType[] = Object.values(this.resourceType); |
|
|
|
readonly resourceTypesTranslationMap = ResourceTypeTranslationMap; |
|
|
|
|
|
|
|
maxResourceSize = getCurrentAuthState(this.store).maxResourceSize; |
|
|
|
readonly maxResourceSize = getCurrentAuthState(this.store).maxResourceSize; |
|
|
|
|
|
|
|
private destroy$ = new Subject<void>(); |
|
|
|
|
|
|
|
@ -57,20 +56,20 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
super(store, fb, entityValue, entitiesTableConfigValue, cd); |
|
|
|
} |
|
|
|
|
|
|
|
ngOnInit() { |
|
|
|
ngOnInit(): void { |
|
|
|
super.ngOnInit(); |
|
|
|
if (this.isAdd) { |
|
|
|
this.observeResourceTypeChange(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
ngOnDestroy() { |
|
|
|
ngOnDestroy(): void { |
|
|
|
super.ngOnDestroy(); |
|
|
|
this.destroy$.next(); |
|
|
|
this.destroy$.complete(); |
|
|
|
} |
|
|
|
|
|
|
|
hideDelete() { |
|
|
|
hideDelete(): boolean { |
|
|
|
if (this.entitiesTableConfig) { |
|
|
|
return !this.entitiesTableConfig.deleteEnabled(this.entity); |
|
|
|
} else { |
|
|
|
@ -87,19 +86,18 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
updateForm(entity: Resource) { |
|
|
|
updateForm(entity: Resource): void { |
|
|
|
const { resourceType, fileName, title, data } = entity; |
|
|
|
this.updateTableReadonlyConfig(); |
|
|
|
|
|
|
|
if (this.isEdit) { |
|
|
|
this.entityForm.get('resourceType').disable({emitEvent: false}); |
|
|
|
if (entity.resourceType !== ResourceType.JS_MODULE) { |
|
|
|
this.entityForm.get('fileName').disable({emitEvent: false}); |
|
|
|
this.entityForm.get('resourceType').disable({ emitEvent: false }); |
|
|
|
if (resourceType !== ResourceType.JS_MODULE) { |
|
|
|
this.entityForm.get('fileName').disable({ emitEvent: false }); |
|
|
|
} |
|
|
|
} |
|
|
|
this.entityForm.patchValue({ |
|
|
|
resourceType: entity.resourceType, |
|
|
|
fileName: entity.fileName, |
|
|
|
title: entity.title, |
|
|
|
data: entity.data |
|
|
|
}); |
|
|
|
|
|
|
|
this.entityForm.patchValue({ resourceType, fileName, title, data }); |
|
|
|
} |
|
|
|
|
|
|
|
prepareFormValue(formValue: Resource): Resource { |
|
|
|
@ -109,7 +107,7 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
return super.prepareFormValue(formValue); |
|
|
|
} |
|
|
|
|
|
|
|
getAllowedExtensions() { |
|
|
|
getAllowedExtensions(): string { |
|
|
|
try { |
|
|
|
return ResourceTypeExtension.get(this.entityForm.get('resourceType').value); |
|
|
|
} catch (e) { |
|
|
|
@ -117,7 +115,7 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
getAcceptType() { |
|
|
|
getAcceptType(): string { |
|
|
|
try { |
|
|
|
return ResourceTypeMIMETypes.get(this.entityForm.get('resourceType').value); |
|
|
|
} catch (e) { |
|
|
|
@ -129,7 +127,7 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
return window.btoa(data); |
|
|
|
} |
|
|
|
|
|
|
|
onResourceIdCopied() { |
|
|
|
onResourceIdCopied(): void { |
|
|
|
this.store.dispatch(new ActionNotificationShow( |
|
|
|
{ |
|
|
|
message: this.translate.instant('resource.idCopiedMessage'), |
|
|
|
@ -140,6 +138,11 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme |
|
|
|
})); |
|
|
|
} |
|
|
|
|
|
|
|
private updateTableReadonlyConfig(): void { |
|
|
|
this.entitiesTableConfigValue.detailsReadonly = () => |
|
|
|
this.resourceType.LWM2M_MODEL === this.entityForm.get('resourceType').value; |
|
|
|
} |
|
|
|
|
|
|
|
private observeResourceTypeChange(): void { |
|
|
|
this.entityForm.get('resourceType').valueChanges.pipe( |
|
|
|
startWith(ResourceType.JS_MODULE), |
|
|
|
|