What's new 1.6

Samples

Several new samples have been added. See below to access some of the newest samples:

Builder updates

ArcGIS Experience Builder includes several new features and enhancements listed below.

  • Builder—Create an experience with an auto-populated map directly from Map Viewer or a map or scene item page.
  • Data source—The layer order in an experience now honors the layer order saved in the map or scene.
  • Templates—Provides two new default templates that use Fly Controller widgets in a fullscreen (Voyage) and scrolling page (Vacation), plus corresponding public app templates to demonstrate each with sample data.
  • Windows—Provides two new templates to deliver additional guidance, information, or data in a window.
  • Screen groups—Supports moving the entire screen group to the pending list for custom layouts. Provides a blank screen template without a panel.
  • Performance—Improves the performance of loading and searching data sources when adding data.
  • Download—The downloaded app will now be built and minified for better performance. Each time the app is downloaded a new ID is generated to prevent caching issues during deployment.

Developer documentation updates

  • Added Frequently Asked Questions (FAQ).
  • Added more component stories to the Storybook. See the below list:
    • Index: Card and Pagination
    • Advanced:
      • jimu-ui/advanced/data-source-selector: DataSourceSelector and FieldSelector
      • jimu-ui/advanced/expression-builder: ExpressionBuilder and ExpressionBuilderPopup
      • jimu-ui/advanced/setting-components: LinkSetting, LinkSettingPopup, MapWidgetSelector and SidePopper
    • Icons: Icons and Deprecated icons

Widgets

Widget configuration includes several usability improvements. For example, some settings such as the Action tab and auto layout options only appear now for applicable widgets and layouts. In addition, the following widgets were updated:

  • Edit (beta) widget (new)—Allows creating, updating, or deleting features in 2D or 3D data sources or map widgets. Editing directly in a map widget allows modifying attributes and geometry.
  • Oriented Imagery widget (new)—Allows interacting with and visualizing imagery that is taken from any angle—including oblique, street-side, inspection, and 360-degree images—in a 2D map or 3D scene.
  • Search widget (new)—Placed anywhere on the map or page, use this widget configured with specific layers and locators so users can find features, records, or locations. You can define how and where to display search results in your app.
  • Chart widget—Supports line charts, area charts, and four different notations for displaying numerical values, including standard, compact, scientific, and engineering.
  • Filter widget—Allows zooming and panning to features on the map after applying the filter.
  • List widget—Changing the Regular state layout now automatically updates the Selected and Hover states to match. Allows excluding the Last update label that indicates when the data was refreshed in the app.
  • Query widget—Supports querying data sources based on the geometry of selected features. You can specify spatial relationship rules and end users can set a buffer distance at runtime. Allows you to customize results, such as which fields to display and meaningful names based on a custom expression from the data. Drawn graphics can now remain in the map until users manually clear them.
  • Survey widget—You can now allow users to view and edit survey responses.
  • Table widget—Supports scene layers with an associated feature layer and improves responsive display of tabs on mobile devices or when there's a lot of data. When allow editing is set, you can now specify which fields are editable.
  • Text widget—Allows you to customize the content and style of the placeholder text when editing a template.
  • Widget Controller—You can now turn off tooltips to avoid duplicating tool labels. You can also move and remove widgets by default.

Breaking changes

Import modules in JSAPI

  • In previous versions, we use this type of statement to import JSAPI modules: import * as Legend from 'esri/widgets/Legend', now we need to import like the following: import Legend from 'esri/widgets/Legend'.

Widget manifest

  • excludeActions is moved from WidgetManifestProperties to WidgetManifest.

jimu-ui

  • JimuMapViewSelector component

    • JimuMapViewSelector is deprecated, use MapWidgetSelector instead.
    • JimuMapViewSelectorProps is deprecated, use MapWidgetSelectorProps instead.
  • Icon component

    • SVGIconProps is changed to IconComponentProps.
    • Type of size is changed from number | string to 's' | 'm' | 'l' | number.
    • options is deprecated, use currentColor instead.
  • Icons in jimu-ui/lib/icons are deprecated, use icons from jimu-icons instead. More details, see Icons story

  • SymbolSelector

    • The SymbolSelector component contains a popper now.
    • Prop intl is removed.
    • Add new prop jimuSymbolType.
  • Tree and List component

    • In previous versions, the default padding of tree or list item is sm, now a new size prop is added, the default value of size is default.
  • Chart component

    • Prop arcgisChartsJSAxisLabelSelectionComplete is removed.
    • config.series[i].multipleBarType is changed to stackedType.
    • Chart ref(ChartInstance): ChartInstance.addSelectionEventListeners, ChartInstance.removeSelectionEventListeners, ChartInstance.enableSelection and ChartInstance.enableZoom are removed, use ChartInstance.setActionMode instead.
  • UserProfile component

    • Prop userThumbnail, theme and intl are removed.
    • Prop saveStatus is changed to isAppSaved.
    • Add new prop: helpUrl.
  • DataSourceRemoveWarningPopup component

    • Props beforeRemoving and afterRemoving are changed to beforeRemove and afterRemove.
  • AdvancedSelect component

    • Add AdvancedSelectItem prop.
    • Add useCodedValues for dynamic case, true to display codedValues if exists, false to display dynamic values.
    • Prop values?: ImmutableArray<ClauseValuePair> is changed to selectedValues?: AdvancedSelectItem[].
    • Prop codedValues?: CodedValue[] is changed to staticValues?: AdvancedSelectItem[].
    • Prop excludeValues?: ImmutableArray<ClauseValuePair> is changed to excludeValues?: AdvancedSelectItem[].
    • Props field and dataSource are changed to Optional, instead of Required. They only work for dynamic case.

App config

  • Prop sharedThemeVariables is moved to from appConfig.customTheme to the root of appConfig.

jimu-core

  • ThemeProvider, styled , Global and ThemeContext are deprecated, import them from jimu-theme instead.
  • SessionManager
  • Method getMainPortal is removed, you can get main portal info from state.
  • Method initSession does not require parameter.
  • Method useTheme is deprecated, use it from jimu-theme instead.
  • Method withTheme is deprecated, use it from jimu-theme instead.
  • ThemeManager
    • Method clearAllThemeCustomVariables is removed.
    • Method getRawThemeVariables is removed.
    • Method getComponentStyles is removed.
    • Method getSharedThemeJson is removed.
    • Method registerJimuThemeStyleModule is changed to registerStyles, and it is moved to jimu-theme.
    • Method getGlobalStyles is moved to jimu-theme.
  • themeUtils
    • themeUtils is removed, its methods are moved to jimu-theme and jimu-core/sharedThemeUtils.
    • Method getThemeNameFromUri is removed.
    • Method lighten is removed.
    • Method valueOf is removed.
    • Method pathOf is removed.
    • Method varsOf is removed.
    • Method darken is removed.
    • Method isCSSVar is removed.
    • Method colorappendSharedTheme is removed.
    • Method withStyles is moved to jimu-theme.
    • Method withBuilderStyle is moved to jimu-theme.
    • Method withTheme is moved to jimu-theme.
    • Method withBuilderTheme is moved to jimu-theme.
    • Method getBuilderThemeVariables is moved to jimu-theme.
    • Method color is changed to getThemeColorValue, and it is moved to jimu-theme.
    • Method getMappedShareThemeVariables is changed to createSharedThemeVariables and createCustomSharedThemeVariables, and it is moved to jimu-core/sharedThemeUtils.
  • Type clearAllThemeCustomVariables is removed.
  • Variable COMPONENT_CATEGORIES is removed.
  • Interface ThemeOrgSharedColors is changed to SharedThemeElementsVariables.
  • Type SharedThemeJson is changed to SharedThemeJson.
  • Type IMThemeOrgSharedColors is changed to IMSharedThemeElementsVariables.
  • Type IMSharedThemeJson is changed to IMSharedThemeVariables.

jimu-for-builder

  • GuideManager is moved from jimu-for-builder to jimu-core.

Previous releases

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.