Prevent duplicate service registrations
This commit is contained in:
parent
b2fcaab30b
commit
843d2d5b1f
29
service.js
29
service.js
@ -87,6 +87,17 @@ class BesService {
|
||||
this.clearCorrectionPanel()
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns grammar checking service registered for given DOM element
|
||||
*
|
||||
* @param {Element} hostElement Host element
|
||||
* @returns Grammar checking service registered for given DOM element; unfedined if no service
|
||||
* registered.
|
||||
*/
|
||||
static getServiceByElement(hostElement) {
|
||||
return besServices.find(service => service.hostElement === hostElement)
|
||||
}
|
||||
|
||||
/**
|
||||
* Called initially when grammar-checking run is started
|
||||
*/
|
||||
@ -796,7 +807,9 @@ class BesDOMService extends BesTreeService {
|
||||
* @returns {BesDOMService} Grammar checking service instance
|
||||
*/
|
||||
static register(hostElement) {
|
||||
let service = new BesDOMService(hostElement)
|
||||
let service = BesService.getServiceByElement(hostElement)
|
||||
if (service) return service
|
||||
service = new BesDOMService(hostElement)
|
||||
service.proofAll()
|
||||
return service
|
||||
}
|
||||
@ -878,7 +891,9 @@ class BesCKService extends BesTreeService {
|
||||
* @returns {BesCKService} Grammar checking service instance
|
||||
*/
|
||||
static register(hostElement, ckEditorInstance) {
|
||||
let service = new BesCKService(hostElement, ckEditorInstance)
|
||||
let service = BesService.getServiceByElement(hostElement)
|
||||
if (service) return service
|
||||
service = new BesCKService(hostElement, ckEditorInstance)
|
||||
service.proofAll()
|
||||
return service
|
||||
}
|
||||
@ -1289,7 +1304,7 @@ class BesPlainTextService extends BesService {
|
||||
|
||||
/**
|
||||
* Simple string compare.
|
||||
*
|
||||
*
|
||||
* For performance reasons, this method compares only string beginnings and endings. Maximum one
|
||||
* difference is reported.
|
||||
*
|
||||
@ -1347,7 +1362,9 @@ class BesDOMPlainTextService extends BesPlainTextService {
|
||||
* @returns {BesDOMPlainTextService} Grammar checking service instance
|
||||
*/
|
||||
static register(hostElement) {
|
||||
let service = new BesDOMPlainTextService(hostElement)
|
||||
let service = BesService.getServiceByElement(hostElement)
|
||||
if (service) return service
|
||||
service = new BesDOMPlainTextService(hostElement)
|
||||
service.proofAll()
|
||||
return service
|
||||
}
|
||||
@ -1483,7 +1500,9 @@ class BesTAService extends BesPlainTextService {
|
||||
* @returns {BesTAService} Grammar checking service instance
|
||||
*/
|
||||
static register(hostElement) {
|
||||
let service = new BesTAService(hostElement)
|
||||
let service = BesService.getServiceByElement(hostElement)
|
||||
if (service) return service
|
||||
service = new BesTAService(hostElement)
|
||||
service.proofAll()
|
||||
return service
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user