Skip to content

Commit

Permalink
feat: add config for forcing touch ui (#61)
Browse files Browse the repository at this point in the history
consider ui.forceTouchUI config to force the player ui like on touch device. mainly for the studio.
dependent on kaltura/playkit-js-ui#139
  • Loading branch information
yairans authored and Dan Ziv committed Nov 28, 2017
1 parent 86a7bf3 commit 93898b1
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
6 changes: 4 additions & 2 deletions src/kaltura-player.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import PlaykitUI from 'playkit-js-ui'
import OvpProvider from 'playkit-js-providers/dist/ovpProvider'
import getLogger from './utils/logger'
import {addKalturaParams} from './utils/kaltura-params'
import {addKalturaPoster, setUISeekbarConfig} from './utils/setup-helpers'
import {addKalturaPoster, setUISeekbarConfig, setUITouchConfig} from './utils/setup-helpers'
import {evaluatePluginsConfig} from './plugins/plugins-config'
import './assets/style.css'

Expand All @@ -14,10 +14,12 @@ export default class KalturaPlayer {
_uiManager: PlaykitUI;
_logger: any;

constructor(player: Player, targetId: string, playerConfig: Object, providerConfig: Object) {
constructor(player: Player, targetId: string, playerConfig: Object = {}, providerConfig: Object) {
this._player = player;
this._logger = getLogger('KalturaPlayer' + Utils.Generator.uniqueId(5));
this._uiManager = new PlaykitUI(this._player, {targetId: targetId, logLevel: playerConfig.logLevel});
const forceTouchUI = playerConfig.ui ? playerConfig.ui.forceTouchUI : false;
setUITouchConfig(forceTouchUI, this._uiManager);
this._provider = new OvpProvider(__VERSION__, providerConfig.partnerId, providerConfig.ks, providerConfig.env, playerConfig.logLevel);
this._uiManager.buildDefaultUI();
return {
Expand Down
15 changes: 14 additions & 1 deletion src/utils/setup-helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,18 @@ function setUISeekbarConfig(data: Object, uiManager: PlaykitUI): void {
}, "seekbar");
}

/**
* Sets the shell component whether to force touch ui.
* @param {boolean} isTouch - If is touch.
* @param {PlaykitUI} uiManager - The ui manager.
* @returns {void}
*/
function setUITouchConfig(isTouch: boolean, uiManager: PlaykitUI): void {
uiManager.setConfig({
forceTouchUI: isTouch
}, "shell");
}

export {
setStorageConfig,
applyStorageSupport,
Expand All @@ -296,5 +308,6 @@ export {
isSafari,
isIos,
setLogLevel,
setUISeekbarConfig
setUISeekbarConfig,
setUITouchConfig
};

0 comments on commit 93898b1

Please sign in to comment.