Merge pull request #2144 from dpalou/MOBILE-3198

MOBILE-3198 filter: Support start time in mediaplugin filter
main
Juan Leyva 2019-11-07 17:50:02 +01:00 committed by GitHub
commit cdd4876029
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 3 deletions

View File

@ -17,6 +17,7 @@ import { Injectable } from '@angular/core';
import { CoreFilterDefaultHandler } from '@core/filter/providers/default-filter'; import { CoreFilterDefaultHandler } from '@core/filter/providers/default-filter';
import { CoreFilterFilter, CoreFilterFormatTextOptions } from '@core/filter/providers/filter'; import { CoreFilterFilter, CoreFilterFormatTextOptions } from '@core/filter/providers/filter';
import { CoreTextUtilsProvider } from '@providers/utils/text'; import { CoreTextUtilsProvider } from '@providers/utils/text';
import { CoreUrlUtilsProvider } from '@providers/utils/url';
/** /**
* Handler to support the Multimedia filter. * Handler to support the Multimedia filter.
@ -26,7 +27,8 @@ export class AddonFilterMediaPluginHandler extends CoreFilterDefaultHandler {
name = 'AddonFilterMediaPluginHandler'; name = 'AddonFilterMediaPluginHandler';
filterName = 'mediaplugin'; filterName = 'mediaplugin';
constructor(private textUtils: CoreTextUtilsProvider) { constructor(private textUtils: CoreTextUtilsProvider,
private urlUtils: CoreUrlUtilsProvider) {
super(); super();
} }
@ -74,9 +76,18 @@ export class AddonFilterMediaPluginHandler extends CoreFilterDefaultHandler {
return; return;
} }
const iframe = document.createElement('iframe'); const iframe = document.createElement('iframe'),
params: any = {};
if (youtubeData.listId !== null) {
params.list = youtubeData.listId;
}
if (youtubeData.start !== null) {
params.start = youtubeData.start;
}
iframe.id = video.id; iframe.id = video.id;
iframe.src = 'https://www.youtube.com/embed/' + youtubeData.videoId; // Don't apply other params to align with Moodle web. iframe.src = this.urlUtils.addParamsToUrl('https://www.youtube.com/embed/' + youtubeData.videoId, params);
iframe.setAttribute('frameborder', '0'); iframe.setAttribute('frameborder', '0');
iframe.setAttribute('allowfullscreen', '1'); iframe.setAttribute('allowfullscreen', '1');
iframe.width = '100%'; iframe.width = '100%';