UNPKG

design-angular-kit

Version:

Un toolkit Angular conforme alle linee guida di design per i servizi web della PA

43 lines 7.41 kB
import { inject, Injectable } from '@angular/core'; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { initYoutubePlugin } from 'bootstrap-italia/dist/plugins/util/youtube-video.js'; import videojs from 'video.js'; import { VideoPlayerI18nService } from './video-player-i18n.service'; import * as i0 from "@angular/core"; const hasYoutubeVideo = (options) => options.source?.type === 'video/youtube'; export class VideoPlayerConfigService { #languageService = inject(VideoPlayerI18nService); async configureTech({ tech }) { if (tech === 'youtube') { initYoutubePlugin(videojs); } } mergeConfig(o) { const options = o; const captions = options.captions ? options.captions.map(c => ({ ...c, kind: 'captions' })) : []; const chapters = options.chapters ? options.chapters.map(c => ({ ...c, kind: 'chapters' })) : []; const isYoutubeVideo = hasYoutubeVideo(options); const DEFAULT_CONFIG = this.#languageService.getLanguage(); const tech = isYoutubeVideo ? 'youtube' : 'html5'; const techOrder = [tech]; //https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#preload const preload = options.preload ?? 'metadata'; const config = { ...DEFAULT_CONFIG, ...options, preload, techOrder, tracks: [...captions, ...chapters], tech: 'html5' }; return isYoutubeVideo ? { ...config, sources: [o.source], tech: 'youtube', youtube: { ytControls: 2, rel: 0, fs: 0, modestbranding: 1 }, } : config; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerConfigService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerConfigService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUMvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHckUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUE2QixFQUFFLEVBQUUsQ0FBRSxPQUFxQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssZUFBZSxDQUFDO0FBS25JLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFM0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBa0I7UUFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBdUI7UUFDakMsTUFBTSxPQUFPLEdBQUcsQ0FBK0IsQ0FBQztRQUNoRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakcsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pHLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0QsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLHlFQUF5RTtRQUN6RSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEgsT0FBTyxjQUFjO1lBQ25CLENBQUMsQ0FBQztnQkFDRSxHQUFHLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLENBQUUsQ0FBK0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xELElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUU7YUFDN0Q7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2IsQ0FBQzs4R0E1QlUsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FEWCxNQUFNOzsyRkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgaW5pdFlvdXR1YmVQbHVnaW4gfSBmcm9tICdib290c3RyYXAtaXRhbGlhL2Rpc3QvcGx1Z2lucy91dGlsL3lvdXR1YmUtdmlkZW8uanMnO1xuaW1wb3J0IHZpZGVvanMgZnJvbSAndmlkZW8uanMnO1xuaW1wb3J0IHsgVmlkZW9QbGF5ZXJJMThuU2VydmljZSB9IGZyb20gJy4vdmlkZW8tcGxheWVyLWkxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBJdEVtYmVkVmlkZW9QbGF5ZXJPcHRpb25zLCBJdE5hdGl2ZVZpZGVvUGxheWVyT3B0aW9ucywgSXRWaWRlb1BsYXllck9wdGlvbnMgfSBmcm9tICcuL3ZpZGVvLXBsYXllci5tb2RlbCc7XG5cbmNvbnN0IGhhc1lvdXR1YmVWaWRlbyA9IChvcHRpb25zOiBJdFZpZGVvUGxheWVyT3B0aW9ucykgPT4gKG9wdGlvbnMgYXMgSXRFbWJlZFZpZGVvUGxheWVyT3B0aW9ucykuc291cmNlPy50eXBlID09PSAndmlkZW8veW91dHViZSc7XG5cbmV4cG9ydCB0eXBlIFRlY2ggPSAnaHRtbDUnIHwgJ3lvdXR1YmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZpZGVvUGxheWVyQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5ICNsYW5ndWFnZVNlcnZpY2UgPSBpbmplY3QoVmlkZW9QbGF5ZXJJMThuU2VydmljZSk7XG5cbiAgYXN5bmMgY29uZmlndXJlVGVjaCh7IHRlY2ggfTogeyB0ZWNoOiBUZWNoIH0pIHtcbiAgICBpZiAodGVjaCA9PT0gJ3lvdXR1YmUnKSB7XG4gICAgICBpbml0WW91dHViZVBsdWdpbih2aWRlb2pzKTtcbiAgICB9XG4gIH1cblxuICBtZXJnZUNvbmZpZyhvOiBJdFZpZGVvUGxheWVyT3B0aW9ucykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBvIGFzIEl0TmF0aXZlVmlkZW9QbGF5ZXJPcHRpb25zO1xuICAgIGNvbnN0IGNhcHRpb25zID0gb3B0aW9ucy5jYXB0aW9ucyA/IG9wdGlvbnMuY2FwdGlvbnMubWFwKGMgPT4gKHsgLi4uYywga2luZDogJ2NhcHRpb25zJyB9KSkgOiBbXTtcbiAgICBjb25zdCBjaGFwdGVycyA9IG9wdGlvbnMuY2hhcHRlcnMgPyBvcHRpb25zLmNoYXB0ZXJzLm1hcChjID0+ICh7IC4uLmMsIGtpbmQ6ICdjaGFwdGVycycgfSkpIDogW107XG4gICAgY29uc3QgaXNZb3V0dWJlVmlkZW8gPSBoYXNZb3V0dWJlVmlkZW8ob3B0aW9ucyk7XG4gICAgY29uc3QgREVGQVVMVF9DT05GSUcgPSB0aGlzLiNsYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICBjb25zdCB0ZWNoID0gaXNZb3V0dWJlVmlkZW8gPyAneW91dHViZScgOiAnaHRtbDUnO1xuICAgIGNvbnN0IHRlY2hPcmRlciA9IFt0ZWNoXTtcbiAgICAvL2h0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC92aWRlbyNwcmVsb2FkXG4gICAgY29uc3QgcHJlbG9hZCA9IG9wdGlvbnMucHJlbG9hZCA/PyAnbWV0YWRhdGEnO1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLm9wdGlvbnMsIHByZWxvYWQsIHRlY2hPcmRlciwgdHJhY2tzOiBbLi4uY2FwdGlvbnMsIC4uLmNoYXB0ZXJzXSwgdGVjaDogJ2h0bWw1JyB9O1xuICAgIHJldHVybiBpc1lvdXR1YmVWaWRlb1xuICAgICAgPyB7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIHNvdXJjZXM6IFsobyBhcyBJdEVtYmVkVmlkZW9QbGF5ZXJPcHRpb25zKS5zb3VyY2VdLFxuICAgICAgICAgIHRlY2g6ICd5b3V0dWJlJyxcbiAgICAgICAgICB5b3V0dWJlOiB7IHl0Q29udHJvbHM6IDIsIHJlbDogMCwgZnM6IDAsIG1vZGVzdGJyYW5kaW5nOiAxIH0sXG4gICAgICAgIH1cbiAgICAgIDogY29uZmlnO1xuICB9XG59XG4iXX0=