POST
|
Can you check what error (if any) gets generated in the debug console? My guess is that you have mix content. WAB is probably running on http and your service is running in https.
... View more
08-12-2015
01:01 PM
|
1
|
1
|
318
|
POST
|
try just https://gistest.mnpower.com/mpgis/rest/services to see if it can reach your services directory and see if you can drill out to get to the GP you need. On your other point, you don't need to add the config, but WAB keeps track of what has been added or removed. Since we changed the manifest and folder, WAB sees it and imports it as a whole separate js library. You could load a config.json if you wanted to specifically load and troubleshoot some issue, but not needed. The widget will run in a container, that's why you can have two of basically the same widget. The one thing that could get weird affects is that we left the base class the same. so CSS changes could affect both widgets. You could change that later on, but it's not important to test and resolve your issue.
... View more
08-12-2015
11:52 AM
|
1
|
3
|
318
|
POST
|
Brandon, You should not have to do step 4. Not sure if that causes any issues. You should not have to modify the widget.html file as well. I'll attached mine that I used. See if it works for you. Just drop it into client/stemapp/widgets and you should be good to go. let me know if it works. Thanks, Previn
... View more
08-12-2015
08:29 AM
|
1
|
5
|
1065
|
POST
|
Brandon, Yes, making that change will clause all other GP tools to auto execute. What you want to you is make a copy of the GP widget by copying the folder, call the folder something else, and change value in the "name" in the manifest.json file and the "_widgetLabel" in the nls/string.js file. Best to change it to match the folder name. That way WAB will see it as a whole different widget. Then you can have this one auto execute, and then use the existing GP widget for all other GP needs. I made a simple GP that doesn't take any user inputs and using the code change above, does auto fire and complete. Please check the video attached.
... View more
08-11-2015
04:16 PM
|
1
|
7
|
1065
|
POST
|
This widget seems to only have just the startup function so that is the only event state we have to deal with. If you go into your WAB install folder/client/stemapp/widgets/geoprocessing. If you open the Widget.js file in your text editor of choice. You will notice on line 49, there is "startup: function()". This function ends around line 129. If you open the widget.html file, you will see around line 12, the button that calls "_onExecuteClick". You just need to add this function to the end of the startup function so that it fires off without any user interaction. The startup function, with the change, would look like the following with the call to execute the GP at the end. startup: function(){
this.inherited(arguments);
if(!this.config.taskUrl){
html.setStyle(this.toolNode, 'display', 'none');
html.setStyle(this.errorNode, 'display', '');
return;
}
this.inputNodes = [];
this.drawTools = [];
//each result will be displayed by dijit
this.resultNodes = [];
this.resultLayers = [];
editorManager.setMap(this.map);
editorManager.setNls(this.nls);
resultRendererManager.setMap(this.map);
resultRendererManager.setNls(this.nls);
this.gp = new Geoprocessor(this.config.taskUrl);
this.gp.setOutSpatialReference(this.map.spatialReference);
if(this.config.updateDelay){
this.gp.setUpdateDelay(this.config.updateDelay);
}
this.tab = new TabContainer({
tabs: [{
title: this.nls.input,
content: this.inputPaneNode
}, {
title: this.nls.output,
content: this.outputPaneNode
}],
selected: this.nls.input
});
this.tab.placeAt(this.domNode);
this.tab.startup();
this.loading = new LoadingIndicator({
hidden: true
}, this.loadingNode);
this.loading.startup();
//Fires when a synchronous GP task is completed
this.own(on(this.gp, 'execute-complete', lang.hitch(this, this.onExecuteComplete)));
//Fires when an asynchronous GP task using submitJob is complete.
this.own(on(this.gp, 'job-complete', lang.hitch(this, this.onJobComplete)));
this.own(on(this.gp, 'job-cancel', lang.hitch(this, this.onJonCancel)));
//Fires when a job status update is available.
this.own(on(this.gp, 'status-update', lang.hitch(this, this.onStatusUpdate)));
//Fires when the result of an asynchronous GP task execution is available.
this.own(on(this.gp, 'get-result-data-complete',
lang.hitch(this, this.onGetResultDataComplate)));
//Fires when a map image is generated by invoking the getResultImage method.
this.own(on(this.gp, 'get-result-image-layer-complete',
lang.hitch(this, this.onGetResultImageLayerComplate)));
this.own(on(this.gp, 'error', lang.hitch(this, this.onError)));
html.setAttr(this.helpLinkNode, 'href', this.config.helpUrl);
this._generateUniqueID();
if(!("serverInfo" in this.config)){
//Load gp server info if it does not exist.
gputils.getServiceDescription(this.config.taskUrl).then(lang.hitch(this,
function(taskInfo){
this.config.serverInfo = taskInfo.serverInfo;
this._createInputNodes();
}));
}else{
this._createInputNodes();
}
this._onExecuteClick();
},
... View more
08-11-2015
11:27 AM
|
2
|
9
|
1065
|
POST
|
Are you running a WAB developer version or an exported template version on your ArcGIS Server? If so, you could just modify the widget and chain the event states of the widgets (post create, startup, call GP) so that there is minimal user interaction. Just show a dijit message box once the GP has finished.
... View more
08-11-2015
07:43 AM
|
2
|
11
|
1065
|
POST
|
If I understand your issue correctly, what you can do is use queryIds, to get the objects ids in the map extent, then on the call back of the queryIds, you can query for the actual result set. something like var queryparams = new Query(); queryparams.geometry = UserSuppliedGeom; flayer.queryIds(queryparams, lang.hitch(this, function(objectIds) { //do something with certain Line Ids or var query = new Query(); query.returnGeometry = false; query.outFields = ['*']; query.objectIds = objectIds; flayer.queryFeatures(query, lang.hitch(this, function(featureSet) { //do somthing with result set. } }
... View more
08-10-2015
07:51 AM
|
1
|
1
|
383
|
POST
|
Siva, Just to let you know, this violates Google's TOU for Google Maps. Please give it a read, especially section starting at 10.1. You cannot use a third party API (ArcGIS javascript) to make request to Google. You cannot access the Google tiles directly without going through the google maps api. Lastly, you cannot have google map embedded with a non-google map in the UI.
... View more
08-06-2015
07:31 AM
|
3
|
3
|
635
|
POST
|
I see that you are trying to access the this.map from a callback. You have to put the right scope on the callback using lang.hitch, such as featurelayer.queryFeatures(query, lang.hitch(this,function(result){... That way, you maintain the scope of the widget. Also, if (_onPointBtnClicked) is perfomed from a button on the UI, you might to add the lang.hitch as well to the registered button's on event.
... View more
08-03-2015
01:41 PM
|
1
|
0
|
683
|
POST
|
Since you have multiple loops going on and actions in those loops calling deferred functions, you can add all the geometry calls in an object or array and wrap it in a "dojo/promise/all". That way, the callback will not happen until the objects in the "all" have executed. Another way is to have the GeometryService callback advance the loop, so that it becomes kinda synchronous. Also, you can look into using geometryEngine instead of GeometryService to do your distance.
... View more
07-02-2015
03:38 PM
|
1
|
1
|
348
|
POST
|
Mike, When you create your dynamic feature list, you need to lang.hitch them during that time otherwise run time, the scope will be off as you mentioned. this.own(on(Node, 'click', lang.hitch(this, "MyWidgetJSFunctionInTheseQoutes", param1, param2, etc))); Hope this helps.
... View more
07-02-2015
09:17 AM
|
1
|
1
|
256
|
POST
|
Bing, The attribute table is alittle tricky. I'm been trying to manipulate it myself. The first solution I offered was the least intrusive in my mind, too bad it didn't work fully. What I found is that the attribute table is fed from module "jimu/LayerInfos/LayerInfos". So if you look at the widget PopupMenuInfo.js around line 260 (_onTableItemClick event) as a example. You will see how you get an instance of LayerInfos, get the layers in it, and then send it the attribute Table widget. Pretty much the widget to widget communication that Tom had as a link above.
... View more
06-15-2015
08:28 AM
|
0
|
0
|
358
|
POST
|
From the different screenshots I see, you are accessing multiple domains (local host, *.arcgis.com). Since these domains are different, they cannot access the authenticated session cookie of each other. From screenshot 3, when you click on an application, are you prompted to login each and every time you click on an application from screenshot 3?
... View more
06-15-2015
08:11 AM
|
0
|
0
|
335
|
POST
|
You could make your query result a feature layer and then add it to the map. Then in the layer list, right click the resulting query layer and go show attribute table.
... View more
06-11-2015
03:47 PM
|
0
|
2
|
358
|
POST
|
Not a straight 1 to 1 dependency. But some stuff like Query Statistics (at v 2.6) needs ArcGIS Server 10.1 and above since that option to return statistics was on that release.
... View more
06-05-2015
07:43 AM
|
2
|
0
|
256
|
Title | Kudos | Posted |
---|---|---|
1 | 06-22-2020 10:48 AM | |
1 | 08-12-2015 11:52 AM | |
1 | 04-22-2015 03:07 PM | |
1 | 08-12-2015 01:01 PM | |
1 | 08-11-2015 04:16 PM |
Online Status |
Offline
|
Date Last Visited |
Monday
|