Skip to content

Commit ea41c59

Browse files
committed
issue 2132 fix
1 parent 176bb68 commit ea41c59

File tree

4 files changed

+37
-10
lines changed

4 files changed

+37
-10
lines changed

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,17 @@ export default class Devices extends ConsentComponent {
280280
this.setState({ isMobileView: window.innerWidth <= screenSM });
281281
}
282282

283+
isFormValid() {
284+
const { newDevice } = this.state;
285+
if (!newDevice.deviceType) {
286+
valid = false;
287+
}
288+
if (newDevice.manufacturer.trim().length === 0) {
289+
valid = false;
290+
}
291+
return this.onCheckFormValue(newDevice);
292+
}
293+
283294
render() {
284295
const {
285296
deviceTrait, isMobileView, showConfirmation, indexNo,
@@ -288,7 +299,7 @@ export default class Devices extends ConsentComponent {
288299
? deviceTrait.traits.data.slice() : [];
289300
const { newDevice, formInvalid, errorMessage } = this.state;
290301
const canModifyTrait = !this.props.traitRequestCount;
291-
302+
const isValidDeviceForm = this.isFormValid();
292303
return (
293304
<div styleName="devices-container">
294305
{

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)