Hi Robert,
Thanks for the suggestion. I have tried to uncheck that box in the search widget settings. It works correctly in the fact that it does not display the popup, but it also does not display the orange highlight for the selected feature that I want to keep. It zooms to the feature, but doesn't show any selection highlight.
This is what it looks like with it set to show popups
This is the results if I uncheck the show popups box.
Solved! Go to Solution.
Joel,
The Search widget disables the highlight if the infowindow is not show so to change this you have to edit the Search Widgets Widget.js Startup function (line 37):
startup: function() {
this.inherited(arguments);
if (!(this.config && this.config.sources)) {
this.config.sources = [];
}
LayerInfos.getInstance(this.map, this.map.itemInfo)
.then(lang.hitch(this, function(layerInfosObj) {
this.layerInfosObj = layerInfosObj;
this.own(this.layerInfosObj.on(
'layerInfosFilterChanged',
lang.hitch(this, this.onLayerInfosFilterChanged)));
utils.setMap(this.map);
utils.setLayerInfosObj(this.layerInfosObj);
utils.setAppConfig(this.appConfig);
when(utils.getConfigInfo(this.config)).then(lang.hitch(this, function(config) {
return all(this._convertConfig(config)).then(function(searchSouces) {
return array.filter(searchSouces, function(source) {
return source;
});
});
})).then(lang.hitch(this, function(searchSouces) {
if (!this.domNode) {
return;
}
this.searchDijit = new Search({
activeSourceIndex: searchSouces.length === 1 ? 0 : 'all',
allPlaceholder: jimuUtils.stripHTML(esriLang.isDefined(this.config.allPlaceholder) ?
this.config.allPlaceholder : ""),
autoSelect: true,
enableButtonMode: false,
enableLabel: false,
enableInfoWindow: true,
enableHighlight: true,
Joel,
The Search widget disables the highlight if the infowindow is not show so to change this you have to edit the Search Widgets Widget.js Startup function (line 37):
startup: function() {
this.inherited(arguments);
if (!(this.config && this.config.sources)) {
this.config.sources = [];
}
LayerInfos.getInstance(this.map, this.map.itemInfo)
.then(lang.hitch(this, function(layerInfosObj) {
this.layerInfosObj = layerInfosObj;
this.own(this.layerInfosObj.on(
'layerInfosFilterChanged',
lang.hitch(this, this.onLayerInfosFilterChanged)));
utils.setMap(this.map);
utils.setLayerInfosObj(this.layerInfosObj);
utils.setAppConfig(this.appConfig);
when(utils.getConfigInfo(this.config)).then(lang.hitch(this, function(config) {
return all(this._convertConfig(config)).then(function(searchSouces) {
return array.filter(searchSouces, function(source) {
return source;
});
});
})).then(lang.hitch(this, function(searchSouces) {
if (!this.domNode) {
return;
}
this.searchDijit = new Search({
activeSourceIndex: searchSouces.length === 1 ? 0 : 'all',
allPlaceholder: jimuUtils.stripHTML(esriLang.isDefined(this.config.allPlaceholder) ?
this.config.allPlaceholder : ""),
autoSelect: true,
enableButtonMode: false,
enableLabel: false,
enableInfoWindow: true,
enableHighlight: true,
That did the trick. Thanks Robert!