mirror of
https://github.com/kennethreitz/bake.git
synced 2026-06-05 23:00:17 +00:00
335 lines
9.7 KiB
TypeScript
335 lines
9.7 KiB
TypeScript
/**
|
|
* Model of a Dashboard.
|
|
*/
|
|
export interface Dashboard {
|
|
_links?: any;
|
|
/**
|
|
* Description of the dashboard.
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* Server defined version tracking value, used for edit collision detection.
|
|
*/
|
|
eTag?: string;
|
|
/**
|
|
* ID of the Dashboard. Provided by service at creation time.
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* Name of the Dashboard.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* ID of the Owner for a dashboard. For any legacy dashboards, this would be the unique identifier for the team 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, wraping 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 {
|
|
Collection_User = 0,
|
|
Project_Team = 1,
|
|
}
|
|
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;
|
|
}
|
|
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;
|
|
/**
|
|
* 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[];
|
|
/**
|
|
* 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: {
|
|
DashboardGroup: any;
|
|
DashboardScope: {
|
|
enumValues: {
|
|
"collection_User": number;
|
|
"project_Team": 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;
|
|
};
|
|
};
|
|
WidgetMetadata: any;
|
|
WidgetMetadataResponse: any;
|
|
WidgetScope: {
|
|
enumValues: {
|
|
"collection_User": number;
|
|
"project_Team": number;
|
|
};
|
|
};
|
|
WidgetTypesResponse: any;
|
|
};
|