require(["esri/portal/Portal"], (Portal) => { /* code goes here */ });
import Portal from "@arcgis/core/portal/Portal.js";
esri/portal/Portal
The Portal class is part of the ArcGIS Enterprise portal that provides a way to build applications that work with content from ArcGIS Online or an ArcGIS Enterprise portal. ArcGIS Enterprise is software from Esri that customers can deploy either on-premises or in the cloud. ArcGIS Online is Esri's Software as a Service offering that represents GIS as a Service and is implemented using the same technology as ArcGIS Enterprise.
The Portal API allows application developers to work with users, groups and content hosted within ArcGIS Online or within an ArcGIS Enterprise portal. The API allows developers to build web, mobile, and desktop applications that support sharing and collaboration using web maps. Organizational developers can also use the API to build custom applications for their users.
The Portal class provides a view of the portal as seen by the current user, anonymous or logged in. It includes information such as the name, logo, featured items and supported protocols (http vs https) for this portal. If the user is not logged in, this call will return the default view of the portal. If the user is logged in, the view of the portal returned will be specific to the organization that the user belongs to. The default view of the portal is dependent on the culture of the user that is obtained from the users profile.
If no url is set before loading the Portal, the API defaults to that of esriConfig.portalUrl. There may be scenarios when more than one portal instance are needed. In these circumstances, there are a couple of different options to take into account.
- Set a new Portal instance within the PortalItem
and set the portal's url.
Layer.fromPortalItem({ portalItem: { id: "e691172598f04ea8881cd2a4adaa45ba", // autocastable to Portal portal: { url: "https://thePortalUrl" } } });
- Create separate portal instances before passing them into the PortalItem's portal property.
let portalA = new Portal({ url: "https://www.exampleA.com/arcgis" // First instance }); let portalB = new Portal({ url: "https://www.exampleB.com/arcgis" // Second instance }); let item = new PortalItem({ id: "e691172598f04ea8881cd2a4adaa45ba", portal: portalA // This loads the first portal instance set above }); item.load();
The when() method on the Portal instance can be called to execute processes that may only run after the Portal is loaded.
// load the Portal and PortalQueryParams modules
require(["esri/portal/Portal",
"esri/portal/PortalQueryParams"
], function(Portal, PortalQueryParams) {
portal = new Portal();
// Setting authMode to immediate signs the user in once loaded
portal.authMode = "immediate";
// Once portal is loaded, user signed in
portal.load().then(function() {
console.log(portal);
// Create query parameters for the portal search
// This object autocasts as new PortalQueryParams()
let queryParams = {
query: "owner:" + portal.user.username,
sortField: "numViews",
sortOrder: "desc",
num: 20
};
// Query the items based on the queryParams created from portal above
portal.queryItems(queryParams).then(createGallery);
});
});
Constructors
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The access level of the organization. | Portal | ||
When | Portal | ||
The authentication mode for handling authentication when the user attempts to access a secure resource. | Portal | ||
Array of trusted servers to send credentials to when making Cross-Origin Resource Sharing (CORS) requests to access services secured with web-tier authentication. | Portal | ||
The query that defines the basemaps that should be displayed in the BasemapGallery when useVectorBasemaps is not true. | Portal | ||
The query that defines the 3D basemaps that should be displayed in the BasemapGallery. | Portal | ||
The Bing key to use for web maps using Bing Maps. | Portal | ||
Indicates whether an organization can list applications in the marketplace. | Portal | ||
Indicates whether an organization can list data services in the marketplace. | Portal | ||
Indicates whether an organization can list pre-provisioned items in the marketplace. | Portal | ||
Indicates whether an organization can provision direct purchases in the marketplace without customer request. | Portal | ||
When | Portal | ||
The Bing key can be shared to the public and is returned as part of a portal's description call ( | Portal | ||
When | Portal | ||
Indicates whether to allow an organization with an enterprise IDP configured to be able to turn on or off the ArcGIS sign in. | Portal | ||
Indicates whether to allow an organization with an enterprise IDP configured to be able to turn on or off the enterprise sign in. | Portal | ||
The query that identifies the group containing the color sets used for rendering in the map viewer. | Portal | ||
Indicates whether to allow the organization to disable commenting. | Portal | ||
Date the organization was created. | Portal | ||
The default locale (language and country) information. | Portal | ||
The custom base URL for the portal. | Portal | ||
The name of the class. | Accessor | ||
The default basemap to use for the portal. | Portal | ||
The default developer basemap to use for the portal when an apiKey is defined. | Portal | ||
The default extent to use for the portal. | Portal | ||
The default vector basemap to use for the portal. | Portal | ||
A description of the organization/portal. | Portal | ||
The query that defines the basemaps that should be displayed in the BasemapGallery when an apiKey is defined. | Portal | ||
Boolean value indicating whether to opt-in to the Esri User Experience Improvement (EUEI) program. | Portal | ||
The featured groups for the portal. | Portal | ||
The query that defines the featured group. | Portal | ||
The query that identifies the group containing features items for the gallery. | Portal | ||
Indicates whether the organization has content categories. | Portal | ||
Helper services provided by the portal. | Portal | ||
The group that contains featured content to be displayed on the home page. | Portal | ||
The number of featured items that can be displayed on the home page. | Portal | ||
The port used by the portal for HTTP communication. | Portal | ||
The port used by the portal for HTTPS communication. | Portal | ||
The id of the organization that owns this portal. | Portal | ||
The country code of the calling IP (ArcGIS Online only). | Portal | ||
Indicates whether the portal is an organization. | Portal | ||
Indicates if the portal is on-premises. | Portal | ||
Indicates if the portal is in read-only mode. | Portal | ||
The query that identifies the group containing editing templates. | Portal | ||
Indicates whether the portal's resources have loaded. | Portal | ||
The Error object returned if an error occurred while loading. | Portal | ||
Represents the status of a load operation. | Portal | ||
A list of warnings which occurred while loading. | Portal | ||
The maximum validity in minutes of tokens issued for users of the organization. | Portal | ||
Date the organization was last modified. | Portal | ||
Name of the organization. | Portal | ||
URL of the portal host. | Portal | ||
The portal mode. | Portal | ||
Properties specific to the organization, for example the "contact us" link. | Portal | ||
Indicates whether the recycle bin is enabled for the organization. | Portal | ||
The region for the organization. | Portal | ||
The REST URL for the portal, for example "https://www.arcgis.com/sharing/rest" for ArcGIS Online and "https://www.example.com/arcgis/sharing/rest" for your in-house portal. | Portal | ||
Custom HTML for the home page. | Portal | ||
Indicates whether the description of your organization displays on the home page. | Portal | ||
The JSON used to create the property values when the | Portal | ||
Indicates whether hosted services are supported. | Portal | ||
The query that defines the symbols sets. | Portal | ||
The query that defines the collection of templates that will appear in the template gallery. | Portal | ||
The URL to the thumbnail of the organization. | Portal | ||
Sets the units of measure for the organization's users. | Portal | ||
The URL to the portal instance. | Portal | ||
The prefix selected by the organization's administrator to be used with the customBaseURL. | Portal | ||
When | Portal | ||
Information representing a registered user of the portal. | Portal | ||
When | Portal | ||
When | Portal | ||
The query that defines the vector tiles basemaps that should be displayed in the BasemapGallery when useVectorBasemaps is true. | Portal |
Property Details
-
access
access String
-
The access level of the organization. When public, anonymous users can access the organization. When private, access is restricted to only members of the organization.
Possible Values:"public" |"private"
-
allSSL
allSSL Boolean
-
When
true
, access to the organization's Portal resources must occur over SSL.
-
authMode
authMode String
-
The authentication mode for handling authentication when the user attempts to access a secure resource.
Possible Value Description anonymous An error will be returned when a secure resource is requested. auto The user will be signed in when a secure resource is requested. immediate The user will be signed in when the Portal is loaded. no-prompt Checks for whether the user is already signed in. If so, no additional prompts display for sign-in. Possible Values:"anonymous" |"auto" |"immediate" |"no-prompt"
- Default Value:auto
-
Array of trusted servers to send credentials to when making Cross-Origin Resource Sharing (CORS) requests to access services secured with web-tier authentication.
-
basemapGalleryGroupQuery
basemapGalleryGroupQuery String
Since: ArcGIS Maps SDK for JavaScript 4.4Portal since 4.0, basemapGalleryGroupQuery added at 4.4. -
The query that defines the basemaps that should be displayed in the BasemapGallery when useVectorBasemaps is not true. The fetchBasemaps() method does this automatically.
-
basemapGalleryGroupQuery3D
basemapGalleryGroupQuery3D String
Since: ArcGIS Maps SDK for JavaScript 4.27Portal since 4.0, basemapGalleryGroupQuery3D added at 4.27. -
The query that defines the 3D basemaps that should be displayed in the BasemapGallery. The fetchBasemaps() method does this automatically.
-
bingKey
bingKey String
-
The Bing key to use for web maps using Bing Maps.
-
canListApps
canListApps Boolean
-
Indicates whether an organization can list applications in the marketplace.
-
canListData
canListData Boolean
-
Indicates whether an organization can list data services in the marketplace.
-
canListPreProvisionedItems
canListPreProvisionedItems Boolean
-
Indicates whether an organization can list pre-provisioned items in the marketplace.
-
canProvisionDirectPurchase
canProvisionDirectPurchase Boolean
-
Indicates whether an organization can provision direct purchases in the marketplace without customer request.
-
canSearchPublic
canSearchPublic Boolean
-
When
true
, the organization's public items, groups and users are included in search queries. Whenfalse
, no public items outside of the organization are included. However, public items which are part of the organization are included.- Default Value:true
-
canShareBingPublic
canShareBingPublic Boolean
-
The Bing key can be shared to the public and is returned as part of a portal's description call (
/sharing/rest/portals/<orgid>
). This requires the access of the portal to be set to public. The canShareBingPublic property is not returned publicly but only shown to users within the organization.- Default Value:false
-
canSharePublic
canSharePublic Boolean
-
When
true
, members of the organization can share resources outside the organization.- Default Value:false
-
canSignInArcGIS
canSignInArcGIS Boolean
-
Indicates whether to allow an organization with an enterprise IDP configured to be able to turn on or off the ArcGIS sign in.
- Default Value:false
-
canSignInIDP
canSignInIDP Boolean
-
Indicates whether to allow an organization with an enterprise IDP configured to be able to turn on or off the enterprise sign in.
- Default Value:false
-
colorSetsGroupQuery
colorSetsGroupQuery String
-
The query that identifies the group containing the color sets used for rendering in the map viewer.
-
commentsEnabled
commentsEnabled Boolean
-
Indicates whether to allow the organization to disable commenting. When commentsEnabled is false, comments are hidden and not removed. numComments are set to zero for all items in the organization. Calls to add a comment and view comments will fail. If the organization re-enables comments, the comments display and numComments are restored.
- Default Value:false
-
created
created Date
-
Date the organization was created.
-
culture
culture String
-
The default locale (language and country) information.
-
customBaseUrl
customBaseUrl String
-
The custom base URL for the portal.
-
defaultBasemap
defaultBasemap Basemap
-
The default basemap to use for the portal. Used in the map viewer.
-
defaultExtent
defaultExtent Extent
-
The default extent to use for the portal. Used in the map viewer. The extent will be in the default basemap's spatial reference.
-
defaultVectorBasemap
defaultVectorBasemap Basemap
Since: ArcGIS Maps SDK for JavaScript 4.4Portal since 4.0, defaultVectorBasemap added at 4.4. -
The default vector basemap to use for the portal. Used in the map viewer.
-
description
description String
-
A description of the organization/portal.
-
devBasemapGalleryGroupQuery
devBasemapGalleryGroupQuery String
Since: ArcGIS Maps SDK for JavaScript 4.22Portal since 4.0, devBasemapGalleryGroupQuery added at 4.22. -
The query that defines the basemaps that should be displayed in the BasemapGallery when an apiKey is defined. The fetchBasemaps() method does this automatically.
-
eueiEnabled
eueiEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.7Portal since 4.0, eueiEnabled added at 4.7. -
Boolean value indicating whether to opt-in to the Esri User Experience Improvement (EUEI) program.
- Default Value:null
-
The featured groups for the portal. Returns an array of objects that provide access to the owner and title for each featured group. Each item in this array has the following specification:
-
featuredItemsGroupQuery
featuredItemsGroupQuery String
-
The query that defines the featured group. If null, then the most viewed items in the organization will be the featured items.
-
galleryTemplatesGroupQuery
galleryTemplatesGroupQuery String
-
The query that identifies the group containing features items for the gallery. Set a Group ID or, if null, then the most viewed items in your organization are displayed in the gallery.
-
hasCategorySchema
hasCategorySchema Boolean
Since: ArcGIS Maps SDK for JavaScript 4.8Portal since 4.0, hasCategorySchema added at 4.8. -
Indicates whether the organization has content categories.
- Default Value:false
-
helperServices
helperServices Object
Since: ArcGIS Maps SDK for JavaScript 4.4Portal since 4.0, helperServices added at 4.4. -
Helper services provided by the portal. This is useful for determining the URLs for relevant methods. It is recommended to use these URLs with their respective
rest
modules instead of the deprecated helper methods.For additional information about helper services, see the about utility services topic from the ArcGIS Server documentation.
Examplerequire([ "esri/Map", "esri/views/MapView", "esri/portal/Portal", "esri/core/Collection", "esri/layers/GraphicsLayer", "esri/rest/route", "esri/rest/support/RouteParameters", "esri/rest/support/Stop", ... ], function(Map, MapView, Portal, Collection, GraphicsLayer, route, RouteParameters, Stop, ... ) { // create new Portal object with relevant URL const portal = new Portal({ url: "YOUR_PORTAL_URL" }); // the stops and route result will be stored in this layer const routingLayer = new GraphicsLayer(); const map = new Map({ basemap: "streets-navigation-vector", layers: [routingLayer] }); const view = new MapView({ container: "viewDiv", map: map, center: [-117.39966, 34.06873], zoom: 10 }); // create a Collection of new Stops const stops = new Collection([ new Stop({ geometry: { x: -117.59275, y: 34.06200 }, name: "Ontario Airport" }), new Stop({ geometry: { x: -117.19570, y: 34.05609 }, name: "Esri Campus" }) ]); // setup the RouteParameters with API key and Stops const routeParams = new RouteParameters({ // An authorization string used to access the routing service apiKey: "YOUR_API_KEY", stops }); // define the symbology used to display the route const routeSymbol = { type: "simple-line", // autocasts as SimpleLineSymbol() color: [175, 155, 215, 0.5], width: 5 }; // load Portal instance portal.load().then(function() { // display URLs to all helper services console.log("Show helperServices URLs: ", portal.helperServices); // access helperServices from the Portal instance // to get the routing URL of interest const routeURL = portal.helperServices.route.url; // use helperServices to perform routing route.solve(routeURL, routeParams).then(showRouteInfo); } // do something useful with the results // like display them to the console // or display them on the map function showRouteInfo(routeSolveResult) { console.log("Show all results: ", routeSolveResult); const routeResult = routeSolveResult.routeResults[0].route; routeResult.symbol = routeSymbol; routingLayer.add(routeResult); } });
-
homePageFeaturedContent
homePageFeaturedContent String
-
The group that contains featured content to be displayed on the home page.
-
homePageFeaturedContentCount
homePageFeaturedContentCount Number
-
The number of featured items that can be displayed on the home page. The max is 100. Accepts integers only.
-
httpPort
httpPort Number
-
The port used by the portal for HTTP communication.
-
httpsPort
httpsPort Number
-
The port used by the portal for HTTPS communication.
-
id
id String
-
The id of the organization that owns this portal. If
null
then this is the default portal for anonymous and non-organizational users.
-
ipCntryCode
ipCntryCode String
-
The country code of the calling IP (ArcGIS Online only).
-
isOrganization
isOrganization Booleanreadonly
-
Indicates whether the portal is an organization.
-
isPortal
isPortal Boolean
-
Indicates if the portal is on-premises.
-
isReadOnly
isReadOnly Boolean
Since: ArcGIS Maps SDK for JavaScript 4.14Portal since 4.0, isReadOnly added at 4.14. -
Indicates if the portal is in read-only mode. When
true
, content cannot be created, modified, or deleted on the Portal.
-
layerTemplatesGroupQuery
layerTemplatesGroupQuery String
-
The query that identifies the group containing editing templates.
-
loaded
loaded Booleanreadonly
-
Indicates whether the portal's resources have loaded. When
true
, all the properties of the object can be accessed.- Default Value:false
-
loadError
loadError Errorreadonly
-
The Error object returned if an error occurred while loading.
- Default Value:null
-
loadStatus
loadStatus Stringreadonly
-
Represents the status of a load operation.
Value Description not-loaded The object's resources have not loaded. loading The object's resources are currently loading. loaded The object's resources have loaded without errors. failed The object's resources failed to load. See loadError for more details. Possible Values:"not-loaded" |"loading" |"failed" |"loaded"
- Default Value:not-loaded
-
A list of warnings which occurred while loading.
-
maxTokenExpirationMinutes
maxTokenExpirationMinutes Number
-
The maximum validity in minutes of tokens issued for users of the organization. -1 is the default and is a special value that indicates infinite timeout or permanent tokens. For tokens granted using OAuth 2.0 authorization grant, it represents the maximum validity of refresh tokens. For access tokens, the maximum validity is the lower of two weeks or this value.
-
modified
modified Date
-
Date the organization was last modified.
-
name
name String
-
Name of the organization.
-
portalHostname
portalHostname String
-
URL of the portal host.
-
portalMode
portalMode String
-
The portal mode.
Possible Values:"multitenant" |"singletenant"
-
portalProperties
portalProperties Object
-
Properties specific to the organization, for example the "contact us" link. If the organization is public, the properties are visible to the anonymous user.
-
recycleBinEnabled
recycleBinEnabled Boolean
Since: ArcGIS Maps SDK for JavaScript 4.30Portal since 4.0, recycleBinEnabled added at 4.30. -
Indicates whether the recycle bin is enabled for the organization.
-
region
region String
-
The region for the organization.
-
restUrl
restUrl Stringreadonly
-
The REST URL for the portal, for example "https://www.arcgis.com/sharing/rest" for ArcGIS Online and "https://www.example.com/arcgis/sharing/rest" for your in-house portal.
-
showHomePageDescription
showHomePageDescription Boolean
-
Indicates whether the description of your organization displays on the home page.
-
sourceJSON
sourceJSON Object
Since: ArcGIS Maps SDK for JavaScript 4.13Portal since 4.0, sourceJSON added at 4.13. -
The JSON used to create the property values when the
Portal
is loaded. Although most commonly used properties are exposed on thePortal
class directly, this provides access to all information returned by the portal. This property is useful if working in an application built using an older version of the API which requires access to portal properties from a more recent version.- See also
-
supportsHostedServices
supportsHostedServices Boolean
-
Indicates whether hosted services are supported.
- Default Value:false
-
symbolSetsGroupQuery
symbolSetsGroupQuery String
-
The query that defines the symbols sets.
-
templatesGroupQuery
templatesGroupQuery String
-
The query that defines the collection of templates that will appear in the template gallery.
-
thumbnailUrl
thumbnailUrl Stringreadonly
-
The URL to the thumbnail of the organization.
-
url
url String
-
The URL to the portal instance. Setting the location of the portal instance via esriConfig.portalUrl should be used in favor of setting it directly on this property.
If using an on-premise portal, the syntax should look similar to:
https://www.example.com/arcgis
Default Value: The default value for this property is the same as the esriConfig.portalUrl property value.
-
urlKey
urlKey String
-
The prefix selected by the organization's administrator to be used with the customBaseURL.
-
use3dBasemaps
use3dBasemaps Boolean
Since: ArcGIS Maps SDK for JavaScript 4.27Portal since 4.0, use3dBasemaps added at 4.27. -
When
false
, 3D basemaps are hidden from the BasemapGallery, regardless of the type of the view.
-
user
user PortalUser
-
Information representing a registered user of the portal.
-
useStandardizedQuery
useStandardizedQuery Boolean
-
When
true
, only simple where clauses that are compliant with SQL92 can be used when querying layers and tables. The recommended security setting is true.
-
useVectorBasemaps
useVectorBasemaps Boolean
Since: ArcGIS Maps SDK for JavaScript 4.4Portal since 4.0, useVectorBasemaps added at 4.4. -
When
true
, the organization has opted in to use the vector tile basemaps, and (a) vectorBasemapGalleryGroupQuery should be used instead of basemapGalleryGroupQuery, while (b) defaultVectorBasemap should be used instead of defaultBasemap. The fetchBasemaps() method automatically uses vectorBasemapGalleryGroupQuery.
-
vectorBasemapGalleryGroupQuery
vectorBasemapGalleryGroupQuery String
Since: ArcGIS Maps SDK for JavaScript 4.4Portal since 4.0, vectorBasemapGalleryGroupQuery added at 4.4. -
The query that defines the vector tiles basemaps that should be displayed in the BasemapGallery when useVectorBasemaps is true. The fetchBasemaps() method does this automatically.
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Cancels a load() operation if it is already in progress. | Portal | ||
A helper function that returns an array of ElevationsLayers derived from the Portal's Limited Error Raster Compression (LERC) elevation helper service. | Portal | ||
Fetches the basemaps that are displayed in the BasemapGallery. | Portal | ||
If present, fetches the organization's category schema. | Portal | ||
Fetches the featured groups in the Portal. | Portal | ||
Fetches and returns the associated regions with the portal instance. | Portal | ||
Fetches and returns the portal settings as seen by the current user(s), whether anonymous or signed in. | Portal | ||
A new | Portal | ||
Returns true if a named group of handles exist. | Accessor | ||
| Portal | ||
| Portal | ||
| Portal | ||
Loads the resources referenced by this class. | Portal | ||
Executes a query against the Portal to return an array of PortalGroup objects that match the input query. | Portal | ||
Executes a query against the Portal to return an array of PortalItem objects that match the input query. | Portal | ||
Executes a query against the Portal to return an array of PortalUser objects that match the input query. | Portal | ||
Removes a group of handles owned by the object. | Accessor | ||
| Portal |
Method Details
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, addHandles added at 4.25. -
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
Cancels a load() operation if it is already in progress.
-
createElevationLayers
createElevationLayers(){Promise<ElevationLayer[]>}
Since: ArcGIS Maps SDK for JavaScript 4.12Portal since 4.0, createElevationLayers added at 4.12. -
A helper function that returns an array of ElevationsLayers derived from the Portal's Limited Error Raster Compression (LERC) elevation helper service.
ReturnsType Description Promise<ElevationLayer[]> When resolved, returns an array of ElevationLayers. - See also
-
Fetches the basemaps that are displayed in the BasemapGallery. When an apiKey is defined, the basemaps will be based on devBasemapGalleryGroupQuery. When useVectorBasemaps is
true
, the basemaps will be based on vectorBasemapGalleryGroupQuery. Otherwise, it is based on basemapGalleryGroupQuery.ParametersSpecificationbasemapGalleryGroupQuery StringoptionalWhen provided, this argument is used to fetch basemaps based on input query parameters.
options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.include3d BooleanoptionalWhen
true
the basemaps based on basemapGalleryGroupQuery3D are also fetched, if nobasemapGalleryGroupQuery
is passed as an argument. Whentrue
and a custombasemapGalleryGroupQuery
is passed, also 3D basemaps from the custom group are fetched. When not specified, it will default to use3dBasemaps.ReturnsExampleportal.fetchBasemaps("title:\"Cloud Creek Basemaps\" AND owner:jsmith") .then(function(basemaps){ // do something with the basemaps });
-
Since: ArcGIS Maps SDK for JavaScript 4.8Portal since 4.0, fetchCategorySchema added at 4.8. -
If present, fetches the organization's category schema.
Parametersoptions ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsExample// Fetches the category schema portal.fetchCategorySchema().then(function(schemas){ schemas.forEach(function(schema){ console.log("schema: ", schema); }); });
-
fetchFeaturedGroups
fetchFeaturedGroups(options){Promise<PortalGroup[]>}
-
Fetches the featured groups in the Portal.
Parametersoptions ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<PortalGroup[]> Resolves to an array of PortalGroup objects. Example// fetch featured groups portal.fetchFeaturedGroups().then(function(groups){ groups.forEach(function(group){ group.fetchMembers().then(function(members){ console.log("member", members); }); }); });
-
Since: ArcGIS Maps SDK for JavaScript 4.8Portal since 4.0, fetchRegions added at 4.8. -
Fetches and returns the associated regions with the portal instance.
Parametersoptions ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<object[]> Resolves to an array of objects containing the following properties: Property Type Description localizedName string The localized name for the region. For example, "Australia". name string The name of the region. For example, "Australia". region string Region name. For example, "AU". - See also
-
Since: ArcGIS Maps SDK for JavaScript 4.23Portal since 4.0, fetchSettings added at 4.23. -
Fetches and returns the portal settings as seen by the current user(s), whether anonymous or signed in. This returns information such as any accessible helper services, allowed redirect URIs, and the configuration for any access notices or information banners.
Parametersoptions ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.Returns- See also
-
getDefault
getDefault(){Portal}static
-
A new
Portal
instance is created the first time this method is called. The URL from config.portalUrl is automatically used for this instance. This instance is then cached and used for any subsequent calls to this method.ReturnsType Description Portal The Portal instance.
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from AccessorSince: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, hasHandles added at 4.25. -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
isFulfilled
isFulfilled(){Boolean}
-
isFulfilled()
may be used to verify if creating an instance of the class is fulfilled (either resolved or rejected). If it is fulfilled,true
will be returned.ReturnsType Description Boolean Indicates whether creating an instance of the class has been fulfilled (either resolved or rejected).
-
load
load(signal){Promise}
-
Loads the resources referenced by this class. This method automatically executes for a View and all of the resources it references in Map if the view is constructed with a map instance.
This method must be called by the developer when accessing a resource that will not be loaded in a View.
The
load()
method only triggers the loading of the resource the first time it is called. The subsequent calls return the same promise.It's possible to provide a
signal
to stop being interested into aLoadable
instance load status. When the signal is aborted, the instance does not stop its loading process, only cancelLoad can abort it.Parametersignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.Returns
-
queryGroups
queryGroups(queryParams, options){Promise<PortalQueryResult>}
-
Executes a query against the Portal to return an array of PortalGroup objects that match the input query.
ParametersAutocasts from ObjectThe input query parameters defined in PortalQueryParams.
options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<PortalQueryResult> When resolved, resolves to an instance of PortalQueryResult which contains a results
array of PortalGroup objects representing all the groups that match the input query.- See also
-
queryItems
queryItems(queryParams, options){Promise<PortalQueryResult>}
-
Executes a query against the Portal to return an array of PortalItem objects that match the input query.
ParametersAutocasts from ObjectThe input query parameters defined in PortalQueryParams.
options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<PortalQueryResult> When resolved, resolves to an instance of PortalQueryResult which contains a results
array of PortalItem objects representing all the items that match the input query.- See also
Example// Once portal is loaded, user signed in portal.load().then(function() { console.log(portal); // Create query parameters for the portal search // This object autocasts as new PortalQueryParams() let queryParams = { query: "owner:" + portal.user.username, sortField: "numViews", sortOrder: "desc", num: 20 }; // Query the items based on the queryParams created from portal above portal.queryItems(queryParams).then(createGallery); });
-
queryUsers
queryUsers(queryParams, options){Promise<PortalQueryResult>}
-
Executes a query against the Portal to return an array of PortalUser objects that match the input query.
ParametersAutocasts from ObjectThe input query parameters defined in PortalQueryParams.
options ObjectoptionalAn object with the following properties.
Specificationsignal AbortSignaloptionalSignal object that can be used to abort the asynchronous task. The returned promise will be rejected with an Error named
AbortError
when an abort is signaled. See also AbortController for more information on how to construct a controller that can be used to deliver abort signals.ReturnsType Description Promise<PortalQueryResult> When resolved, resolves to an instance of PortalQueryResult which contains a results
array of PortalUser objects representing all the items that match the input query.- See also
Example// Once portal is loaded, user signed in portal.load().then(function() { // queryUsers // This object autocasts as new PortalQueryParams() let queryParameters = { query: "username:" + portal.user.username }; portal.queryUsers(queryParameters).then(function(queryResults){ queryResults.results[0].fetchFolders().then(function(folders){ folders.forEach(function(folder){ console.log(" user folder", folder.title); }); }); }); });
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, removeHandles added at 4.25. -
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
when
when(callback, errback){Promise}
Since: ArcGIS Maps SDK for JavaScript 4.6Portal since 4.0, when added at 4.6. -
when()
may be leveraged once an instance of the class is created. This method takes two input parameters: acallback
function and anerrback
function. Thecallback
executes when the instance of the class loads. Theerrback
executes if the instance of the class fails to load.ParametersReturnsType Description Promise Returns a new promise for the result of callback
that may be used to chain additional functions.Example// Although this example uses MapView, any class instance that is a promise may use when() in the same way let view = new MapView(); view.when(function(){ // This function will execute once the promise is resolved }, function(error){ // This function will execute if the promise is rejected due to an error });