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

109479
507
01-08-2015 07:55 AM
AdamDrackley
Occasional Contributor III

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
AdamDrackley
Occasional Contributor III

The lack of this functionality is likely due to the lack of any image services to test with.  Do you have any Image Services publically available?

As always, just because it Is Not, does not mean it Cannot Be.

0 Kudos
BarnabyRockwell
Occasional Contributor III

None currently, but I will look into it.

Thanks,

Barnaby

0 Kudos
BarnabyRockwell
Occasional Contributor III

Adam,

Could you temporarily follow me so I can send you a PM?

-Barnaby

0 Kudos
AndžejMiloš
New Contributor II

I'm trying to get working ArcGIS for Server published Map services in WAB 2.1. We have ArcGIS for Server 10.1.  I have added LocalLayer widget in WAB.

When one dynamic map service from ArcGIS for Server added in the map using LocalLayer, everything works as expected: Layers are shown and hidden on the map when I check them in Layer List widget. But when two or more are added then check boxes can not be checked in Layer List widget. Sometimes data from all sublayers in the service are added to the map.

My WAB application is published here: ArcGIS Web Application Layer List widget is in top right corner.

I think the issue may be related to my previous post on the forum: Help to understand how setVisibleLayers works with WAB2.1 

Have anybody experienced this behavior in WAB before?

0 Kudos
AdamDrackley
Occasional Contributor III

I'll begin looking into this as part of the 2.2 release, thanks Andžej.  Someone noticed that it only seems to happen on the lowest layers within the LayerList, which is fun.  I hope to pin down what's going on soon for a release.

On the docket so far for a LocalLayer 2.2, in order of priority;

1) Related Table Viewing and Editing Capability - Complete

2) ImageService compatibility - Partially complete

3) Potential Layer Visibility bugs - Incomplete

4) Potential Print legend visibility issue - Incomplete

5) OGS Support - Incomplete

Hopefully I'll have something out soon.  As always, thanks for the community's patience and support!

AndžejMiloš
New Contributor II

Thanks Adam, waiting for 2.2 release. Here is another example with more layers: ArcGIS Web Application Indeed, also in this application, the lowest layer has these problem. But when I run the same application with node.js then it happened to the highest layer. 

I believe it is related to the WAB bug I found before using LocalLayer widget. It is described here and maybe helpful for you: https://community.esri.com/thread/184506-help-to-understand-how-setvisiblelayers-works-with-wab21 

0 Kudos
AdamDrackley
Occasional Contributor III

Hey Andžej, just a quick note that I've got a candidate version up for 2.2 that addresses your issue.  Consider this a 'beta' release; I'd like the community to test the 2.2 version a bit before I roll it out officially as the main version.  Make sure to read the Readme regarding some important caveats when configuring the LL widget for use with the Edit, AttributeTable, or IncidentAnalysis widgets, and perhaps some others.  Note that editing the Attribute Table widget should no longer be required in this release.

GitHub - cmndrbensisko/LocalLayer at LocalLayer2.2 

New features/Bug Fixes:

1) Related Table Viewing and Editing

2) ImageService compatibility with Popups

3) Bug related to Layer Toggling of first or last layer in Table of Contents fixed.

4) Bug related to Legend not appearing in Print Maps fixed

5) Added a "Preview" option that can be enabled for the LL widget; When enabled, this allows you to preview a MapService or FeatureService in the app by appending the service to the URL when launching.  Regardless of the LocalLayer config, the app will be launched showing only the specified Service, with all fields displayed in popups.

IE: http://mapApp/index.html?_preview=http://arcgis/rest/services/MyService/MapService

A full Web Map json configuration can also be fed directly to the application via the _jsonconfig={} url parameter.

6) "Hide in Legend" option added to Dynamic Layer, Feature Layer, and Image Layers.

7) Compatibility with the IncidentAnalysis widget.

Everyone should feel free to kick the tires on this.  No OGC support yet; Maybe 2.2.1 release.

BarnabyRockwell
Occasional Contributor III

Adam,

I'm still getting the issue in the Layer List when I turn on the bottom-most dynamic layer, the underlying two image service layers also turn on.

Cheers,

Barnaby

0 Kudos
BarnabyRockwell
Occasional Contributor III

Also, I am having major problems with the Attribute Table after I add image layers.  If I make the change to the settings.js file in the Att. Table widget as for previous LL widgets (note that this edit is not shown in LL widget 2.2 instructions), the layers show in the Att. Table widget editing GUI, and it is reading my Att. Table widget config file, but attributes for only one dynamic layer show in the Att. Table for the app.  

I have been using the Att. Table widget edits described here

WAB Dev 2.0: How to get layer names for Attribute Table widget to be read from config file 

but with or without those edits, my Attribute Table only displays data for one dynamic layer (it is configured to show about 6).  This is a showstopper issue, and I haven't been able to find a workaround.

0 Kudos
AdamDrackley
Occasional Contributor III

Thanks for testing, Barnaby.  The candidate LL widget should not longer require the Attribute Table edit in order to read those layers; Do you continue having problems if you rollback the Settings.js change?  Also, to ensure that your Builder environment 'reads' your LocalLayers, can you try opening the configuration menu for the LL widget and exiting via the OK button *prior* to opening the config menu for the Attribute Table, and see if this makes any difference?

0 Kudos