UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

265 lines (264 loc) 7.29 kB
import type { AppConfig } from "../../app-config/index.js"; import type { Command } from "../Command.js"; import { CommandRegistry } from "../CommandRegistry.js"; import type * as DotNetTypes from "../DotNetTypes.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 { Blob } from "../common.js"; /** * Information about a specific app. Only available in VertiGIS Studio Mobile. */ export interface GcxAppInfo { } /** * Arguments for the app started events. Only available in VertiGIS Studio * Mobile. */ export interface SpecificAppArgs { /** * A unique identifier for the app. */ uniqueKey: string; /** * The amount of time that the app took to load. */ loadTime: DotNetTypes.TimeSpan; } /** * Arguments for the app.generic.apps-listed event. Only available in VertiGIS * Studio Mobile. */ export interface GenericAppsListedArgs { /** * The number of dev apps available. */ devApps: number; /** * The number of test apps available. */ testApps: number; /** * The number of staging apps available. */ stagingApps: number; /** * The number of production apps available. */ productionApps: number; /** * The total number of apps available. */ totalApps: number; } export declare class AppCommands extends CommandRegistry { protected readonly _prefix = "app"; /** * Returns to the app selector view where the user can select a different * app. Only enabled if the current app was launched through VertiGIS Studio * Go. Mobile only. * * @mobileOnly */ get goToAppSelector(): Command; /** * Refreshes the currently loaded app so that it can download updates if * available. Mobile only. * * @mobileOnly */ get refresh(): Command; /** * Stores data specified by the arguments (key and scope). Mobile only. * * @mobileOnly */ get setPersistentData(): Command<SaveStorageDataArgs>; /** * Adds the currently loaded app to the user's Favorites collection. Mobile * only. * * @mobileOnly */ get favorite(): Command; /** * Removes the currently loaded app from the user's Favorites collection. * Mobile only. * * @mobileOnly */ get unfavorite(): Command; /** * Loads a project's app config and updates the application's current state, * accordingly. If more than one file is provided, only the first will be * loaded. Deprecated; use project.load instead. Web only. * * @deprecated * @webOnly */ get loadProject(): Command<AppConfig | Blob | Blob[]>; } export declare class AppEvents extends EventRegistry { readonly custom: AppCustomEvents; readonly generic: AppGenericEvents; protected readonly _prefix = "app"; /** * Raised when the app is started, restored from a background state, layout * switched, or restored from an interrupted state. Mobile only. * * @mobileOnly */ get activated(): Event; /** * Raised when the app is backgrounded. Mobile only. * * @mobileOnly */ get backgrounded(): Event; /** * Raised when the app is interrupted temporarily (eg. Pull down * notifications, control center, or OS level prompt or alert). Mobile * only. * * @mobileOnly */ get interrupted(): Event; /** * Raised when returning to the app selector screen from a specific app in * VertiGIS Studio Go. Mobile only. * * @mobileOnly */ get goingToAppSelector(): Event; /** * Raised when an app has been refreshed. Mobile only. * * @mobileOnly */ get refreshed(): Event<SpecificAppArgs>; /** * Raised when an app refresh is beginning. Mobile only. * * @mobileOnly */ get refreshing(): Event; /** * Raised when an app is favorited. Mobile only. * * @mobileOnly */ get favorited(): Event<GcxAppInfo>; /** * Raised when an app is unfavorited. Mobile only. * * @mobileOnly */ get unfavorited(): Event<GcxAppInfo>; } export declare class AppCustomEvents extends EventRegistry { protected readonly _prefix = "app.custom"; /** * Raised when a custom app is started. Mobile only. * * @mobileOnly */ get started(): Event<SpecificAppArgs>; } export declare class AppGenericEvents extends EventRegistry { protected readonly _prefix = "app.generic"; /** * Raised when apps are listed within VertiGIS Studio Go. Mobile only. * * @mobileOnly */ get appsListed(): Event<GenericAppsListedArgs>; /** * Raised before a specific app starts within VertiGIS Studio Go. Mobile * only. * * @mobileOnly */ get specificAppStarting(): Event<SpecificAppArgs>; /** * Raised when a specific app is started within VertiGIS Studio Go. Mobile * only. * * @mobileOnly */ get specificAppStarted(): Event<SpecificAppArgs>; /** * Raised when a generic app is started. Mobile only. * * @mobileOnly */ get started(): Event; } export declare class AppOperations extends OperationRegistry { protected readonly _prefix = "app"; /** * Gets the current version stamped in the application (i.e. the version of * the viewer this application was created with). Web only. * * @webOnly */ get getVersion(): Operation<void, string>; /** * Creates app config for a project, based on the current state of the * application. Deprecated; use project.create instead. Web only. * * @deprecated * @webOnly */ get createProject(): Operation<void, AppConfig>; /** * Gets stored data, specified by the arguments (key and scope). */ get getPersistentData(): Operation<StorageDataArgs, unknown>; /** * Removes stored data, specified by the arguments (key and scope). Returns * true if the data was removed, false otherwise. Mobile only. * * @mobileOnly */ get removePersistentData(): Operation<StorageDataArgs, boolean>; } /** * Arguments for the reading app.*-persistent-data operations. Only available in * VertiGIS Studio Mobile. */ export interface StorageDataArgs { /** * The key of the data to store. */ key: string; /** * The scope the data is stored in. Defaults to @see StorageScope.APP. */ scope?: StorageScope; } /** * Arguments for the app.set-persistent-data operations. Only available in * VertiGIS Studio Mobile. */ export interface SaveStorageDataArgs extends StorageDataArgs { /** * The data to be stored. */ data: unknown; } type StorageScope = /** * Defines the global storage that is accessible from all apps. */ "global" /** * Defines the app specific storage that only is accessible from within the * very app. */ | "app" /** * Defines in memory storage, that doesn't get persisted on app shutdown. */ | "memory"; export {};