@vertigis/viewer-spec
Version:
VertiGIS Viewer Specification
37 lines (36 loc) • 1.32 kB
TypeScript
/**
* A username for a particular ArcGIS Portal User.
*/
export type PortalUsername = string;
/**
* The unique ID of an ArcGIS Portal Group.
*/
export type PortalGroupId = string;
/**
* A defined set of user types for convenient configuration, based on
* authentication.
*/
export type VertigisUserType = "gcx-all-users" | "gcx-anonymous-users" | "gcx-authenticated-users";
/**
* An identity/authentication based filter that determines whether a component
* or menu item in the app is visible or hidden from a given end-user.
*/
export type VisibilityFilter = VertigisUserType | PortalGroupId | PortalUsername;
/**
* A set of properties that determines whether a component or menu item in the
* app is visible or hidden from a given end-user.
*/
export interface HasVisibilityFilters {
/**
* Filters that determine whether the UI element is visible to a given
* end-user. If both visibleTo and hiddenFrom are undefined/empty, the
* component will be visible to all users.
*/
visibleTo?: Iterable<VisibilityFilter>;
/**
* Filters that determine whether the UI element is hidden from a given
* end-user. If both visibleTo and hiddenFrom are undefined/empty, the
* component will be visible to all users.
*/
hiddenFrom?: Iterable<VisibilityFilter>;
}