Skip to content

Commit a341f81

Browse files
Merge pull request #2327 from rashmi73/issue_2132
issue 2132 fix
2 parents 7e2860a + eb1f0ef commit a341f81

File tree

4 files changed

+37
-14
lines changed

4 files changed

+37
-14
lines changed

src/shared/components/Settings/Tools/Devices/index.jsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ export default class Devices extends ConsentComponent {
187187
* Invalid value, can not save
188188
* @param newDevice object
189189
*/
190-
onCheckFormValue(newDevice) {
190+
onCheckFormValue(newDevice, updateState = true) {
191191
let invalid = false;
192192

193193
let errorMessage = '';
@@ -227,7 +227,9 @@ export default class Devices extends ConsentComponent {
227227
errorMessage += ' cannot be empty';
228228
}
229229

230-
this.setState({ errorMessage, formInvalid: invalid });
230+
if (updateState) {
231+
this.setState({ errorMessage, formInvalid: invalid });
232+
}
231233
return invalid;
232234
}
233235

@@ -280,6 +282,11 @@ export default class Devices extends ConsentComponent {
280282
this.setState({ isMobileView: window.innerWidth <= screenSM });
281283
}
282284

285+
isFormValid() {
286+
const { newDevice } = this.state;
287+
return this.onCheckFormValue(newDevice, false);
288+
}
289+
283290
render() {
284291
const {
285292
deviceTrait, isMobileView, showConfirmation, indexNo,
@@ -288,7 +295,7 @@ export default class Devices extends ConsentComponent {
288295
? deviceTrait.traits.data.slice() : [];
289296
const { newDevice, formInvalid, errorMessage } = this.state;
290297
const canModifyTrait = !this.props.traitRequestCount;
291-
298+
const isInValidDeviceForm = this.isFormValid();
292299
return (
293300
<div styleName="devices-container">
294301
{
@@ -412,7 +419,7 @@ export default class Devices extends ConsentComponent {
412419
<PrimaryButton
413420
styleName="complete"
414421
onClick={this.onHandleAddDevice}
415-
disabled={!canModifyTrait}
422+
disabled={!canModifyTrait || isInValidDeviceForm}
416423
>
417424
Add device to your list
418425
</PrimaryButton>
@@ -497,7 +504,7 @@ export default class Devices extends ConsentComponent {
497504
<PrimaryButton
498505
styleName="complete"
499506
onClick={this.onHandleAddDevice}
500-
disabled={!canModifyTrait}
507+
disabled={!canModifyTrait || isInValidDeviceForm}
501508
>
502509
Add Device
503510
</PrimaryButton>

src/shared/components/Settings/Tools/ServiceProviders/index.jsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default class ServiceProviders extends ConsentComponent {
3030
this.onAddServiceProvider = this.onAddServiceProvider.bind(this);
3131
this.loadPersonalizationTrait = this.loadPersonalizationTrait.bind(this);
3232
this.updatePredicate = this.updatePredicate.bind(this);
33-
33+
this.isFormValid = this.isFormValid.bind(this);
3434
const { userTraits } = props;
3535
this.state = {
3636
formInvalid: false,
@@ -247,6 +247,14 @@ export default class ServiceProviders extends ConsentComponent {
247247
this.setState({ isMobileView: window.innerWidth <= screenSM });
248248
}
249249

250+
isFormValid() {
251+
const { newServiceProvider } = this.state;
252+
if (newServiceProvider.serviceProviderType && (newServiceProvider.name.trim().length !== 0)) {
253+
return true;
254+
}
255+
return false;
256+
}
257+
250258
render() {
251259
const {
252260
serviceProviderTrait, isMobileView, showConfirmation, indexNo,
@@ -255,7 +263,7 @@ export default class ServiceProviders extends ConsentComponent {
255263
? serviceProviderTrait.traits.data.slice() : [];
256264
const { newServiceProvider, formInvalid, errorMessage } = this.state;
257265
const canModifyTrait = !this.props.traitRequestCount;
258-
266+
const isValidServiceProviderForm = this.isFormValid();
259267
return (
260268
<div styleName="service-provider-container">
261269
{
@@ -331,7 +339,7 @@ export default class ServiceProviders extends ConsentComponent {
331339
<PrimaryButton
332340
styleName="complete"
333341
onClick={this.onHandleAddServiceProvider}
334-
disabled={!canModifyTrait}
342+
disabled={!canModifyTrait || !isValidServiceProviderForm}
335343
>
336344
Add service provider to your list
337345
</PrimaryButton>
@@ -380,7 +388,7 @@ export default class ServiceProviders extends ConsentComponent {
380388
<PrimaryButton
381389
styleName="complete"
382390
onClick={this.onHandleAddServiceProvider}
383-
disabled={!canModifyTrait}
391+
disabled={!canModifyTrait || !isValidServiceProviderForm}
384392
>
385393
Add Provider
386394
</PrimaryButton>

src/shared/components/Settings/Tools/Software/index.jsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,14 @@ export default class Software extends ConsentComponent {
247247
this.setState({ isMobileView: window.innerWidth <= screenSM });
248248
}
249249

250+
isFormValid() {
251+
const { newSoftware } = this.state;
252+
if (newSoftware.softwareType && (newSoftware.name.trim().length !== 0)) {
253+
return true;
254+
}
255+
return false;
256+
}
257+
250258
render() {
251259
const {
252260
softwareTrait, isMobileView, showConfirmation, indexNo,
@@ -255,7 +263,7 @@ export default class Software extends ConsentComponent {
255263
? softwareTrait.traits.data.slice() : [];
256264
const { newSoftware, formInvalid, errorMessage } = this.state;
257265
const canModifyTrait = !this.props.traitRequestCount;
258-
266+
const isValidSoftwareForm = this.isFormValid();
259267
return (
260268
<div styleName="software-container">
261269
{
@@ -331,7 +339,7 @@ export default class Software extends ConsentComponent {
331339
<PrimaryButton
332340
styleName="complete"
333341
onClick={this.onHandleAddSoftware}
334-
disabled={!canModifyTrait}
342+
disabled={!canModifyTrait || !isValidSoftwareForm}
335343
>
336344
Add software to your list
337345
</PrimaryButton>
@@ -380,7 +388,7 @@ export default class Software extends ConsentComponent {
380388
<PrimaryButton
381389
styleName="complete"
382390
onClick={this.onHandleAddSoftware}
383-
disabled={!canModifyTrait}
391+
disabled={!canModifyTrait || !isValidSoftwareForm}
384392
>
385393
Add Software
386394
</PrimaryButton>

src/shared/components/Settings/Tools/Subscriptions/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ export default class Subscription extends ConsentComponent {
297297
<PrimaryButton
298298
theme={{ button: styles.complete }}
299299
onClick={this.onHandleAddSubscription}
300-
disabled={!canModifyTrait}
300+
disabled={!canModifyTrait || (newSubscription.name.trim().length === 0)}
301301
>
302302
Add subscription to your list
303303
</PrimaryButton>
@@ -328,7 +328,7 @@ export default class Subscription extends ConsentComponent {
328328
<PrimaryButton
329329
theme={{ button: styles.complete }}
330330
onClick={this.onHandleAddSubscription}
331-
disabled={!canModifyTrait}
331+
disabled={!canModifyTrait || (newSubscription.name.trim().length === 0)}
332332
>
333333
Add Subscription
334334
</PrimaryButton>

0 commit comments

Comments
 (0)