Builder updates
ArcGIS Experience Builder 1.16 includes several new features and enhancements as listed below:
- Actions—Adds the Edit data action. You can use this new data action to select a feature in another widget, open an Edit widget, and start editing the feature. The target Edit widget must be in a Widget Controller widget and must be connected to the same data source as the source widget. A Table widget can now target itself with the View in table data action. This is useful if you want to, for example, select some records and view them in a new sheet in the same table. Some message actions, including Zoom to, now prompt you to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. If you use the Show on map data action to view features from another widget in a Map widget, the features that you add to the map also appear in layer lists. A Map widget now returns to its default extent after you unselect a feature in a List widget that is configured with the Zoom to or Pan to message actions. Additionally, widgets that you move to the pending list do not appear as available targets when you are adding a message action. If you move a widget to the pending list that is already the target of a message action, that message action is turned off only for the device modes where you moved the widget to the pending list.
- Builder—In the settings of the Button, Menu, Views Navigation, and Widget Controller widgets, if any of the sections under Advanced are gray-ed out, it means the settings are synced to the theme. If you customize any of the advanced settings, the new Reset button appears next to each section that you customize. Click this button to return to the theme style.
- Data sources—Experience Builder now supports subtype group layers. For many widgets, the way you connect to a data source is unified and improved. The Edit widget, Feature Info widget, Map Layers widget, Search widget, Select widget, and Table widget now all have two options for connecting to data—connect to individual data sources or interact with a Map widget. When you choose to interact with a Map widget, the interacting widget connects to the first map on the current page automatically and syncs with data from the map.
- Express mode—Express mode is a new app editing mode that focuses on the most essential features. It is a simplified version of Experience Builder designed to let you efficiently make an app. You can start with nine different map-centric templates. You can add widgets in specific places in each template, and each template is optimized for medium- and small-screen devices. If you start in express mode and then decide you want to access all of Experience Builder's app editing features, you can move an app from express mode to full mode. However, you cannot move an app from full mode to express mode.
- Style settings—In widget style settings, you can now style all sides of the widget panel border at the same time or style each of them separately. This enhancement also applies to widgets that have border settings in their Content settings (List, Card, Button, and Views Navigation).
- Templates—Adds the Edifice fullscreen template, the Vista multi-page template, and two new scrolling page templates—Recap and Skyline.
- URL parameters—Adds the zoom_to_selection parameter. To make all maps zoom to selected features, you can add zoom_to_selection=true to the app URL. To make all maps pan to selected features, you can add zoom to selection=false. The General tab on the left of the builder now includes a Zoom to selected features check box under Manage URL status. The check box appears if you turn on Data selection. Check the box to include the zoom_to_selection=true parameter in the app URL when the user selects a feature.
Widgets
Other improvements include the following new and updated widgets:
- Accordion widget (new)—The Accordion widget is a layout container that you can use to organize other widgets into a vertically stacked menu with expand and collapse buttons.
- Add Data widget—You can choose to include the Rename button for each added data source in the widget panel at run time.
- Analysis widget—You can edit the names of custom geoprocessing tools that you add in the widget's settings. Geoprocessing tools can return many different kinds of error, warning, and status messages, and you can now choose which kinds of messages you want a custom tool to give to users. The widget supports three new data types—GPArealUnit, GPMultiValue:GPArealUnit, and GPComposite—as input and output data for custom geoprocessing tools.
- Basemap Gallery widget—When you are importing basemaps, you can now sort basemaps by relevance to a search term, date modified, title, view count, or owner. For those last four cateogires you can also choose a sort direction. Additionally, you can add basemaps by URL. The widget supports five types of basemap layers by URL—VectorTileLayer, ImageryLayer, ImageryTileLayer, TileLayer, and MapImageLayer. You can edit the attributes, including the label and thumbnail, of a basemap that you add by URL.
- Bookmark widget—You can hide bookmark names from bookmarks in the grid, gallery, and slides templates. If the template you choose supports bookmark names or descriptions, you can customize the font, style, color, and size. You can hide bookmark icons from the list template. You can choose to honor bookmark sizing from the connected web map or web scene. The Bookmark widget automatically connects to the first Map widget in the current page and displays any bookmarks from that map by default. The settings for customizing a bookmark's title, description, and image are improved to make them more user friendly.
- Business Analyst widget—Adds more ways to calculate travel time buffers. You can create buffers based on driving time, rural driving time, and trucking time. For all three, you can choose a travel direction, either away from the facility or towards the facility. Additionally, you can include traffic in travel time calculations, based on either live traffic or typical traffic for a specific time and day of the week. You can set a time offset for traffic conditions.
- Coordinates widget—You can use the new Use transform forward setting to specify whether you want to perform a datum transformation in the forward or reverse direction. You can enter a label for each coordinate system that you add. By default, the label is the coordinate system's name.
- Chart widget—You can now use a layer's symbology to color a chart. The bar and column charts now support time binning when you make the category field a date field. For line charts, if you use a number field as the category field, you can numerically parse the field as continuous or discrete on an axis. Parsing is the process of converting a string representation of a number into a numeric representation. You can turn off x- and y- axis labels. For series charts, you can hide any series that is empty, meaning it contains no data points, from the chart and legend. The widget now generates a default title based on your data. You can change this title in the widget's settings. You can now customize the label for an auxiliary guide by changing its color, style, and size. Additionally, the Chart widget no longer supports using ID fields for statistics other than count. If you have an existing chart that does this, the chart may fail and you should reconfigure the widget.
- Directions widget—In the widget's settings, you can choose to include route layers created by the Directions widget to appear in the layer lists, such as the Map Layers widget and the Map widget Layers tool.
- Draw widget—Adds a text drawing tool for writing text on a map. The tool includes common text formatting options that let you customize the font, font size, color, outline width, outline color, opacity, background color, and background opacity. Additionally, you can now include drawn features as a layer in layer lists, such as the Map Layers widget and the Map widget Layers tool.
- Edit widget—You can connect individual data sources or interact with a Map widget. If you connect the Edit widget to a Map widget, all layers from the Map widget are automatically synced to the Edit widget. If you only want to connect specific map layers to the widget, you can open the Select layers panel and turn on Customize layers. You can have the Enable tooltips option be turned on by default when the widget first loads. You can show vertices for selected line and polygon features. Users can drag, add, and delete vertices. The Edit features and Create features sections now only appear in the widget panel at run time if you turn on the relevant editing capabilities in the widget's settings.
- Elevation Profile widget—You can generate an elevation profile from multiple elevation layers. You can select lines from layers added at run time with the Add Data widget and use them to generate an elevation profile. Highlight next selectable is a new setting under Selectable Layers. You can choose whether to highlight connected line segments that can be selected next.
- Feature Info widget—The new Show index setting lets you show the total number of features in a layer.
- Filter widget—If you want users to create their own filter clauses at run time, you can add custom filters in the widget's settings. When you add a custom filter, you choose the data, and at run time the user can add clauses and clause sets using an expression builder.
- Grid widget—The buttons in the widget toolbar for adding new grid items, formerly named Split horizontally and Split vertically, are now named Insert after and Insert below. Additionally, you can choose a grid item to appear first when the app is viewed on a small-screen device.
- Map widget—You can make pop-ups appear at the Default docked position or switch to Custom and choose one of six anchor points within the frame of the Map widget. The default position is the top right corner of the map on large- and medium-screen devices and the bottom of the map on small-screen devices. The zoom_to_selection URL parameter now supports all three selection types: selections based on recordID (id), selection based on features' locations relative to other features (geometry), and selections based on attributes (where). If you configure another widget to target the Map widget with the Record selection changes trigger and the Zoom to or Pan to action, the map automatically zooms or pans back to its initial extent once you remove the selection. If you use the Show on map message or data action to view features from another widget in a Map widget, the features that you add to the map also appear in layer lists, and you can use the new Set as operational layers setting to enable pop-ups for those layers. Some message actions, including Zoom to and Pan to, now prompt you to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. When you configure the Record selection changes trigger with the Flash or Filter actions, you can use the new Automatic setting to make the widget flash or filter if the data from the source widget is in the Map widget. To save space, the settings in the Map widget's settings panel are collapsed by default.
- Map Layers widget—You can turn pop-ups on or off for each layer. When pop-ups are turned on for a layer, they appear when you click a feature in that layer.
- Menu widget—You can enter a border radius for the widget background in pixels or percent.
- My Location widget—Now out of beta. Layer visibility settings are synced between the My Location widget and the Swipe, Map Layers, and Map widgets. If you hide a layer in one widget, it is also hidden for the other widgets. You can show the Locations and Paths layers created by the My Location widget in the layer lists of other widgets, such as the Map Layers widget and the Map widget Layers tool.
- Near Me widget—If a data source has related data and you configure related records in pop-ups in Map Viewer, you can view related records in the Near Me widget. You can include polygons that intersect with an input location in results. You can choose to include features from layers that have their visibility turned off in an analysis results. A loading icon now appears while an analysis is running. Users can click this icon to cancel an analysis if it is taking too long. Additionally, the widget supports five more data actions—Zoom to, Pan to, Show on map, Set location, and Plan route.
- Query widget—You can allow users to run spatial filters with runtime data, such as layers added with the Add Data widget.
- Search widget—You can add individual search sources or interact with a Map widget. If you connect to a Map widget, by default the Search widget uses any layer and locators that are already configured as map search sources. If you want to change the search sources you can turn on Customize search sources and select available sources from the list that appears, or add new sources by clicking New search source. Additionally, in the Select data panel you can click a web map or service to add all of its layers as search sources at the same time. You can automatically select the first result when the user performs a search without having to turn on the result panel. If you are using the ArcGIS World Geocoding Service, you can enter a country code to narrow search results to that country.
- Select widget—There are two ways to connect the widget to data—you can add individual data sources or interact with a Map widget. If you connect to a Map widget, all visible layers in the connected maps or scenes are automatically synced to the Select widget. You can turn on Customize layers to choose specific layers to make selectable.
- Sidebar widget—When you configure the Open sidebar message action with the Record selection changes trigger, you are prompted to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. Additionally, you can set the size of the sidebar based on percent of the widget panel.
- Table widget—You can connect individual layers or interact with a Map widget. If you connect to a Map widget, any web maps or web scenes in the Map widget appear in a list in the Table widget's settings. Optionally, you can choose which layers from these maps and scenes to include in the table. Additionally, the Table widget can target itself with the View in table data action. This is useful if you want to, for example, select some records and view them in a new sheet in the same table. The new Filter by map extent tool allows you to filter the table based on the current map extent.
- Text widget—You can apply heading and paragraph formatting to text. You can apply six different heading levels. When you select the entire text box, text font color now also applies to bullets and numbering in lists.
- Timeline widget—You can connect individual data sources or interact with a Map widget. If you connect to a Map widget, the Timeline widget automatically syncs any time-aware data from the Map widget. There is a new method for visualizing data, Show current features. With this option, the widget only shows data at one particular point in time. The timeline will have a point that modes along the slider. Additionally, you can now choose to have the Timeline filtering applied option be turned on or off by default when the widget first loads at run time. You can set a level of display accuracy for the widget, ranging from years to seconds.
- Views Navigation widget—You can enter a border radius for the widget background in pixels or percent.
- Widget Controller widget—You can align widgets in the controller. Note that you will only notice a difference between alignments if the width or height of the controller is greater than the total length of the widgets. If there are too many widgets to fit in the length of the controller, you can now add arrows for navigating through all the widgets or add an icon labeled More widgets to the end of the controller. When the user clocks this icon, a window appears listing the remaining widgets. When you configure the Open widget message action, you are now prompted to choose trigger data. Trigger data is the data that triggers the message action. It can either be all of the data connected to the source widget, or some specific data. Additionally, the widget toolbar now includes the Manage widgets button. You can click this button to view a list of all the widgets in the controller. You can reorder widgets, remove them, or place them in a group. You create a group by in the controller by dragging a widget on top of another widget in the Manage widgets panel. Groups are simply Accordion widgets. They are useful because they allow you to place multiple widgets in one panel in the controller. A group has all the same settings as an Accordion widget, the only difference is that it is named a Group in the page outline. When you click a group in the controller, widgets in the group appear in a vertically stacked menu with expand and collapse buttons.
Developer edition updates
- More components are added to Storybook, including
Alert
,Popup Floating
,Panel Mobile
,Panel Multi
, andRange Slider Page
.Number - More APIs are added to
jimu-core
in API reference, includingapp
,Actions extension
, andSpec Url
.Manager - The size of downloaded apps is now reduced.
- The following new samples are available:
Breaking changes
jimu-core
- Property
token
is removed fromState
, widgetProps
and widget settingProps
. To get the token, useSession
instead.Manager.get Instance().get Main Session()?.token Data
Source - Property
is
is changed to methodData Source Set is
.Data Source Set()
- Property
Extension
Manager - Fix typo, the methods
destry
andWidget Extensions() destry
are rename toAll Extensions() destroy
andWidget Extensions() destroy
All Extensions()
- Fix typo, the methods
Extent
Change Message - Fix typo, the property
interacive
is renamed tointeractive
.
- Fix typo, the property
Data
Records Selection Change Message - A new required property
data
is added.Source Ids
- A new required property
jimu-ui
Jimu
andLayer View Selector Jimu
componentLayer View Selector Dropdown - Prop
default
is changed toSelected Values selected
Values
- Prop
Button
componentdisplay
style property is changed frominline-block
toinline-flex
. If you need to display a long string in the button, please refer to the below example:Use dark colors for code blocks Copy <Button> <div className='text-truncate'>This is a very very long text</div> </Button>
- The
active
prop is only valid when theButton
is used in theAdvanced
. For scenarios where a single button needs to have a selected state,Button Group variant
andcolor
can be combined to achieve the selected effect:Use dark colors for code blocks Copy <Button aria-pressed={selected} variant={selected ? 'contained' : 'text'} color={selected ? 'primary' : 'default'}> </Button>
Tab
component- Fix typo, prop
innner
is renamed toClass Name inner
Class Name
- Fix typo, prop
- utils
- Constant
Css
is moved toVariable Tester color
ofUtils jimu-theme
- Method
get
is removed, use it fromTheme Color color
ofUtils.get Theme Color Name Color jimu-theme
instead - Method
get
is removed, use it fromColor Value color
ofUtils.get Theme Color Variable Value jimu-theme
instead - Method
is
is removed, use it fromColor Variable color
ofUtils.is CSS Variable jimu-theme
instead - Method
is
is removed, use it fromValid Color color
ofUtils.is Standard Or CSS Variable Color jimu-theme
instead - Method
is
is removed, use it fromValid Normal Color color
ofUtils.is Standard Color jimu-theme
instead - Method
convert
is moved toJs API Symbol Color To String Color color
ofUtils jimu-theme
- Method
convert
is moved toString Color To Js API Symbol Color color
ofUtils jimu-theme
- Method
get
is removedColor Alpha - Method
is
is removedTransparent Color
- Constant
- jimu-ui/basic/list-tree
- Prop
is
's meaning is changed. In previous versions, it means whether other items can be dropped inside the item. Since this version, it means whether other items can be dropped inside, above or below the item.Item Droppable
- Prop
- jimu-ui/advanced/style-setting-components
Theme
componentBorder Section - Fix typo, prop
on
is renamed toBorder Rasius Change on
Border Radius Change
- Fix typo, prop
jimu-ui/advanced/rich-text-editor
Rich
componentText Editor - Prop
scrolling
is removed. The component will now automatically detect the scrollable ancestor, eliminating the need to provide this option.Container
- Prop
jimu-ui/advanced/chart
- Component
Bar
is removed, useChart Core Bar
instead.Chart - Component
Line
is removed, useChart Core Line
instead.Chart - Component
Pie
is removed, useChart Core Pie
instead.Chart - Component
Scatter
is removed, usePlot Core Scatter
instead.Plot - Component
Histogram
is removed, useCore Histogram
instead. - Component
Gauge
is removed, useCore Gauge
instead. - The props change for the above components:
- Prop
web
is removed, useMap Web Chart config
instead. - Prop
data
is removed, useSource config
instead. - Prop
arcgis
is removed.Charts Default Action Select - Prop
arcgis
is removed.Charts Action Bar Toggle - Prop
arcgis
is renamed toCharts Selection Complete on
Arcgis Selection Complete - Prop
arcgis
is renamed toCharts Data Process Complete on
Arcgis Selection Data Process Complete - Prop
arcgis
is renamed toCharts Data Process Error on
Arcgis Data Process Error - Prop
arcgis
is renamed toCharts Legend Item Visibility Change on
Arcgis Legend Item Visibility Change - Prop
arcgis
is renamed toCharts Series Color Change on
Arcgis Selection Series Color Change - Prop
arcgis
is renamed toCharts Axes Min Max Change on
Arcgis Axes Min Max Change - Prop
arcgis
is renamed toCharts No Render Prop Change on
Arcgis No Render Prop Change - Prop
arcgis
is renamed toCharts Selection Complete on
Arcgis Selection Complete
- Prop
- Component
jimu-arcgis
Jimu
Map View - The following methods are removed from
Jimu
:Map View add
,Or Remove Data On Map draw
,Data On Map draw
andData Record Set update
.Drawn Data Record Set
- The following methods are removed from
jimu-theme
- Component
Theme
is removed, useSwitcher Theme
instead.Switch Component
jimu-for-builder
App
Resource Manager - Method
get
is changed toIcon Resource List From Draft() get
Icon Resource List From Draft(app Id : string)
- Method
Others
- The value passed into the
widget-webpack-override.js
is changed from a webpack config to an array of webpack configs.
Previous releases
- Version 1.15 July 2024
- Version 1.14 March 2024
- Version 1.13 November 2023
- Version 1.12 July 2023
- Version 1.11 March 2023
- Version 1.10 November 2022
- Version 1.9 June 2022
- Version 1.8 April 2022
- Version 1.7 January 2022
- Version 1.6 October 2021
- Version 1.5 July 2021
- Version 1.4 May 2021
- Version 1.3 January 2021
- Version 1.2 November 2020
- Version 1.1 July 2020