mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
[angular-material] - Added $mdDialogProvider definition (#24733)
* [angular-material] - Added $mdDialogProvider definition Docs: https://material.angularjs.org/latest/api/service/$mdDialog#custom-presets * [angular-material] - Added "methods" property to "addPreset()" options parameter
This commit is contained in:
@@ -8,7 +8,8 @@ myApp.config((
|
||||
$mdAriaProvider: ng.material.IAriaProvider,
|
||||
$mdThemingProvider: ng.material.IThemingProvider,
|
||||
$mdIconProvider: ng.material.IIconProvider,
|
||||
$mdProgressCircularProvider: ng.material.IProgressCircularProvider) => {
|
||||
$mdProgressCircularProvider: ng.material.IProgressCircularProvider,
|
||||
$mdDialogProvider: ng.material.IDialogProvider) => {
|
||||
$mdThemingProvider.alwaysWatchTheme(true);
|
||||
const neonRedMap: ng.material.IPalette = $mdThemingProvider.extendPalette('red', {
|
||||
500: 'ff0000'
|
||||
@@ -56,6 +57,23 @@ myApp.config((
|
||||
|
||||
// Globally disables all ARIA warnings.
|
||||
$mdAriaProvider.disableWarnings();
|
||||
|
||||
// Add custom dialog preset
|
||||
$mdDialogProvider.addPreset('testPreset', {
|
||||
methods: ['entityName'],
|
||||
options: () => {
|
||||
return {
|
||||
template:
|
||||
'<md-dialog>' +
|
||||
'This is a custom preset' +
|
||||
'</md-dialog>',
|
||||
controllerAs: 'dialog',
|
||||
bindToController: true,
|
||||
clickOutsideToClose: true,
|
||||
escapeToClose: true
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
myApp.controller('BottomSheetController', ($scope: TestScope, $mdBottomSheet: ng.material.IBottomSheetService, $q: ng.IQService) => {
|
||||
@@ -192,6 +210,11 @@ myApp.controller('DialogController', ($scope: TestScope, $mdDialog: ng.material.
|
||||
onComplete: (scope, element) => { },
|
||||
onRemoving: (element, removePromise) => { },
|
||||
});
|
||||
|
||||
// Show custom dialog preset
|
||||
$mdDialog.show(
|
||||
$mdDialog['testPreset']().entityName('Product #6')
|
||||
);
|
||||
});
|
||||
|
||||
class IconDirective implements ng.IDirective {
|
||||
|
||||
11
types/angular-material/index.d.ts
vendored
11
types/angular-material/index.d.ts
vendored
@@ -125,6 +125,11 @@ declare module 'angular' {
|
||||
}
|
||||
|
||||
interface IDialogService {
|
||||
// indexer used to call preset dialog created with $mdDialogProvider
|
||||
// see: https://material.angularjs.org/latest/api/service/$mdDialog#custom-presets
|
||||
// tslint:disable-next-line:ban-types
|
||||
[presetName: string]: Function;
|
||||
|
||||
show(dialog: IDialogOptions | IAlertDialog | IConfirmDialog | IPromptDialog): IPromise<any>;
|
||||
confirm(): IConfirmDialog;
|
||||
alert(): IAlertDialog;
|
||||
@@ -133,6 +138,10 @@ declare module 'angular' {
|
||||
cancel(response?: any): void;
|
||||
}
|
||||
|
||||
interface IDialogProvider {
|
||||
addPreset(presetName: string, presetOptions: { methods?: ReadonlyArray<string>, options: () => IDialogOptions }): IDialogProvider;
|
||||
}
|
||||
|
||||
type IIcon = (id: string) => IPromise<Element>; // id is a unique ID or URL
|
||||
|
||||
interface IIconProvider {
|
||||
@@ -223,7 +232,7 @@ declare module 'angular' {
|
||||
contrastDefaultColor?: string;
|
||||
contrastDarkColors?: string | string[];
|
||||
contrastLightColors?: string | string[];
|
||||
contrastStrongLightColors?: string|string[];
|
||||
contrastStrongLightColors?: string | string[];
|
||||
}
|
||||
|
||||
interface IThemeHues {
|
||||
|
||||
Reference in New Issue
Block a user