mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-05 07:17:04 +00:00
[ui-select] angular-ui/ui-select v0.19.8 (#41401)
* Formatted with Prettier. * Extended angular.ui.select.ISelectConfig. * Added angular.ui.select.ISelectController.
This commit is contained in:
committed by
Armando Aguirre
parent
8519e88609
commit
be4fad3d81
Vendored
+67
-9
@@ -1,7 +1,8 @@
|
||||
// Type definitions for ui-select 0.13.2
|
||||
// Type definitions for ui-select 0.19.8
|
||||
// Project: https://github.com/angular-ui/ui-select
|
||||
// Definitions by: Niko Kovačič <https://github.com/nkovacic>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// Adam Kwiatek <https://github.com/akwiatek>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
/// <reference types="angular" />
|
||||
@@ -9,11 +10,68 @@
|
||||
import * as angular from 'angular';
|
||||
|
||||
declare module 'angular' {
|
||||
export namespace ui.select {
|
||||
interface ISelectConfig {
|
||||
appendToBody: boolean;
|
||||
resetSearchInput: boolean;
|
||||
theme: string;
|
||||
}
|
||||
}
|
||||
export namespace ui.select {
|
||||
interface ISelectConfig {
|
||||
appendToBody: boolean;
|
||||
backspaceReset: boolean;
|
||||
closeOnSelect: boolean;
|
||||
dropdownPosition: string;
|
||||
generateId(): number;
|
||||
paste?: IPasteFn;
|
||||
placeholder: string;
|
||||
refreshDelay: number;
|
||||
removeSelected: boolean;
|
||||
resetSearchInput: boolean;
|
||||
searchEnabled: boolean;
|
||||
skipFocusser: boolean;
|
||||
sortable: boolean;
|
||||
spinnerClass: string;
|
||||
spinnerEnabled: boolean;
|
||||
theme: string;
|
||||
}
|
||||
|
||||
interface ISelectController {
|
||||
activeIndex: number;
|
||||
clickTriggeredSelect: boolean;
|
||||
closeOnSelect: boolean;
|
||||
close(skipFocusser?: boolean): void;
|
||||
disabled: boolean;
|
||||
dropdownPosition: string;
|
||||
focus: boolean;
|
||||
isEmpty(): boolean;
|
||||
isGrouped?: boolean;
|
||||
isLocked(): boolean;
|
||||
itemProperty?: string;
|
||||
open: boolean;
|
||||
parserResult?: IRepeatExpression;
|
||||
paste?: IPasteFn;
|
||||
placeholder: string;
|
||||
refreshDelay: number;
|
||||
refreshing: boolean;
|
||||
removeSelected: boolean;
|
||||
resetSearchInput: boolean;
|
||||
searchEnabled: boolean;
|
||||
search: string;
|
||||
setFocus(): void;
|
||||
sizeSearchInput(): void;
|
||||
skipFocusser: boolean;
|
||||
sortable: boolean;
|
||||
spinnerClass: string;
|
||||
spinnerEnabled: boolean;
|
||||
}
|
||||
|
||||
interface IPasteFn {
|
||||
(data: string): void;
|
||||
}
|
||||
|
||||
interface IRepeatExpression {
|
||||
filters: string;
|
||||
itemName: string;
|
||||
keyName: string;
|
||||
modelMapper: string;
|
||||
repeatExpression(grouped: boolean): string;
|
||||
source: string;
|
||||
trackByExp: string;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,72 @@
|
||||
import * as angular from 'angular';
|
||||
|
||||
angular
|
||||
.module('main', ['ui-select'])
|
||||
.config(function(uiSelectConfig: angular.ui.select.ISelectConfig) {
|
||||
uiSelectConfig.appendToBody = true;
|
||||
uiSelectConfig.resetSearchInput = true;
|
||||
uiSelectConfig.theme = "bootstrap";
|
||||
});
|
||||
angular.module('main', ['ui-select']).config(function(uiSelectConfig: angular.ui.select.ISelectConfig) {
|
||||
uiSelectConfig.appendToBody = true;
|
||||
uiSelectConfig.backspaceReset = true;
|
||||
uiSelectConfig.closeOnSelect = true;
|
||||
uiSelectConfig.dropdownPosition = 'auto';
|
||||
uiSelectConfig.generateId = function() {
|
||||
return 0;
|
||||
};
|
||||
uiSelectConfig.paste = function(data: string) {
|
||||
console.log(`Pasted [${data}]`);
|
||||
};
|
||||
uiSelectConfig.paste = undefined;
|
||||
uiSelectConfig.placeholder = '';
|
||||
uiSelectConfig.refreshDelay = 1000;
|
||||
uiSelectConfig.removeSelected = true;
|
||||
uiSelectConfig.resetSearchInput = true;
|
||||
uiSelectConfig.searchEnabled = true;
|
||||
uiSelectConfig.skipFocusser = false;
|
||||
uiSelectConfig.sortable = false;
|
||||
uiSelectConfig.spinnerClass = 'glyphicon glyphicon-refresh ui-select-spin';
|
||||
uiSelectConfig.spinnerEnabled = false;
|
||||
uiSelectConfig.theme = 'bootstrap';
|
||||
});
|
||||
|
||||
angular.module('main', ['ui-select']).directive('myUiSelect', function() {
|
||||
return {
|
||||
require: 'uiSelect',
|
||||
link: function(
|
||||
$scope: angular.IScope,
|
||||
element: angular.IAugmentedJQuery,
|
||||
attrs: angular.IAttributes,
|
||||
$select: angular.ui.select.ISelectController,
|
||||
) {
|
||||
1 === $select.activeIndex;
|
||||
true === $select.clickTriggeredSelect;
|
||||
true === $select.closeOnSelect;
|
||||
$select.close();
|
||||
$select.close(false);
|
||||
true === $select.disabled;
|
||||
'text' === $select.dropdownPosition;
|
||||
true === $select.focus;
|
||||
true === $select.isEmpty();
|
||||
true === $select.isGrouped;
|
||||
true === $select.isLocked();
|
||||
'text' === $select.itemProperty;
|
||||
true === $select.open;
|
||||
'text' === $select.parserResult.filters;
|
||||
'text' === $select.parserResult.itemName;
|
||||
'text' === $select.parserResult.keyName;
|
||||
'text' === $select.parserResult.modelMapper;
|
||||
'text' === $select.parserResult.repeatExpression(true);
|
||||
'text' === $select.parserResult.source;
|
||||
'text' === $select.parserResult.trackByExp;
|
||||
$select.paste('Pasted text');
|
||||
'text' === $select.placeholder;
|
||||
1 === $select.refreshDelay;
|
||||
true === $select.refreshing;
|
||||
true === $select.removeSelected;
|
||||
true === $select.resetSearchInput;
|
||||
true === $select.searchEnabled;
|
||||
'text' === $select.search;
|
||||
$select.setFocus();
|
||||
$select.sizeSearchInput();
|
||||
true === $select.skipFocusser;
|
||||
true === $select.sortable;
|
||||
'text' === $select.spinnerClass;
|
||||
true === $select.spinnerEnabled;
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user