POST
|
I have attached ToolTipDialogs to several of my buttons. This works fine except in most environments, but not on the iPad. I'm able to touch any buttons on the iPad and execute code, except if the buttons are included in a dojo ToolTipDialog. I reviewed the init.js code and no events seemed to kick off from the ToolTipDialog from the iPad. Any suggestions?? This is the html code: On the IPad, the onClick event never executes the exportSelectedFeatures function. <!--Export Dropdown--> <div id="ExportDropdown" data-dojo-attach-point="ExportDropdown" style="display:none;"> <div id="ExportReport" class="jimu-btn" data-dojo-type="dijit/form/DropDownButton" data-dojo-attach-point="ExportReport" data-dojo-props="iconClass:'settingsIcon',showLabel:true"> <span> <b>Export Settings</b> </span> <div data-dojo-type="dijit/TooltipDialog" title="Tooltip"> <div class="jimu-btn" data-dojo-attach-point="btnExport" data-dojo-attach-event="onclick:exportSelectedFeatures">Export</div> </div> </div> </div>
... View more
07-01-2016
01:33 PM
|
0
|
0
|
1837
|
POST
|
Robert - That worked. I did need to add a callback, but now it works well. Thanks so much for your help!! This was the calling function: onTest: function () { var self = this; self._openPrintWidget(function() { this.PrintWidget.testPrint(); }); }, This was the final _openPrintWidget function: _openPrintWidget: function (callback) { //Opens print widget and assigns it to global variable PrintWidget var printWidget; var widgetCfg; if (this.wManager) { var widgetCfg = this._getWidgetConfig('Print'); if(widgetCfg){ printWidget = this.wManager.getWidgetByLabel(widgetCfg.label); if(printWidget){ this.wManager.openWidget(printWidget); this.pManager.showPanel(printWidget); this.PrintWidget = printWidget; callback(); } else { //alert("code2"); var widgetsConfig = this.appConfig.widgetPool.widgets; var widgetId; for(var i in widgetsConfig){ if(widgetsConfig.name == "Print"){ widgetId = widgetsConfig.id; break; } } var abc = WidgetManager.getInstance().getWidgetsByName("AnchorBarController")[0]; abc.setOpenedIds([widgetId]); setTimeout(function(){ printWidget = WidgetManager.getInstance().getWidgetById(widgetId); console.info("PrintWidget: " + printWidget); this.PrintWidget = printWidget; callback(); },3000); } } } },
... View more
06-10-2016
08:38 AM
|
1
|
0
|
414
|
POST
|
Robert, Close but still not quite there. //This works great and opens the print widget var abc = WidgetManager.getInstance().getWidgetsByName("AnchorBarController")[0]; abc.setOpenedIds([widgetId]); //None of the 3 sets a reference to the printwidget //Error - printWidget = undefined, widgetId = "widgets_Print_Widget_35" //printWidget = this.wManager.getWidgetById(widgetId); //Error - didn't work at all //printWidget = WidgetManager.getWidgetById(widgetId); //Error - printWidget = undefined printWidget = this.wManager.getWidgetById("widgets_Print_Widget_35"); It opens up the print widget fine, but in each case it just says the printWidget is undefined.
... View more
06-09-2016
10:48 AM
|
0
|
2
|
414
|
POST
|
Robert, That worked beautifully! The widget opens just the way it should. Is there an easy way to get a reference to the widget using the widgetid defined in this code? Tom
... View more
06-09-2016
07:46 AM
|
0
|
4
|
414
|
POST
|
Hmmmm...when I use the 3 lines above, the first line defines the controller as an array with 1 item. The second line defines widgetCfg but the third line gives me the error: "controller.openWidget is not a function" Am I missing something?
... View more
06-08-2016
06:10 PM
|
0
|
9
|
1234
|
POST
|
Robert, I'm assuming this is the anchorbar widget in which case the print widget belongs to it. Tom
... View more
06-08-2016
12:35 PM
|
0
|
11
|
1234
|
POST
|
Robert, I'm using the Launchpad theme and the Print widget is not part of a controller widget. Tom Sent from my iPhone
... View more
06-08-2016
08:53 AM
|
0
|
13
|
1234
|
POST
|
Robert, Thanks for your help. Something still isn’t right. If I load the Print widget, close it and then open if from another widget, it works fine. If I don’t load the Print widget and then open it from another widget using the openPrintWidget code you provided, then the Print Widget panel appears, but it stays blank and I get the following error: widget [widgets/Print/Widget] created. panel [widgets_Print_Widget_35_panel] created. Error: “PanelManager.js:148 fail to startup panel widgets_Print_Widget_35_panel. TypeError: Cannot read property 'id' of null” Any ideas? Tom
... View more
06-07-2016
01:04 PM
|
0
|
15
|
1234
|
POST
|
I'm trying to open the Print widget from another widget. If the widget has already been loaded I have no problem. If the print widget hasn't been loaded, it creates the widget and it creates the panel, but nothing shows. How do I show the panel? Console: widget [widgets/Print/Widget] created. PanelManager.js:83 panel [widgets_Print_Widget_35_panel] created. Code: _openPrintWidget: function () { if (this.wManager) { var widgetCfg = this._getWidgetConfig('Print'); if(widgetCfg){ var printWidget = this.wManager.getWidgetByLabel(widgetCfg.label); if(printWidget){ this.wManager.openWidget(printWidget); this.pManager.showPanel(printWidget); } else { this.wManager.loadWidget(widgetCfg).then(lang.hitch(this, function(widget){ if(widget){ this.wManager.openWidget(widget); this.pManager.showPanel(widgetCfg); } })); } } } },
... View more
06-06-2016
07:39 AM
|
0
|
18
|
5389
|
POST
|
I was so dumb. I had changed the label of eSearch to "Search", so getWidgetByLabel was opening another widget which had a label of "Search". So obviously it couldn't find any functions in the wrong widget. At least you confirmed that the code was correct event though my execution was faulty. Thanks.
... View more
05-09-2016
12:33 PM
|
0
|
0
|
259
|
POST
|
I'm trying to call an eSearch function from eLocate. I want to take the point from the eLocator and send it to the eLocate search function. It seems to recognize eSearch, but it keeps saying "eSearchWidget.search is not a function". Here's my code: eLocate: showlocation: //Open point in eSearch var widgetCfg = this._getWidgetConfig('eSearch'); if(widgetCfg){ var eSearchWidget = this.wManager.getWidgetByLabel(widgetCfg.label); if(eSearchWidget) { this.wManager.openWidget(eSearchWidget); eSearchWidget.search(ptGraphic.geometry,0); } } It places the graphic on the page, the infowindow appears and it gets all the way to the eSearchWidget.search line and then it errors out. I must be missing something??
... View more
05-09-2016
08:47 AM
|
0
|
2
|
1200
|
POST
|
If I see a specific layer (eg. "2 Foot Contour") on the Layer List widget, what's the easiest way to programmatically find the layer by name and turn its visibility on/off.
... View more
05-05-2016
12:20 PM
|
0
|
2
|
2439
|
POST
|
Robert, That makes sense. I can see where both options could come in handy. Thanks for your help and quick response. Tom
... View more
05-05-2016
12:09 PM
|
0
|
0
|
845
|
POST
|
Robert, Ok I read the help. In my case I want to take the parcel number from one widget in a WAB app and send it through the eSearch widget in the same app. Is that possible? This is the expression I would use: ?esearch=1819251005&slayer=7&exprnum=0 Or is this just designed to fire off outside of the WAB app? Something like this: https://gis.xxxx.com/wab_dev/?esearch=1819251005&slayer=7&exprnum=0 Tom
... View more
05-05-2016
11:39 AM
|
0
|
9
|
845
|
Title | Kudos | Posted |
---|---|---|
1 | 06-10-2016 08:38 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|