mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-19 05:03:32 +08:00
Definition for dropkickjs library
This commit is contained in:
91
dropkickjs/dropkickjs-tests.ts
Normal file
91
dropkickjs/dropkickjs-tests.ts
Normal file
@@ -0,0 +1,91 @@
|
||||
/// <reference path="index.d.ts"/>
|
||||
|
||||
//constructor
|
||||
var constructorNoOptions = new Dropkick('#my-select');
|
||||
var constructorNoOptions2 = new Dropkick(new HTMLSelectElement());
|
||||
var constructorOptions = new Dropkick('#my-select', {});
|
||||
var constructorOptions2 = new Dropkick(new HTMLSelectElement(), {});
|
||||
|
||||
//options
|
||||
var options : DropkickOptions = {
|
||||
disabled: true,
|
||||
form: new HTMLFormElement(),
|
||||
length: 1,
|
||||
mobile: true,
|
||||
multiple: true,
|
||||
options: ['test'],
|
||||
selectedIndex: 0,
|
||||
selectedOptions: ['test'],
|
||||
value: 'test',
|
||||
change() { },
|
||||
close() { },
|
||||
open() { },
|
||||
initialize: () => { }
|
||||
}
|
||||
var withFullOptions = new Dropkick('#test', options);
|
||||
|
||||
var dk = new Dropkick('#test');
|
||||
|
||||
//fields (same as options)
|
||||
var o1 = dk.disabled;
|
||||
var o2 = dk.form;
|
||||
var o3 = dk.length;
|
||||
var o4 = dk.mobile;
|
||||
var o5 = dk.multiple;
|
||||
var o6 = dk.options;
|
||||
var o7 = dk.selectedIndex;
|
||||
var o8 = dk.selectedOptions;
|
||||
var o9 = dk.value;
|
||||
|
||||
//methods
|
||||
dk.add('new');
|
||||
dk.add(new HTMLSelectElement());
|
||||
dk.add('new', 'old');
|
||||
dk.add('new', 1);
|
||||
|
||||
dk.disable();
|
||||
dk.disable(false);
|
||||
dk.disable(4, true);
|
||||
dk.disable(4);
|
||||
|
||||
dk.dispose();
|
||||
|
||||
dk.focus();
|
||||
|
||||
dk.hide(4);
|
||||
dk.hide(4, false);
|
||||
|
||||
var node = dk.item(4);
|
||||
|
||||
dk.open();
|
||||
|
||||
dk.refresh();
|
||||
|
||||
dk.remove(4);
|
||||
|
||||
dk.reset();
|
||||
dk.reset(true);
|
||||
|
||||
var words = dk.search("qwer", "fuzzy");
|
||||
|
||||
var node2 = dk.select(4);
|
||||
var node3 = dk.select("AL");
|
||||
var node4 = dk.select(4, true);
|
||||
|
||||
var node5 = dk.selectOne(4);
|
||||
var node6 = dk.selectOne(4, true);
|
||||
|
||||
//real life example
|
||||
var fieldValue = '';
|
||||
var selectOptions : DropkickOptions = {
|
||||
open(this: Dropkick) {
|
||||
const optionsList = (<any>this).data.elem.lastChild; //undocumented but useful data field
|
||||
if (optionsList.scrollWidth > optionsList.offsetWidth) {
|
||||
optionsList.style.width = optionsList.scrollWidth + 25 + 'px';
|
||||
}
|
||||
},
|
||||
change: () => {
|
||||
fieldValue = select.value;
|
||||
}
|
||||
};
|
||||
var select = new Dropkick('#select', options);
|
||||
52
dropkickjs/index.d.ts
vendored
Normal file
52
dropkickjs/index.d.ts
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
// Type definitions for dropkickjs v2.1.9
|
||||
// Project: http://dropkickjs.com/
|
||||
// Definitions by Dmitry Pesterev <https://github.com/VorobeY1326/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
interface DropkickOptions {
|
||||
disabled?: boolean;
|
||||
form?: Node;
|
||||
length?: number;
|
||||
mobile?: boolean;
|
||||
multiple?: boolean;
|
||||
options?: Array<string>;
|
||||
selectedIndex?: number;
|
||||
selectedOptions?: Array<string>;
|
||||
value?: string;
|
||||
|
||||
change?: () => void;
|
||||
close?: () => void;
|
||||
initialize?: () => void;
|
||||
open?: () => void;
|
||||
}
|
||||
|
||||
declare class Dropkick {
|
||||
constructor(id: string, options?: DropkickOptions);
|
||||
constructor(element: HTMLElement, options?: DropkickOptions);
|
||||
|
||||
add(value: string | Node, before?: number | string): void;
|
||||
close(): void;
|
||||
disable(disabled?: boolean): void;
|
||||
disable(index: number, disabled?: boolean): void;
|
||||
dispose(): void;
|
||||
focus(): void;
|
||||
hide(index: number, hidden?: boolean): void;
|
||||
item(index: number): Node;
|
||||
open(): void;
|
||||
refresh(): void;
|
||||
remove(index: number): void;
|
||||
reset(clear?: boolean): void;
|
||||
search(string: string, mode?: string): Array<string>;
|
||||
select(element: number|string, selectDisabled?: boolean): Node;
|
||||
selectOne(element: number, selectDisabled?: boolean): Node;
|
||||
|
||||
disabled: boolean;
|
||||
form: Node;
|
||||
length: number;
|
||||
mobile: boolean;
|
||||
multiple: boolean;
|
||||
options: Array<string>;
|
||||
selectedIndex: number;
|
||||
selectedOptions: Array<string>;
|
||||
value: string;
|
||||
}
|
||||
20
dropkickjs/tsconfig.json
Normal file
20
dropkickjs/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"dropkickjs-tests.ts"
|
||||
]
|
||||
}
|
||||
1
dropkickjs/tslint.json
Normal file
1
dropkickjs/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
Reference in New Issue
Block a user