UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

113 lines (112 loc) 3.43 kB
import type PortalItem from "@arcgis/core/portal/PortalItem"; import type { Source } from "../../app-config/web/PortalModelProperties.js"; import type { Event } from "../Event.js"; import { EventRegistry } from "../EventRegistry.js"; import type { Operation } from "../Operation.js"; import { OperationRegistry } from "../OperationRegistry.js"; import type { HasMaps, HasUITarget, LayersLike } from "../common.js"; /** * Corresponds to `VertiGIS.Mobile.Infrastructure.Portal.ArcGISPortalExtension` * in the VertiGIS.Mobile SDK. */ export interface ArcGISPortalExtension { } /** * Arguments for the "portal.choose-layers" operation. */ export interface ChooseLayersOptions extends HasMaps, HasUITarget { /** * Whether the user can choose multiple layers, or just one. Default is * `false`. */ allowMultiple?: boolean; /** * Optionally specify the tags by which the Choose Layer modal will filter * out the displayed layers. If specified this will overwrite the configured * default in the Portal Model. */ layerFilterTags?: string[]; /** * Optionally specify the source that will be initially selected. If * specified this will overwrite the configured default in the Portal * Model. */ initialSource?: Source; /** * Optionally specify the sources that we want to expose. If specified this * will overwrite the configured default in the Portal Model. */ sources?: Source[]; } /** * Result of the "portal.choose-layers" operation. */ export interface ChooseLayersResult extends HasMaps { /** * The layer(s) chosen by the user. */ layers?: LayersLike; } /** * Information about a portal item to be saved. */ export interface PortalItemData { /** * The JSON data associated with the item. */ data: unknown; /** * The portal type of the item. */ type: string; /** * The URL of a thumbnail for the item. */ thumbnail?: string; } /** * Arguments for the 'portal.create-or-update-item' operation. */ export interface CreateOrUpdateItemArgs extends PortalItemData { /** * The title of the resulting portal item. Must be provided if `showUI` is * `false`. */ title?: string; /** * Whether to show UI elements associated with this operation. Defaults to * `true`. */ showUI?: boolean; /** * Whether to prompt before overwriting an existing item. This must be set * to `false` to allow overwriting if `showUI` is also `false`. Defaults to * `true`. */ promptForOverwrite?: boolean; } export declare class PortalEvents extends EventRegistry { protected readonly _prefix = "portal"; /** * Raised when an ArcGIS Portal is initialized. Mobile only. * * @mobileOnly */ get initialized(): Event<ArcGISPortalExtension>; } export declare class PortalOperations extends OperationRegistry { protected readonly _prefix = "portal"; /** * Allows the user to browse/search the application's associated portal for * one or more layers. Web only. * * @webOnly */ get chooseLayers(): Operation<ChooseLayersOptions, ChooseLayersResult>; /** * Creates or updates a portal item from the supplied data. Web only. * * @webOnly */ get createOrUpdateItem(): Operation<CreateOrUpdateItemArgs, PortalItem>; }