/**
* Copy options of a Dashboard.
*/
export interface CopyDashboardOptions {
/**
* Dashboard Scope. Can be either Project or Project_Team
*/
copyDashboardScope: DashboardScope;
/**
* When this flag is set to true,option to select the folder to copy Queries of copy dashboard will appear.
*/
copyQueriesFlag?: boolean;
/**
* Description of the dashboard
*/
description?: string;
/**
* Name of the dashboard
*/
name?: string;
/**
* ID of the project. Provided by service at creation time.
*/
projectId: string;
/**
* Path to which the queries should be copied of copy dashboard
*/
queryFolderPath?: string;
/**
* Refresh interval of dashboard
*/
refreshInterval?: number;
/**
* ID of the team. Provided by service at creation time
*/
teamId?: string;
}
export interface CopyDashboardResponse {
/**
* Copied Dashboard
*/
copiedDashboard?: Dashboard;
/**
* Copy Dashboard options
*/
copyDashboardOptions: CopyDashboardOptions;
}
/**
* Model of a Dashboard.
*/
export interface Dashboard {
_links?: any;
/**
* Entity to which the dashboard is scoped.
*/
dashboardScope?: DashboardScope;
/**
* Description of the dashboard.
*/
description?: string;
/**
* Server defined version tracking value, used for edit collision detection.
*/
eTag?: string;
/**
* Dashboard Global Parameters Config
*/
globalParametersConfig?: string;
/**
* ID of the group for a dashboard. For team-scoped dashboards, this is the unique identifier for the team associated with the dashboard. For project-scoped dashboards this property is empty.
*/
groupId?: string;
/**
* ID of the Dashboard. Provided by service at creation time.
*/
id?: string;
/**
* Dashboard Last Accessed Date.
*/
lastAccessedDate?: Date;
/**
* Id of the person who modified Dashboard.
*/
modifiedBy?: string;
/**
* Dashboard's last modified date.
*/
modifiedDate?: Date;
/**
* Name of the Dashboard.
*/
name?: string;
/**
* ID of the owner for a dashboard. For team-scoped dashboards, this is the unique identifier for the team associated with the dashboard. For project-scoped dashboards, this is the unique identifier for the user identity associated with the dashboard.
*/
ownerId?: string;
/**
* Position of the dashboard, within a dashboard group. If unset at creation time, position is decided by the service.
*/
position?: number;
/**
* Interval for client to automatically refresh the dashboard. Expressed in minutes.
*/
refreshInterval?: number;
url?: string;
/**
* The set of Widgets on the dashboard.
*/
widgets?: Widget[];
}
/**
* Describes a list of dashboards associated to an owner. Currently, teams own dashboard groups.
*/
export interface DashboardGroup {
_links?: any;
/**
* A list of Dashboards held by the Dashboard Group
*/
dashboardEntries?: DashboardGroupEntry[];
/**
* Deprecated: The old permission model describing the level of permissions for the current team. Pre-M125.
*/
permission?: GroupMemberPermission;
/**
* A permissions bit mask describing the security permissions of the current team for dashboards. When this permission is the value None, use GroupMemberPermission. Permissions are evaluated based on the presence of a value other than None, else the GroupMemberPermission will be saved.
*/
teamDashboardPermission?: TeamDashboardPermission;
url?: string;
}
/**
* Dashboard group entry, wrapping around Dashboard (needed?)
*/
export interface DashboardGroupEntry extends Dashboard {
}
/**
* Response from RestAPI when saving and editing DashboardGroupEntry
*/
export interface DashboardGroupEntryResponse extends DashboardGroupEntry {
}
export interface DashboardResponse extends DashboardGroupEntry {
}
/**
* identifies the scope of dashboard storage and permissions.
*/
export declare enum DashboardScope {
/**
* [DEPRECATED] Dashboard is scoped to the collection user.
*/
Collection_User = 0,
/**
* Dashboard is scoped to the team.
*/
Project_Team = 1,
/**
* Dashboard is scoped to the project.
*/
Project = 2
}
/**
* None - Team member cannot edit dashboard Edit - Team member can add, configure and delete widgets Manage - Team member can add, reorder, delete dashboards Manage Permissions - Team member can manage membership of other members to perform group operations.
*/
export declare enum GroupMemberPermission {
None = 0,
Edit = 1,
Manage = 2,
ManagePermissions = 3
}
/**
* Lightbox configuration
*/
export interface LightboxOptions {
/**
* Height of desired lightbox, in pixels
*/
height?: number;
/**
* True to allow lightbox resizing, false to disallow lightbox resizing, defaults to false.
*/
resizable?: boolean;
/**
* Width of desired lightbox, in pixels
*/
width?: number;
}
/**
* versioning for an artifact as described at: http://semver.org/, of the form major.minor.patch.
*/
export interface SemanticVersion {
/**
* Major version when you make incompatible API changes
*/
major?: number;
/**
* Minor version when you add functionality in a backwards-compatible manner
*/
minor?: number;
/**
* Patch version when you make backwards-compatible bug fixes
*/
patch?: number;
}
/**
* Read - User can see dashboards Create - User can create dashboards Edit - User can add, configure and delete widgets, and edit dashboard settings. Delete - User can delete dashboards Manage Permissions - Team member can manage membership of other members to perform group operations.
*/
export declare enum TeamDashboardPermission {
None = 0,
Read = 1,
Create = 2,
Edit = 4,
Delete = 8,
ManagePermissions = 16
}
/**
* Widget data
*/
export interface Widget {
_links?: any;
/**
* Refers to the allowed sizes for the widget. This gets populated when user wants to configure the widget
*/
allowedSizes?: WidgetSize[];
/**
* Read-Only Property from Dashboard Service. Indicates if settings are blocked for the current user.
*/
areSettingsBlockedForUser?: boolean;
/**
* Refers to unique identifier of a feature artifact. Used for pinning+unpinning a specific artifact.
*/
artifactId?: string;
configurationContributionId?: string;
configurationContributionRelativeId?: string;
contentUri?: string;
/**
* The id of the underlying contribution defining the supplied Widget Configuration.
*/
contributionId?: string;
/**
* Optional partial dashboard content, to support exchanging dashboard-level version ETag for widget-level APIs
*/
dashboard?: Dashboard;
eTag?: string;
id?: string;
isEnabled?: boolean;
isNameConfigurable?: boolean;
lightboxOptions?: LightboxOptions;
loadingImageUrl?: string;
name?: string;
position?: WidgetPosition;
settings?: string;
settingsVersion?: SemanticVersion;
size?: WidgetSize;
typeId?: string;
url?: string;
}
/**
* Contribution based information describing Dashboard Widgets.
*/
export interface WidgetMetadata {
/**
* Sizes supported by the Widget.
*/
allowedSizes?: WidgetSize[];
/**
* Opt-in boolean that indicates if the widget requires the Analytics Service to function. Widgets requiring the analytics service are hidden from the catalog if the Analytics Service is not available.
*/
analyticsServiceRequired?: boolean;
/**
* Resource for an icon in the widget catalog.
*/
catalogIconUrl?: string;
/**
* Opt-in URL string pointing at widget information. Defaults to extension marketplace URL if omitted
*/
catalogInfoUrl?: string;
/**
* The id of the underlying contribution defining the supplied Widget custom configuration UI. Null if custom configuration UI is not available.
*/
configurationContributionId?: string;
/**
* The relative id of the underlying contribution defining the supplied Widget custom configuration UI. Null if custom configuration UI is not available.
*/
configurationContributionRelativeId?: string;
/**
* Indicates if the widget requires configuration before being added to dashboard.
*/
configurationRequired?: boolean;
/**
* Uri for the widget content to be loaded from .
*/
contentUri?: string;
/**
* The id of the underlying contribution defining the supplied Widget.
*/
contributionId?: string;
/**
* Optional default settings to be copied into widget settings.
*/
defaultSettings?: string;
/**
* Summary information describing the widget.
*/
description?: string;
/**
* Widgets can be disabled by the app store. We'll need to gracefully handle for: - persistence (Allow) - Requests (Tag as disabled, and provide context)
*/
isEnabled?: boolean;
/**
* Opt-out boolean that indicates if the widget supports widget name/title configuration. Widgets ignoring the name should set it to false in the manifest.
*/
isNameConfigurable?: boolean;
/**
* Opt-out boolean indicating if the widget is hidden from the catalog. Commonly, this is used to allow developers to disable creation of a deprecated widget. A widget must have a functional default state, or have a configuration experience, in order to be visible from the catalog.
*/
isVisibleFromCatalog?: boolean;
/**
* Keywords associated with this widget, non-filterable and invisible
*/
keywords?: string[];
/**
* Opt-in properties for customizing widget presentation in a "lightbox" dialog.
*/
lightboxOptions?: LightboxOptions;
/**
* Resource for a loading placeholder image on dashboard
*/
loadingImageUrl?: string;
/**
* User facing name of the widget type. Each widget must use a unique value here.
*/
name?: string;
/**
* Publisher Name of this kind of widget.
*/
publisherName?: string;
/**
* Data contract required for the widget to function and to work in its container.
*/
supportedScopes?: WidgetScope[];
/**
* Tags associated with this widget, visible on each widget and filterable.
*/
tags?: string[];
/**
* Contribution target IDs
*/
targets?: string[];
/**
* Deprecated: locally unique developer-facing id of this kind of widget. ContributionId provides a globally unique identifier for widget types.
*/
typeId?: string;
}
export interface WidgetMetadataResponse {
uri?: string;
widgetMetadata?: WidgetMetadata;
}
export interface WidgetPosition {
column?: number;
row?: number;
}
/**
* Response from RestAPI when saving and editing Widget
*/
export interface WidgetResponse extends Widget {
}
/**
* data contract required for the widget to function in a webaccess area or page.
*/
export declare enum WidgetScope {
Collection_User = 0,
Project_Team = 1
}
export interface WidgetSize {
/**
* The Width of the widget, expressed in dashboard grid columns.
*/
columnSpan?: number;
/**
* The height of the widget, expressed in dashboard grid rows.
*/
rowSpan?: number;
}
/**
* Wrapper class to support HTTP header generation using CreateResponse, ClientHeaderParameter and ClientResponseType in WidgetV2Controller
*/
export interface WidgetsVersionedList {
eTag?: string[];
widgets?: Widget[];
}
export interface WidgetTypesResponse {
_links?: any;
uri?: string;
widgetTypes?: WidgetMetadata[];
}
export declare var TypeInfo: {
CopyDashboardOptions: any;
CopyDashboardResponse: any;
Dashboard: any;
DashboardGroup: any;
DashboardGroupEntry: any;
DashboardGroupEntryResponse: any;
DashboardResponse: any;
DashboardScope: {
enumValues: {
collection_User: number;
project_Team: number;
project: number;
};
};
GroupMemberPermission: {
enumValues: {
none: number;
edit: number;
manage: number;
managePermissions: number;
};
};
TeamDashboardPermission: {
enumValues: {
none: number;
read: number;
create: number;
edit: number;
delete: number;
managePermissions: number;
};
};
Widget: any;
WidgetMetadata: any;
WidgetMetadataResponse: any;
WidgetResponse: any;
WidgetScope: {
enumValues: {
collection_User: number;
project_Team: number;
};
};
WidgetsVersionedList: any;
WidgetTypesResponse: any;
};