persistent results

This commit is contained in:
Brandon Thomas committed 2021-08-30 06:32:35 -04:00
1 parent ded60cdf53
commit 4e02254be8
3 files changed
+34 -10

No files matched your search

+17
View File
@@ -42,6 +42,9 @@ interface State {
w2lInferenceJobs: Array<W2lInferenceJob>,
ttsModelUploadJobs: Array<TtsModelUploadJob>,
w2lTemplateUploadJobs: Array<W2lTemplateUploadJob>,
// Current text entered
textBuffer: string,
}
class App extends React.Component<Props, State> {
@@ -62,6 +65,8 @@ class App extends React.Component<Props, State> {
w2lInferenceJobs: [],
ttsModelUploadJobs: [],
w2lTemplateUploadJobs: [],
textBuffer: '',
}
}
@@ -339,6 +344,14 @@ class App extends React.Component<Props, State> {
this.setState({migrationMode: mode});
}
setTextBuffer = (textBuffer: string) => {
this.setState({ textBuffer: textBuffer });
}
clearTextBuffer = () => {
this.setState({ textBuffer: '' });
}
public render() {
if (this.state.migrationMode === MigrationMode.OLD_VOCODES) {
return (
@@ -383,6 +396,10 @@ class App extends React.Component<Props, State> {
enqueueW2lTemplateUploadJob={this.enqueueW2lTemplateUploadJob}
w2lTemplateUploadJobs={this.state.w2lTemplateUploadJobs}
textBuffer={this.state.textBuffer}
setTextBuffer={this.setTextBuffer}
clearTextBuffer={this.clearTextBuffer}
/>
</Route>
</Switch>
@@ -51,6 +51,10 @@ interface Props {
enqueueW2lTemplateUploadJob: (jobToken: string) => void,
w2lTemplateUploadJobs: Array<W2lTemplateUploadJob>,
textBuffer: string,
setTextBuffer: (textBuffer: string) => void,
clearTextBuffer: () => void,
}
interface State {
@@ -266,6 +270,9 @@ class NewVocodesContainer extends React.Component<Props, State> {
ttsModelUploadJobs={this.props.ttsModelUploadJobs}
w2lInferenceJobs={this.props.w2lInferenceJobs}
w2lTemplateUploadJobs={this.props.w2lTemplateUploadJobs}
textBuffer={this.props.textBuffer}
setTextBuffer={this.props.setTextBuffer}
clearTextBuffer={this.props.clearTextBuffer}
/>
</Route>
@@ -27,13 +27,15 @@ interface Props {
ttsModelUploadJobs: Array<TtsModelUploadJob>,
w2lInferenceJobs: Array<W2lInferenceJob>,
w2lTemplateUploadJobs: Array<W2lTemplateUploadJob>,
textBuffer: string,
setTextBuffer: (textBuffer: string) => void,
clearTextBuffer: () => void,
}
function TtsModelListFc(props: Props) {
const [ttsModels, setTtsModels] = useState<Array<TtsModelListItem>>([]);
const [selectedTtsModel, setSelectedTtsModel] = useState<TtsModelListItem|undefined>(undefined);
const [text, setText] = useState<string>("");
const listModels = useCallback(async () => {
const models = await ListTtsModels();
@@ -94,12 +96,8 @@ function TtsModelListFc(props: Props) {
};
const handleChangeText = (ev: React.FormEvent<HTMLTextAreaElement>) => {
ev.preventDefault();
const textValue = (ev.target as HTMLTextAreaElement).value;
setText(textValue);
return false;
props.setTextBuffer(textValue);
};
@@ -110,7 +108,7 @@ function TtsModelListFc(props: Props) {
return false;
}
if (text === undefined) {
if (props.textBuffer === undefined) {
return false;
}
@@ -122,7 +120,7 @@ function TtsModelListFc(props: Props) {
const request = {
uuid_idempotency_token: uuidv4(),
tts_model_token: modelToken,
inference_text: text,
inference_text: props.textBuffer,
}
fetch(endpointUrl, {
@@ -149,8 +147,9 @@ function TtsModelListFc(props: Props) {
return false;
};
const handleCancelClick = (ev: React.FormEvent<HTMLButtonElement>) => {
const handleClearClick = (ev: React.FormEvent<HTMLButtonElement>) => {
ev.preventDefault();
props.clearTextBuffer();
return false;
};
@@ -207,6 +206,7 @@ function TtsModelListFc(props: Props) {
<textarea
onChange={handleChangeText}
className="textarea is-large"
value={props.textBuffer}
placeholder="Textual shenanigans go here..."></textarea>
</div>
</div>
@@ -217,7 +217,7 @@ function TtsModelListFc(props: Props) {
<button className="button is-info is-large" disabled={remainingCharactersButtonDisabled}>Speak</button>
</div>
<div className="column has-text-centered">
<button className="button is-info is-light is-large" onClick={handleCancelClick}>Cancel</button>
<button className="button is-info is-light is-large" onClick={handleClearClick}>Clear</button>
</div>
</div>
</div>