See what's new for the latest release.
Storybook
We are introducing a new component inside ArcGIS Experience Builder called Storybook. This powerful capability provides you with a view into the UI components for the jimu-ui library and the theme system. It also provides the API docs to help you build the UI for your experience.
Samples
Several new samples are added, some of these include: how to utilize 3rd party libraries in your widget, editing features in a map, and how to use redux to share state between widgets. Here are the newest samples:
Unit testing
We have added support for unit testing using Enzyme/@testing-library/react and Jest as part of our release package. The @testing-library/react is recommended.
Offline install
We have added support to install Experience Builder without an internet connection. See the install guide for more information.
We have also made the documentation available for offline use.
Builder updates
Experience Builder includes three new widgets, support for more data types, new animation styles, configurable windows, and more themes, templates, and quick styles. Some of the highlights are listed below.
- Animation—Set eye-catching animation styles on pages, windows, and widgets using effects such as fly-in, spin in, and fade in. You can also set transition modes for moving between section views.
- Data types—You can now connect to more data types, including feature service, map service, group layer, and feature table.
- Data views—Create data views of feature layers by adding filter and sort criteria to control what appears in connected widgets.
- Data refresh interval settings—Keep the data in your app updated automatically.
- Templates and themes—Start with one of many new default templates, including two multipage templates. Two more themes have also been added.
- Windows—Configure windows that appear when the app or a page loads, or when activated by another widget. Include custom splash screens, confirmation messages, and alerts in your web experiences.
- Guided tour—For a quick start, follow guided instructions that step you through configuring an experience or a List widget.
Widgets
Several widgets have more settings and styles, including Views Navigation, Text, Menu, Feature Info, List, and Fly Controller. You can pin a widget to keep it visible on scrolling pages and rotate widget's for more flexibility. Use the new widget operations to duplicate widgets and copy and paste them across pages for streamlined page design. Other improvements include the following new and updated widgets:
- Bookmark widget (new)—Provide a collection of 2D and 3D spatial bookmarks for a selected map. Use the provided templates to add rich detail for a place, such as images, descriptions, links, and embedded apps. The traditional templates allow end users to create bookmarks at runtime.
- Card widget (new)—Display related bits of content in a flexible and extensible container that supports hover effects. Use one of many classic or advanced templates or design your own.
- Divider widget (new)—Separate widgets with a visual line to improve page structure.
- Filter widget—Choose from several new arrangement and activation styles. There are also more input styles for ask-for-value clauses, more supported operators, and duplicate clause and clause set have been enabled.
- Image widget—Populate image widgets from feature layer attachments and web map feature symbols.
- Map widget—You can now add the Select tool to your maps or scenes.
Breaking changes
- Removed theme-builder. It has been replaced with Storybook.
- Widget and theme manifest
supportedis changed toLocales translated.Locales
- jimu-core
polished.getis changed toValue And Unit(value) polished.strip.Unit(value, true) - Removed
Data.Source Query Component - Removed
Feature.Query Data Source Data:Source Component - Added
widgetandId localprops.Id - Removed
defaultandQuery on.Query Start - The render callback function is changed to
(ds.: Data Source, info : IM Data Source Info, query : Query Params) : React. React Node
- Added
Dataclass:Source labelis renamed toget.Label() datais renamed toSource Json get.Data Source Json() layeris named toDefinition get.Layer Definition()
- jimu-ui
- Entries in
jimu-uihave been refactored. Some entries are moved to thebasicandadvancedfolder. Below are the entry details:- jimu-ui/index
- jimu-ui/basic/sql-expression-runtime
- jimu-ui/basic/item-selector
- jimu-ui/basic/file-uploader
- jimu-ui/basic/qr-code
- jimu-ui/basic/color-picker
- jimu-ui/basic/date-picker
- jimu-ui/basic/imagecrop
- jimu-ui/basic/guide
- jimu-ui/advanced/sql-expression-builder
- jimu-ui/advanced/expression-builder
- jimu-ui/advanced/data-source-selector
- jimu-ui/advanced/setting-components
- jimu-ui/advanced/rich-text-editor
- jimu-ui/advanced/style-setting-components
- jimu-ui/advanced/theme-components
- jimu-ui/advanced/resource-selector
- jimu-ui/advanced/map
- These components are removed:
Card.Img Overlay, Card Group, Card Link, Card Subtitle, Card Text, and Card Title Tabcomponent needs two new props:idanddefault.Active Poppercomponent:- Removed
popperprop and added two new props:Options strategyandon.First Update strategy: Defines the positioning strategy to use. By default, it isabsolute, if your reference element is in a fixed container, use thefixedstrategy.on: Invoked when a popper is positioned the first time.First Update
- Removed
containerprop. The current behavior is the following: if thedisableproperty is false, then the dom of the popper will be appended to the body byPortal React. Otherwise, the dom of the popper will be rendered under its parent node.DO M.create Portal - Removed
on.Create toggleis renamed toClass toggle.Selector
- Removed
Dropdowncomponent:Menu - The properties
appendis changed toTo(string) append. IfTo Body(boolean) appendis true, the dom of theTo Body Dropdownwill be appended to the body byMenu React. Otherwise, the dom ofDO M.create Portal Dropdownwill be rendered under its parent node.Menu
- The properties
Datacomponent:Source Selector onandRemove onare replaced bySelect on, theChange oncallback returnsChange Usestructure.Data Source Selectedis removed, replaced byData Source Json Use.Data Source selectedis changed toData Source Ids use.Data Sources closeis renamed toData Source List On Select close.Data Source List On Change - The type of parameters for
disableandSelection disablehas been changed toRemove Use.Data Source[] - Removed sort and filter related props.
Fieldcomponent:Selector onis changed toSelect on.Change
Linkcomponent:Setting showis renamed toDialog is.Open
Themecomponent:Color Picker - Removed
palette, usespecificinstead.Theme
- Removed
- These theme variables have changes:
Color, Dropdown, Slider, Pagination.
- Entries in