I've been having a blast playing around with the new Web AppBuilder, and have taken a few cracks at putting together some custom Widgets that I'd like to share with the community. I hope these can assist in everyone's future Mappmaking endeavours!
September 28 2017 : LocalLayerWidget v2.5 released: This major release includes the following enhancements for the widget. Thanks to everyone who's donated!:
Release LocalLayerWidget 2.5 · cmndrbensisko/LocalLayer · GitHub
November 14, 2016: LocalLayerWidget v2.2 released: This major release includes the following enhancements for the widget:
Release LocalLayer v2.2 · cmndrbensisko/LocalLayer · GitHub
May 18, 2016: LocalLayerWidget v.2.0 released: This substantial change for Web App Builder v.2.0. removes the need to edit any core files in the Web App Builder, unlike previous versions. A slight change will still be necessary for the AttributeTable widget to work properly with LocalLayerWidget layers.
Mar 29, 2016: LocalLayerWidget v.1.3.1 released; Contains bugfixes to v.1.3. related to custom rendering for Feature Layers and toggling sublayer visibility in the LayerList widget.
Mar 22, 2016: LocalLayerWidget v.1.3 is now available! (Note the version naming change; Version 1.3 refers to its compatibility with v1.3 of the WAB - This is indeed the latest version of the widget as of March 22, 2016). Be sure to read the github page to see what tweaks need to be made to ensure that everything continues running smoothly in version 1.3 of the Web AppBuilder.
Feb 10, 2015: LocalLayerWidget v.1.5 is now available! This release contains full support for adding Tiled layers to your application directly from ArcGIS Server, in addition to the Basemap, Dynamic, and Feature layers available before. Feel free to grab the widget from our Release page located at https://github.com/cmndrbensisko/LocalLayer/releases.
Feb 2, 2015: LocalLayerWidget v.1.2 is now available! This release provides a great GUI developed by Robert Scheitlin to more easily add Feature, Dynamic, and Basemap layers to your ArcGIS Web AppBuilder Applications. Take it for a spin, and please keep us informed of any bugs or desired enhancements through our Github Issue Tracker located at https://github.com/cmndrbensisko/LocalLayerWidget/issues.
Jan 12, 2015: Note that LocalLayerWidget v.1.1 is now available, which provides Click-To-Identify support and the option to add Feature and Basemap layers in addition to Dynamic layers.
The LocalLayer Widget is intended to allow the direct addition of MapServices to an ArcGIS Web AppBuilder application, without needing to wrap the desired services in an ArcGIS Online/Portal Web Map.
https://github.com/cmndrbensisko/LocalLayerWidget
Basically, your basemap will still need to come from Portal/AGOL, but otherwise you just provide direct URLs to your own MapServices in the widget's configuration settings. The MapServices should load and display as usual in the map, and cooperate with the Legend, LayerList, and Attribute Table widgets. Click-To-Identify functionality won't work currently, though, because the current WAB implementation relies on Portal for all the popup info. As stated in the January 12th 2015 release, popups are fully customizable. Note that it's not an in-panel widget, so you'll need to follow a few extra steps in the project's Readme file.
Let's make Mapps accessible for everyone! With an eye on WCAG compliance, the Accessifizr Widget is designed to help make web applications keyboard navigable without having to modify core application code and UI.
https://github.com/cmndrbensisko/AccessifizrWidget
Information about how to configure this widget is available in the core Accessifizr.js library project available here, but the gist is that you create a JSON-based 'roadmap' detailing the keyboard navigation of your web application, and how it should change in response to users entering modal menus, hitting the escape button, etc. For applying descriptive alternate text to page elements, the widget leverages dojo's built-in internationalization support to specify multilingual alternate text strings. The end result is a web app that, hopefully, is a bit easier to use for people with mobility or visual challenges.
This would be an interesting exercise, but no, I haven't looked into it at all. It's not something that I could bundle into this widget, I don't think, because the 3D stemapp uses the 4x Javascript API, while the 2D stemapp uses the 3x.
esri finally added a Legend widget to 3-d apps in WD 2.4, so I now have interest in getting such apps into production. But the dependence on AGOL Web Scenes is a dealbreaker.
Hi Anthony
Used your locallayers widget for the first time. Think I might have missed something.
I loaded the widget in the server module into a separate app. I can add my layer, but when I confirm it gives me a message "Label exists"
Should a value be entered in the proxy settings?
Can you share a video of your widgets in the help section? It would be good for newbees
This is a great idea; I'll keep this in mind and see what I can do. Are you still getting that strange 'Label exists' error? The proxy settings shouldn't need to be used. If your service is public, I can try to see what's going on from my end.
Hi,
When using the LocalLayer Widget I’ve noticed some strange Layer List behavior after layers are added to the map by another widget (e.g., a results feature layer added by the Query widget after startup). The Layer List refreshes after the feature layer is added, but any checkboxes that have been toggled on/off since startup return to their initial state. The visibility of layers on the map is not affected, so the layer visibility and checkbox state can become out of sync.
Has anyone else observed the same behavior? I'm using the latest LocalLayer release with WAB 2.4.
Cheers,
Hi Adam
I am using you LL wodget. Went thru setting up directions step by step, but
In the widget configuration window I can add my layer, but when I confirm and press OK to exit config window it gives me a message "Label exists"
What am I missing?
Thanks so much!
Nadia
I think I've seen this recently as well, Nadia. Does the menu still exit? If not, and this will sound pretty dumb, will it exit if click the OK button repeatedly? If you can hit 'save', does it save the layers you configured?
How are you adding the widget to your app? Do you just toggle the visibility of the widget 'on' to activate it?
Hi Adam,
Thanks for your response. When I click "OK" on the"Label exists" window, it returns me back to the main widget config window, from where neither Cancel nor Close window buttons work, so I can only press OK again, and "Label exists" window reappears. The only way to get out this loop is to close the WAB tab in your browser.
I do not have a Save button in the widget, is it sth new?
I am adding widget to the header controller widgets. In config.json I set visible to true (I tried it with false and still get the Label Exists window.
Thanks for any help you may provide!
Nadia