Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@esri/application-base-js
Advanced tools
A core class for creating a configurable application using JavaScript/TypeScript
A class designed to handle common tasks of configurable ArcGIS Web Applications.
See Configurable App Examples using this class.
The purpose of this ApplicationBase is to handle fetching and managing ArcGIS Online information used in configurable applications. The ApplicationBase queries and maintains:
The ApplicationBase will handle fetching this information, store it, and perform setup when necessary.
This is the API for the ApplicationBase class. ApplicationBase.js
new ApplicationBase(ApplicationConfig: ApplicationConfig, ApplicationBaseConfig: ApplicationBaseConfig)
See ApplicationConfig and ApplicationBaseConfig for more information.
property | description | type | default |
---|---|---|---|
appid | Application ID for querying application configuration | string | "" |
group | Group ID for querying a portal group | string or string[] | "" |
webscene | WebScene ID for querying a webscene | string or string[] | "19faa71a3bf6468cae35b4fce9393a7d" |
webmap | WebMap ID for querying a webmap | string or string[] | "" |
title | Title of the application | string | "" |
portalUrl | URL to the ArcGIS Portal | string | "https://www.arcgis.com" |
oauthappid | oAuth authentication ID | string | "" |
proxyUrl | Enter the url to the proxy if needed by the application. See the Using the proxy page help topic for details. | string | "" |
units | Application measurement units | string | "" |
helperServices | Object containing URLs to various helper services | HelperServices | null |
Example:
{
"appid": "",
"group": "",
"title": "",
"webmap": "default",
"webscene": "",
"portalUrl": "https://www.arcgis.com",
"oauthappid": "",
"proxyUrl": "",
"units": "",
}
property | description | type | default |
---|---|---|---|
webscene.default | The default id to query when not set | string | "" |
webscene.fetch | When true the application will query for a webscene | Boolean | true |
webscene.fetchMultiple | When true the application will query for multiple webscenes if necessary | Boolean | true |
webmap.default | The default id to query when not set | string | "" |
webmap.fetch | When true the application will query for a webmap | Boolean | false |
webmap.fetchMultiple | When true the application will query for multiple webmaps if necessary | Boolean | true |
group.fetchInfo | When true the application will query for a group's information | Boolean | false |
group.fetchItems | When true the application will query for a group's items | Boolean | false |
group.itemParams | Defines query paramaters for fetching group items | itemParams | {} |
group.fetchMultiple | When true the application will query for multiple groups if necessary | Boolean | true |
portal.fetch | When true the application will query arcgis.com for default settings for helper services, units etc. If you want to use custom settings for units or any of the helper services set this to false then enter default values for any items you need using the helper services and units properties. | Boolean | true |
urlParams | Defines which URL parameters should be captured and stored into the config for use within the application | String[] | See below |
environment.webTierSecurity | Support sending credentials with AJAX requests to specific domains. This will allow editing of feature services secured with web-tier authentication | Boolean | false |
environment.isEsri | Most users will not need to modify this value. For Esri hosting environments only. Will automatically create a portalUrl and proxyUrl for the application. Only set this is to true if the app is going to be stored on Esri's hosting servers. If you are using your own custom hosted portal, set the portalUrl in instead of setting this to true. | Boolean | false |
Example:
{
"environment": {
"isEsri": false,
"webTierSecurity": false
},
"localStorage": {
"fetch": true
},
"group": {
"default": "908dd46e749d4565a17d2b646ace7b1a",
"fetchInfo": false,
"fetchItems": false,
"itemParams": {
"sortField": "modified",
"sortOrder": "desc",
"num": 9,
"start": 0
}
},
"portal": {
"fetch": true
},
"urlParams": [
"appid",
"center",
"components",
"embed",
"extent",
"find",
"group",
"level",
"marker",
"oauthappid",
"portalUrl",
"viewpoint",
"webmap",
"webscene"
],
"webmap": {
"default": "1970c1995b8f44749f4b9b6e81b5ba45",
"fetch": true
},
"webscene": {
"default": "e8f078ba0c1546b6a6e0727f877742a5",
"fetch": false
}
}
Example:
{
"query": "group:\"{groupid}\" AND -type:\"Code Attachment\"",
"sortField": "modified",
"sortOrder": "desc",
"num": 9,
"start": 0
}
property | description | type | readonly |
---|---|---|---|
config | Config created | ApplicationConfig | true |
direction | Language direction | string | true |
locale | Locale string | string | true |
isIE | True when IE11 and older boolean | boolean | true |
portal | Portal created by ApplicationBase | Portal | true |
results | ApplicationBase query results | ApplicationBaseResults | true |
settings | Config created | ApplicationBaseConfig | true |
units | Appropriate units of measurement | string | true |
property | description | type |
---|---|---|
error | The error returned from the query | Error |
value | The value returned from the query | any |
promise | The query promise | Promise<any> |
property | description | type |
---|---|---|
applicationItem? | The application item result | ApplicationBaseResult |
applicationData? | The application data result | ApplicationBaseResult |
groupInfos? | The restults from querying group infos | ApplicationBaseResult[] |
groupItems? | The results from querying group items | ApplicationBaseResult[] |
localStorage? | The local storage configuration result | ApplicationConfig |
portal? | The Portal instance result | Portal |
urlParams? | The results from URL parameters | ApplicationConfig |
webMapItems? | The restults from querying webmap items | ApplicationBaseResult[] |
webSceneItems? | The restults from querying webscene items | ApplicationBaseResult[] |
Loads the requested ApplicationBase resources and returns the class once complete.
Query a group by parameters. ApplicationBase.queryGroupItems("myid", {}, myPortal)
.
There are helper modules and utilities you can use that contain common application functionality. See the following documentation:
Find a bug or want to request a new feature? Please let us know by submitting an issue.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Copyright 2017 Esri
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A copy of the license is available in the repository's license.txt file.
FAQs
A core class for creating a configurable application using JavaScript/TypeScript
The npm package @esri/application-base-js receives a total of 46 weekly downloads. As such, @esri/application-base-js popularity was classified as not popular.
We found that @esri/application-base-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.