mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 20:26:16 -08:00
- Updated Artplayer class to specify environment as 'development' | 'production'. - Refined template query method to return specific element types. - Improved event proxy method to handle multiple event names. - Enhanced storage get method to support both key retrieval and full record retrieval. - Modified i18n interface to include language initialization and partial language records. - Adjusted notice interface to provide a getter for show state and a setter for messages. - Updated layers, controls, and contextmenu to allow undefined elements. - Enhanced subtitle interface with initialization method. - Refined hotkey methods to use KeyboardEvent instead of Event. - Updated setting methods to return updated settings instead of arrays. - Improved plugin method to return a promise. - Added new events for video handling and refined existing event parameters. - Enhanced option interface for proxy and plugins to support promises. - Updated player interface to include reset method. - Refined setting props to allow optional values. - Enhanced template interface with additional control elements. - Improved utils methods for querying and manipulating DOM elements. fix: update type definitions for notice and subtitle properties, and refine event types fix: remove unnecessary console warnings in event listener error handling fix: refactor event listener management to use Set for better performance and error handling
45 lines
941 B
JavaScript
45 lines
941 B
JavaScript
import { addClass, removeClass } from './utils'
|
|
|
|
export default class Notice {
|
|
constructor(art) {
|
|
this.art = art
|
|
this.timer = null
|
|
|
|
art.on('destroy', () => this.destroy())
|
|
}
|
|
|
|
destroy() {
|
|
if (this.timer) {
|
|
clearTimeout(this.timer)
|
|
this.timer = null
|
|
}
|
|
}
|
|
|
|
set show(msg) {
|
|
const {
|
|
constructor,
|
|
template: { $player, $noticeInner },
|
|
} = this.art
|
|
|
|
if (msg) {
|
|
$noticeInner.textContent = msg instanceof Error ? msg.message.trim() : msg
|
|
addClass($player, 'art-notice-show')
|
|
clearTimeout(this.timer)
|
|
this.timer = setTimeout(() => {
|
|
$noticeInner.textContent = ''
|
|
removeClass($player, 'art-notice-show')
|
|
}, constructor.NOTICE_TIME)
|
|
}
|
|
else {
|
|
removeClass($player, 'art-notice-show')
|
|
}
|
|
}
|
|
|
|
get show() {
|
|
const {
|
|
template: { $player },
|
|
} = this.art
|
|
return $player.classList.contains('art-notice-show')
|
|
}
|
|
}
|