diff --git a/src/applications/content-entries-app/entry/entry-related/entry-related-handler.ts b/src/applications/content-entries-app/entry/entry-related/entry-related-handler.ts index e101ed19a3..e984a2cbf5 100644 --- a/src/applications/content-entries-app/entry/entry-related/entry-related-handler.ts +++ b/src/applications/content-entries-app/entry/entry-related/entry-related-handler.ts @@ -111,6 +111,11 @@ export class EntryRelatedHandler extends EntryFormWidget this._relatedFiles.next({ items : [] }); } + protected _onValidate(): Observable<{ isValid: boolean }> { + const fileTypeValid = this._relatedFiles.getValue().items.every(file => !!file.format); + return Observable.of({ isValid: fileTypeValid }); + } + protected _onActivate(firstTimeActivating: boolean) { this._entryId = this.data.id; super._showLoader(); @@ -279,37 +284,38 @@ export class EntryRelatedHandler extends EntryFormWidget this._uploadManagement.cancelUpload(file.uploadFileId, true); } - private _getFormatByExtension(ext: string): KalturaAttachmentType{ - let format : KalturaAttachmentType = null; - switch (ext) { - case "doc": - case "docx": - case "dot": - case "pdf": - case "ppt": - case "pps": - case "xls": - case "xlsx": - case "xml": - format = KalturaAttachmentType.document; - break; - case "gif": - case "png": - case "jpg": - case "jpeg": - case "mp3": - case "mp4": - format = KalturaAttachmentType.media; - break; - case "txt": - format = KalturaAttachmentType.text; - break; - default: - format = KalturaAttachmentType.document; - break; - } - return format; - } + private _getFormatByExtension(ext: string): KalturaAttachmentType { + let format: KalturaAttachmentType = null; + ext = typeof ext === 'string' ? ext.toLowerCase() : ext; + switch (ext) { + case 'doc': + case 'docx': + case 'dot': + case 'pdf': + case 'ppt': + case 'pps': + case 'xls': + case 'xlsx': + case 'xml': + format = KalturaAttachmentType.document; + break; + case 'gif': + case 'png': + case 'jpg': + case 'jpeg': + case 'mp3': + case 'mp4': + format = KalturaAttachmentType.media; + break; + case 'txt': + format = KalturaAttachmentType.text; + break; + default: + break; + } + + return format; + } public _setDirty(){ super._updateWidgetState({isDirty: true}); diff --git a/src/applications/content-entries-app/entry/entry-related/entry-related.component.html b/src/applications/content-entries-app/entry/entry-related/entry-related.component.html index 03888e5c33..4c9e4d02a1 100644 --- a/src/applications/content-entries-app/entry/entry-related/entry-related.component.html +++ b/src/applications/content-entries-app/entry/entry-related/entry-related.component.html @@ -9,7 +9,15 @@ - +