playkit-js-ui-managers is a kaltura player plugin that groups several UI services, in order to simplify and facilitate the customization of the kaltura player UI by providing a simple and clean API.
Each service manages a different area of UI functionality.
It relies on kaltura player core API for managing UI features.
playkit-js-ui-managers is written in ECMAScript6 (*.js
) and TypeScript (*.ts
) (strongly typed superset of ES6),
and transpiled in ECMAScript5 using Babel and the TypeScript compiler.
Webpack is used to build the distro bundle and serve the local development environment.
Manages and controls the side panel, including:
Automatically deactivates a panel when its counter panel is activated.
Full API documentation can be found here
Manages and controls the upper bar menu, including:
Increasing and decreasing the number of icons that appear depending on the size of the player\
Full API documentation can be found here
# First, checkout the repository and install the required dependencies
git clone https://github.com/kaltura/playkit-js-ui-managers.git
# Navigate to the repo dir
cd playkit-js-ui-managers
# Run dev-server for demo page (recompiles on file-watch, and write to actual dist fs artifacts)
npm run dev
# Before submitting a PR - Run the pre commit command
npm run pre:commit
# this command will run:
# 1. types check
# 2. lint check
# 3. generate/update types
# 4. generate/update docs
The dev server will host files on port 8000. Once started, the demo can be found running at http://localhost:8000/.
Before submitting a PR, please see our contribution guidelines.
Run linter:
npm run lint:check
Run linter with auto-fix mode:
npm run lint:fix
Run prettier to format code
npm run prettier:fix
Run type-check to verify TypeScript types
npm run types:check
Run all tests at once:
npm test
Run unit tests in watch mode:
npm run test:watch
An overview of this project’s design, can be found here.
https://kaltura.github.io/playkit-js-ui-managers/demo/index.html
playkit-js-ui-managers is only compatible with browsers supporting MediaSource extensions (MSE) API with ‘video/MP4’ mime-type inputs.
playkit-js-ui-managers is supported on:
playkit-js-ui-managers is released under Apache 2.0 License