Release Notes 4.15

What’s New

App-Editor

Der App-Editor dient in map.apps zur Konfiguration von Apps. Mit diesem Release werden die im Folgenden beschriebenen Verbesserungen eingeführt, um die Nutzung effizienter zu gestalten und dabei zu helfen, Fehler zu vermeiden.

Layer für Kartenservices automatisch hinzufügen

Um einen ArcGIS Kartenservice (MapServer) zu einer App hinzuzufügen, genügt es die entsprechende URL des Dienstes in map.apps zu konfigurieren. Möchte man jedoch nur einige Layer des Dienstes anzeigen oder Anpassungen an der Konfiguration einzelner Layer vornehmen (z.B. Popups konfigurieren), muss man die Layer einzeln konfigurieren. Der App-Editor kann nun auf einen Klick die Konfiguration aller Layer des entsprechenden Dienstes hinzufügen. Alternativ werden im sublayers-Array alle Layer in einer Vorschlagliste aufgelistet und können ausgewählt und hinzugefügt werden.

app editor sublayers

Auto-Vervollständigung für alle Bundles

Bislang konnte für die Grundstruktur einer app.json-Datei sowie für das Bundle map-init eine Auto-Vervollständigung im App-Editor genutzt werden. Dies führt dazu, dass in der Konfiguration Hinweise zu einzelnen Parametern gegeben werden und bei Nutzung der Tastenkombination Strg+Leertaste Vorschläge für passende Konfigurationen angezeigt werden. Mit diesem Release wird dieser Mechanismus auf alle Bundles ausgeweitet. Die Konfigurationsparameter jedes Bundles werden automatisch ausgelesen und vorgeschlagen (gilt auch für Bundles aus dem con terra Developer Network und eigene Implementierungen). Um noch detaillierte Vorschläge oder Hinweise geben zu können, kann jedes Bundle mit einer eigenen JSON-Schema-Datei ausgestattet werden.

Warnung bei nicht genutzten Konfigurationen

Wenn für ein Bundle eine Konfiguration in der App eingetragen ist, das Bundle jedoch nicht in der App geladen wird, erscheint eine entsprechende Warnung an der Konfiguration, da diese dann i.d.R. gelöscht werden kann. Die App-Konfiguration wird dadurch übersichtlicher und es wird vermieden, dass unnötiger Text geladen wird.

Werkzeug IDs vorschlagen

Werkzeuge werden anhand ihrer IDs zu einem Toolset hinzugefügt (siehe Werkzeuge). Auch hier erhält man nun innerhalb eines Toolset-Arrays durch Drücken von Strg+Leertaste eine Liste aller in der App verfügbaren Werkzeuge.

app editor tools

Suche

Die Suche wird mit diesem Release so verbessert, dass sie insbesondere bei der Suche auf ArcGIS Diensten (MapServer, Feature Layer) bessere Ergebnisse liefert als bislang. Durch ein clientseitiges Scoring werden mögliche Suchtreffer bewertet und entsprechend ihrer Ähnlichkeit zum eingegebenen Suchbegriff gewichtet angezeigt. Treffer die exakt dem eingegebenen Begriff entsprechen werden somit zum Beispiel vor denen angezeigt, die den Suchbegriff enthalten.

Details finden Sie im Abschnitt Client-side score in der search-api Bundle Dokumentation.

search ui

Neben der Verbesserung in der Sortierung der Ergebnisse, wurden weitere Optimierungen eingeführt.

  • Ein Klick in das Suchfeld erlaubt nun, die vorherige Suche erneut auszuführen. Dies kann man zum Beispiel hilfreich sein, wenn man die Karte in der Zwischenzeit verschoben hatte und nun zum zuvor gewählten Ergebnis zurückkehren möchte.

  • Es werden nur noch die Felder vom Server abgefragt, die für die Anzeige der Ergebnis-Texte benötigt werden. Dies beschleunigt die Darstellung.

  • Über eine Programmier-Schnittstelle kann das Suchfeld zurückgesetzt oder mit einem beliebigen Text belegt werden.

Karteninhaltsteuerung (TOC)

In der Karteninhaltsteuerung (TOC) kann nun für jeden WMS Layer die jeweilige Legende angezeigt werden. Bislang war dies nur für ArcGIS Dienste möglich.

toc wms legend

Neben dieser Änderung wurde das "Zoomen auf"-Icon an das im Popup verwendete Icon angeglichen und Tools innerhalb einer sog. ButtonRow (z.B. zum Verschieben der Layer-Reihenfolge in map.apps SDI genutzt) können nun Tooltips erhalten.

Result Center

In map.apps 4.14 wurde ein neues Result Center eingeführt. Nun ist es möglich per Konfiguration bestimmte Felder in allen Tabellen auszublenden (z.B. objectid).

Im Result Center wird der Titel einer Spalte anhand des Feld-Aliases angezeigt. Wenn kein Alias definiert ist, bleibt der Tabellen-Titel nun nicht mehr leer, sondern es wird stattdessen der Feld-Name angezeigt.

Außerdem wurde die Result-API um Optionen für häufige Anwendungsfälle erweitert.

Hinweise bei fehlendem WebGL-Support

map.apps verwendet zur Darstellung der Karte und für verschiedene Funktionen das ArcGIS Maps SDK for JavaScript. Dieses fordert laut den eigenen Systemvoraussetzungen die Nutzung eines Webbrowsers mit WebGL-Support.

Beim Aufruf einer map.apps Anwendung wird nun eine Fehlermeldung angezeigt, wenn ein Browser keine Unterstützung für WebGL bietet. Wenn ermittelt werden kann, dass es nur einen eingeschränkten, Software-emulierten WebGL-Support gibt, wird stattdessen folgende Warnung angezeigt:

WebGL ist auf diesem Gerät nur mit verminderter Leistung verfügbar. Die Karte wird deshalb nur sehr langsam reagieren.

Die Warnung kann daraufhin geschlossen werden. Dieser Mechanismus kann in der globalen Konfiguration deaktiviert werden (client.config.warnOnSlowGraphicsPerformance).

Popups

Popups können nun auf Related Records zugreifen und diese Daten anzeigen. Diese Funktion wird aktuell nur für ArcGIS Online Feature Layer unterstützt.

popups relates

Für WMS Layer können nun Custom Actions zu Popups hinzugefügt werden.

Accessibility

Mit diesem Release werden erneut zahlreiche Verbesserungen hinsichtlich der Zugänglichkeit (Accessibility) eingeführt. Besonders hervorzuheben sind dabei die folgenden Aspekte:

  • Die Reihenfolge einzelner Elemente beim Navigieren mit der Tastatur ("Tab-Reihenfolge") wurde logischer strukturiert. Der Fokus springt nun weniger Hin und Her sondern folgt einer Abfolge von oben links nach unten rechts.

  • Der Fokus während der Tastatur-Steuerung wird unter anderem in der Karte und im Result Center besser sichtbar hervorgehoben.

  • Der Kontrast wurde in den einzelnen Farbschemata die in der Standard-Auslieferung enthalten sind geprüft und durch leichte Farbanpassungen optimiert.

  • Der Screenreader-Support wurde unter anderem für Fenster, Basemaptoggler und Theme Switcher verbessert.

Dokumentation

Die Seitenstruktur der Dokumentation wurde vereinfacht. Das frühere Kapitel "Installation und Betrieb" wurde in separate Seiten aufgeteilt, damit klarer ist, welche Schritte bei einer ersten Installation nötig sind. Die Kapitel zur App-Konfiguration sind nun schneller zugreifbar und alphabetisch sortiert. Außerdem wurde die Startseite überarbeitet, so dass häufig genutzte Seiten schneller zugreifbar sind.

Im neuen Abschnitt "Referenz" sind Seiten zusammengefasst, die zum Nachschlagen bestimmter Fakten dienen. Neu hinzugekommen sind hier eine Übersicht der von map.apps geschriebenen Cookies und Browser-Daten sowie eine Auflistung der bisherigen map.apps Versionen und der darin verwendeten Versionen des ArcGIS Maps SDK for JavaScript.

Der Developer’s Guide wurde komplett überarbeitet, um Themen einfacher auffindbar zu machen. Der Abschnitt Getting started enthält Kapitel, die beschreiben wie man mit der Entwicklung eigener Funktionen beginnt. Weitere Inhalte, die zum Teil bereits vorhanden waren, wurden neu strukturiert und in einzelne Seiten in die Abschnitte Guides, Basic elements und Reference verschoben.

Weitere neue Funktionen und Verbesserungen

  • Das von map.apps als technische Basis genutzte ArcGIS Maps SDK for JavaScript wird mit diesem Release auf die Version 4.26 aktualisiert. Dies führt zu zahlreichen Verbesserungen und Fehlerbehebungen in der Basistechnologie.

  • Vuetify Expansion Panels haben nun einen kontrastreicheren Rahmen.

  • Der Layer-Typ IntegratedMeshLayer wird nun unterstützt.

  • Das Editing-Bundle unterstützt nun die Optionen "visibleElements" und "tooltipOptions" (siehe Bundle-Dokumentation ).

  • Die Legende enthält neue Konfigurationsoptionen mit denen unter anderem bestimmt werden kann, dass Layer die im Kartenausschnit nicht sichtbar sind, in der Legende ausgeblendet werden (siehe Bundle-Dokumentation ).

  • Für die Anzeige einer Koordinate mit Hilfe des CoordinateConversion Bundles kann nun das Kartensymbol konfiguriert werden (siehe Bundle-Dokumentation ).

  • Die Darstellung von Elementen im CoordinateConversion Widget wurde verbessert.

Eine komplette Auflistung aller Änderungen finden Sie im Changelog.

Namensänderung durch Esri

Im Dezember 2022 hat Esri den Namen der "ArcGIS API for JavaScript", die von map.apps als technische Grundlage genutzt wird, zu "ArcGIS Maps SDK for JavaScript" geändert (siehe Introducing the ArcGIS Maps SDKs ). Diese Namens-Änderung übernehmen wir ab diesem Release in die map.apps Dokumentation. Die Namens-Änderung hat keine Auswirkung auf Schnittstellen oder Funktionen.

Update-Hinweise

Falls Sie bei dem Update mehrere Versionen überspringen, befolgen Sie bitte auch alle Update-Hinweise der dazwischenliegenden Versionen.

Eigenständiger Identity Service für OAuth-Integration

Mit Version 4.13.0 wurde in map.apps der OAuth Authentifizierungsmodus eingeführt. In diesem Modus delegiert map.apps die Anmeldung an ArcGIS Online, ArcGIS Enterprise-Portal oder Keycloak. Dieser Modus wurde umbenannt von OAUTH in IDENTITY und erfordert ab dieser Version die Installation des separaten Dienstes Identity Service. Dieser Dienst kann aus dem con terra Download Portal heruntergeladen werden. Mehr Informationen zu dem neuen Dienst finden Sie unter Identity Service.

Wenn Sie den Identity Service nicht mit der gleichen Datenbank wie map.apps verwenden, löschen Sie die Tabellen IDENT_EXTSESSIONS, IDENT_SESSIONS und IDENT_TOKENS aus der Datenbank. Passende SQL Scripte finden Sie hier: PostgreSQL, Microsoft SQL Server und Oracle.

Wenn Sie folgende Konfigurationsparameter in der globalen Konfiguration angepasst haben, entfernen Sie diese Anpassungen:

Entfallene Optionen
security.oauth.provider
security.oauth.provider.arcgis.url
security.oauth.provider.arcgis.organizations
security.oauth.provider.arcgis.roles
security.oauth.provider.keycloak.url
security.oauth.provider.keycloak.realm
security.oauth.provider.keycloak.revokeRefreshTokens
security.oauth.provider.keycloak.scopes
security.oauth.clientId
security.oauth.clientSecret
security.oauth.tokenRules
security.sharedSecret
security.session.maxIdleTimeInSeconds
security.session.cookieName
security.session.cookieDomain
security.session.enforceSecureAndSameSiteNone

Für die Integration des neuen Dienstes wurden neue Konfigurationsparameter ergänzt. Bitte folgen Sie der Anleitung zur Authentifizierung unter ArcGIS Enterprise portal, ArcGIS Online oder Keycloak, um ihre Konfiguration zu aktualisieren.

Nicht mehr benötigte Datenbankspalten

Die Synchronisierung von Apps und App-Vorlagen wird mit diesem Release entfernt (siehe Ausgelaufene Unterstützung). Sie können daher die Spalten SYNC_TEMPL_BIN, SYNC_MODE, SYNC_AUTO, SYNC_AT aus der Tabelle APPS der Datenbank löschen. Passende SQL Scripte finden Sie hier: PostgreSQL, Microsoft SQL Server und Oracle.

Umbenennung der Konfiguration proxy.cors.trustedServers

Die Konfigurations-Option proxy.cors.trustedServers wurde umbenannt in cors.request.trustedServers. Wenn Sie in Option proxy.cors.trustedServers in der globalen Konfiguration angepasst haben, ändern Sie diese auf cors.request.trustedServers. Die Namensänderung soll deutlich machen, dass diese Konfigurationsoption nicht vom in map.apps integrierten Proxy interpretiert wird.

Zeichenkodierung von JavaScript-Dateien

Durch Änderungen im Buildsystem von map.apps werden Sonderzeichen in JavaScript-Strings nicht mehr wie zuvor in ASCII umgewandelt. Betroffen sind insbesondere Dateien, die Übersetzungsstrings enthalten (bundle.js).

Es besteht kein Handlungsbedarf, wenn Sie map.apps in der Standardkonfiguration betreiben (Auslieferung der Apps über das map.apps Backend).

Falls Sie jedoch einen eigenen Webserver zum Ausliefern von map.apps JavaScript-Dateien betreiben (z.B. im Rahmen des nativen App-Exports), stellen Sie sicher, dass diese vom Webserver mit dem HTTP-Header Content-Type: text/javascript; charset=utf-8 ausgeliefert werden.

Ausgelaufene Unterstützung

Die Unterstützung für die folgenden Funktionen ist mit diesem Release ausgelaufen:

  • Das Bundle js-beautify wurde entfernt.

  • Das Bundle locateme-gpsgate wurde entfernt.

  • Das Bundle app-uitest-support wurde entfernt.

  • Der Kompatibilitätsmodus für Version 3.x im map.apps Manager wurde seit Version 4.6 abgekündigt und nun entfernt.

  • Die Synchronisierung von Apps und App-Vorlagen wurde seit Version 4.8 abgekündigt und nun entfernt. Verwenden Sie stattdessen Domain-Bundles.

Abkündigungen

Für folgende Features wird die Weiterentwicklung eingestellt und das Ende der Unterstützung für die Zukunft angekündigt. Beachten Sie außerdem die Hinweise in den Systemanforderungen.

  • map.apps Manager und App-Konfiguration:

    • Die Live-Konfiguration wird nicht mehr weiterentwickelt und wird in einer der kommenden Versionen entfernt. Verwenden Sie stattdessen den App-Editor zur Konfiguration von Apps. Sie können die Live-Konfiguration bereits jetzt für Ihre Nutzer ausblenden, indem Sie die Konfigurations-Option manager.config.editor.showLiveConfigButton auf false setzen.

    • Die Konfigurationsoption allowedWorkflows:["create"] im Bundle editing wird demnächst entfernt. Verwenden Sie stattdessen allowedWorkflows:["create-features"].

  • Bundles:

    • Das Bundle omnisearch wird nicht mehr weiterentwickelt. Verwenden Sie stattdessen das Bundle search-ui.

    • Die Bundles resultcenter und selection-resultcenter werden nicht mehr weiterentwickelt. Verwenden Sie stattdessen das Bundle result-ui.

  • Entwicklung:

    • Die Unterstützung von module.exports in JavaScript-Dateien wird demnächst entfernt. Benutzen Sie stattdessen die ECMAScript Keywords export bzw. export default.

    • Um eine zukünftige Migration von AMD zu einem anderem Modulsystem zu erleichtern sollten JavaScript-Dateien nach Möglichkeit nur noch als ECMAScript Module verfasst und anschließend transpiliert werden.

    • Die Unterstützung von cancel in der Rückgabe der Abfrageergebnisse (QueryResult) eines Stores wird demnächst entfernt. Ziel ist es die Komplexität der store-api.Store Api zur reduzieren. Bitte benutzen Sie stattdessen einen AbortController , wie unter Nutzung eines AsyncStore beschrieben.

      const aborter = new AbortController();
      store.query({name: "Test"}, { signal: aborter.signal })
          .then((resultItems)=>{
              ...
          }, (e)=>{
              if (e.name === "AbortError"){
                  // aborted
              }
      })
      // trigger abort
      aborter.abort();
      [source,javascript]
    • Die Klasse ct/mapping/store/MapServerLayerStore wird durch eine neue Klasse LayerStore im agssearch-Bundle ersetzt. Die Klasse LayerStore wird mit einer ArcGIS FeatureLayer Instanz hinterlegt und ist daher konsistent mit dem Inhalt der Karte. Das agssearch-Bundle erzeugt nun standardmäßig LayerStore-Instanzen in der Klasse AGSStoreFactory und den Konfigurationsoptionen AutoStoreRegistration und AGSStore. Das alte Verhalten kann während der Übergangsphase mit der Option legacyImplementation wiederhergestellt werden.

    • Die Verwendung von data-template-window und data-template-window-events in template files wird zukünftig nicht mehr unterstützt. Nehmen Sie stattdessen Fenster-Definitionen in manifest.json Dateien vor.

    • Die folgenden Klassen werden in einem der nächsten Releases entfernt:

Abgekündigte Klasse Alternative

ct/array

native JavaScript Funktionen

ct/async

apprt-core/async

ct/_when

apprt-core/when

ct/_compare

apprt-core/comparators

ct/mapping/store/MapServerLayerStore

AGSStoreFactory.createStore

ct/store/_RestStore

store-api/rest/BaseWriteableRestStore

ct/store/ComplexMemory

store-api/InMemoryStore

ct/store/ComplexQuery

store-api/ComplexQuery

ct/store/ComplexQueryEngine

store-api/utils.createComplexQueryEngine

ct/store/ComplexQueryToRQL

store-api/rest/RQLStore

ct/store/ComplexQueryToSolrQL

store-api/rest/ComplexQueryToSolrQL

ct/store/ComplexQueryToSQL

store-api/rest/ComplexQueryToSQL

ct/store/Filter.filterMetaData

store-api/utils.mergeMetadata

ct/store/RQLStore

store-api/rest/RQLStore

ct/store/SpatialQuery

store-api/SpatialQuery

ct/store/SQLStore

store-api/rest/SQLStore

ct/store/StoreUtil

store-api/utils

ct/ui/controls/mobile/Drawer

-

Bekannte Einschränkungen

MAPAPPS-5654

[Map] Zoom via mousewheel does not allow to zoom to the full max or min extent in some situations

MAPAPPS-6844

[Popups] No popup shown for MapServer sublayer with custom popupTemplate and unique value renderer

MAPAPPS-6377

[Printing] Printing of line measurement not possible with PrintTask published from ArcMap

Workaround für MAPAPPS-6844

Bei Mapserver Layern die einen UniqueValueRenderer nutzen, werden teilweise keine Popups angezeigt. Dieser Fehler ist bekannt und wurde von Esri in der nächsten Version des ArcGIS Maps SDK for JavaScript (4.27) behoben. Als Workaround können im popupTemplate die outFields definiert werden, die vom Renderer benötigt werden, wie im folgenden Beispiel:

"popupTemplate": {
    "title": "Test",
    "outFields": ["field1", "field2"],
    "content": [
        { "type": "text", "text": "The value of test property is {test}." }
    ]
}

Abhängigkeiten

  • ArcGIS Maps SDK for JavaScript 4.26.3

  • ArcGIS Arcade 1.21

  • JasperReports 6.20.0

  • Moment.js 2.29.4

  • Vue.js 2.7.8

  • Vuetify.js 1.5.24

Changelog

4.15.1

Fixed Issues

MAPAPPS-6875

[Accessibility] TOC actions of type slider do not have an aria-label

MAPAPPS-6874

[Accessibility] Parsing errors during automated accessibility check in v-combobox

MAPAPPS-6862

[Browsersync] @@properties@@ with special characters are not replaced

MAPAPPS-6845

[Configuration] Paths not loaded correctly when using include in global configuration

MAPAPPS-6864

[Editing] Features cannot be saved on services published with ArcGIS Pro

MAPAPPS-6848

[geojson] geojsonTransformer does not respect rings correctly

MAPAPPS-6873

[iPhone] map.apps cannot be loaded in iFrame

MAPAPPS-6855

[jsregistry] Out of memory errors in cache implementation

MAPAPPS-6881

[Layout] Misaligned icon when drawer is aligned to the right

MAPAPPS-6828

[Map] Ground layer not initialized correctly with many layers in map

MAPAPPS-6876

[Map] Inconsistent removal of blocked layers

MAPAPPS-6815

[mapapps-maven-plugin] includePattern for deployApps goal is not working as expected

MAPAPPS-6843

[Omnisearch] Keyboard disappears on Android WebView

MAPAPPS-6833

[result-ui] CSV export contains thousand separators in number fields

MAPAPPS-6859

[result-ui] Scroll position is lost when minimizing or resizing the widget

MAPAPPS-6851

[search-ui] Search on numeric field leads to error during client side scoring

MAPAPPS-6867

[selection-ui] Dropdown not closed when selection is done using touch

MAPAPPS-6858

[store-api] Operator $or with empty sub-expressions returns unexpected result

MAPAPPS-6860

[TOC] Group layer sublayers are not indented correctly

MAPAPPS-6831

[Vuetify] Combobox does not show input after first chip

4.15.0

New Features

MAPAPPS-6777

[Accessibility] Add label spelling for dropdown lists (theme and language switcher)

MAPAPPS-6638

[Accessibility] Adjust tab order for keyboard navigation

MAPAPPS-6623

[Accessibility] Improve contrast in map.apps themes

MAPAPPS-6724

[Accessibility] Improve focus of result-ui for keyboard navigation

MAPAPPS-6771

[Accessibility] Use unique labels for toolbar components

MAPAPPS-6792

[agolauthn] Ensure that oauth properties defined in app.json are used in standalone export

MAPAPPS-6791

[agolauthn] Support PKCE authorization code flow

MAPAPPS-6591

[App Editor] Allow to add bundle specific json config schema

MAPAPPS-5877

[App Editor] Automatically add configuration for layers of ArcGIS map services

MAPAPPS-6677

[App Editor] Automatically generate json-schema for bundles without config-schema.json

MAPAPPS-6595

[App Editor] Provide a list of available tool ids when configuring toolsets

MAPAPPS-6676

[App Editor] Update monaco editor to 0.35.0

MAPAPPS-6675

[App Editor] Warn if configured bundle is not loaded in app

MAPAPPS-6691

[apprt-binding] Improve typings to be compatible with Accessor.watch

MAPAPPS-6735

[Configuration] Allow to specify configuration options as environment variables

MAPAPPS-6793

[Configuration] Change default of persistIdentityManagerState to false

MAPAPPS-6731

[Configuration] Rename "proxy.cors.trustedServers" to "cors.request.trustedServers"

MAPAPPS-6111

[Coordinate Conversion] Allow to configure map symbol

MAPAPPS-6776

[Coordinate Conversion] Improve contrast for disabled elements in srs selection

MAPAPPS-6780

[Coordinate Conversion] Small UI improvements

MAPAPPS-6736

[ct-identity] Rename security.mode from OAUTH to IDENTITY

MAPAPPS-6558

[ct-identity] Support ctIdentity Cookie as a Domain Cookie to allow extended web application logins

MAPAPPS-6702

[Documentation] Add searchPriority property to search documentation

MAPAPPS-6590

[Editing] Allow to configure visibleElements and tooltipOptions

MAPAPPS-6738

[Layer Storage] Add fallback for field title if alias is empty

MAPAPPS-6384

[Legend] Allow to configure layer visibility and heading level

MAPAPPS-6671

[Logging] Change default client side log level to WARN

MAPAPPS-6639

[Logging] Do not add info log entry when login module is skipped

MAPAPPS-6649

[Map] Add support for IntegratedMeshLayer

MAPAPPS-6647

[Map] Show hint when WebGL is not available

MAPAPPS-4372

[Popups] Allow access to related features

MAPAPPS-5711

[Popups] Allow to add Custom Actions to WMS layers

MAPAPPS-6796

[portal-token-conversion] Add support for apprt-tokens/IdentityService

MAPAPPS-6753

[result-api] Optimize API for common tasks

MAPAPPS-6656

[result-ui] Hide specific fields in all tables

MAPAPPS-6750

[result-ui] Set fixed size for checkbox column

MAPAPPS-6751

[Search] Only request fields required to show result label

MAPAPPS-6551

[Search] Search for exact search term

MAPAPPS-6752

[search-ui] Allow selection of same item again from drop down menu

MAPAPPS-6365

[search-ui] Provide interface to reset the state

MAPAPPS-6206

[search-ui] Provide interface to set text in search ui box

MAPAPPS-6672

[search-ui] Resolve missing placeholders used in searchLabel to empty string

MAPAPPS-6577

[search-ui] Start smart.finder search when pressing <ENTER>

MAPAPPS-6686

[System] Update ArcGIS Maps SDK for JavaScript to version 4.26

MAPAPPS-6452

[TOC] Allow to define tooltips for buttons in (custom) "botton-row"

MAPAPPS-6714

[TOC] Integrate WMS layer legend images

MAPAPPS-6633

[TOC] Usability optimization by changing icons

MAPAPPS-6716

[TypeScript] Synchronize map.apps typings with compiled output

MAPAPPS-6754

[Vuetify] Improve contrast for expansion panels

Fixed Issues

MAPAPPS-6723

[Accessibility] Erroneous keyboard control in result-ui

MAPAPPS-6637

[Accessibility] Missing border around map during keyboard navigation

MAPAPPS-6773

[Accessibility] Missing labels for windows

MAPAPPS-6582

[Accessibility] TOC element in footer not accessible when result center is shown in footer

MAPAPPS-6692

[App Editor] No highlight for bracket pairs

MAPAPPS-6786

[apprt-esri-init] Pre-configured AGOL token fetching leads to initialization error

MAPAPPS-6620

[ct-identity] offline_access session expires during use in Keycloak

MAPAPPS-6333

[Custom Info] Incorrect description of docking bar support in bundle documentation

MAPAPPS-6608

[Custom Info] Wrong window position when active on startup

MAPAPPS-6705

[font-mapapps] local() font definition might cause problem when custom font is installed in OS

MAPAPPS-6757

[Integration API] whenMapReady does not fire

MAPAPPS-6602

[integration-map] Bundle depends on fixed version

MAPAPPS-6689

[Language Toggler] Bundle generates unencoded URL

MAPAPPS-6613

[LayerStore] Some spatial operators are not applied correctly

MAPAPPS-6778

[Manager] "map" property is added to "bundles" property of app.json on app upload

MAPAPPS-6740

[Manager] Login processing dialog sometimes covers manager app

MAPAPPS-6383

[Measurement] Start point not displayed on mobile devices

MAPAPPS-6814

[Notifier] Wrong notifier position for early messages

MAPAPPS-6781

[OmniSearch] Input shows wrong context menu

MAPAPPS-6787

[Report tool] Documentation links to non-existing API documentation

MAPAPPS-6660

[result-ui] Filter searches for formatted numerical values and not the actual data set

MAPAPPS-6645

[result-ui] Programmatic update of dataset items does not update highlight geometry

MAPAPPS-6600

[result-ui] Zoomto results fails if store does not contain geometries

MAPAPPS-6805

[selection-ui] Selection tools produce errors in console

MAPAPPS-6739

[selection-ui] Topic choice list sometimes overlaps close button

MAPAPPS-6742

[Store-API] ComplexQueryExpression $in without any values produces invalid SQL

MAPAPPS-6682

[TOC] Action menu displays button actions in multiple lines

MAPAPPS-6652

[Tools] Toolcontainer configured with toggleMode=true deactivates current active Tool in dev mode

MAPAPPS-6587

[Toolsets] Tool rules cannot be applied on a toolset that is registered as tool

MAPAPPS-6693

[Vuetify] Screen readers read "empty" because v-select elements have no value

MAPAPPS-6678

Default referrer-policy is too strict for embedding map.apps in an iFrame

MAPAPPS-6545

SSO_cookie is invalidated too early