Skip to content

Commit 9cefd1a

Browse files
author
Alexander Kozlovskiy
committed
refactor
1 parent 074a70b commit 9cefd1a

File tree

5 files changed

+76
-157
lines changed

5 files changed

+76
-157
lines changed

apps/demos/Demos/SpeechToText/Overview/Angular/app/app.component.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
[height]="120"
2626
placeholder="Recognized text will appear here..."
2727
[inputAttr]="{ 'aria-label': 'Recognized Text' }"
28-
(onValueChanged)="onTextAreaValueChanged($event)"
2928
></dx-text-area>
3029
<dx-button
3130
text="Clear"
32-
[disabled]="clearButtonDisabled"
31+
[disabled]="textAreaValue === ''"
3332
(onClick)="onClearButtonClick($event)"
3433
></dx-button>
3534
</div>
@@ -51,7 +50,7 @@
5150
[dataSource]="stylingModes"
5251
displayExpr="displayValue"
5352
valueExpr="value"
54-
[disabled]="stylingModeDisabled"
53+
[disabled]="displayMode === 'Custom'"
5554
[inputAttr]="{ 'aria-label': 'Styling Mode' }"
5655
></dx-select-box>
5756
</div>
@@ -62,7 +61,7 @@
6261
[dataSource]="types"
6362
displayExpr="displayValue"
6463
valueExpr="value"
65-
[disabled]="typeDisabled"
64+
[disabled]="displayMode === 'Custom'"
6665
[inputAttr]="{ 'aria-label': 'Type' }"
6766
></dx-select-box>
6867
</div>

apps/demos/Demos/SpeechToText/Overview/Angular/app/app.component.ts

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,16 @@ export class AppComponent {
3939

4040
stylingModes: { displayValue: string; value: string }[];
4141

42-
stylingModeDisabled: boolean;
43-
4442
type: string;
4543

4644
types: { displayValue: string; value: string }[];
4745

48-
typeDisabled: boolean;
49-
5046
hint: string;
5147

5248
disabled: boolean;
5349

5450
textAreaValue: string;
5551

56-
clearButtonDisabled: boolean;
57-
5852
language: string;
5953

6054
languages: string[];
@@ -77,14 +71,11 @@ export class AppComponent {
7771
this.displayMode = this.displayModes[0];
7872
this.stylingModes = this.appService.getStylingModes();
7973
this.stylingMode = this.stylingModes[0].value;
80-
this.stylingModeDisabled = false;
8174
this.types = this.appService.getTypes();
8275
this.type = this.types[2].value;
83-
this.typeDisabled = false;
8476
this.hint = 'Start voice recognition';
8577
this.disabled = false;
8678
this.textAreaValue = '';
87-
this.clearButtonDisabled = true;
8879
this.languages = this.appService.getLanguages();
8980
this.language = this.languages[0];
9081
this.langMap = this.appService.getLangMap();
@@ -123,19 +114,11 @@ export class AppComponent {
123114
this.type = 'default';
124115
}
125116

126-
onTextAreaValueChanged({ value }) {
127-
this.clearButtonDisabled = !value;
128-
}
129-
130117
onClearButtonClick() {
131118
this.textAreaValue = '';
132119
}
133120

134121
onDisplayModeChanged({ value }) {
135-
const isCustomMode = value === 'Custom';
136-
this.stylingModeDisabled = isCustomMode;
137-
this.typeDisabled = isCustomMode;
138-
139122
if (value === 'Text and Icon') {
140123
this.startText = 'Dictate';
141124
this.stopText = 'Stop';
@@ -146,7 +129,7 @@ export class AppComponent {
146129
this.startText = '';
147130
this.stopText = '';
148131

149-
if (isCustomMode) {
132+
if (value === 'Custom') {
150133
this.stylingMode = 'contained';
151134
this.type = this.state === 'initial' ? 'default' : 'danger';
152135
}

apps/demos/Demos/SpeechToText/Overview/React/App.tsx

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ export default function App() {
2222
const [hint, setHint] = useState<string>('Start voice recognition');
2323
const [disabled, setDisabled] = useState<boolean>(false);
2424
const [textAreaValue, setTextAreaValue] = useState<string>('');
25-
const [clearButtonDisabled, setClearButtonDisabled] = useState<boolean>(true);
2625
const [language, setLanguage] = useState<string>(languages[0]);
27-
const [stylingModeDisabled, setStylingModeDisabled] = useState<boolean>(false);
28-
const [typeDisabled, setTypeDisabled] = useState<boolean>(false);
2926
const [interimResults, setInterimResults] = useState<boolean>(true);
3027
const [continuous, setContinuous] = useState<boolean>(false);
3128
const [animation, setAnimation] = useState<boolean>(true);
@@ -43,7 +40,7 @@ export default function App() {
4340
}
4441

4542
setType('danger');
46-
}, [displayMode, setHint, setType]);
43+
}, [displayMode]);
4744

4845
const onEnd = useCallback(() => {
4946
state = 'initial';
@@ -54,29 +51,25 @@ export default function App() {
5451
}
5552

5653
setType('default');
57-
}, [displayMode, setHint, setType]);
54+
}, [displayMode]);
5855

5956
const onResult = useCallback(({ event }) => {
6057
const { results } = event;
6158
const resultText = Object.values(results)
6259
.map((resultItem: any) => resultItem[0].transcript)
6360
.join(' ');
6461
setTextAreaValue(resultText);
65-
}, [setTextAreaValue]);
62+
}, []);
6663

6764
const onTextAreaValueChanged = useCallback(({ value }) => {
6865
setTextAreaValue(value);
69-
setClearButtonDisabled(!value);
70-
}, [setTextAreaValue, setClearButtonDisabled]);
66+
}, []);
7167

7268
const onClearButtonClick = useCallback(() => {
7369
setTextAreaValue('');
74-
}, [setTextAreaValue]);
70+
}, []);
7571

7672
const onDisplayModeValueChanged = useCallback(({ value }) => {
77-
const isCustomMode = value === 'Custom';
78-
setStylingModeDisabled(isCustomMode);
79-
setTypeDisabled(isCustomMode);
8073
setDisplayMode(value);
8174

8275
if (value === 'Text and Icon') {
@@ -89,39 +82,39 @@ export default function App() {
8982
setStartText('');
9083
setStopText('');
9184

92-
if (isCustomMode) {
85+
if (value === 'Custom') {
9386
setStylingMode('contained');
9487
setType(state === 'initial' ? 'default' : 'danger');
9588
}
96-
}, [setStylingModeDisabled, setTypeDisabled, setDisplayMode, setStartText, setStopText, setStylingMode, setType]);
89+
}, []);
9790

9891
const onStylingModeValueChanged = useCallback(({ value }) => {
9992
setStylingMode(value);
100-
}, [setStylingMode]);
93+
}, []);
10194

10295
const onTypeValueChanged = useCallback(({ value }) => {
10396
setType(value);
104-
}, [setType]);
97+
}, []);
10598

10699
const onDisabledValueChanged = useCallback(({ value }) => {
107100
setDisabled(value);
108-
}, [setDisabled]);
101+
}, []);
109102

110103
const onLanguageValueChanged = useCallback(({ value }) => {
111104
setLanguage(value);
112-
}, [setLanguage]);
105+
}, []);
113106

114107
const onInterimResultsValueChanged = useCallback(({ value }) => {
115108
setInterimResults(value);
116-
}, [setInterimResults]);
109+
}, []);
117110

118111
const onContinuousValueChanged = useCallback(({ value }) => {
119112
setContinuous(value);
120-
}, [setContinuous]);
113+
}, []);
121114

122115
const onAnimationValueChanged = useCallback(({ value }) => {
123116
setAnimation(value);
124-
}, [setAnimation]);
117+
}, []);
125118

126119
return (
127120
<div className='speech-to-text-demo'>
@@ -152,7 +145,7 @@ export default function App() {
152145
/>
153146
<Button
154147
text='Clear'
155-
disabled={clearButtonDisabled}
148+
disabled={textAreaValue === ''}
156149
onClick={onClearButtonClick}
157150
/>
158151
</div>
@@ -174,7 +167,7 @@ export default function App() {
174167
dataSource={stylingModes}
175168
valueExpr='value'
176169
displayExpr='displayValue'
177-
disabled={stylingModeDisabled}
170+
disabled={displayMode === 'Custom'}
178171
inputAttr={stylingModeLabel}
179172
onValueChanged={onStylingModeValueChanged}
180173
/>
@@ -186,7 +179,7 @@ export default function App() {
186179
dataSource={types}
187180
valueExpr='value'
188181
displayExpr='displayValue'
189-
disabled={typeDisabled}
182+
disabled={displayMode === 'Custom'}
190183
inputAttr={typeLabel}
191184
onValueChanged={onTypeValueChanged}
192185
/>

0 commit comments

Comments
 (0)