()
| 134 | } |
| 135 | |
| 136 | export function setUpUI() { |
| 137 | /** |
| 138 | * Refresh the status of locally saved model (in IndexedDB). |
| 139 | */ |
| 140 | async function refreshLocalModelStatus() { |
| 141 | const modelInfo = await textGenerator.checkStoredModelStatus(); |
| 142 | if (modelInfo == null) { |
| 143 | modelAvailableInfo.innerText = |
| 144 | `No locally saved model for "${textGenerator.modelIdentifier()}".`; |
| 145 | createOrLoadModelButton.textContent = 'Create model'; |
| 146 | deleteModelButton.disabled = true; |
| 147 | enableModelParameterControls(); |
| 148 | } else { |
| 149 | modelAvailableInfo.innerText = |
| 150 | `Saved @ ${modelInfo.dateSaved.toISOString()}`; |
| 151 | createOrLoadModelButton.textContent = 'Load model'; |
| 152 | deleteModelButton.disabled = false; |
| 153 | disableModelParameterControls(); |
| 154 | } |
| 155 | createOrLoadModelButton.disabled = false; |
| 156 | } |
| 157 | |
| 158 | function disableModelButtons() { |
| 159 | createOrLoadModelButton.disabled = true; |
| 160 | deleteModelButton.disabled = true; |
| 161 | trainModelButton.disabled = true; |
| 162 | generateTextButton.disabled = true; |
| 163 | } |
| 164 | |
| 165 | function enableModelButtons() { |
| 166 | createOrLoadModelButton.disabled = false; |
| 167 | deleteModelButton.disabled = false; |
| 168 | trainModelButton.disabled = false; |
| 169 | generateTextButton.disabled = false; |
| 170 | } |
| 171 | |
| 172 | /** |
| 173 | * Use `textGenerator` to generate random text, show the characters on the |
| 174 | * screen as they are generated one by one. |
| 175 | */ |
| 176 | async function generateText() { |
| 177 | try { |
| 178 | disableModelButtons(); |
| 179 | |
| 180 | if (textGenerator == null) { |
| 181 | logStatus('ERROR: Please load text data set first.'); |
| 182 | return; |
| 183 | } |
| 184 | const generateLength = parseInt(generateLengthInput.value); |
| 185 | const temperature = parseFloat(temperatureInput.value); |
| 186 | if (!(generateLength > 0)) { |
| 187 | logStatus( |
| 188 | `ERROR: Invalid generation length: ${generateLength}. ` + |
| 189 | `Generation length must be a positive number.`); |
| 190 | enableModelButtons(); |
| 191 | return; |
| 192 | } |
| 193 | if (!(temperature > 0 && temperature <= 1)) { |
no test coverage detected