|
DOC
|
Michael, My comments above on 9/21/2017 has the overall layout of what we implemented. I had to publish a Geoprocessing service that basically writes the sessionString to a .json/txt file and adds it to a .zip. The output parameter of that GP service is the .zip I only used the GP service because that's the only thing I have available for publishing services.
... View more
02-28-2018
12:38 PM
|
1
|
0
|
17504
|
|
POST
|
Just to post my findings: the issue I was having with GlobalID/ParentGlobalID values as {00000000-0000-0000-0000-000000000000} when implementing .load() on the FeatureSet with the service url was reproduced by ESRI support. This appears to be a problem with ArcGIS Desktop 10.3.1 (32/64 bit) and 10.4 (64 bit). My workaround was to load a json object and parse that to generate the desired output. Luckily, my requirement was to simply output individual csv files for the contents of the service layers/tables, so it was a matter of implementing the csv.DictWriter() to perform that task. One other issue that came up was with date columns would be written to the csv outputs as epoch format, so I needed to run a conversion on any date column prior to writing the csv.
... View more
02-28-2018
05:32 AM
|
0
|
0
|
1393
|
|
DOC
|
Just to post my findings: the issue I was having with GlobalID/ParentGlobalID values as {00000000-0000-0000-0000-000000000000} when implementing .load() on the FeatureSet with the service url was reproduced by ESRI support. This appears to be a problem with ArcGIS Desktop 10.3.1 (32/64 bit) and 10.4 (64 bit). My workaround was to load a json object and parse that to generate the desired output. Luckily, my requirement was to simply output individual csv files for the contents of the service layers/tables, so it was a matter of implementing the csv.DictWriter() to perform that task. One other issue that came up was with date columns would be written to the csv outputs as epoch format, so I needed to run a conversion on any date column prior to writing the csv.
... View more
02-28-2018
05:30 AM
|
0
|
0
|
15249
|
|
DOC
|
The popup for the Edit widget really needs to be in a panel because most common complaint from users is that the popup covers up the map features. I think there is a hosted app that does this (Basic Viewer app?) that at least elongates the popup and docks it on the right side of the window without any callout, just as its own panel.
... View more
02-27-2018
01:37 PM
|
0
|
0
|
15191
|
|
DOC
|
Thank you! I took a quick stab at altering the Edit Widget's default popup window. I just added the infoWindow.resize after line 322 of the Widget.js file. this.map.infoWindow.resize(340,820) It's still a "callout" where the popup opens at the location of the feature being edited, but it's a start (at least will alleviate some aggravation of having to scroll so much when modifying many attributes. Unsure about any negative affects or full performance, just a quick test.
... View more
02-27-2018
12:58 PM
|
0
|
0
|
15191
|
|
DOC
|
Robert, I attempted to alter the resetInfoWindo function in the MapManager.js file in an attempt to modify the popup for the Edit widget (ie. I'm using your Popup Widgets "edit" option to open the edit widget. My customer requirement however is for the attributes of the edit widget to be contained in a panel rather than a callout-popup at the location of the feature being edited. I understand that this probably has more to do with the Edit widget, not your excellent popup widget, but any tip on which file to tweak to adjust the edit widget popup? Thanks for all of your work and assistance.
... View more
02-27-2018
11:26 AM
|
0
|
0
|
15191
|
|
POST
|
Oh totally my fault! I was so buried in the JavaScript that I was certain I broke it somehow. I had to remove/re-add the original widget to ultimately see that config!!! LOL.
... View more
02-27-2018
07:00 AM
|
0
|
0
|
343
|
|
POST
|
Just an fyi on modifying this theme's widget pool settings to open multiple widget/panels on startup -- the popup panel widget would open at startup as I wanted but it would automatically close! Then any subsequent open (by clicking the widget) it would open and stay open. I'll just say, please ay attention to the actual default config dialog -- I was so focused on the JavaScript, thinking that I had done something wrong, but there is a "Close this widget on widget startup" setting that needs to be unchecked!
... View more
02-27-2018
06:45 AM
|
0
|
2
|
2648
|
|
POST
|
haha! Brilliant! Using the right property is a great idea and seems to work on my dev computer great!
... View more
02-26-2018
08:49 AM
|
0
|
0
|
2648
|
|
POST
|
Okay, I can get close to setting the position where I open the second widget by adding a second _getNextPosition() function and add a conditional statement in the _showIconContent function to test for identifying that second widget I want to position on the right side of the screen. The issue is that I won't know the exact screen size and if my "offset" value is too high then the widget is automatically placed at position left: 0 Perhaps if I can test for window.size or something like that? Then I could at least setup a right-position based upon ranges of screen size values that open the app. This would only be ideal for non-mobile devices. // show icon content
_showIconContent: function(iconConfig) {
if (iconConfig.inPanel === false) {
var name = iconConfig.name;
this.widgetManager.loadWidget(iconConfig).then(lang.hitch(this, function(widget) {
this.openedId = iconConfig.id;
html.setStyle(widget.domNode, 'zIndex', 0);
if (name !== "OverviewMap") {
widget.setPosition(this.wPos, this.map.id);
}
this.widgetManager.openWidget(widget);
domStyle.set(widget.domNode, "display", null);
this._minimizeController();
}));
} else {
var pid = iconConfig.id + '_panel';
var panel = this.panelManager.getPanelById(pid);
if (pid == "widgets_Edit_Widget_54_panel") {
var pos = this._getSecondWidgetPosition();
}
else {
var pos = this._getNextPosition();
}
if (panel) {
pos = panel.position;
}
iconConfig.panel.position = pos;
this.openedIds.push(iconConfig.id);
this.panelManager.showPanel(iconConfig).then(lang.hitch(this, function(panel) {
aspect.after(panel, 'onClose', lang.hitch(this, function() {
this._switchNodeToClose(iconConfig.id);
}));
}));
}
},
// get next position
_getNextPosition: function() {
this._updatePanelCount(1);
var offset = (this.panelCount - 1) * 10 + 10;
var pos = {
top: 0,
left: offset,
width: 320,
height: 450,
relativeTo: 'map'
};
return pos;
},
_getSecondWidgetPosition: function () {
this._updatePanelCount(2);
var offset = (this.panelCount - 1) * 1400; //700 + 700;
console.log("offset value: ", offset)
var pos = {
top: 0,
left: offset,
width: 425,
height: 835,
relativeTo: 'map'
};
return pos;
},
... View more
02-26-2018
08:39 AM
|
0
|
2
|
2648
|
|
POST
|
Thank you! I'll be back shortly to mark as correct.
... View more
02-26-2018
07:42 AM
|
0
|
4
|
2648
|
|
POST
|
Ultimately, would like to have Edit and Popup Panel widgets as such onOpen of the application.
... View more
02-26-2018
07:41 AM
|
0
|
0
|
2648
|
|
POST
|
WAB Developer 2.5 Dart Theme Attempting to open two widgets at application open. -Popup Panel Widget -Edit Widget I updated the config.json of each widets openAtStart property but this doesn't work to open both at the same time. Not sure if there's another palce(s) that will need altered. "widgetPool": {
"panel": {
"uri": "themes/DartTheme/panels/DartPanel/Panel",
"position": {
"relativeTo": "map"
}
},
"widgets": [
{
"uri": "widgets/LayerList/Widget",
"version": "2.5",
"id": "widgets_LayerList_Widget_19",
"name": "LayerList",
"index": 2
},
{
"name": "Edit",
"version": "2.5",
"uri": "widgets/Edit/Widget",
"index": 3,
"id": "widgets_Edit_Widget_54",
"config": "configs/Edit/config_Edit.json",
"openAtStart": true
},
{
"name": "PopupPanel",
"uri": "widgets/PopupPanel/Widget",
"config": "configs/PopupPanel/config_PopupPanel.json",
"index": 4,
"id": "widgets_PopupPanel_Widget_55",
"version": "2.6",
"openAtStart": true
}
],
... View more
02-26-2018
07:02 AM
|
0
|
10
|
3222
|
|
POST
|
Thanks Randy --- this is definitely much more manageable when dealing with hosted feature services that are Survey123 sources as they can have tons and tons of columns. Also slight change to the setup of the DictWriter dialect attribute helps to validate things such as commas (since we're writing out to csv files, there can be issues if users are adding commas to values). dw = csv.DictWriter(
outf,
delimiter="\t", # for tab delimited; omit for csv
quotechar='"',
dialect='excel', # seems to handle commas in values
fieldnames=['objectid', 'globalid', 'SurveyDate', 'Ingress1Arrive', 'PointX', 'PointY']
)
... View more
02-22-2018
02:05 PM
|
1
|
2
|
3601
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 02-17-2020 10:47 AM | |
| 1 | 10-25-2022 11:46 AM | |
| 1 | 08-08-2022 01:40 PM | |
| 1 | 02-15-2019 08:21 AM | |
| 2 | 08-14-2023 07:14 AM |
| Online Status |
Offline
|
| Date Last Visited |
01-22-2025
02:28 PM
|