- 1 :
/**
- 2 :
* @file loading-spinner.js
- 3 :
*/
- 4 :
import Component from './component';
- 5 :
import * as Dom from './utils/dom';
- 6 :
- 7 :
/**
- 8 :
* A loading spinner for use during waiting/loading events.
- 9 :
*
- 10 :
* @extends Component
- 11 :
*/
- 12 :
class LoadingSpinner extends Component {
- 13 :
- 14 :
/**
- 15 :
* Create the `LoadingSpinner`s DOM element.
- 16 :
*
- 17 :
* @return {Element}
- 18 :
* The dom element that gets created.
- 19 :
*/
- 20 :
createEl() {
- 21 :
const isAudio = this.player_.isAudio();
- 22 :
const playerType = this.localize(isAudio ? 'Audio Player' : 'Video Player');
- 23 :
const controlText = Dom.createEl('span', {
- 24 :
className: 'vjs-control-text',
- 25 :
textContent: this.localize('{1} is loading.', [playerType])
- 26 :
});
- 27 :
- 28 :
const el = super.createEl('div', {
- 29 :
className: 'vjs-loading-spinner',
- 30 :
dir: 'ltr'
- 31 :
});
- 32 :
- 33 :
el.appendChild(controlText);
- 34 :
- 35 :
return el;
- 36 :
}
- 37 :
- 38 :
/**
- 39 :
* Update control text on languagechange
- 40 :
*/
- 41 :
handleLanguagechange() {
- 42 :
this.$('.vjs-control-text').textContent = this.localize('{1} is loading.', [
- 43 :
this.player_.isAudio() ? 'Audio Player' : 'Video Player'
- 44 :
]);
- 45 :
}
- 46 :
}
- 47 :
- 48 :
Component.registerComponent('LoadingSpinner', LoadingSpinner);
- 49 :
export default LoadingSpinner;