From 7c8e1ea363a7be332b88299fdf76f4105e360098 Mon Sep 17 00:00:00 2001 From: amirch1 Date: Sun, 20 Aug 2017 08:51:00 +0300 Subject: [PATCH] feat: support external media entries --- .../entries/entries-store/entries-store.service.ts | 3 ++- .../entries/pipes/entry-duration.pipe.ts | 4 ++++ .../entry-sections-list/entry-sections-list-handler.ts | 8 +++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/applications/content-entries-app/entries/entries-store/entries-store.service.ts b/src/applications/content-entries-app/entries/entries-store/entries-store.service.ts index e8f2ac0824..ff1b893810 100644 --- a/src/applications/content-entries-app/entries/entries-store/entries-store.service.ts +++ b/src/applications/content-entries-app/entries/entries-store/entries-store.service.ts @@ -30,6 +30,7 @@ import { FilterItem } from "./filter-item"; import { BrowserService } from "app-shared/kmc-shell/providers/browser.service"; import { KalturaLiveStreamAdminEntry } from 'kaltura-typescript-client/types/KalturaLiveStreamAdminEntry'; import { KalturaLiveStreamEntry } from 'kaltura-typescript-client/types/KalturaLiveStreamEntry'; +import { KalturaExternalMediaEntry } from 'kaltura-typescript-client/types/KalturaExternalMediaEntry'; export type UpdateStatus = { loading : boolean; @@ -443,7 +444,7 @@ export type FilterTypeConstructor = {new(...args : any[]) filter: requestContext.filter, pager: pagination, responseProfile: responseProfile, - acceptedTypes : [KalturaLiveStreamAdminEntry, KalturaLiveStreamEntry] + acceptedTypes : [KalturaLiveStreamAdminEntry, KalturaLiveStreamEntry, KalturaExternalMediaEntry] }) ) }catch(err) diff --git a/src/applications/content-entries-app/entries/pipes/entry-duration.pipe.ts b/src/applications/content-entries-app/entries/pipes/entry-duration.pipe.ts index f55ad91d1d..e22c5182bd 100644 --- a/src/applications/content-entries-app/entries/pipes/entry-duration.pipe.ts +++ b/src/applications/content-entries-app/entries/pipes/entry-duration.pipe.ts @@ -2,6 +2,7 @@ import { Pipe, PipeTransform } from '@angular/core'; import { AppLocalization } from '@kaltura-ng/kaltura-common'; import { KalturaMediaType } from 'kaltura-typescript-client/types/KalturaMediaType'; import { KalturaMediaEntry } from 'kaltura-typescript-client/types/KalturaMediaEntry'; +import { KalturaExternalMediaEntry } from 'kaltura-typescript-client/types/KalturaExternalMediaEntry'; @Pipe({name: 'entryDuration'}) export class EntryDurationPipe implements PipeTransform { @@ -10,6 +11,9 @@ export class EntryDurationPipe implements PipeTransform { transform(value: string, entry: KalturaMediaEntry = null): string { let duration = value; + if (entry instanceof KalturaExternalMediaEntry){ + duration = this.appLocalization.get('app.common.n_a'); + } if (entry && entry instanceof KalturaMediaEntry && entry.mediaType){ const type = entry.mediaType.toString(); if (type === KalturaMediaType.liveStreamFlash.toString() || diff --git a/src/applications/content-entries-app/entry/entry-sections-list/entry-sections-list-handler.ts b/src/applications/content-entries-app/entry/entry-sections-list/entry-sections-list-handler.ts index 7f02fc0087..275f29b0f3 100644 --- a/src/applications/content-entries-app/entry/entry-sections-list/entry-sections-list-handler.ts +++ b/src/applications/content-entries-app/entry/entry-sections-list/entry-sections-list-handler.ts @@ -8,6 +8,7 @@ import { KalturaMediaType } from 'kaltura-typescript-client/types/KalturaMediaTy import '@kaltura-ng/kaltura-common/rxjs/add/operators'; import { EntryFormWidget } from '../entry-form-widget'; import { KalturaMediaEntry } from 'kaltura-typescript-client/types/KalturaMediaEntry'; +import { KalturaExternalMediaEntry } from 'kaltura-typescript-client/types/KalturaExternalMediaEntry'; export interface SectionWidgetItem { @@ -110,17 +111,18 @@ export class EntrySectionsListHandler extends EntryFormWidget private _isSectionEnabled(sectionKey : string, entry : KalturaMediaEntry) : boolean { const mediaType = this.data.mediaType; + const externalMedia = this.data instanceof KalturaExternalMediaEntry; switch (sectionKey) { case EntryWidgetKeys.Thumbnails: return mediaType !== KalturaMediaType.image; case EntryWidgetKeys.Flavours: - return mediaType !== KalturaMediaType.image && !this._isLive(entry); + return mediaType !== KalturaMediaType.image && !this._isLive(entry) && !externalMedia; case EntryWidgetKeys.Captions: - return mediaType !== KalturaMediaType.image && !this._isLive(entry); + return mediaType !== KalturaMediaType.image && !this._isLive(entry) && !externalMedia; case EntryWidgetKeys.Live: return this._isLive(entry); case EntryWidgetKeys.Clips: - return mediaType !== KalturaMediaType.image; + return mediaType !== KalturaMediaType.image && !externalMedia; default: return true; }