feat: enhance Artplayer type definitions and improve component interfaces

- 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
This commit is contained in:
Harvey Zhao committed 2025-11-29 21:41:52 +08:00
1 parent f5f3800449
commit 4681a8bc7a
16 files changed
+152 -94

No files matched your search

+6 -7
View File
@@ -40,8 +40,7 @@ export default class Component {
if (!this.$parent || !this.name || option.disable)
return
const name = option.name || `${this.name}${this.id}`
const item = this.cache.get(name)
errorHandle(!item, `Can't add an existing [${name}] to the [${this.name}]`)
errorHandle(!this.cache.has(name), `Can't add an existing [${name}] to the [${this.name}]`)
this.id += 1
const $ref = createElement('div')
@@ -94,15 +93,15 @@ export default class Component {
}
remove(name) {
errorHandle(this.cache.has(name), `Can't find [${name}] from the [${this.name}]`)
const item = this.cache.get(name)
errorHandle(item, `Can't find [${name}] from the [${this.name}]`)
if (item.option.beforeUnmount) {
item.option.beforeUnmount.call(this.art, item.$ref)
}
for (let index = 0; index < item.events.length; index++) {
this.art.events.remove(item.events[index])
for (const event of item.events) {
this.art.events.remove(event)
}
this.cache.delete(name)
@@ -111,8 +110,8 @@ export default class Component {
}
update(option) {
const item = this.cache.get(option.name)
if (item) {
if (this.cache.has(option.name)) {
const item = this.cache.get(option.name)
option = Object.assign(item.option, option)
this.remove(option.name)
}