import { editorLogger as logger } from './configuration/LoggerConfig'
import { Editor } from './Editor'
/**
* Attach an Editor to a DOMElement
* @param {Element} element DOM element to attach an editor
* @param {Configuration} [configuration] Configuration to apply
* @param {PenStyle} [penStyle] Pen style to apply
* @param {Theme} [theme] Theme to apply
* @param {Behaviors} [behaviors] Custom behaviors to apply
* @param {String} [globalClassCSS] Replace global class css 'ms-editor' to customize style
* @return {Editor} New editor
*/
export function register (element, configuration, penStyle, theme, behaviors, globalClassCSS) {
logger.debug('Registering a new editor')
return new Editor(element, configuration, penStyle, theme, behaviors, globalClassCSS)
}
/**
* Return the list of available recognition languages
* @param {Configuration} [configuration] Configuration to get the languages
* @return {JSON} A list of available languages
*/
export async function getAvailableLanguageList (configuration) {
try {
if (configuration && configuration.recognitionParams &&
configuration.recognitionParams.server && configuration.recognitionParams.server.host) {
const serverConfig = configuration.recognitionParams.server
const response = await fetch(`${serverConfig.scheme}://${serverConfig.host}/api/v4.0/iink/availableLanguageList`)
if (response && response.ok) {
return response.json()
}
} else {
console.error('Cannot get languages ! Please check your configuration!')
}
} catch (error) {
console.error(error)
}
}