chem-mrl-demo / src /static /main.min.js
eacortes's picture
push new db or demo version
776a711
function initializeChemWriter(){try{setupSmilesTextboxEventListeners(),setupChemWriterEventListeners(),editor.setSMILES(DEFAULT_SMILES),setTimeout((()=>document.getElementById("search_btn")?.click()),500)}catch(e){}}function updateGradioTextbox(){try{const e=document.querySelector(MOL_INPUT_SELECTOR),t=editor?.getMolfile();e.value=t,GRADIO_CHANGE_EVENTS.forEach((t=>{const i=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(i)}))}catch(e){}}function updateChemWriterFromTextbox(e){try{e=e.trim(),editor?.setSMILES(e)}catch(e){}}function setupSmilesTextboxEventListeners(){const e=document.querySelector(SMILES_INPUT_SELECTOR);e&&(e.addEventListener("input",handleTextboxChange),e.addEventListener("change",handleTextboxChange),e.addEventListener("paste",handleTextboxPaste))}function setupChemWriterEventListeners(){window.addEventListener("resize",(()=>editor.jd())),editor.addEventListener("document-edited",updateGradioTextbox)}function handleTextboxChange(e){updateChemWriterFromTextbox(e.target.value)}function handleTextboxPaste(e){setTimeout((()=>{updateChemWriterFromTextbox(e.target.value)}),50)}function initializeWhenReady(){chemwriter=window?.chemwriter,chemwriter?.System?.De(),editor=chemwriter?.components?.editor,void 0!==chemwriter?.System?.De&&void 0!==editor?chemwriter.System.ready(initializeChemWriter):setTimeout(initializeWhenReady,250)}let editor=null,chemwriter=null;const DEFAULT_SMILES="CN(C)CCC1=CNC2=C1C(=CC=C2)OP(=O)(O)O",SMILES_INPUT_SELECTOR="#smiles_input textarea, #smiles_input input",MOL_INPUT_SELECTOR="#mol_input textarea, #mol_input input",SEARCH_BUTTON_SELECTOR="#search_btn",PASTE_DELAY=50,INIT_RETRY_DELAY=250,GRADIO_CHANGE_EVENTS=["input","change"];window.setCWSmiles=function(e){updateChemWriterFromTextbox(e)},window.clearCW=function(){editor.setMolfile("\nCWRITER06142521562D\nCreated with ChemWriter - https://chemwriter.com\n 0 0 0 0 0 0 0 0 0 0999 V2000\nM END")},initializeWhenReady();