From bbe84f69f302c263e9dc3f3d05c1b8b300ee69e4 Mon Sep 17 00:00:00 2001 From: Matthias Kannwischer Date: Thu, 14 Sep 2017 13:36:47 +0200 Subject: [PATCH] [angular-strap] added tslint and resolved linting issues --- types/angular-strap/angular-strap-tests.ts | 160 ++++------ types/angular-strap/index.d.ts | 336 +++++++++------------ types/angular-strap/tslint.json | 8 + 3 files changed, 211 insertions(+), 293 deletions(-) create mode 100644 types/angular-strap/tslint.json diff --git a/types/angular-strap/angular-strap-tests.ts b/types/angular-strap/angular-strap-tests.ts index 64e51a238b..29432ee069 100644 --- a/types/angular-strap/angular-strap-tests.ts +++ b/types/angular-strap/angular-strap-tests.ts @@ -1,5 +1,4 @@ namespace angularStrapTests { - import ngStrap = mgcrea.ngStrap; /////////////////////////////////////////////////////////////////////////// @@ -7,9 +6,8 @@ namespace angularStrapTests { /////////////////////////////////////////////////////////////////////////// namespace modalTests { - interface IDemoCtrlScope extends ngStrap.modal.IModalScope { - showModal: () => void; + showModal(): void; } angular.module('demoApp') @@ -17,23 +15,22 @@ namespace angularStrapTests { .controller('demoCtrl', demoCtrl); function demoCtrl($scope: IDemoCtrlScope, - $modal: ngStrap.modal.IModalService): void { - - var myModalOptions: ngStrap.modal.IModalOptions = {}; + $modal: ngStrap.modal.IModalService): void { + const myModalOptions: ngStrap.modal.IModalOptions = {}; myModalOptions.title = 'My Title'; myModalOptions.content = 'Hello Modal
This is a multiline message!'; myModalOptions.show = true; - var myModal = $modal(myModalOptions); + const myModal = $modal(myModalOptions); - var myOtherModalOptions: ngStrap.modal.IModalOptions = {}; + const myOtherModalOptions: ngStrap.modal.IModalOptions = {}; myOtherModalOptions.scope = $scope; myOtherModalOptions.template = 'modal/docs/modal.demo.tpl.html'; myOtherModalOptions.show = false; - myOtherModalOptions.controller = demoCtrl; + myOtherModalOptions.controller = demoCtrl; myOtherModalOptions.controllerAs = "ctrl"; - var myOtherModal = $modal(myOtherModalOptions); + const myOtherModal = $modal(myOtherModalOptions); $scope.showModal = (): void => { myOtherModal.$promise.then(myOtherModal.show); @@ -41,39 +38,36 @@ namespace angularStrapTests { } function $modalConfig($modalProvider: ngStrap.modal.IModalProvider): void { - var defaults: ngStrap.modal.IModalOptions = { + const defaults: ngStrap.modal.IModalOptions = { animation: 'am-flip-x' - } + }; angular.extend($modalProvider.defaults, defaults); } } - /////////////////////////////////////////////////////////////////////////// // Aside /////////////////////////////////////////////////////////////////////////// namespace asideTests { - angular.module('demoApp') .config($asideConfig) .controller('demoCtrl', demoCtrl); function demoCtrl($scope: ngStrap.aside.IAsideScope, - $aside: ngStrap.aside.IAsideService): void { - - var myAsideOptions: ngStrap.aside.IAsideOptions = {}; + $aside: ngStrap.aside.IAsideService): void { + const myAsideOptions: ngStrap.aside.IAsideOptions = {}; myAsideOptions.title = 'My Title'; myAsideOptions.content = 'My content'; myAsideOptions.show = true; - var myAside = $aside(myAsideOptions); + const myAside = $aside(myAsideOptions); - var myOtherAsideOptions: ngStrap.aside.IAsideOptions = {}; + const myOtherAsideOptions: ngStrap.aside.IAsideOptions = {}; myOtherAsideOptions.scope = $scope; myOtherAsideOptions.template = 'aside/docs/aside.demo.tpl.html'; - var myOtherAside = $aside(); + const myOtherAside = $aside(); myOtherAside.$promise.then(() => { myOtherAside.show(); @@ -81,7 +75,7 @@ namespace angularStrapTests { } function $asideConfig($asideProvider: ngStrap.aside.IAsideProvider): void { - var defaults: ngStrap.aside.IAsideOptions = {}; + const defaults: ngStrap.aside.IAsideOptions = {}; defaults.animation = 'am-fadeAndSlideLeft'; defaults.placement = 'left'; @@ -89,91 +83,84 @@ namespace angularStrapTests { } } - /////////////////////////////////////////////////////////////////////////// // Alert /////////////////////////////////////////////////////////////////////////// namespace alertTests { - angular.module('demoApp') .config($alertConfig) .controller('demoCtrl', demoCtrl); function demoCtrl($scope: ngStrap.alert.IAlertScope, - $alert: ngStrap.alert.IAlertService): void { - - var options: ngStrap.alert.IAlertOptions = {}; + $alert: ngStrap.alert.IAlertService): void { + const options: ngStrap.alert.IAlertOptions = {}; options.title = 'Holy guacamole!'; options.content = 'Best check yo self, you\'re not looking too good.'; options.placement = 'top'; options.type = 'info'; options.show = true; - var myAlert = $alert(); + const myAlert = $alert(); } function $alertConfig($alertProvider: ngStrap.alert.IAlertProvider): void { - var defaults: ngStrap.alert.IAlertOptions = {}; + const defaults: ngStrap.alert.IAlertOptions = {}; defaults.animation = 'am-fade-and-slide-top'; defaults.placement = 'top'; angular.extend($alertProvider.defaults, defaults); - }; + } } - /////////////////////////////////////////////////////////////////////////// // Tooltip /////////////////////////////////////////////////////////////////////////// namespace tooltipTests { - angular.module('demoApp') .config($tooltipConfig) .controller('demoDrct', demoDrct); function demoDrct($tooltip: ngStrap.tooltip.ITooltipService): ng.IDirective { - var drct: ng.IDirective = {}; + const drct: ng.IDirective = {}; drct.restrict = 'EA'; drct.link = link; return drct; function link(scope: ng.IScope, elem: ng.IAugmentedJQuery, attrs: ng.IAttributes): void { - var options: ngStrap.tooltip.ITooltipOptions = {}; + const options: ngStrap.tooltip.ITooltipOptions = {}; options.title = 'My Title'; $tooltip(elem, options); } } function $tooltipConfig($tooltipProvider: ngStrap.tooltip.ITooltipProvider): void { - var defaults: ngStrap.tooltip.ITooltipOptions = {}; + const defaults: ngStrap.tooltip.ITooltipOptions = {}; defaults.animation = 'am-flip-x'; defaults.trigger = 'hover'; angular.extend($tooltipProvider.defaults, defaults); - }; + } } - /////////////////////////////////////////////////////////////////////////// // Popover /////////////////////////////////////////////////////////////////////////// namespace popoverTests { - angular.module('demoApp') .config($popoverConfig) .controller('demoDrct', demoDrct); function demoDrct($popover: ngStrap.popover.IPopoverService): ng.IDirective { - var drct: ng.IDirective = {}; + const drct: ng.IDirective = {}; drct.restrict = 'EA'; drct.link = link; return drct; function link(scope: ng.IScope, elem: ng.IAugmentedJQuery, attrs: ng.IAttributes): void { - var options: ngStrap.tooltip.ITooltipOptions = {}; + const options: ngStrap.tooltip.ITooltipOptions = {}; options.title = 'My Title'; $popover(elem, options); @@ -181,84 +168,76 @@ namespace angularStrapTests { } function $popoverConfig($popoverProvider: ngStrap.popover.IPopoverProvider): void { - var defaults: ngStrap.tooltip.ITooltipOptions = {} + const defaults: ngStrap.tooltip.ITooltipOptions = {}; defaults.animation = 'am-flip-x'; defaults.trigger = 'hover'; angular.extend($popoverProvider.defaults, defaults); - }; + } } - /////////////////////////////////////////////////////////////////////////// // Typeahead /////////////////////////////////////////////////////////////////////////// namespace typeaheadTests { - angular.module('myApp') .config($typeaheadConfig); function $typeaheadConfig($typeaheadProvider: ngStrap.typeahead.ITypeaheadProvider) { - var defaults: ngStrap.typeahead.ITypeaheadOptions = {} - defaults.animation = 'am-flip-x'; - defaults.minLength = 2; - defaults.limit = 8; + const defaults: ngStrap.typeahead.ITypeaheadOptions = {}; + defaults.animation = 'am-flip-x'; + defaults.minLength = 2; + defaults.limit = 8; - angular.extend($typeaheadProvider.defaults, defaults); + angular.extend($typeaheadProvider.defaults, defaults); } } - /////////////////////////////////////////////////////////////////////////// // Datepicker /////////////////////////////////////////////////////////////////////////// namespace datepickerTests { - angular.module('myApp') .config($datepickerConfig); function $datepickerConfig($datepickerProvider: ngStrap.datepicker.IDatepickerProvider): void { - var defaults: ngStrap.datepicker.IDatepickerOptions = {}; + const defaults: ngStrap.datepicker.IDatepickerOptions = {}; defaults.dateFormat = 'dd/MM/yyyy'; defaults.startWeek = 1; angular.extend($datepickerProvider.defaults, defaults); - }; + } } - /////////////////////////////////////////////////////////////////////////// // Timepicker /////////////////////////////////////////////////////////////////////////// namespace timepickerTests { - angular.module('myApp') .config($timepickerConfig); function $timepickerConfig($timepickerProvider: ngStrap.timepicker.ITimepickerProvider): void { - var defaults: ngStrap.timepicker.ITimepickerOptions = {}; + const defaults: ngStrap.timepicker.ITimepickerOptions = {}; defaults.timeFormat = 'HH:mm'; defaults.length = 7; angular.extend($timepickerProvider.defaults, defaults); - }; + } } - /////////////////////////////////////////////////////////////////////////// // Select /////////////////////////////////////////////////////////////////////////// namespace selectTests { - angular.module('myApp') .config($selectConfig); function $selectConfig($selectProvider: ngStrap.select.ISelectProvider): void { - var defaults: ngStrap.select.ISelectOptions = {}; + const defaults: ngStrap.select.ISelectOptions = {}; defaults.animation = 'am-flip-x'; defaults.sort = false; @@ -266,21 +245,19 @@ namespace angularStrapTests { } } - /////////////////////////////////////////////////////////////////////////// // Tabs /////////////////////////////////////////////////////////////////////////// namespace tabTests { - angular.module('myApp') .config($tabConfig); function $tabConfig($tabProvider: ngStrap.tab.ITabProvider) { - var defaults: ngStrap.tab.ITabOptions = {}; - defaults.animation = 'am-flip-x'; + const defaults: ngStrap.tab.ITabOptions = {}; + defaults.animation = 'am-flip-x'; - angular.extend($tabProvider.defaults, defaults); + angular.extend($tabProvider.defaults, defaults); } } @@ -289,89 +266,80 @@ namespace angularStrapTests { /////////////////////////////////////////////////////////////////////////// namespace collapseTests { - angular.module('myApp') .config($collapseConfig); - function $collapseConfig($collapseProvider: ngStrap.collapse.ICollapseProvider):void { - var defaults: ngStrap.collapse.ICollapseOptions = {}; - defaults.animation = 'am-flip-x'; + function $collapseConfig($collapseProvider: ngStrap.collapse.ICollapseProvider): void { + const defaults: ngStrap.collapse.ICollapseOptions = {}; + defaults.animation = 'am-flip-x'; - angular.extend($collapseProvider.defaults, defaults); - } + angular.extend($collapseProvider.defaults, defaults); + } } - /////////////////////////////////////////////////////////////////////////// // Dropdown /////////////////////////////////////////////////////////////////////////// namespace dropdownTests { - angular.module('myApp') .config($dropdownConfig); - function $dropdownConfig($dropdownProvider: ngStrap.dropdown.IDropdownProvider):void { - var defaults: ngStrap.dropdown.IDropdownOptions = {}; - defaults.animation = 'am-flip-x'; - defaults.trigger = 'hover'; + function $dropdownConfig($dropdownProvider: ngStrap.dropdown.IDropdownProvider): void { + const defaults: ngStrap.dropdown.IDropdownOptions = {}; + defaults.animation = 'am-flip-x'; + defaults.trigger = 'hover'; - angular.extend($dropdownProvider.defaults, defaults); + angular.extend($dropdownProvider.defaults, defaults); } } - /////////////////////////////////////////////////////////////////////////// // Navbar /////////////////////////////////////////////////////////////////////////// namespace navbarTests { - angular.module('myApp') .config($navbarConfig); - function $navbarConfig($navbarProvider: ngStrap.navbar.INavbarProvider):void { - var defaults: ngStrap.navbar.INavbarOptions = {}; - defaults.activeClass = 'in'; + function $navbarConfig($navbarProvider: ngStrap.navbar.INavbarProvider): void { + const defaults: ngStrap.navbar.INavbarOptions = {}; + defaults.activeClass = 'in'; - angular.extend($navbarProvider.defaults, defaults); + angular.extend($navbarProvider.defaults, defaults); } } - /////////////////////////////////////////////////////////////////////////// // Scrollspy /////////////////////////////////////////////////////////////////////////// namespace scrollspyTests { - angular.module('myApp') .config($scrollspyConfig); - function $scrollspyConfig($scrollspyProvider: ngStrap.scrollspy.IScrollspyProvider):void { - var defaults: ngStrap.scrollspy.IScrollspyOptions = {}; - defaults.offset = 0; - defaults.target = 'my-selector'; + function $scrollspyConfig($scrollspyProvider: ngStrap.scrollspy.IScrollspyProvider): void { + const defaults: ngStrap.scrollspy.IScrollspyOptions = {}; + defaults.offset = 0; + defaults.target = 'my-selector'; - angular.extend($scrollspyProvider.defaults, defaults); + angular.extend($scrollspyProvider.defaults, defaults); } } - /////////////////////////////////////////////////////////////////////////// // Affix /////////////////////////////////////////////////////////////////////////// namespace affixTests { - angular.module('myApp') .config($affixConfig); - function $affixConfig($affixProvider: ngStrap.affix.IAffixProvider):void { - var defaults: ngStrap.affix.IAffixOptions = {}; - defaults.offsetTop = 100; + function $affixConfig($affixProvider: ngStrap.affix.IAffixProvider): void { + const defaults: ngStrap.affix.IAffixOptions = {}; + defaults.offsetTop = 100; - angular.extend($affixProvider.defaults, defaults); + angular.extend($affixProvider.defaults, defaults); } } } diff --git a/types/angular-strap/index.d.ts b/types/angular-strap/index.d.ts index d67c003da8..70ed41a443 100644 --- a/types/angular-strap/index.d.ts +++ b/types/angular-strap/index.d.ts @@ -1,25 +1,20 @@ -// Type definitions for angular-strap v2.3.x +// Type definitions for angular-strap 2.3 // Project: http://mgcrea.github.io/angular-strap/ // Definitions by: Sam Herrmann // Matthias Kannwischer // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 - /// declare namespace mgcrea.ngStrap { - /////////////////////////////////////////////////////////////////////////// // Modal // see http://mgcrea.github.io/angular-strap/#/modals /////////////////////////////////////////////////////////////////////////// namespace modal { - - interface IModalService { - (config?: IModalOptions): IModal; - } + type IModalService = (config?: IModalOptions) => IModal; interface IModalProvider { defaults: IModalOptions; @@ -27,9 +22,9 @@ declare namespace mgcrea.ngStrap { interface IModal { $promise: ng.IPromise; - show: () => void; - hide: () => void; - toggle: () => void; + show(): void; + hide(): void; + toggle(): void; } interface IModalOptions { @@ -53,30 +48,26 @@ declare namespace mgcrea.ngStrap { prefixEvent?: string; id?: string; scope?: ng.IScope; - onShow?: (modal: IModal) => void; - onBeforeShow?: (modal: IModal) => void; - onHide?: (modal: IModal) => void; - onBeforeHide?: (modal: IModal) => void; + onShow?(modal: IModal): void; + onBeforeShow?(modal: IModal): void; + onHide?(modal: IModal): void; + onBeforeHide?(modal: IModal): void; } interface IModalScope extends ng.IScope { - $show: () => void; - $hide: () => void; - $toggle: () => void; + $show(): void; + $hide(): void; + $toggle(): void; } } - /////////////////////////////////////////////////////////////////////////// // Aside // see http://mgcrea.github.io/angular-strap/#/asides /////////////////////////////////////////////////////////////////////////// namespace aside { - - interface IAsideService { - (config?: IAsideOptions): IAside; - } + type IAsideService = (config?: IAsideOptions) => IAside; interface IAsideProvider { defaults: IAsideOptions; @@ -84,9 +75,9 @@ declare namespace mgcrea.ngStrap { interface IAside { $promise: ng.IPromise; - show: () => void; - hide: () => void; - toggle: () => void; + show(): void; + hide(): void; + toggle(): void; } interface IAsideOptions { @@ -105,31 +96,26 @@ declare namespace mgcrea.ngStrap { templateUrl?: string; contentTemplate?: string; scope?: ng.IScope; - onShow?: (aside: IAside) => void; - onBeforeShow?: (aside: IAside) => void; - onHide?: (aside: IAside) => void; - onBeforeHide?: (aside: IAside) => void; + onShow?(aside: IAside): void; + onBeforeShow?(aside: IAside): void; + onHide?(aside: IAside): void; + onBeforeHide?(aside: IAside): void; } interface IAsideScope extends ng.IScope { - $show: () => void; - $hide: () => void; - $toggle: () => void; + $show(): void; + $hide(): void; + $toggle(): void; } } - - /////////////////////////////////////////////////////////////////////////// // Alert // see http://mgcrea.github.io/angular-strap/#/alerts /////////////////////////////////////////////////////////////////////////// namespace alert { - - interface IAlertService { - (config?: IAlertOptions): IAlert; - } + type IAlertService = (config?: IAlertOptions) => IAlert; interface IAlertProvider { defaults: IAlertOptions; @@ -137,9 +123,9 @@ declare namespace mgcrea.ngStrap { interface IAlert { $promise: ng.IPromise; - show: () => void; - hide: () => void; - toggle: () => void; + show(): void; + hide(): void; + toggle(): void; } interface IAlertOptions { @@ -156,30 +142,26 @@ declare namespace mgcrea.ngStrap { templateUrl?: string; duration?: number | boolean; dismissable?: boolean; - onShow?: (alert: IAlert) => void; - onBeforeShow?: (alert: IAlert) => void; - onHide?: (alert: IAlert) => void; - onBeforeHide?: (alert: IAlert) => void; + onShow?(alert: IAlert): void; + onBeforeShow?(alert: IAlert): void; + onHide?(alert: IAlert): void; + onBeforeHide?(alert: IAlert): void; } interface IAlertScope extends ng.IScope { - $show: () => void; - $hide: () => void; - $toggle: () => void; + $show(): void; + $hide(): void; + $toggle(): void; } } - /////////////////////////////////////////////////////////////////////////// // Tooltip // see http://mgcrea.github.io/angular-strap/#/tooltips /////////////////////////////////////////////////////////////////////////// namespace tooltip { - - interface ITooltipService { - (element: ng.IAugmentedJQuery, config?: ITooltipOptions): ITooltip; - } + type ITooltipService = (element: ng.IAugmentedJQuery, config?: ITooltipOptions) => ITooltip; interface ITooltipProvider { defaults: ITooltipOptions; @@ -187,9 +169,9 @@ declare namespace mgcrea.ngStrap { interface ITooltip { $promise: ng.IPromise; - show: () => void; - hide: () => void; - toggle: () => void; + show(): void; + hide(): void; + toggle(): void; } interface ITooltipOptions { @@ -198,7 +180,7 @@ declare namespace mgcrea.ngStrap { trigger?: string; title?: string; html?: boolean; - delay?: number | { show: number; hide: number }; + delay?: number | { show: number; hide: number}; container?: string | boolean; target?: string | ng.IAugmentedJQuery | boolean; template?: string; @@ -206,32 +188,28 @@ declare namespace mgcrea.ngStrap { titleTemplate?: string; prefixEvent?: string; id?: string; - onShow?: (tooltip: ITooltip) => void; - onBeforeShow?: (tooltip: ITooltip) => void; - onHide?: (tooltip: ITooltip) => void; - onBeforeHide?: (tooltip: ITooltip) => void; + onShow?(tooltip: ITooltip): void; + onBeforeShow?(tooltip: ITooltip): void; + onHide?(tooltip: ITooltip): void; + onBeforeHide?(tooltip: ITooltip): void; viewport?: string | { selector: string; padding: string | number }; } interface ITooltipScope extends ng.IScope { - $show: () => void; - $hide: () => void; - $toggle: () => void; - $setEnabled: (isEnabled: boolean) => void; + $show(): void; + $hide(): void; + $toggle(): void; + $setEnabled(isEnabled: boolean): void; } } - /////////////////////////////////////////////////////////////////////////// // Popover // see http://mgcrea.github.io/angular-strap/#/popovers /////////////////////////////////////////////////////////////////////////// namespace popover { - - interface IPopoverService { - (element: ng.IAugmentedJQuery, config?: IPopoverOptions): IPopover; - } + type IPopoverService = (element: ng.IAugmentedJQuery, config?: IPopoverOptions) => IPopover; interface IPopoverProvider { defaults: IPopoverOptions; @@ -239,9 +217,9 @@ declare namespace mgcrea.ngStrap { interface IPopover { $promise: ng.IPromise; - show: () => void; - hide: () => void; - toggle: () => void; + show(): void; + hide(): void; + toggle(): void; } interface IPopoverOptions { @@ -259,32 +237,27 @@ declare namespace mgcrea.ngStrap { contentTemplate?: string; autoClose?: boolean; id?: string; - onShow?: (popover: IPopover) => void; - onBeforeShow?: (popover: IPopover) => void; - onHide?: (popover: IPopover) => void; - onBeforeHide?: (popover: IPopover) => void; + onShow?(popover: IPopover): void; + onBeforeShow?(popover: IPopover): void; + onHide?(popover: IPopover): void; + onBeforeHide?(popover: IPopover): void; viewport?: string | { selector: string; padding: string | number }; } interface IPopoverScope extends ng.IScope { - $show: () => void; - $hide: () => void; - $toggle: () => void; + $show(): void; + $hide(): void; + $toggle(): void; } } - - /////////////////////////////////////////////////////////////////////////// // Typeahead // see http://mgcrea.github.io/angular-strap/#/typeaheads /////////////////////////////////////////////////////////////////////////// namespace typeahead { - - interface ITypeaheadService { - (element: ng.IAugmentedJQuery, controller: any, config?: ITypeaheadOptions): ITypeahead; - } + type ITypeaheadService = (element: ng.IAugmentedJQuery, controller: any, config?: ITypeaheadOptions) => ITypeahead; interface ITypeaheadProvider { defaults: ITypeaheadOptions; @@ -292,9 +265,9 @@ declare namespace mgcrea.ngStrap { interface ITypeahead { $promise: ng.IPromise; - show: () => void; - hide: () => void; - toggle: () => void; + show(): void; + hide(): void; + toggle(): void; } interface ITypeaheadOptions { @@ -312,39 +285,35 @@ declare namespace mgcrea.ngStrap { id?: string; watchOptions?: boolean; trimValue?: boolean; - onShow?: (typeahead: ITypeahead) => void; - onBeforeShow?: (typeahead: ITypeahead) => void; - onHide?: (typeahead: ITypeahead) => void; - onBeforeHide?: (typeahead: ITypeahead) => void; - onSelect?: (typeahead: ITypeahead) => void; + onShow?(typeahead: ITypeahead): void; + onBeforeShow?(typeahead: ITypeahead): void; + onHide?(typeahead: ITypeahead): void; + onBeforeHide?(typeahead: ITypeahead): void; + onSelect?(typeahead: ITypeahead): void; } } - /////////////////////////////////////////////////////////////////////////// // Datepicker // see http://mgcrea.github.io/angular-strap/#/datepickers /////////////////////////////////////////////////////////////////////////// namespace datepicker { - - interface IDatepickerService { - (element: ng.IAugmentedJQuery, controller: any, config?: IDatepickerOptions): IDatepicker; - } + type IDatepickerService = (element: ng.IAugmentedJQuery, controller: any, config?: IDatepickerOptions) => IDatepicker; interface IDatepickerProvider { defaults: IDatepickerOptions; } interface IDatepicker { - update: (date: Date) => void; - updateDisabledDates: (dateRanges: IDatepickerDateRange[]) => void; - select: (dateConstructorArg: string | number | number[], keep: boolean) => void; - setMode: (mode: any) => void; - int: () => void; - destroy: () => void; - show: () => void; - hide: () => void; + update(date: Date): void; + updateDisabledDates(dateRanges: IDatepickerDateRange[]): void; + select(dateConstructorArg: string | number | number[], keep: boolean): void; + setMode(mode: any): void; + int(): void; + destroy(): void; + show(): void; + hide(): void; } interface IDatepickerDateRange { @@ -360,10 +329,10 @@ declare namespace mgcrea.ngStrap { delay?: number | { show: number; hide: number }; container?: string | boolean; template?: string; - onShow?: (datepicker: IDatepicker) => void; - onBeforeShow?: (datepicker: IDatepicker) => void; - onHide?: (datepicker: IDatepicker) => void; - onBeforeHide?: (datepicker: IDatepicker) => void; + onShow?(datepicker: IDatepicker): void; + onBeforeShow?(datepicker: IDatepicker): void; + onHide?(datepicker: IDatepicker): void; + onBeforeHide?(datepicker: IDatepicker): void; dateFormat?: string; modelDateFormat?: string; dateType?: string; @@ -383,24 +352,19 @@ declare namespace mgcrea.ngStrap { } } - /////////////////////////////////////////////////////////////////////////// // Timepicker // see http://mgcrea.github.io/angular-strap/#/timepickers /////////////////////////////////////////////////////////////////////////// namespace timepicker { - - interface ITimepickerService { - (element: ng.IAugmentedJQuery, controller: any, config?: ITimepickerOptions): ITimepicker; - } + type ITimepickerService = (element: ng.IAugmentedJQuery, controller: any, config?: ITimepickerOptions) => ITimepicker; interface ITimepickerProvider { defaults: ITimepickerOptions; } interface ITimepicker { - } interface ITimepickerOptions { @@ -411,10 +375,10 @@ declare namespace mgcrea.ngStrap { delay?: number | { show: number; hide: number; }; container?: string | boolean; template?: string; - onShow?: (timepicker: ITimepicker) => void; - onBeforeShow?: (timepicker: ITimepicker) => void; - onHide?: (timepicker: ITimepicker) => void; - onBeforeHide?: (timepicker: ITimepicker) => void; + onShow?(timepicker: ITimepicker): void; + onBeforeShow?(timepicker: ITimepicker): void; + onHide?(timepicker: ITimepicker): void; + onBeforeHide?(timepicker: ITimepicker): void; timeFormat?: string; modelTimeFormat?: string; timeType?: string; @@ -433,7 +397,6 @@ declare namespace mgcrea.ngStrap { } } - /////////////////////////////////////////////////////////////////////////// // Button // see http://mgcrea.github.io/angular-strap/#/buttons @@ -441,53 +404,49 @@ declare namespace mgcrea.ngStrap { // No definitions for this module - /////////////////////////////////////////////////////////////////////////// // Select // see http://mgcrea.github.io/angular-strap/#/selects /////////////////////////////////////////////////////////////////////////// namespace select { - - interface ISelectService { - (element: ng.IAugmentedJQuery, controller: any, config: ISelectOptions): ISelect; - } + type ISelectService = (element: ng.IAugmentedJQuery, controller: any, config: ISelectOptions) => ISelect; interface ISelectProvider { defaults: ISelectOptions; } interface ISelect { - update: (matches: any) => void; - active: (index: number) => number; - select: (index: number) => void; - show: () => void; - hide: () => void; + update(matches: any): void; + active(index: number): number; + select(index: number): void; + show(): void; + hide(): void; } interface ISelectOptions { - animation?: string; - placement?: string; - trigger?: string; - html?: boolean; - delay?: number | { show: number; hide: number; }; - container?: string | boolean; - template?: string; - toggle?: boolean; - onShow?: (select: ISelect) => void; - onBeforeShow?: (select: ISelect) => void; - onHide?: (select: ISelect) => void; - onBeforeHide?: (select: ISelect) => void; - multiple?: boolean; - allNoneButtons?: boolean; - allText?: string; - noneText?: string; - maxLength?: number; - maxLengthHtml?: string; - sort?: boolean; - placeholder?: string; - iconCheckmark?: string; - id?: string; + animation?: string; + placement?: string; + trigger?: string; + html?: boolean; + delay?: number | { show: number; hide: number; }; + container?: string | boolean; + template?: string; + toggle?: boolean; + onShow?(select: ISelect): void; + onBeforeShow?(select: ISelect): void; + onHide?(select: ISelect): void; + onBeforeHide?(select: ISelect): void; + multiple?: boolean; + allNoneButtons?: boolean; + allText?: string; + noneText?: string; + maxLength?: number; + maxLengthHtml?: string; + sort?: boolean; + placeholder?: string; + iconCheckmark?: string; + id?: string; } } @@ -497,7 +456,6 @@ declare namespace mgcrea.ngStrap { /////////////////////////////////////////////////////////////////////////// namespace tab { - interface ITabProvider { defaults: ITabOptions; } @@ -515,14 +473,12 @@ declare namespace mgcrea.ngStrap { } } - /////////////////////////////////////////////////////////////////////////// // Collapses // see http://mgcrea.github.io/angular-strap/#/collapses /////////////////////////////////////////////////////////////////////////// namespace collapse { - interface ICollapseProvider { defaults: ICollapseOptions; } @@ -536,52 +492,46 @@ declare namespace mgcrea.ngStrap { } } - /////////////////////////////////////////////////////////////////////////// // Dropdowsn // see http://mgcrea.github.io/angular-strap/#/dropdowns /////////////////////////////////////////////////////////////////////////// namespace dropdown { - interface IDropdownProvider { defaults: IDropdownOptions; } - interface IDropdownService { - (element: ng.IAugmentedJQuery, config: IDropdownOptions): IDropdown; - } + type IDropdownService = (element: ng.IAugmentedJQuery, config: IDropdownOptions) => IDropdown; interface IDropdown { - show: () => void; - hide: () => void; - destroy: () => void; + show(): void; + hide(): void; + destroy(): void; } interface IDropdownOptions { - animation?: string; - placement?: string; - trigger?: string; - html?: boolean; - delay?: number | { show: number; hide: number; }; - container?: string | boolean; - template?: string; - templateUrl?: string; - onShow?: (dropdown: IDropdown) => void; - onBeforeShow?: (dropdown: IDropdown) => void; - onHide?: (dropdown: IDropdown) => void; - onBeforeHide?: (dropdown: IDropdown) => void; + animation?: string; + placement?: string; + trigger?: string; + html?: boolean; + delay?: number | { show: number; hide: number; }; + container?: string | boolean; + template?: string; + templateUrl?: string; + onShow?(dropdown: IDropdown): void; + onBeforeShow?(dropdown: IDropdown): void; + onHide?(dropdown: IDropdown): void; + onBeforeHide?(dropdown: IDropdown): void; } } - /////////////////////////////////////////////////////////////////////////// // Navbar // see http://mgcrea.github.io/angular-strap/#/navbars /////////////////////////////////////////////////////////////////////////// namespace navbar { - interface INavbarProvider { defaults: INavbarOptions; } @@ -596,27 +546,23 @@ declare namespace mgcrea.ngStrap { } } - /////////////////////////////////////////////////////////////////////////// // Scrollspy // see http://mgcrea.github.io/angular-strap/#/scrollspy /////////////////////////////////////////////////////////////////////////// namespace scrollspy { - interface IScrollspyProvider { defaults: IScrollspyOptions; } - interface IScrollspyService { - (element: ng.IAugmentedJQuery, options: IScrollspyOptions): IScrollspy; - } + type IScrollspyService = (element: ng.IAugmentedJQuery, options: IScrollspyOptions) => IScrollspy; interface IScrollspy { - checkOffsets: () => void; - trackElement: (target: any, source: any) => void; - untrackElement: (target: any, source: any) => void; - activate: (index: number) => void; + checkOffsets(): void; + trackElement(target: any, source: any): void; + untrackElement(target: any, source: any): void; + activate(index: number): void; } interface IScrollspyOptions { @@ -625,27 +571,23 @@ declare namespace mgcrea.ngStrap { } } - /////////////////////////////////////////////////////////////////////////// // Affix // see http://mgcrea.github.io/angular-strap/#/affix /////////////////////////////////////////////////////////////////////////// namespace affix { - interface IAffixProvider { defaults: IAffixOptions; } - interface IAffixService { - (element: ng.IAugmentedJQuery, options: IAffixOptions): IAffix; - } + type IAffixService = (element: ng.IAugmentedJQuery, options: IAffixOptions) => IAffix; interface IAffix { - init: () => void; - destroy: () => void; - checkPositionWithEventLoop: () => void; - checkPosition: () => void; + init(): void; + destroy(): void; + checkPositionWithEventLoop(): void; + checkPosition(): void; } interface IAffixOptions { diff --git a/types/angular-strap/tslint.json b/types/angular-strap/tslint.json new file mode 100644 index 0000000000..fc261a36d6 --- /dev/null +++ b/types/angular-strap/tslint.json @@ -0,0 +1,8 @@ +{ + "extends": "dtslint/dt.json" , + "rules": { //TODO + "interface-name": [true, "always-prefix"], + "no-empty-interface" : false, + "no-namespace" : false + } +} \ No newline at end of file