Skip to content

Commit 0194866

Browse files
committed
feat: unify basic change handlers
1 parent 6e03cb5 commit 0194866

28 files changed

+206
-176
lines changed

src/main/default/lwc/getListInfoByName/getListInfoByName.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
<template>
22
<div class="slds-form">
33
<lightning-input
4+
name="objectApiName"
45
value={objectApiName}
5-
onchange={handleObjectApiNameChange}
6+
onchange={handleChange}
67
type="text"
78
label="Object API Name"
89
required
910
></lightning-input>
1011
<lightning-input
12+
name="listViewApiName"
1113
value={listViewApiName}
12-
onchange={handleListViewApiNameChange}
14+
onchange={handleChange}
1315
type="text"
1416
label="List View API Name"
1517
required

src/main/default/lwc/getListInfoByName/getListInfoByName.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ export default class GetListInfoByName extends LightningElement {
2020
);
2121
}
2222

23-
handleObjectApiNameChange(event) {
24-
this.objectApiName = event.target.value;
25-
}
26-
27-
handleListViewApiNameChange(event) {
28-
this.listViewApiName = event.target.value;
23+
handleChange(event) {
24+
const element = event.target;
25+
if (event.detail) {
26+
// Dropdown
27+
this[element.name] = event.detail.value;
28+
} else {
29+
// Other inputs
30+
this[element.name] = element.value;
31+
}
2932
}
3033

3134
handleSendRequest() {

src/main/default/lwc/getListUi/getListUi.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
<template>
22
<div class="slds-form">
33
<lightning-input
4+
name="objectApiName"
45
value={objectApiName}
5-
onchange={handleObjectApiNameChange}
6+
onchange={handleChange}
67
type="text"
78
label="Object API Name"
89
required
910
></lightning-input>
1011
<lightning-input
12+
name="listViewApiName"
1113
value={listViewApiName}
12-
onchange={handleListViewApiNameChange}
14+
onchange={handleChange}
1315
type="text"
1416
label="List View API Name"
1517
field-level-help="Leave this field empty to retrieve all list views"

src/main/default/lwc/getListUi/getListUi.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ export default class GetListUi extends LightningElement {
2020
);
2121
}
2222

23-
handleObjectApiNameChange(event) {
24-
this.objectApiName = event.target.value;
25-
}
26-
27-
handleListViewApiNameChange(event) {
28-
this.listViewApiName = event.target.value;
23+
handleChange(event) {
24+
const element = event.target;
25+
if (event.detail) {
26+
// Dropdown
27+
this[element.name] = event.detail.value;
28+
} else {
29+
// Other inputs
30+
this[element.name] = element.value;
31+
}
2932
}
3033

3134
handleSendRequest() {

src/main/default/lwc/getPicklistValues/getPicklistValues.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
<template>
22
<div class="slds-form">
33
<lightning-input
4+
name="recordTypeId"
45
value={recordTypeId}
5-
onchange={handleRecordTypeIdChange}
6+
onchange={handleChange}
67
type="text"
78
label="Record Type Id"
89
min-length="15"
910
field-level-help="Use the Object Info 'defaultRecordTypeId' property, which is returned from 'getObjectInfo' or 'getRecordUi'."
1011
required
1112
></lightning-input>
1213
<lightning-input
14+
name="fieldApiName"
1315
value={fieldApiName}
14-
onchange={handleFieldApiNameChange}
16+
onchange={handleChange}
1517
type="text"
1618
label="Field API Name"
1719
field-level-help="Field API name prefixed with the object API name like 'Account.Rating'."

src/main/default/lwc/getPicklistValues/getPicklistValues.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ export default class GetPicklistValues extends LightningElement {
2020
);
2121
}
2222

23-
handleRecordTypeIdChange(event) {
24-
this.recordTypeId = event.target.value;
25-
}
26-
27-
handleFieldApiNameChange(event) {
28-
this.fieldApiName = event.target.value;
23+
handleChange(event) {
24+
const element = event.target;
25+
if (event.detail) {
26+
// Dropdown
27+
this[element.name] = event.detail.value;
28+
} else {
29+
// Other inputs
30+
this[element.name] = element.value;
31+
}
2932
}
3033

3134
handleSendRequest() {

src/main/default/lwc/getPicklistValuesByRecordType/getPicklistValuesByRecordType.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
<template>
22
<div class="slds-form">
33
<lightning-input
4+
name="objectApiName"
45
value={objectApiName}
5-
onchange={handleObjectApiNameChange}
6+
onchange={handleChange}
67
type="text"
78
label="Object API Name"
89
min-length="15"
910
required
1011
></lightning-input>
1112
<lightning-input
13+
name="recordTypeId"
1214
value={recordTypeId}
13-
onchange={handleRecordTypeIdChange}
15+
onchange={handleChange}
1416
type="text"
1517
label="Record Type Id"
1618
field-level-help="Use the Object Info 'defaultRecordTypeId' property, which is returned from 'getObjectInfo' or 'getRecordUi'."

src/main/default/lwc/getPicklistValuesByRecordType/getPicklistValuesByRecordType.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ export default class GetPicklistValuesByRecordType extends LightningElement {
2020
);
2121
}
2222

23-
handleObjectApiNameChange(event) {
24-
this.objectApiName = event.target.value;
25-
}
26-
27-
handleRecordTypeIdChange(event) {
28-
this.recordTypeId = event.target.value;
23+
handleChange(event) {
24+
const element = event.target;
25+
if (event.detail) {
26+
// Dropdown
27+
this[element.name] = event.detail.value;
28+
} else {
29+
// Other inputs
30+
this[element.name] = element.value;
31+
}
2932
}
3033

3134
handleSendRequest() {

src/main/default/lwc/getRecord/getRecord.html

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
</div>
2020

2121
<lightning-input
22+
name="recordId"
2223
value={recordId}
23-
onchange={handleRecordIdChange}
24+
onchange={handleChange}
2425
type="text"
2526
label="Record Id"
2627
min-length="15"
@@ -40,8 +41,9 @@
4041
<div class="slds-grid slds-gutters">
4142
<div class="slds-col slds-size_1-of-2">
4243
<lightning-input
44+
name="fields"
4345
value={fields}
44-
onchange={handleFieldsChange}
46+
onchange={handleChange}
4547
type="text"
4648
label="Fields"
4749
required={isFieldVariant}
@@ -51,27 +53,30 @@
5153
</div>
5254
<div class="slds-col slds-size_1-of-2">
5355
<lightning-combobox
56+
name="layoutTypes"
5457
label="Layout type"
5558
value={layoutTypes}
5659
options={layoutTypeOptions}
57-
onchange={handleLayoutTypeChange}
60+
onchange={handleChange}
5861
required={isModeAndLayoutVariant}
5962
disabled={isFieldVariant}
6063
></lightning-combobox>
6164
<lightning-combobox
65+
name="modes"
6266
label="Mode"
6367
value={modes}
6468
options={modeOptions}
65-
onchange={handleModeChange}
69+
onchange={handleChange}
6670
required={isModeAndLayoutVariant}
6771
disabled={isFieldVariant}
6872
></lightning-combobox>
6973
</div>
7074
</div>
7175

7276
<lightning-input
77+
name="optionalFields"
7378
value={optionalFields}
74-
onchange={handleOptionalFieldChange}
79+
onchange={handleChange}
7580
type="text"
7681
label="Optional field"
7782
field-level-help="Field API name prefixed with the object API name like 'Account.Rating'."

src/main/default/lwc/getRecord/getRecord.js

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,15 @@ export default class GetRecordUi extends LightningElement {
4747
);
4848
}
4949

50-
handleRecordIdChange(event) {
51-
this.recordId = event.target.value;
50+
handleChange(event) {
51+
const element = event.target;
52+
if (event.detail) {
53+
// Dropdown
54+
this[element.name] = event.detail.value;
55+
} else {
56+
// Other inputs
57+
this[element.name] = element.value;
58+
}
5259
}
5360

5461
handleApiVariantChange(event) {
@@ -61,22 +68,6 @@ export default class GetRecordUi extends LightningElement {
6168
}
6269
}
6370

64-
handleFieldsChange(event) {
65-
this.fields = event.target.value;
66-
}
67-
68-
handleLayoutTypeChange(event) {
69-
this.layoutTypes = event.detail.value;
70-
}
71-
72-
handleModeChange(event) {
73-
this.modes = event.detail.value;
74-
}
75-
76-
handleOptionalFieldChange(event) {
77-
this.optionalFields = event.detail.value;
78-
}
79-
8071
handleSendRequest() {
8172
this.recordIdFinal = this.recordId;
8273
if (this.apiVariant === API_VARIANT_FIELDS) {

src/main/default/lwc/getRecordUi/getRecordUi.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,30 +19,34 @@
1919
</div>
2020

2121
<lightning-input
22+
name="recordIds"
2223
value={recordIds}
23-
onchange={handleRecordIdsChange}
24+
onchange={handleChange}
2425
type="text"
2526
label="Record Id"
2627
min-length="15"
2728
required
2829
></lightning-input>
2930
<lightning-combobox
31+
name="layoutTypes"
3032
label="Layout type"
3133
value={layoutTypes}
3234
options={layoutTypeOptions}
33-
onchange={handleLayoutTypeChange}
35+
onchange={handleChange}
3436
required
3537
></lightning-combobox>
3638
<lightning-combobox
39+
name="modes"
3740
label="Mode"
3841
value={modes}
3942
options={modeOptions}
40-
onchange={handleModeChange}
43+
onchange={handleChange}
4144
required
4245
></lightning-combobox>
4346
<lightning-input
47+
name="optionalFields"
4448
value={optionalFields}
45-
onchange={handleOptionalFieldChange}
49+
onchange={handleChange}
4650
type="text"
4751
label="Optional field"
4852
field-level-help="Field API name prefixed with the object API name like 'Account.Rating'."

src/main/default/lwc/getRecordUi/getRecordUi.js

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,15 @@ export default class GetRecordUi extends LightningElement {
2727
);
2828
}
2929

30-
handleRecordIdsChange(event) {
31-
this.recordIds = event.detail.value;
32-
}
33-
34-
handleLayoutTypeChange(event) {
35-
this.layoutTypes = event.detail.value;
36-
}
37-
38-
handleModeChange(event) {
39-
this.modes = event.detail.value;
40-
}
41-
42-
handleOptionalFieldChange(event) {
43-
this.optionalFields = event.detail.value;
30+
handleChange(event) {
31+
const element = event.target;
32+
if (event.detail) {
33+
// Dropdown
34+
this[element.name] = event.detail.value;
35+
} else {
36+
// Other inputs
37+
this[element.name] = element.value;
38+
}
4439
}
4540

4641
handleSendRequest() {

src/main/default/lwc/getRecords/getRecords.html

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
</div>
2020

2121
<lightning-input
22+
name="recordIds"
2223
value={recordIds}
23-
onchange={handleRecordIdsChange}
24+
onchange={handleChange}
2425
type="text"
2526
label="Record Ids"
2627
min-length="15"
@@ -41,8 +42,9 @@
4142
<div class="slds-grid slds-gutters">
4243
<div class="slds-col slds-size_1-of-2">
4344
<lightning-input
45+
name="fields"
4446
value={fields}
45-
onchange={handleFieldsChange}
47+
onchange={handleChange}
4648
type="text"
4749
label="Fields"
4850
required={isFieldVariant}
@@ -52,27 +54,30 @@
5254
</div>
5355
<div class="slds-col slds-size_1-of-2">
5456
<lightning-combobox
57+
name="layoutTypes"
5558
label="Layout type"
5659
value={layoutTypes}
5760
options={layoutTypeOptions}
58-
onchange={handleLayoutTypeChange}
61+
onchange={handleChange}
5962
required={isModeAndLayoutVariant}
6063
disabled={isFieldVariant}
6164
></lightning-combobox>
6265
<lightning-combobox
66+
name="modes"
6367
label="Mode"
6468
value={modes}
6569
options={modeOptions}
66-
onchange={handleModeChange}
70+
onchange={handleChange}
6771
required={isModeAndLayoutVariant}
6872
disabled={isFieldVariant}
6973
></lightning-combobox>
7074
</div>
7175
</div>
7276

7377
<lightning-input
78+
name="optionalFields"
7479
value={optionalFields}
75-
onchange={handleOptionalFieldChange}
80+
onchange={handleChange}
7681
type="text"
7782
label="Optional field"
7883
field-level-help="Field API name prefixed with the object API name like 'Account.Rating'."

0 commit comments

Comments
 (0)