LocalLayerWidget Version 2.5 and AccessifizrWidget Layer - 09/28/2017

154720
507
01-08-2015 07:55 AM
AdamDrackley
Frequent Contributor

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!

LocalLayerWidget

LocalLayerWidget v 2.5

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 

  • Support for 2.5 Release of ArcGIS Web App Builder
  • Support for Custom Layers via Transformers
  • Demos and sample apps
  • Prototype 3D Widget
  • Dynamic GUI changes at runtime and css insertion via odds.json/odds.css
  • And more!

November 14, 2016: LocalLayerWidget v2.2 released:  This major release includes the following enhancements for the widget:

Release LocalLayer v2.2 · cmndrbensisko/LocalLayer · GitHub 

  • Related Table Viewing and Editing
  • ImageService Viewing and Popups
  • WMS Service Viewing and Popups
  • Ability to integrate with the IncidentAnalysis widget
  • Hide Layer In Legend capability added
  • Dynamic mode added, allowing for URL-fed configuration files
  • And more!

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.

  • https://github.com/cmndrbensisko/LocalLayer/releases/tag/v2.0
  • Enhancements:
    • Added autorefresh capability for dynamic layers, and sub-minute decimal values can be specified for time.
    • Added support for non-consecutive sublayer numbering to support 10.3.1 mapservices
    • Editor Tracking via an organizational Active Directory instead of ArcGIS Online User now supported
  • Bug Fixes:
    • View Attachments now works for Dynamic Layers
    • Addition of GeoJson layers fixed
    • Fix to MapService sublayer visibility when no sublayers are selected to display by default.

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.

  • Includes support for GeoJSON and WebTileLayers
  • Custom Symbology and Labelling Options for Feature Layers
    • Currently requires the use of playground to generate custom json layer and label styling for Feature Layers.  For more information, please follow the instructions on the Github page.

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.

AccessifizrWidget

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.

507 Replies
NicholasBarger
Frequent Contributor

Ok...so I started from a fresh extraction of JAVA WAB and the same problem exists.  The draw and measure tools activate the popup when drawing or measuring a polyline / polygon, or perform a function where you click and release on the same location, then the popup is activated and displays.

Any ideas?  I am currently searching through the code trying to find out what the problem could be.  I'm looking for things like onClick, click, and the this.originOperLayer.ur or any variation of that to see if it needs to be replaced with the new link.  These apps are also in State Plane feet... but I don't have any problems with this prior to the activation of the local layer widget.

0 Kudos
NicholasBarger
Frequent Contributor

One solution I found was to turn off popups in the local layer and use Robert's identify tool instead.

Thanks for catching the typo Rebecca!

0 Kudos
PaulDavidson1
Frequent Contributor

Adam:

I'm trying to follow your instructions and give this a shot with my local WAB install.

I installed the new WAB 1.1

However, when I follow your instructions to get the LL widget running, I find that the folder and json file:

....\client\builder\predefined-apps\default2DApp\config.json

do not exist.

I have ....\client\builder but no predefined-apps folder and so of course no default2DApp folder.

I did find:

C:\arcgis-web-appbuilder-1.1\client\stemapp\predefined-apps\default and will proceed to modify the config.json found there.

I see by that release 1.0 has the folder structure ....\client\builder\predefined-apps\default2DApp so this is a change with the new release.

unfortunately, I find 62 copies of config.json under the root WAB folder so ....

Thank for an update

0 Kudos
PaulDavidson1
Frequent Contributor

I believe I added a reply regarding the install of this widget in WAB 1.1 but it hasn't posted yet.

I might have killed the reply before I submitted it....

To add to it,

line 433 has gone to line 450

var url = this.originOperLayer.url + '/' + subId;

and line 406 to 423

var url = this.originOperLayer.url + '/layers';

Fortunately, I only found them once in the file so that was an easy swap.

0 Kudos
AdamDrackley1
Deactivated User

That sounds like good news, Paul.  Does everything seem to work as expected in v.1.1?  Consider yourself the canary in the coalmine!

0 Kudos
BarnabyRockwell
Deactivated User

Believe me, if 1.1 had broken widget functionality, you would have heard about it from me immediately!    All is well with the widget and WAB Dev 1.1 in my public and internal apps.

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

Paul,

   Thanks for reminding us to update the install instructions. They have now been updated with the new line numbers and the new location of the predefined-apps folder

0 Kudos
ChadRicks
Regular Contributor

This widget works great! I was wondering if there is a way to use a definition expression on the service like the flex api had on its sublayer?

0 Kudos
NicholasBarger
Frequent Contributor

So I am experiencing some oddities.. and I think they have something to do with this widget, but I am not totally sure.

I had one app that I was able to create popups for within the local layer widget and it WORKED correctly.  Since everything was good I went back into my previous apps and tried to create popups for them as opposed to using the Identify widget.  That app looked fine in the WAB, but when deployed the popup window was tiny... like 50% the normal size.  When I went back to the deployed app that was working correctly those popups stopped working and I am unable to get them back.

Anyone else experience anything similar?

0 Kudos
NicholasBarger
Frequent Contributor

It looks like I might be on to something here...

I was adding an additional coordinate system in the coordinate widget as the default.  When you do this it prompts you to click on the map to get the coordinates.  I'm thinking there was some problems between this widget and that one.  I removed the coordinate widget and the popups worked.  I also added it back in and only kept the default coordinate system, which changes as you move the mouse and the popups work.  My next test is to see why they popup box is sized appropriately for one app and not the other.

0 Kudos