Hello,
I have been working on this application, (using the Javascript API), but I have encountered a slight problem.
One of the widgets (Search Widget with multiple sources) doesn't seem to function, although it is present/visible (all of the other widgets seem to be working as intended).
I see no errors in fiddler or console, but it definitely doesn't search..
I am not very proficient, and I was wondering if anybody might have any insight? I have attached the entire file (below) in the hopes that somebody might have the time to take a look.
Thank you in advance.
-James
Solved! Go to Solution.
James,
Your issue is that the sources property is called layer and not featureLayer anymore as it was in previous versions.
var searchWidget = new Search({
view: view,
includeDefaultSources: false,
locationEnabled: false,
sources: [{
layer: Parcels,
searchFields: ["PM_PAR_14"],
displayField: "PM_PAR_14",
exactMatch: false,
outFields: ["PARCEL_ID"],
name: "Parcel Number",
placeholder: "example: RP40N02W162502",
}, {
layer: Parcels,
searchFields: ["PM_MAIL_NM"],
displayField: "PM_MAIL_NM",
exactMatch: false,
outFields: ["PM_MAIL_NM"],
name: "Last Name, First Name",
placeholder: "example: Doe, John",
}, {
layer: Addresses,
searchFields: ["FULLADDRSS"],
exactMatch: false,
outFields: ["*"],
name: "Address",
}, {
layer: Actions,
searchFields: ["LABEL"],
exactMatch: false,
outFields: ["*"],
name: "Land Use Action",
}, {
featureLayer: Divisions,
searchFields: ["LD_Number"],
exactMatch: false,
outFields: ["*"],
name: "Land Division",
}]
});
James,
Your issue is that the sources property is called layer and not featureLayer anymore as it was in previous versions.
var searchWidget = new Search({
view: view,
includeDefaultSources: false,
locationEnabled: false,
sources: [{
layer: Parcels,
searchFields: ["PM_PAR_14"],
displayField: "PM_PAR_14",
exactMatch: false,
outFields: ["PARCEL_ID"],
name: "Parcel Number",
placeholder: "example: RP40N02W162502",
}, {
layer: Parcels,
searchFields: ["PM_MAIL_NM"],
displayField: "PM_MAIL_NM",
exactMatch: false,
outFields: ["PM_MAIL_NM"],
name: "Last Name, First Name",
placeholder: "example: Doe, John",
}, {
layer: Addresses,
searchFields: ["FULLADDRSS"],
exactMatch: false,
outFields: ["*"],
name: "Address",
}, {
layer: Actions,
searchFields: ["LABEL"],
exactMatch: false,
outFields: ["*"],
name: "Land Use Action",
}, {
featureLayer: Divisions,
searchFields: ["LD_Number"],
exactMatch: false,
outFields: ["*"],
name: "Land Division",
}]
});
Thank you Robert. That did the trick.
James,
No problem. Normally you would want the mark the reply that answered your question as the correct answer and not your reply to my correct answer.