DefinitelyTyped/angular-ui-scroll/index.d.ts
Andy 05e9c858cf Merge 20dec (#13471)
* base-64 typings

* formatting and indenting

* feat: add typings for watchpack

* fix: improve missing typings

* Port from https://github.com/agileek/typings-vis/blob/master/vs.d.ts

* Fix travis build failures

* Port PR https://github.com/agileek/typings-vis/pull/12

* Fix travis build failures

* added tsconfig and tslint

* removed patch number

* added tests

* made it export like base64-js

* removed old code

* formatted code

* fix: add files field in tsconfig.json for expected publishment

* fix: improve most missing typings

* feat: upgrade to v3.0.0

* feat: upgrade to tapbale v0.2.5

* Types 2.0 (#13261)

* updating typing of the latest 7.0 react-autosuggest

* updating typing of react-autosuggest 7.0

* update typings for react-autosuggest 7.0

* Remove '+' from header versions, so they can be parsed (#13239)

* Updated masonry-layout to fix linting errors (#13272)

* Updated masonry-layout to fix linting errors

* Fixed the tests I could fix.

* Removed patch version

* Add redux-persist and basic transformers (#13389)

* Add definitions for redux-persist

* Add missin generic types

* Add definitions for filter transformer

* Add definitions for encrypt transformer

* Fix header

* Add definitions for compress transformer

* Delete unnecessary linter configs

* Change way of importing, fix tests

* fix: angulartics type definition for ES6 import

* fix: lint error

* fix scalar type config (#13398)

The `GraphQLScalarTypeConfig` interface had incorrect types. Correct types may be seen here: 379a308439/src/type/definition.js (L348-L350)

* [interact.js] Update module names (#13316)

Update CommonJS module name as it was changed in version 1.2.7.
AMD module name is also different from both new and old CommonJS module names, so a separate declaration was created for that as well.

* Add definitions for redux-recycle (#13424)

* Add definitions for redux-recycle

* Fix linter errors

* [jest] add type definition for toHaveBeenLastCalledWith (#13038)

* remove ajv because the package bundles its own types (#13028)

* Updated type definitions to yfiles for HTML 2.0. (#13332)

* Updated type definitions to yFiles for HTML 2.0.

* Updated type definitions to yfiles for HTML 2.0.

* Added contact in yfiles .d.ts header.

* Add redux-batched-actions typings. (#13054)

* Add types for mailgen (#13080)

* Typings for cordova-sqlite-storage (#13081)

* Add flatpickr definitions (#13083)

* Add pouch-redux-middleware typing (#13071)

* Add pouch-redux-middleware typing

* Fix <> in comment

* Add declaration for crc (#13068)

* Updated jquery.dataTables for 1.10.9 (#13099)

Release Notes: https://cdn.datatables.net/1.10.9/

* Moved legacy browser settings to its own data type.
* Added 'aIds' property on legacy settings object for mapping row ids to data indexes.
* Added 'rowIdFn' function to legacy settings object to get a row's id from the row's data.

* chore(lint): change vis typing to external module (#13399)

* Fix cordova-sqlite-storage lint

* Lint `vis`: Remove "I" prefix for namespaces

* Change cordova-sqlite-storage back. Linter was wrong.
2016-12-20 11:55:40 -08:00

91 lines
4.5 KiB
TypeScript

// Type definitions for Angular JS (ui.scroll module) 1.3.1
// Project: https://github.com/angular-ui/ui-scroll
// Definitions by: Mark Nadig <https://github.com/marknadig>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="angular" />
import * as ng from 'angular';
declare module 'angular' {
export namespace ui {
interface IScrollDatasource<T> {
/**
* The datasource object implements methods and properties to be used by the directive to access the data
*
* @param index indicates the first data row requested
*
* @param count indicates number of data rows requested
*
* @param success function to call when the data are retrieved. The implementation of the service has to call
* this function when the data are retrieved and pass it an array of the items retrieved. If no items are
* retrieved, an empty array has to be passed.
*
* Important: Make sure to respect the index and count parameters of the request. The array passed to the
* success method should have exactly count elements unless it hit eof/bof
*/
get(index: number, count: number, success: (results: Array<T>) => any): void;
}
interface IScrollAdapter {
/**
* a boolean value indicating whether there are any pending load requests.
*/
isLoading: boolean;
/**
* a reference to the item currently in the topmost visible position.
*/
topVisible: any;
/**
* a reference to the DOM element currently in the topmost visible position.
*/
topVisibleElement: ng.IAugmentedJQueryStatic;
/**
* a reference to the scope created for the item currently in the topmost visible position.
*/
topVisibleScope: ng.IRepeatScope;
/**
* calling this method reinitializes and reloads the scroller content.
* @param startIndex is an integer indicating what item index the scroller will use to start the load process.
*/
reload(startIndex?: number): void;
/**
* Replaces the item in the buffer at the given index with the new items.
*
* @param index provides position of the item to be affected in the dataset (not in the buffer). If the item with
* the given index currently is not in the buffer no updates will be applied. $index property of the item $scope
* can be used to access the index value for a given item
*
* @param newItems is an array of items to replace the affected item. If the array is empty ([]) the item will
* be deleted, otherwise the items in the array replace the item. If the newItem array contains the old item,
* the old item stays in place.
*/
applyUpdates(index: number, newItems: any[]): void;
/**
* Replaces the item in the buffer at the given index with the new items.
*
* @param updater is a function to be applied to every item currently in the buffer. The function will receive
* 3 parameters: item, scope, and element. Here item is the item to be affected, scope is the item $scope, and
* element is the html element for the item. The return value of the function should be an array of items.
* Similarly to the newItem parameter (see above), if the array is empty([]), the item is deleted, otherwise
* the item is replaced by the items in the array. If the return value is not an array, the item remains
* unaffected, unless some updates were made to the item in the updater function. This can be thought of as
* in place update.
*/
applyUpdates(updater: (item: any, scope: ng.IRepeatScope) => any): void;
/**
* Adds new items after the last item in the buffer
*
* @param newItems provides an array of items to be appended.
*/
append(newItems: any[]): void;
/**
* Adds new items before the first item in the buffer
*
* @param newItems provides an array of items to be prepended.
*/
prepend(newItems: any[]): void;
}
}
}