diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 8490556995..306bea98e2 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -16,9 +16,6 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](amplify-deferred/amplify-deferred.d.ts) [AmplifyJs 1.1.0 using JQuery Deferred](http://amplifyjs.com) by [Jonas Eriksson](https://github.com/joeriks), [Laurentiu Stamate](https://github.com/laurentiustamate94) * [:link:](amqp-rpc/amqp-rpc.d.ts) [amqp-rpc](https://github.com/demchenkoe/node-amqp-rpc) by [Wonshik Kim](https://github.com/wokim) * [:link:](amqplib/amqplib.d.ts) [amqplib 0.3.x](https://github.com/squaremo/amqp.node) by [Michael Nahkies](https://github.com/mnahkies) -* [:link:](angular2/angular2.d.ts) [Angular](http://angular.io) by [angular team](https://github.com/angular) -* [:link:](angular2/http.d.ts) [Angular](http://angular.io) by [angular team](https://github.com/angular) -* [:link:](angular2/router.d.ts) [Angular](http://angular.io) by [angular team](https://github.com/angular) * [:link:](ng-file-upload/ng-file-upload.d.ts) [Angular File Upload](https://github.com/danialfarid/ng-file-upload) by [John Reilly](https://github.com/johnnyreilly) * [:link:](angular-file-upload/angular-file-upload.d.ts) [Angular File Upload](https://github.com/danialfarid/ng-file-upload) by [John Reilly](https://github.com/johnnyreilly) * [:link:](angular-growl-v2/angular-growl-v2.d.ts) [Angular Growl 2 v.0.7.3](http://janstevens.github.io/angular-growl-2) by [Tadeusz Hucal](https://github.com/mkp05) @@ -38,6 +35,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](angular-toasty/angular-toasty.d.ts) [Angular Toasty](https://github.com/invertase/angular-toasty) by [Dominik Muench](https://github.com/muenchdo) * [:link:](angular-translate/angular-translate.d.ts) [Angular Translate (pascalprecht.translate module)](https://github.com/PascalPrecht/angular-translate) by [Michel Salib](https://github.com/michelsalib) * [:link:](angular-ui-bootstrap/angular-ui-bootstrap.d.ts) [Angular UI Bootstrap](https://github.com/angular-ui/bootstrap) by [Brian Surowiec](https://github.com/xt0rted) +* [:link:](angular2/router.d.ts) [Angular v2.0.0-39](http://angular.io) by [angular team](https://github.com/angular) +* [:link:](angular2/angular2.d.ts) [Angular v2.0.0-39](http://angular.io) by [angular team](https://github.com/angular) +* [:link:](angular2/http.d.ts) [Angular v2.0.0-local_sha.7d5c3eb](http://angular.io) by [angular team](https://github.com/angular) +* [:link:](angular2/test_lib.d.ts) [Angular v2.0.0-local_sha.7d5c3eb](http://angular.io) by [angular team](https://github.com/angular) * [:link:](angular-wizard/angular-wizard.d.ts) [Angular Wizard](https://github.com/mgonto/angular-wizard) by [Marko Jurisic](https://github.com/mjurisic) * [:link:](angular-bootstrap-lightbox/angular-bootstrap-lightbox.d.ts) [angular-bootstrap-lightbox](https://github.com/compact/angular-bootstrap-lightbox) by [Roland Zwaga](https://github.com/rolandzwaga) * [:link:](angular-dynamic-locale/angular-dynamic-locale.d.ts) [angular-dynamic-locale](https://github.com/lgalfaso/angular-dynamic-locale) by [Stephen Lautier](https://github.com/stephenlautier) @@ -107,6 +108,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](backgrid/backgrid.d.ts) [Backgrid](http://backgridjs.com) by [Jeremy Lujan](https://github.com/jlujan) * [:link:](baconjs/baconjs.d.ts) [Bacon.js](https://baconjs.github.io) by [Alexander Matsievsky](https://github.com/alexander-matsievsky) * [:link:](bardjs/bardjs.d.ts) [bardjs](https://github.com/wardbell/bardjs) by [Andrew Archibald](https://github.com/TepigMC) +* [:link:](basic-auth/basic-auth.d.ts) [basic-auth](https://github.com/jshttp/basic-auth) by [Clément Bourgeois](https://github.com/moonpyk) * [:link:](batch-stream/batch-stream.d.ts) [batch-stream](https://github.com/segmentio/batch-stream) by [Nicholas Penree](http://github.com/drudge) * [:link:](bcrypt/bcrypt.d.ts) [bcrypt](https://www.npmjs.org/package/bcrypt) by [Peter Harris](https://github.com/codeanimal) * [:link:](better-curry/better-curry.d.ts) [better-curry](https://github.com/pocesar/js-bettercurry) by [Paulo Cesar](https://github.com/pocesar) @@ -130,8 +132,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](bootstrap-slider/bootstrap-slider.d.ts) [bootstrap-slider.js](https://github.com/seiyria/bootstrap-slider) by [Daniel Beckwith](https://github.com/dbeckwith) * [:link:](bootstrap.datepicker/bootstrap.datepicker.d.ts) [bootstrap.datepicker](https://github.com/eternicode/bootstrap-datepicker) by [Boris Yankov](https://github.com/borisyankov) * [:link:](bootstrap.paginator/bootstrap.paginator.d.ts) [bootstrap.paginator](https://github.com/lyonlai/bootstrap-paginator) by [derikwhittaker](https://github.com/derikwhittaker) -* [:link:](bootstrap.timepicker/bootstrap.timepicker.d.ts) [bootstrap.timepicker](https://github.com/jdewit/bootstrap-timepicker) by [derikwhittaker](https://github.com/derikwhittaker) * [:link:](box2d/box2dweb.d.ts) [bootstrap.timepicker](http://code.google.com/p/box2dweb) by [jbaldwin](https://github.com/jbaldwin) +* [:link:](bootstrap.timepicker/bootstrap.timepicker.d.ts) [bootstrap.timepicker](https://github.com/jdewit/bootstrap-timepicker) by [derikwhittaker](https://github.com/derikwhittaker) * [:link:](bowser/bowser.d.ts) [Bowser 1.x](https://github.com/ded/bowser) by [Paulo Cesar](https://github.com/pocesar) * [:link:](breeze/breeze.d.ts) [Breeze 1.5.x](http://www.breezejs.com) by [Boris Yankov](https://github.com/borisyankov), [IdeaBlade](https://github.com/IdeaBlade/Breeze) * [:link:](browser-harness/browser-harness.d.ts) [Browser Harness](https://github.com/scriby/browser-harness) by [Chris Scribner](https://github.com/scriby) @@ -178,10 +180,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](classnames/classnames.d.ts) [classnames](https://github.com/JedWatson/classnames) by [Dave Keen](http://www.keendevelopment.ch), [Adi Dahiya](https://github.com/adidahiya), [Jason Killian](https://github.com/JKillian) * [:link:](cli-color/cli-color.d.ts) [cli-color](https://github.com/medikoo/cli-color) by [Joel Spadin](https://github.com/ChaosinaCan) * [:link:](clone/clone.d.ts) [clone](https://github.com/pvorb/node-clone) by [Kieran Simpson](https://github.com/kierans/DefinitelyTyped) -* [:link:](codemirror/codemirror.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [mihailik](https://github.com/mihailik) -* [:link:](codemirror/searchcursor.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [jacqt](https://github.com/jacqt) * [:link:](codemirror/codemirror-matchbrackets.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [Sixin Li](https://github.com/sixinli) * [:link:](codemirror/codemirror-showhint.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [jacqt](https://github.com/jacqt), [basarat](https://github.com/basarat) +* [:link:](codemirror/codemirror.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [mihailik](https://github.com/mihailik) +* [:link:](codemirror/searchcursor.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [jacqt](https://github.com/jacqt) * [:link:](coffeeify/coffeeify.d.ts) [coffeeify](https://github.com/jnordberg/coffeeify) by [Qubo](https://github.com/tkQubo) * [:link:](colorbrewer/colorbrewer.d.ts) [colorbrewer](https://github.com/jeanlauliac/colorbrewer) by [Matt Traynham](https://github.com/mtraynham) * [:link:](colors/colors.d.ts) [Colors.js 0.6.0-1](https://github.com/Marak/colors.js) by [Bart van der Schoor](https://github.com/Bartvds) @@ -192,6 +194,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](configstore/configstore.d.ts) [configstore](https://github.com/yeoman/configstore) by [Bart van der Schoor](https://github.com/Bartvds) * [:link:](connect-flash/connect-flash.d.ts) [connect-flash](https://github.com/jaredhanson/connect-flash) by [Andreas Gassmann](https://github.com/AndreasGassmann) * [:link:](connect-modrewrite/connect-modrewrite.d.ts) [connect-modrewrite](https://github.com/tinganho/connect-modrewrite) by [Tingan Ho](https://github.com/tinganho) +* [:link:](connect-mongo/connect-mongo.d.ts) [connect-mongo](https://github.com/kcbanner/connect-mongo) by [Mizuki Yamamoto](https://github.com/Syati) * [:link:](connect-slashes/connect-slashes.d.ts) [connect-slashes](https://github.com/avinoamr/connect-slashes) by [Sam Herrmann](https://github.com/samherrmann) * [:link:](consolidate/consolidate.d.ts) [consolidate](https://github.com/visionmedia/consolidate.js) by [Carlos Ballesteros Velasco](https://github.com/soywiz) * [:link:](constant-case/constant-case.d.ts) [constant-case](https://github.com/blakeembrey/constant-case) by [Sam Saint-Pettersen](https://github.com/stpettersens) @@ -204,6 +207,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](cordova-ionic/plugins/keyboard.d.ts) [Cordova Keyboard plugin](https://github.com/driftyco/ionic-plugins-keyboard) by [Hendrik Maus](https://github.com/hendrikmaus) * [:link:](cordova-plugin-app-version/cordova-plugin-app-version.d.ts) [cordova-plugin-app-version](https://github.com/whiteoctober/cordova-plugin-app-version) by [Markus Wagner](https://github.com/Ritzlgrmft) * [:link:](cordova-plugin-ibeacon/cordova-plugin-ibeacon.d.ts) [cordova-plugin-ibeacon](https://github.com/petermetz/cordova-plugin-ibeacon) by [Markus Wagner](https://github.com/Ritzlgrmft) +* [:link:](cordova-plugin-ouralabs/cordova-plugin-ouralabs.d.ts) [cordova-plugin-ouralabs](https://github.com/Justin-Credible/cordova-plugin-ouralabs) by [Justin Unterreiner](https://github.com/Justin-Credible) * [:link:](cordovarduino/cordovarduino.d.ts) [Cordovarduino plugin](https://github.com/stereolux/cordovarduino) by [Hendrik Maus](https://github.com/hendrikmaus) * [:link:](core-decorators/core-decorators.d.ts) [core-decorators.js](https://github.com/jayphelps/core-decorators.js) by [Qubo](https://github.com/tkqubo) * [:link:](core-js/core-js.d.ts) [core-js](https://github.com/zloirock/core-js) by [Ron Buckton](http://github.com/rbuckton) @@ -260,6 +264,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](dotdotdot/dotdotdot.d.ts) [dotdotdot](http://dotdotdot.frebsite.nl) by [Milan Jaros](https://github.com/milanjaros) * [:link:](doublearray/doublearray.d.ts) [doublearray](https://github.com/takuyaa/doublearray) by [MIZUSHIMA Junki](https://github.com/mzsm) * [:link:](dragula/dragula.d.ts) [dragula](http://bevacqua.github.io/dragula) by [Paul Welter](https://github.com/pwelter34) +* [:link:](hystrixjs/hystrixjs.d.ts) [dragula](https://bitbucket.org/igor_sechyn/hystrixjs) by [Igor Sechyn](https://github.com/igorsechyn) * [:link:](drop/drop.d.ts) [Drop](http://github.hubspot.com/drop) by [Adi Dahiya](https://github.com/adidahiya) * [:link:](dropboxjs/dropboxjs.d.ts) [dropbox-js](https://github.com/dropbox/dropbox-js) by [Steve Fenton](https://github.com/Steve-Fenton), [Pedro Casaubon](https://github.com/xperiments) * [:link:](dropzone/dropzone.d.ts) [Dropzone](http://www.dropzonejs.com) by [Natan Vivo](https://github.com/nvivo), [Andy Hawkins](https://github.com/a904guy/,http://a904guy.com/,http://www.bmbsqd.com), [Vasya Aksyonov](https://github.com/outring) @@ -272,8 +277,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](easy-jsend/easy-jsend.d.ts) [easy-jsend](https://github.com/DeadAlready/easy-jsend) by [Karl Düüna](https://github.com/DeadAlready) * [:link:](easy-session/easy-session.d.ts) [easy-session](https://github.com/DeadAlready/node-easy-session) by [Karl Düüna](https://github.com/DeadAlready) * [:link:](easy-table/easy-table.d.ts) [easy-table](https://github.com/eldargab/easy-table) by [Bart van der Schoor](https://github.com/Bartvds) -* [:link:](easy-x-headers/easy-x-headers.d.ts) [easy-x-headers](https://github.com/DeadAlready/easy-x-headers) by [Karl Düüna](https://github.com/DeadAlready) * [:link:](easy-xapi-supertest/easy-xapi-supertest.d.ts) [easy-x-headers](https://github.com/DeadAlready/easy-x-headers) by [Karl Düüna](https://github.com/DeadAlready) +* [:link:](easy-x-headers/easy-x-headers.d.ts) [easy-x-headers](https://github.com/DeadAlready/easy-x-headers) by [Karl Düüna](https://github.com/DeadAlready) * [:link:](easy-xapi/easy-xapi.d.ts) [easy-xapi](https://github.com/DeadAlready/easy-xapi) by [Karl Düüna](https://github.com/DeadAlready) * [:link:](easy-xapi-utils/easy-xapi-utils.d.ts) [easy-xapi-utils](https://github.com/DeadAlready/easy-xapi-utils) by [Karl Düüna](https://github.com/DeadAlready) * [:link:](easystarjs/easystarjs.d.ts) [EasyStar.js](http://easystarjs.com) by [Magnus Gustafsson](https://github.com/borundin) @@ -314,6 +319,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](express-less/express-less.d.ts) [express-less](https://www.npmjs.com/package/express-less) by [xyb](https://github.com/xieyubo) * [:link:](express-myconnection/express-myconnection.d.ts) [express-myconnection](https://www.npmjs.org/package/express-myconnection) by [Michael Ferris](https://github.com/Cellule) * [:link:](express-partials/express-partials.d.ts) [express-partials](https://github.com/publicclass/express-partials) by [jt000](https://github.com/jt000) +* [:link:](express-route-fs/express-route-fs.d.ts) [express-route-fs](https://github.com/kripod/express-route-fs) by [Kristóf Poduszló](https://github.com/kripod) * [:link:](express-session/express-session.d.ts) [express-session](https://www.npmjs.org/package/express-session) by [Hiroki Horiuchi](https://github.com/horiuchi) * [:link:](express-unless/express-unless.d.ts) [express-unless](https://www.npmjs.org/package/express-unless) by [Wonshik Kim](https://github.com/wokim) * [:link:](express-validator/express-validator.d.ts) [express-validator](https://github.com/ctavan/express-validator) by [Nathan Ridley](https://github.com/axefrog), [Jonathan Häberle](http://dreampulse.de) @@ -344,6 +350,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](firebase-client/firebase-client.d.ts) [Firebase Client](https://www.github.com/jpstevens/firebase-client) by [Andrew Breen](https://github.com/fpsscarecrow) * [:link:](firebase/firebase-simplelogin.d.ts) [Firebase Simple Login](https://www.firebase.com/docs/security/simple-login-overview.html) by [Wilker Lucio](http://github.com/wilkerlucio) * [:link:](first-mate/first-mate.d.ts) [first-mate](https://github.com/atom/first-mate) by [Vadim Macagon](https://github.com/enlight) +* [:link:](flake-idgen/flake-idgen.d.ts) [flakge-idgen](https://github.com/T-PWK/flake-idgen) by [Yuce Tekol](http://yuce.me) * [:link:](flexSlider/flexSlider.d.ts) [FlexSlider 2 jquery plugin](https://github.com/woothemes/FlexSlider) by [Diullei Gomes](https://github.com/diullei) * [:link:](flight/flight.d.ts) [Flight](http://flightjs.github.com/flight) by [Jonathan Hedrén](https://github.com/jonathanhedren) * [:link:](flipsnap/flipsnap.d.ts) [flipsnap.js](http://pxgrid.github.io/js-flipsnap) by [kubosho](https://github.com/kubosho), [gsino](https://github.com/gsino), [Mayuki Sawatari](https://github.com/mayuki) @@ -358,9 +365,9 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](formidable/formidable.d.ts) [Formidable](https://github.com/felixge/node-formidable) by [Wim Looman](https://github.com/Nemo157) * [:link:](foundation/foundation.d.ts) [Foundation](http://foundation.zurb.com) by [Boris Yankov](https://github.com/borisyankov) * [:link:](fpsmeter/FPSMeter.d.ts) [FPSmeter](http://darsa.in/fpsmeter) by [Aaron Lampros](http://github.com/alampros) -* [:link:](freedom/freedom.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek) -* [:link:](freedom/freedom-module-env.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek) * [:link:](freedom/freedom-core-env.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek) +* [:link:](freedom/freedom-module-env.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek) +* [:link:](freedom/freedom.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek) * [:link:](from/from.d.ts) [from](https://github.com/dominictarr/from) by [Bart van der Schoor](https://github.com/Bartvds) * [:link:](fs-ext/fs-ext.d.ts) [fs-ext](https://github.com/baudehlo/node-fs-ext) by [Oguzhan Ergin](https://github.com/OguzhanE) * [:link:](fs-extra/fs-extra.d.ts) [fs-extra](https://github.com/jprichardson/node-fs-extra) by [midknight41](https://github.com/midknight41) @@ -409,9 +416,9 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](gridfs-stream/gridfs-stream.d.ts) [gridfs-stream](https://github.com/aheckmann/gridfs-stream) by [Lior Mualem](https://github.com/liorm) * [:link:](gridstack/gridstack.d.ts) [Gridstack](http://troolee.github.io/gridstack.js) by [Pascal Senn](https://github.com/PascalSenn) * [:link:](gruntjs/gruntjs.d.ts) [Grunt 0.4.x](http://gruntjs.com) by [Jeff May](https://github.com/jeffmay), [Basarat Ali Syed](https://github.com/basarat) -* [:link:](gsap/Core.d.ts) [GSAP](http://greensock.com) by [VILIC VANE](https://vilic.github.io) * [:link:](gsap/TweenLite.d.ts) [GSAP](http://greensock.com) by [VILIC VANE](https://vilic.github.io) * [:link:](gsap/Ease.d.ts) [GSAP](http://greensock.com) by [VILIC VANE](https://vilic.github.io) +* [:link:](gsap/Core.d.ts) [GSAP](http://greensock.com) by [VILIC VANE](https://vilic.github.io) * [:link:](gulp/gulp.d.ts) [Gulp v3.8.x](http://gulpjs.com) by [Drew Noakes](https://drewnoakes.com) * [:link:](gulp-autoprefixer/gulp-autoprefixer.d.ts) [gulp-autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer) by [Asana](https://asana.com) * [:link:](gulp-cached/gulp-cached.d.ts) [gulp-cached](https://github.com/wearefractal/gulp-cached) by [Thomas Corbière](https://github.com/tomc974) @@ -420,8 +427,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](gulp-coffeeify/gulp-coffeeify.d.ts) [gulp-coffeeify](https://github.com/nariyu/gulp-coffeeify) by [Qubo](https://github.com/tkQubo) * [:link:](gulp-coffeelint/gulp-coffeelint.d.ts) [gulp-coffeelint](https://github.com/janraasch/gulp-coffeelint) by [Qubo](https://github.com/tkQubo) * [:link:](gulp-concat/gulp-concat.d.ts) [gulp-concat](http://github.com/wearefractal/gulp-concat) by [Keita Kagurazaka](https://github.com/k-kagurazaka) -* [:link:](gulp-rev/gulp-rev.d.ts) [gulp-csso](https://github.com/sindresorhus/gulp-rev) by [Tanguy Krotoff](https://github.com/tkrotoff) * [:link:](gulp-csso/gulp-csso.d.ts) [gulp-csso](https://github.com/ben-eb/gulp-csso) by [Tanguy Krotoff](https://github.com/tkrotoff) +* [:link:](gulp-rev/gulp-rev.d.ts) [gulp-csso](https://github.com/sindresorhus/gulp-rev) by [Tanguy Krotoff](https://github.com/tkrotoff) * [:link:](gulp-debug/gulp-debug.d.ts) [gulp-debug](https://github.com/sindresorhus/gulp-debug) by [Tanguy Krotoff](https://github.com/tkrotoff) * [:link:](gulp-dtsm/gulp-dtsm.d.ts) [gulp-dtsm](https://github.com/9joneg/gulp-dtsm) by [Aya Morisawa](https://github.com/AyaMorisawa) * [:link:](gulp-espower/gulp-espower.d.ts) [gulp-espower](https://github.com/power-assert-js/gulp-espower) by [Qubo](https://github.com/tkQubo) @@ -493,8 +500,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](humane/humane.d.ts) [Humane](http://wavded.github.com/humane-js) by [jmvrbanac](https://github.com/jmvrbanac) * [:link:](hypertext-application-language/hypertext-application-language.d.ts) [Hypertext Application Language Draft 6](https://tools.ietf.org/html/draft-kelly-json-hal-06) by [Maks3w](https://github.com/maks3w) * [:link:](i18n-node/i18n-node.d.ts) [i18n-node](https://github.com/mashpie/i18n-node) by [Maxime LUCE](https://github.com/SomaticIT) -* [:link:](i18next/i18next.d.ts) [i18next](http://i18next.com) by [Maarten Docter](https://github.com/mdocter) * [:link:](ng-i18next/ng-i18next.d.ts) [i18next](https://github.com/i18next/ng-i18next) by [Cyril Schumacher](https://github.com/cyrilschumacher) +* [:link:](i18next/i18next.d.ts) [i18next](http://i18next.com) by [Maarten Docter](https://github.com/mdocter) * [:link:](iban/iban.d.ts) [iban.js](https://github.com/arhs/iban.js) by [Cyril Schumacher](https://github.com/cyrilschumacher) * [:link:](icheck/icheck.d.ts) [iCheck](http://damirfoy.com/iCheck) by [Dániel Tar](https://github.com/qcz) * [:link:](imagemagick/imagemagick.d.ts) [imagemagick](http://github.com/rsms/node-imagemagick) by [Carlos Ballesteros Velasco](https://github.com/soywiz) @@ -524,6 +531,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](iso8601-localizer/iso8601-localizer.d.ts) [ISO8601-Localizer](https://github.com/avielfedida/ISO8601-Localizer) by [Aviel Fedida](https://github.com/avielfedida) * [:link:](ix.js/ix.d.ts) [IxJS 1.0.6 / ix.js](https://github.com/Reactive-Extensions/IxJS) by [Igor Oleinikov](https://github.com/Igorbek) * [:link:](ix.js/l2o.d.ts) [IxJS 1.0.6 / l2o.js](https://github.com/Reactive-Extensions/IxJS) by [Igor Oleinikov](https://github.com/Igorbek) +* [:link:](jade/jade.d.ts) [jade](https://github.com/jadejs/jade) by [Panu Horsmalahti](https://github.com/panuhorsmalahti) * [:link:](jake/jake.d.ts) [jake](https://github.com/mde/jake) by [Kon](http://phyzkit.net) * [:link:](jasmine/jasmine.d.ts) [Jasmine](http://jasmine.github.io) by [Boris Yankov](https://github.com/borisyankov), [Theodore Brown](https://github.com/theodorejb), [David Pärsson](https://github.com/davidparsson) * [:link:](jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts) [Jasmine Data Driven Tests](https://github.com/gburghardt/jasmine-data_driven_tests) by [Anthony MacKinnon](https://github.com/AnthonyMacKinnon) @@ -544,7 +552,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](jjve/jjve.d.ts) [JJVE](https://github.com/silas/jjve) by [Wim Looman](https://github.com/Nemo157) * [:link:](joData/joData.d.ts) [joData](https://github.com/mccow002/joData) by [Chris Wrench](https://github.com/cgwrench) * [:link:](johnny-five/johnny-five.d.ts) [johnny-five](https://github.com/rwaldron/johnny-five) by [Toshiya Nakakura](https://github.com/nakakura) -* [:link:](joi/joi.d.ts) [joi](https://github.com/spumko/joi) by [Bart van der Schoor](https://github.com/Bartvds), [Laurence Dougal Myers](https://github.com/laurence-myers) +* [:link:](joi/joi.d.ts) [joi](https://github.com/spumko/joi) by [Bart van der Schoor](https://github.com/Bartvds), [Laurence Dougal Myers](https://github.com/laurence-myers), [Christopher Glantschnig](https://github.com/cglantschnig) * [:link:](jointjs/jointjs.d.ts) [Joint JS](http://www.jointjs.com) by [Aidan Reel](http://github.com/areel), [David Durman](http://github.com/DavidDurman), [Ewout Van Gossum](https://github.com/DenEwout) * [:link:](jqrangeslider/jqrangeslider.d.ts) [jQRangeSlider](http://ghusse.github.com/jQRangeSlider) by [Dániel Tar](https://github.com/qcz) * [:link:](jquery/jquery.d.ts) [jQuery 1.10.x / 2.0.x](http://jquery.com) by [Boris Yankov](https://github.com/borisyankov), [Christian Hoffmeister](https://github.com/choffmeister), [Steve Fenton](https://github.com/Steve-Fenton), [Diullei Gomes](https://github.com/Diullei), [Tass Iliopoulos](https://github.com/tasoili), [Jason Swearingen](https://github.com/jasons-novaleaf), [Sean Hill](https://github.com/seanski), [Guus Goossens](https://github.com/Guuz), [Kelly Summerlin](https://github.com/ksummerlin), [Basarat Ali Syed](https://github.com/basarat), [Nicholas Wolverson](https://github.com/nwolverson), [Derek Cicerone](https://github.com/derekcicerone), [Andrew Gaspar](https://github.com/AndrewGaspar), [James Harrison Fisher](https://github.com/jameshfisher), [Seikichi Kondo](https://github.com/seikichi), [Benjamin Jackman](https://github.com/benjaminjackman), [Poul Sorensen](https://github.com/s093294), [Josh Strobl](https://github.com/JoshStrobl), [John Reilly](https://github.com/johnnyreilly), [Dick van den Brink](https://github.com/DickvdBrink) @@ -553,6 +561,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](jquery.colorpicker/jquery.colorpicker.d.ts) [jQuery Colorpicker Plugin](https://github.com/vanderlee/colorpicker) by [Jeffery Grajkowski](https://github.com/pushplay) * [:link:](jquery.contextMenu/jquery.contextMenu.d.ts) [jQuery contextMenu](http://medialize.github.com/jQuery-contextMenu) by [Natan Vivo](https://github.com/nvivo) * [:link:](jquery.cookie/jquery.cookie.d.ts) [jQuery Cookie Plugin](https://github.com/carhartl/jquery-cookie) by [Roy Goode](https://github.com/RoyGoode), [Ben Lorantfy](https://github.com/BenLorantfy) +* [:link:](jquery-cropbox/jquery-cropbox.d.ts) [jQuery cropbox](https://github.com/acornejo/jquery-cropbox) by [Per Kastman](https://github.com/PerKastman) * [:link:](jquery.cycle2/jquery.cycle2.d.ts) [jQuery Cycle2 version (build 20140216)](http://jquery.malsup.com/cycle2) by [Donny Nadolny](https://github.com/dnadolny) * [:link:](jquery.dataTables/jquery.dataTables.d.ts) [JQuery DataTables](http://www.datatables.net) by [Kiarash Ghiaseddin](https://github.com/Silver-Connection/DefinitelyTyped), [Omid Rad](https://github.com/omidkrad), [Armin Sander](https://github.com/pragmatrix) * [:link:](jquery.fileupload/jquery.fileupload.d.ts) [jQuery File Upload Plugin](https://github.com/blueimp/jQuery-File-Upload) by [Rob Alarcon](https://github.com/rob-alarcon) @@ -581,6 +590,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](jquery-handsontable/jquery-handsontable.d.ts) [jquery-handsontable](http://handsontable.com) by [Ted John](https://github.com/intelorca) * [:link:](jquery.menuaim/jquery.menuaim.d.ts) [jQuery-menu-aim](https://github.com/kamens/jQuery-menu-aim) by [Robert Fonseca-Ensor](http://www.robfe.com) * [:link:](jquery.pjax/jquery.pjax.d.ts) [jquery-pjax](https://github.com/defunkt/jquery-pjax) by [Junle Li](https://github.com/lijunle) +* [:link:](jquery-timeentry/jquery-timeentry.d.ts) [jQuery-timeentry.js](https://github.com/kbwood/timeentry) by [Mark Nadig](https://github.com/marknadig) * [:link:](jquery-urlparam/jquery-urlparam.d.ts) [jquery-urlparam](https://gist.github.com/stpettersens/e1f4478f299b6f4905c1) by [Sam Saint-Pettersen](https://github.com/stpettersens) * [:link:](jquery.address/jquery.address.d.ts) [jQuery.Address](https://github.com/asual/jquery-address) by [Martin Duparc](https://github.com/martinduparc), [Tim Klingeleers](https://github.com/mardaneus86) * [:link:](jquery.ajaxfile/jquery.ajaxFile.d.ts) [jquery.ajaxfile](https://github.com/fpellet/jquery.ajaxFile) by [Florent PELLET](https://github.com/fpellet) @@ -609,6 +619,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](jquery.scrollTo/jquery.scrollTo.d.ts) [jQuery.scrollTo.js](https://github.com/flesler/jquery.scrollTo) by [Neil Stalker](https://github.com/nestalk) * [:link:](jquery.simulate/jquery.simulate.d.ts) [jquery.simulate.js](https://github.com/jquery/jquery-simulate) by [Derek Cicerone](https://github.com/derekcicerone) * [:link:](jquery.slimScroll/jquery.slimScroll.d.ts) [jQuery.slimScroll](https://github.com/rochal/jQuery-slimScroll) by [Chintan Shah](https://github.com/Promact) +* [:link:](jquery.soap/jquery.soap.d.ts) [jQuery.SOAP](https://github.com/doedje/jquery.soap) by [Roland Greim](https://github.com/tigerxy) * [:link:](jquery.sortElements/jquery.sortElement.d.ts) [jQuery.sortElements](http://james.padolsey.com/javascript/sorting-elements-with-jquery) by [Tim Bureck](https://github.com/tbureck) * [:link:](jquery.superLink/jquery.superLink.d.ts) [jquery.superLink](http://james.padolsey.com/demos/plugins/jQuery/superLink/superlink.jquery.js) by [Blake Niemyjski](https://github.com/niemyjski) * [:link:](jquery.tile/jquery.tile.d.ts) [jquery.tile.js](https://github.com/urin/jquery.tile.js) by [Shunsuke Ohtani](https://github.com/zaneli) @@ -624,6 +635,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](js-cookie/js-cookie.d.ts) [js-cookie](https://github.com/js-cookie/js-cookie) by [Theodore Brown](https://github.com/theodorejb) * [:link:](js-fixtures/fixtures.d.ts) [js-fixtures](https://github.com/badunk/js-fixtures) by [Kazi Manzur Rashid](https://github.com/kazimanzurrashid) * [:link:](js-git/js-git.d.ts) [js-git](https://github.com/creationix/js-git) by [Bart van der Schoor](https://github.com/Bartvds) +* [:link:](js-md5/md5.d.ts) [js-md5](https://github.com/emn178/js-md5) by [Roland Greim](https://github.com/tigerxy) * [:link:](js-signals/js-signals.d.ts) [JS-Signals](http://millermedeiros.github.io/js-signals) by [Diullei Gomes](https://github.com/diullei) * [:link:](js-yaml/js-yaml.d.ts) [js-yaml](https://github.com/nodeca/js-yaml) by [Bart van der Schoor](https://github.com/Bartvds) * [:link:](blocks/blocks.d.ts) [jsblocks](http://jsblocks.com) by [Krzysztof Śmigiel](https://github.com/ksmigiel) @@ -712,6 +724,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](jquery.livestampjs/jquery.livestampjs.d.ts) [Livestamp.js](http://mattbradley.github.com/livestampjs) by [Vincent Bortone](https://github.com/vbortone) * [:link:](lodash/lodash.d.ts) [Lo-Dash](http://lodash.com) by [Brian Zengel](https://github.com/bczengel), [Ilya Mochalov](https://github.com/chrootsu) * [:link:](lockfile/lockfile.d.ts) [lockfile](https://github.com/isaacs/lockfile) by [Bart van der Schoor](https://github.com/Bartvds) +* [:link:](lodash-decorators/lodash-decorators.d.ts) [lodash-decorators](https://github.com/steelsojka/lodash-decorators) by [Qubo](https://github.com/tkqubo) * [:link:](log4javascript/log4javascript.d.ts) [log4javascript](http://log4javascript.org) by [Markus Wagner](https://github.com/Ritzlgrmft) * [:link:](log4js/log4js.d.ts) [log4js](https://github.com/nomiddlename/log4js-node) by [Kentaro Okuno](http://github.com/armorik83) * [:link:](logg/logg.d.ts) [logg](https://github.com/dpup/node-logg) by [Bret Little](https://github.com/blittle) @@ -745,12 +758,14 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](marionette/marionette.d.ts) [Marionette](https://github.com/marionettejs) by [Zeeshan Hamid](https://github.com/zhamid), [Natan Vivo](https://github.com/nvivo), [Sven Tschui](https://github.com/sventschui) * [:link:](marked/marked.d.ts) [Marked](https://github.com/chjj/marked) by [William Orr](https://github.com/worr) * [:link:](markerclustererplus/markerclustererplus.d.ts) [MarkerClustererPlus for Google Maps V3](http://github.com/mahnunchik/markerclustererplus) by [Mathias Rodriguez](http://github.com/enanox) +* [:link:](markitup/markitup.d.ts) [markitup 1.x](https://github.com/markitup/1.x) by [drillbits](https://github.com/drillbits) * [:link:](maskedinput/maskedinput.d.ts) [Masked Input plugin for jQuery](http://digitalbush.com/projects/masked-input-plugin) by [Lokesh Peta](https://github.com/lokeshpeta) * [:link:](material-ui/material-ui.d.ts) [material-ui](https://github.com/callemall/material-ui) by [Nathan Brown](https://github.com/ngbrown) * [:link:](mathjax/mathjax.d.ts) [MathJax](https://github.com/mathjax/MathJax) by [Roland Zwaga](https://github.com/rolandzwaga) * [:link:](matter-js/matter-js.d.ts) [Matter.js](https://github.com/liabru/matter-js) by [Ivane Gegia](https://twitter.com/ivanegegia) * [:link:](mCustomScrollbar/mCustomScrollbar.d.ts) [mCustomScrollbar](https://github.com/malihu/malihu-custom-scrollbar-plugin) by [Sarah Williams](https://github.com/flurg) * [:link:](memory-cache/memory-cache.d.ts) [memory-cache](http://github.com/ptarjan/node-cache) by [Jeff Goddard](https://github.com/jedigo) +* [:link:](mendixmodelsdk/mendixmodelsdk.d.ts) [mendixmodelsdk](http://www.mendix.com) by [Mendix](https://github.com/mendix) * [:link:](merge-stream/merge-stream.d.ts) [merge-stream](https://github.com/grncdr/merge-stream) by [Keita Kagurazaka](https://github.com/k-kagurazaka) * [:link:](merge2/merge2.d.ts) [merge2](https://github.com/teambition/merge2) by [Tanguy Krotoff](https://github.com/tkrotoff) * [:link:](meshblu/meshblu.d.ts) [meshblu.js](https://github.com/octoblu/meshblu-npm) by [Felipe Nipo](https://github.com/fnipo) @@ -787,16 +802,16 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](mobile-detect/mobile-detect.d.ts) [mobile-detect](http://hgoebl.github.io/mobile-detect.js) by [Martin McWhorter](https://github.com/martinmcwhorter) * [:link:](mobservable/mobservable.d.ts) [mobservable](https://mweststrate.github.io/mobservable) by [Michel Weststrate](https://github.com/mweststrate) * [:link:](mobservable-react/mobservable-react.d.ts) [mobservable](https://github.com/mweststrate/mobservable-react) by [Michel Weststrate](https://github.com/mweststrate) -* [:link:](mocha/mocha-node.d.ts) [mocha](http://mochajs.org) by [Vadim Macagon](https://github.com/enlight), [vvakame](https://github.com/vvakame) * [:link:](mocha/mocha.d.ts) [mocha](http://mochajs.org) by [Kazi Manzur Rashid](https://github.com/kazimanzurrashid), [otiai10](https://github.com/otiai10), [jt000](https://github.com/jt000), [Vadim Macagon](https://github.com/enlight) +* [:link:](mocha/mocha-node.d.ts) [mocha](http://mochajs.org) by [Vadim Macagon](https://github.com/enlight), [vvakame](https://github.com/vvakame) * [:link:](mocha-phantomjs/mocha-phantomjs.d.ts) [mocha-phantomjs](http://metaskills.net/mocha-phantomjs) by [Erik Schierboom](https://github.com/ErikSchierboom) * [:link:](mock-fs/mock-fs.d.ts) [mock-fs](https://github.com/tschaub/mock-fs) by [Wim Looman](https://github.com/Nemo157) * [:link:](mockery/mockery.d.ts) [mockery](https://github.com/mfncooper/mockery) by [jt000](https://github.com/jt000) * [:link:](modernizr/modernizr.d.ts) [Modernizr](http://modernizr.com) by [Boris Yankov](https://github.com/borisyankov), [Theodore Brown](https://github.com/theodorejb) * [:link:](moment-timezone/moment-timezone.d.ts) [moment-timezone.js](http://momentjs.com/timezone) by [Michel Salib](https://github.com/michelsalib) +* [:link:](moment/moment-node.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware) * [:link:](moment/moment.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware) * [:link:](moment-range/moment-range.d.ts) [Moment.js](https://github.com/gf3/moment-range) by [Bart van den Burg](https://github.com/Burgov), [Wilgert Velinga](https://github.com/wilgert) -* [:link:](moment/moment-node.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware) * [:link:](mongodb/mongodb.d.ts) [MongoDB](https://github.com/mongodb/node-mongodb-native) by [Boris Yankov](https://github.com/borisyankov) * [:link:](mongoose/mongoose.d.ts) [Mongoose](http://mongoosejs.com) by [horiuchi](https://github.com/horiuchi) * [:link:](mongoose-mock/mongoose-mock.d.ts) [mongoose-mock](https://github.com/JohanObrink/mongoose-mock) by [jt000](https://github.com/jt000) @@ -845,6 +860,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](node-cache/node-cache.d.ts) [node-cache](https://github.com/tcs-de/nodecache) by [Ilya Mochalov](https://github.com/chrootsu) * [:link:](node-calendar/node-calendar.d.ts) [node-calendar](https://www.npmjs.com/package/node-calendar) by [Luzian Zagadinow](https://github.com/luzianz) * [:link:](config/config.d.ts) [node-config](https://github.com/lorenwest/node-config) by [Roman Korneev](https://github.com/RWander) +* [:link:](node-config-manager/node-config-manager.d.ts) [node-config-manager](https://www.npmjs.com/package/node-config-manager) by [TANAKA Koichi](https://gitnub.com/mugeso) * [:link:](convict/convict.d.ts) [node-convict](https://github.com/mozilla/node-convict) by [Wim Looman](https://github.com/Nemo157) * [:link:](node-ffi/node-ffi.d.ts) [node-ffi](https://github.com/rbranson/node-ffi) by [Paul Loyd](https://github.com/loyd) * [:link:](node-fibers/node-fibers.d.ts) [node-fibers](https://github.com/laverdet/node-fibers) by [Cary Haynie](https://github.com/caryhaynie) @@ -866,7 +882,11 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](node-schedule/node-schedule.d.ts) [node-schedule](https://github.com/tejasmanohar/node-schedule) by [Cyril Schumacher](https://github.com/cyrilschumacher) * [:link:](node-slack/node-slack.d.ts) [node-slack](https://github.com/xoxco/node-slack) by [Qubo](https://github.com/tkQubo) * [:link:](stack-trace/stack-trace.d.ts) [node-stack-trace](https://github.com/felixge/node-stack-trace) by [Exceptionless](https://github.com/exceptionless) +* [:link:](node-uuid/node-uuid-global.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay) * [:link:](node-uuid/node-uuid.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay) +* [:link:](node-uuid/node-uuid-base.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay) +* [:link:](node-uuid/node-uuid-cjs.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay) +* [:link:](node-validator/node-validator.d.ts) [node-validator](https://www.npmjs.com/package/node-validator) by [Ken Gorab](https://github.com/kengorab) * [:link:](node-webkit/node-webkit.d.ts) [node-webkit](https://github.com/rogerwang/node-webkit) by [Pedro Casaubon](https://github.com/xperiments) * [:link:](xml2js/xml2js.d.ts) [node-xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) by [Michel Salib](https://github.com/michelsalib), [Jason McNeil](https://github.com/jasonrm) * [:link:](node/node.d.ts) [Node.js](http://nodejs.org) by [Microsoft TypeScript](http://typescriptlang.org), [DefinitelyTyped](https://github.com/borisyankov/DefinitelyTyped) @@ -884,13 +904,14 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](nopt/nopt.d.ts) [nopt](https://github.com/npm/nopt) by [jbondc](https://github.com/jbondc) * [:link:](notifyjs/notifyjs.d.ts) [notify.js](https://github.com/alexgibson/notify.js) by [soundTricker](https://github.com/soundTricker) * [:link:](notify/notify.d.ts) [Notify.js](https://github.com/jpillora/notifyjs) by [Xiaohan Zhang](https://github.com/hellochar) -* [:link:](nouislider/nouislider.d.ts) [nouislider](https://github.com/leongersen/noUiSlider) by [Patrick Davies](https://github.com/bleuarg) * [:link:](wnumb/wnumb.d.ts) [nouislider](https://github.com/leongersen/wnumb) by [Corey Jepperson](https://github.com/acoreyj) +* [:link:](nouislider/nouislider.d.ts) [nouislider](https://github.com/leongersen/noUiSlider) by [Patrick Davies](https://github.com/bleuarg) * [:link:](noVNC/noVNC.d.ts) [noVNC](https://github.com/kanaka/noVNC) by [Ken Smith](https://github.com/smithkl42) * [:link:](npm/npm.d.ts) [npm](https://github.com/npm/npm) by [Maxime LUCE](https://github.com/SomaticIT) * [:link:](nprogress/NProgress.d.ts) [NProgress](https://github.com/rstacruz/nprogress) by [Judah Gabriel Himango](http://debuggerdotbreak.wordpress.com) * [:link:](numbro/numbro.d.ts) [Numbro.js](https://github.com/foretagsplatsen/numbro) by [Vincent Bortone](https://github.com/vbortone) * [:link:](numeraljs/numeraljs.d.ts) [Numeral.js](https://github.com/adamwdraper/Numeral-js) by [Vincent Bortone](https://github.com/vbortone) +* [:link:](obelisk.js/obelisk.js.d.ts) [obelisk.js](https://github.com/nosir/obelisk.js) by [Brian Drupieski](https://github.com/bdrupieski) * [:link:](object-assign/object-assign.d.ts) [object-assign](https://github.com/sindresorhus/object-assign) by [Christopher Brown](https://github.com/chbrown) * [:link:](object-hash/object-hash.d.ts) [object-hash](https://github.com/puleos/object-hash) by [Michael Zabka](https://github.com/misak113) * [:link:](object-path/object-path.d.ts) [objectPath v0.9.x](https://github.com/mariocasciaro/object-path) by [Paulo Cesar](https://github.com/pocesar) @@ -904,6 +925,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](onsenui/onsenui.d.ts) [Onsen UI](http://onsen.io) by [Fran Dios](https://github.com/frankdiox) * [:link:](open/open.d.ts) [open](https://github.com/jjrdn/node-open) by [Bart van der Schoor](https://github.com/Bartvds) * [:link:](openlayers/openlayers.d.ts) [OpenLayers](http://openlayers.org) by [Wouter Goedhart](https://github.com/woutergd) +* [:link:](openpgp/openpgp.d.ts) [openpgpjs](http://openpgpjs.org) by [Guillaume Lacasa](https://blog.lacasa.fr) * [:link:](opn/opn.d.ts) [opn](https://github.com/sindresorhus/opn) by [Shinnosuke Watanabe](https://github.com/shinnn) * [:link:](optimist/optimist.d.ts) [optimist](https://github.com/substack/node-optimist) by [Carlos Ballesteros Velasco](https://github.com/soywiz) * [:link:](orchestrator/orchestrator.d.ts) [Orchestrator](https://github.com/orchestrator/orchestrator) by [Qubo](https://github.com/tkQubo) @@ -919,9 +941,9 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](pascal-case/pascal-case.d.ts) [pascal-case](https://github.com/blakeembrey/pascal-case) by [Sam Saint-Pettersen](https://github.com/stpettersens) * [:link:](passport/passport.d.ts) [Passport](http://passportjs.org) by [Horiuchi_H](https://github.com/horiuchi) * [:link:](passport-strategy/passport-strategy.d.ts) [Passport Strategy module](https://github.com/jaredhanson/passport-strategy) by [Lior Mualem](https://github.com/liorm) -* [:link:](passport-facebook/passport-facebook.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction) -* [:link:](passport-google-oauth/passport-google-oauth.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction) * [:link:](passport-twitter/passport-twitter.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction) +* [:link:](passport-google-oauth/passport-google-oauth.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction) +* [:link:](passport-facebook/passport-facebook.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction) * [:link:](passport-facebook-token/passport-facebook-token.d.ts) [passport-facebook-token](https://github.com/drudge/passport-facebook-token) by [Ray Martone](https://github.com/rmartone) * [:link:](passport-local/passport-local.d.ts) [passport-local](https://github.com/jaredhanson/passport-local) by [Maxime LUCE](https://github.com/SomaticIT) * [:link:](path-case/path-case.d.ts) [path-case](https://github.com/blakeembrey/path-case) by [Sam Saint-Pettersen](https://github.com/stpettersens) @@ -942,6 +964,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](phonegap/phonegap.d.ts) [PhoneGap](http://phonegap.com) by [Boris Yankov](https://github.com/borisyankov), [Dick van den Brink](https://github.com/DickvdBrink) * [:link:](phonegap-facebook-plugin/phonegap-facebook-plugin.d.ts) [phonegap-facebook-plugin](https://github.com/Wizcorp/phonegap-facebook-plugin) by [Justin Unterreiner](https://github.com/Justin-Credible) * [:link:](phonegap-plugin-push/phonegap-plugin-push.d.ts) [phonegap-plugin-push](https://github.com/phonegap/phonegap-plugin-push) by [Frederico Galvão](https://github.com/fredgalvao) +* [:link:](urbanairship-cordova/urbanairship-cordova.d.ts) [phonegap-ua-push](https://github.com/urbanairship/phonegap-ua-push) by [Justin Unterreiner](https://github.com/Justin-Credible) * [:link:](photonui/photonui.d.ts) [PhotonUI](https://github.com/wanadev/PhotonUI) by [Florent Poujol](https://github.com/florentpoujol) * [:link:](photoswipe/photoswipe.d.ts) [PhotoSwipe](http://photoswipe.com) by [Xiaohan Zhang](https://github.com/hellochar) * [:link:](physijs/physijs.d.ts) [Physijs](http://chandlerprall.github.io/Physijs) by [Satoru Kimura](https://github.com/gyohk) @@ -1000,6 +1023,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](react/react-global.d.ts) [React (namespace)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com) * [:link:](react-dnd/react-dnd.d.ts) [React DnD](https://github.com/gaearon/react-dnd) by [Asana](https://asana.com) * [:link:](react-router/react-router.d.ts) [React Router](https://github.com/rackt/react-router) by [Yuichi Murata](https://github.com/mrk21), [Václav Ostrožlík](https://github.com/vasek17) +* [:link:](react-bootstrap/react-bootstrap.d.ts) [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) by [Walker Burgin](https://github.com/walkerburgin) * [:link:](react-mixin/react-mixin.d.ts) [react-mixin](https://github.com/brigand/react-mixin) by [Qubo](https://github.com/tkqubo) * [:link:](react-props-decorators/react-props-decorators.d.ts) [react-props-decorators](https://github.com/popkirby/react-props-decorators) by [Qubo](https://github.com/tkqubo) * [:link:](react-redux/react-redux.d.ts) [react-redux](https://github.com/rackt/react-redux) by [Qubo](https://github.com/tkqubo) @@ -1014,6 +1038,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](redux-actions/redux-actions.d.ts) [redux-actions](https://github.com/acdlite/redux-actions) by [Jack Hsu](https://github.com/jaysoo) * [:link:](redux-devtools/redux-devtools.d.ts) [redux-devtools](https://github.com/gaearon/redux-devtools) by [Qubo](https://github.com/tkqubo) * [:link:](redux-logger/redux-logger.d.ts) [redux-logger](https://github.com/fcomb/redux-logger) by [Alexander Rusakov](https://github.com/arusakov) +* [:link:](redux-thunk/redux-thunk.d.ts) [redux-thunk](https://github.com/gaearon/redux-thunk) by [Qubo](https://github.com/tkqubo) * [:link:](ref/ref.d.ts) [ref](https://github.com/TooTallNate/ref) by [Paul Loyd](https://github.com/loyd) * [:link:](ref-array/ref-array.d.ts) [ref-array](https://github.com/TooTallNate/ref-array) by [Paul Loyd](https://github.com/loyd) * [:link:](ref-struct/ref-struct.d.ts) [ref-struct](https://github.com/TooTallNate/ref-struct) by [Paul Loyd](https://github.com/loyd) @@ -1035,6 +1060,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](riotjs/riotjs.d.ts) [riot.js](https://github.com/moot/riotjs) by [vvakame](https://github.com/vvakame) * [:link:](riotcontrol/riotcontrol.d.ts) [RiotControl](https://github.com/jimsparkman/RiotControl) by [Ilya Mochalov](https://github.com/chrootsu) * [:link:](rivets/rivets.d.ts) [rivets](http://rivetsjs.com) by [Trevor Baron](https://github.com/TrevorDev) +* [:link:](rosie/rosie.d.ts) [rosie](https://github.com/rosiejs/rosie) by [Abner Oliveira](https://github.com/abner) * [:link:](route-recognizer/route-recognizer.d.ts) [route-recognizer](https://github.com/tildeio/route-recognizer) by [Dave Keen](http://www.keendevelopment.ch) * [:link:](routie/routie.d.ts) [routie](https://github.com/jgallen23/routie) by [Adilson](https://github.com/Adilson) * [:link:](rsmq/rsmq.d.ts) [rsmq](http://smrchy.github.io/rsmq) by [Qubo](https://github.com/MugeSo) @@ -1060,11 +1086,13 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](sanitize-filename/sanitize-filename.d.ts) [sanitize-filename](https://github.com/parshap/node-sanitize-filename) by [Wim Looman](https://github.com/Nemo157) * [:link:](sanitize-html/sanitize-html.d.ts) [sanitize-html](https://github.com/punkave/sanitize-html) by [Rogier Schouten](https://github.com/rogierschouten) * [:link:](sanitizer/sanitizer.d.ts) [Sanitizer](https://github.com/theSmaw/Caja-HTML-Sanitizer) by [Dave Taylor](http://davetayls.me) +* [:link:](satnav/satnav.d.ts) [satnav](https://github.com/f5io/satnav-js) by [Christian Holm Diget](https://github.com/DotNetNerd) * [:link:](sax/sax.d.ts) [sax js](https://github.com/isaacs/sax-js) by [Asana](https://asana.com) * [:link:](screenfull/screenfull.d.ts) [screenfull.js](https://github.com/sindresorhus/screenfull.js) by [Ilia Choly](http://github.com/icholy) * [:link:](scrolltofixed/scrolltofixed.d.ts) [ScrollToFixed](https://github.com/bigspotteddog/ScrollToFixed) by [Ben Dixon](https://github.com/bmdixon) * [:link:](seedrandom/seedrandom.d.ts) [seedrandom](https://github.com/davidbau/seedrandom) by [Kern Handa](https://github.com/kernhanda) * [:link:](segment-analytics/segment-analytics.d.ts) [Segment's analytics.js](https://segment.com/docs/libraries/analytics.js) by [Andrew Fong](https://github.com/fongandrew) +* [:link:](analytics-node/analytics-node.d.ts) [Segment's analytics.js for Node.js](https://segment.com/docs/libraries/node) by [Andrew Fong](https://github.com/fongandrew) * [:link:](select2/select2.d.ts) [Select2](http://ivaynberg.github.com/select2) by [Boris Yankov](https://github.com/borisyankov) * [:link:](selectize/selectize.d.ts) [Selectize](https://github.com/brianreavis/selectize.js) by [Adi Dahiya](https://github.com/adidahiya) * [:link:](selenium-webdriver/selenium-webdriver.d.ts) [Selenium WebDriverJS](https://code.google.com/p/selenium) by [Bill Armstrong](https://github.com/BillArmstrong), [Yuki Kokubun](https://github.com/Kuniwak) @@ -1091,6 +1119,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](simple-cw-node/simple-cw-node.d.ts) [simple-cw-node](https://github.com/astronaughts/simple-cw-node) by [vvakame](https://github.com/vvakame) * [:link:](simplebar/simplebar.d.ts) [simplebar.js](https://github.com/Grsmto/simplebar) by [Gregor Woiwode](https://github.com/gregonnet) * [:link:](jquery.simplemodal/jquery.simplemodal.d.ts) [SimpleModal](http://www.ericmmartin.com/projects/simplemodal) by [Friedrich von Never](https://github.com/ForNeVeR) +* [:link:](simpleStorage/simplestorage.js.d.ts) [simpleStorage](https://github.com/andris9/simpleStorage) by [Áxel Costas Pena](https://github.com/axelcostaspena) * [:link:](sinon/sinon.d.ts) [Sinon](http://sinonjs.org) by [William Sears](https://github.com/mrbigdog2u) * [:link:](sinon-chai/sinon-chai.d.ts) [sinon-chai](https://github.com/domenic/sinon-chai) by [Kazi Manzur Rashid](https://github.com/kazimanzurrashid), [Jed Mao](https://github.com/jedmao) * [:link:](sinon-chrome/sinon-chrome.d.ts) [Sinon-Chrome](https://github.com/vitalets/sinon-chrome) by [Tim Perry](https://github.com/pimterry) @@ -1104,11 +1133,12 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](slickgrid/slick.rowselectionmodel.d.ts) [SlickGrid RowSelectionModel Plugin](https://github.com/mleibman/SlickGrid) by [Derek Cicerone](https://github.com/derekcicerone) * [:link:](smoothie/smoothie.d.ts) [Smoothie Charts](https://github.com/joewalnes/smoothie) by [Drew Noakes](https://drewnoakes.com), [Mike H. Hawley](https://github.com/mikehhawley) * [:link:](snake-case/snake-case.d.ts) [snake-case](https://github.com/blakeembrey/snake-case) by [Sam Saint-Pettersen](https://github.com/stpettersens) -* [:link:](snapsvg/snapsvg.d.ts) [Snap-SVG](https://github.com/adobe-webplatform/Snap.svg) by [Lars Klein](https://github.com/lhk) +* [:link:](snapsvg/snapsvg.d.ts) [Snap-SVG](https://github.com/adobe-webplatform/Snap.svg) by [Lars Klein](https://github.com/lhk), [Mattanja Kern](https://github.com/mattanja) * [:link:](socket.io/socket.io.d.ts) [socket.io](http://socket.io) by [PROGRE](https://github.com/progre), [Damian Connolly](https://github.com/divillysausages) * [:link:](socket.io-client/socket.io-client.d.ts) [socket.io-client](http://socket.io) by [PROGRE](https://github.com/progre), [Damian Connolly](https://github.com/divillysausages) * [:link:](socket.io.users/socket.io.users.d.ts) [socket.io.users](https://github.com/nodets/socket.io.users) by [Makis Maropoulos](https://github.com/kataras) * [:link:](sockjs/sockjs.d.ts) [SockJS 0.3.x](https://github.com/sockjs/sockjs-client) by [Emil Ivanov](https://github.com/vladev) +* [:link:](sockjs-client/sockjs-client.d.ts) [sockjs-client](https://github.com/sockjs/sockjs-client) by [Emil Ivanov](https://github.com/vladev), [Alexander Rusakov](https://github.com/arusakov) * [:link:](sockjs-node/sockjs-node.d.ts) [sockjs-node 0.3.x](https://github.com/sockjs/sockjs-node) by [Phil McCloghry-Laing](https://github.com/pmccloghrylaing) * [:link:](soundjs/soundjs.d.ts) [SoundJS](http://www.createjs.com/#!/SoundJS) by [Pedro Ferreira](https://bitbucket.org/drk4) * [:link:](source-map/source-map.d.ts) [source-map](https://github.com/mozilla/source-map) by [Morten Houston Ludvigsen](https://github.com/MortenHoustonLudvigsen) @@ -1125,6 +1155,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](stack-mapper/stack-mapper.d.ts) [stack-mapper](https://github.com/thlorenz/stack-mapper) by [Rogier Schouten](https://github.com/rogierschouten) * [:link:](stacktrace-js/stacktrace-js.d.ts) [stacktrace.js](https://github.com/stacktracejs/stacktrace.js) by [Exceptionless](https://github.com/exceptionless) * [:link:](stampit/stampit.d.ts) [stampit](https://github.com/stampit-org/stampit) by [Vasyl Boroviak](https://github.com/koresar) +* [:link:](stamplay-js-sdk/stamplay-js-sdk.d.ts) [stamplay-js-sdk](https://github.com/Stamplay/stamplay-js-sdk) by [Riderman de Sousa Barbosa](https://github.com/ridermansb) * [:link:](static-eval/static-eval.d.ts) [static-eval](https://github.com/substack/static-eval) by [Ben Liddicott](https://github.com/benliddicott/DefinitelyTyped) * [:link:](stats/stats.d.ts) [Stats.js r12](http://github.com/mrdoob/stats.js) by [Gregory Dalton](https://github.com/gregolai) * [:link:](statsd-client/statsd-client.d.ts) [statsd-client](https://github.com/msiebuhr/node-statsd-client) by [Peter Kooijmans](https://github.com/peterkooijmans) @@ -1159,7 +1190,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](swipe/swipe.d.ts) [Swipe](https://github.com/thebird/Swipe) by [Andrey Kurdyumov](https://github.com/kant2002) * [:link:](swiper/swiper.d.ts) [Swiper](https://github.com/nolimits4web/Swiper) by [Sebastián Galiano](https://github.com/sgaliano) * [:link:](swipeview/swipeview.d.ts) [SwipeView](http://cubiq.org/swipeview) by [Boris Yankov](https://github.com/borisyankov) -* [:link:](switchery/switchery.d.ts) [switchery](https://github.com/abpetkov/switchery) by [Bruno Grieder](https://github.com/bgrieder) +* [:link:](switchery/switchery.d.ts) [switchery](https://github.com/abpetkov/switchery) by [Bruno Grieder](https://github.com/bgrieder), [Clayton Lautier](https://github.com/claylaut) * [:link:](swiz/swiz.d.ts) [swiz](https://github.com/racker/node-swiz) by [Jeff Goddard](https://github.com/jedigo) * [:link:](systemjs/systemjs.d.ts) [System.js](https://github.com/systemjs/systemjs) by [Ludovic HENIN](https://github.com/ludohenin), [Nathan Walker](https://github.com/NathanWalker) * [:link:](tabris/tabris.d.ts) [Tabris.js](http://tabrisjs.com) by [Tabris.js team](http://github.com/eclipsesource/tabris) @@ -1227,14 +1258,15 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](typescript-deferred/typescript-deferred.d.ts) [typescript-deferred](https://github.com/DirtyHairy/typescript-deferred) by [Christian Speckner](https://github.com/DirtyHairy) * [:link:](typescript-services/typescriptServices.d.ts) [TypeScript-Services](https://www.npmjs.org/package/typescript-services) by [Basarat Ali Syed](http://github.com/basarat) * [:link:](unity-webapi/unity-webapi.d.ts) [Ubuntu Unity Web API](https://launchpad.net/libunity-webapps) by [John Vrbanac](jhttps://github.com/jmvrbanac) -* [:link:](ui-grid/ui-grid.d.ts) [ui-grid](http://www.ui-grid.info) by [Ben Tesser](https://github.com/btesser) +* [:link:](ui-grid/ui-grid.d.ts) [ui-grid](http://www.ui-grid.info) by [Ben Tesser](https://github.com/btesser), [Joe Skeen](http://github.com/joeskeen) * [:link:](ui-router-extras/ui-router-extras.d.ts) [UI-Router Extras (ct.ui.router.extras module)](https://github.com/christopherthielen/ui-router-extras) by [Michael Putters](https://github.com/mputters), [Marcel van de Kamp](https://github.com/marcel-k) -* [:link:](umbraco/umbraco-services.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland) -* [:link:](umbraco/umbraco.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland) * [:link:](umbraco/umbraco-resources.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland) +* [:link:](umbraco/umbraco.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland) +* [:link:](umbraco/umbraco-services.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland) * [:link:](underscore/underscore.d.ts) [Underscore](http://underscorejs.org) by [Boris Yankov](https://github.com/borisyankov), [Josh Baldwin](https://github.com/jbaldwin) * [:link:](underscore-ko/underscore-ko.d.ts) [Underscore-ko 1.2.2 with underscore](https://github.com/kamranayub/UnderscoreKO) by [Maurits Elbers](https://github.com/MagicMau) * [:link:](underscore.string/underscore.string.d.ts) [underscore.string](https://github.com/epeli/underscore.string) by [Ry Racherbaumer](http://github.com/rygine) +* [:link:](undertaker/undertaker.d.ts) [undertaker](https://github.com/phated/undertaker) by [Qubo](https://github.com/tkqubo) * [:link:](jquery.uniform/jquery.uniform.d.ts) [Uniform.js](https://github.com/pixelmatrix/uniform) by [flyfishMT](https://github.com/flyfishMT) * [:link:](uniq/uniq.d.ts) [uniq](https://www.npmjs.com/package/uniq) by [Hans Windhoff](https://github.com/hansrwindhoff) * [:link:](unique-random/unique-random.d.ts) [unique-random](https://github.com/sindresorhus/unique-random) by [Yuki Kokubun](https://github.com/Kuniwak) @@ -1274,12 +1306,14 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](webaudioapi/waa.d.ts) [Web Audio API](http://www.w3.org/TR/webaudio) by [Baruch Berger](https://github.com/bbss), [Kon](http://phyzkit.net), [kubosho](https://github.com/kubosho) * [:link:](webmidi/webmidi.d.ts) [Web MIDI API](http://www.w3.org/TR/webmidi) by [Toshiya Nakakura](https://github.com/nakakura) * [:link:](webspeechapi/webspeechapi.d.ts) [Web Speech API](https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html) by [SaschaNaz](https://github.com/saschanaz) +* [:link:](webcl/webcl.d.ts) [WebCL](https://www.khronos.org/registry/webcl/specs/1.0.0) by [Ralph Brown](https://github.com/NCARalph) * [:link:](webcola/webcola.d.ts) [webcola](https://github.com/tgdwyer/WebCola) by [Qinfeng Chen](https://github.com/qinfchen) * [:link:](webcomponents.js/webcomponents.js.d.ts) [webcomponents.js](https://github.com/webcomponents/webcomponentsjs) by [Adi Dahiya](https://github.com/adidahiya) * [:link:](webcrypto/WebCrypto.d.ts) [WebCrypto](http://www.w3.org/TR/WebCryptoAPI) by [Lucas Dixon](https://github.com/iislucas) * [:link:](webgl-ext/webgl-ext.d.ts) [WebGL Extensions](http://webgl.org) by [Arthur Langereis](https://github.com/zenmumbler) * [:link:](webix/webix.d.ts) [Webix UI](http://webix.com) by [Maksim Kozhukh](http://github.com/mkozhukh) * [:link:](webpack/webpack.d.ts) [webpack](https://github.com/webpack/webpack) by [Qubo](https://github.com/tkqubo) +* [:link:](webpack/webpack-env.d.ts) [webpack (module API)](https://github.com/webpack/webpack) by [use-strict](https://github.com/use-strict) * [:link:](webrtc/MediaStream.d.ts) [WebRTC](http://dev.w3.org/2011/webrtc) by [Ken Smith](https://github.com/smithkl42) * [:link:](websocket/websocket.d.ts) [websocket](https://github.com/Worlize/WebSocket-Node) by [Paul Loyd](https://github.com/loyd) * [:link:](websql/websql.d.ts) [websql](http://www.w3.org/TR/webdatabase) by [TeamworkGuy2](https://github.com/TeamworkGuy2) diff --git a/FileSaver/FileSaver-tests.ts b/FileSaver/FileSaver-tests.ts index 6a5426a6a2..4cfae373e3 100644 --- a/FileSaver/FileSaver-tests.ts +++ b/FileSaver/FileSaver-tests.ts @@ -6,6 +6,7 @@ function testSaveAs() { var data: Blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); var filename: string = 'hello world.txt'; - - saveAs(data, filename); + var disableAutoBOM = true; + + saveAs(data, filename, disableAutoBOM); } diff --git a/FileSaver/FileSaver.d.ts b/FileSaver/FileSaver.d.ts index 0b6cc75d60..fa5f31947e 100644 --- a/FileSaver/FileSaver.d.ts +++ b/FileSaver/FileSaver.d.ts @@ -20,8 +20,14 @@ interface FileSaver { * @summary File name. * @type {DOMString} */ - filename: string + filename: string, + + /** + * @summary Disable Unicode text encoding hints or not. + * @type {boolean} + */ + disableAutoBOM?: boolean ): void } -declare var saveAs: FileSaver; \ No newline at end of file +declare var saveAs: FileSaver; diff --git a/OpenJsCad/openjscad-tests.ts b/OpenJsCad/openjscad-tests.ts new file mode 100644 index 0000000000..fd13f0dbb4 --- /dev/null +++ b/OpenJsCad/openjscad-tests.ts @@ -0,0 +1,266 @@ +/// + +function test() { + + var gProcessor: OpenJsCad.Processor = null; + + // Show all exceptions to the user: + OpenJsCad.AlertUserOfUncaughtExceptions(); + + function onload() + { + gProcessor = new OpenJsCad.Processor(document.getElementById("viewer")); + updateSolid(); + } + + function updateSolid() + { + gProcessor.setJsCad((document.getElementById('code')).value); + } + + +} + +function main() +{ + // Main entry point; here we construct our solid: + var gear = involuteGear( + 15, + 10, + 20, + 0, + 5 + ); + var centerhole = CSG.cylinder({start: [0,0,-5], end: [0,0,5], radius: 2, resolution: 16}); + gear = gear.subtract(centerhole); + return gear; +} + +function involuteGear(numTeeth: number, circularPitch: number, pressureAngle: number, clearance: number, thickness: number) +{ + // default values: + if(arguments.length < 3) pressureAngle = 20; + if(arguments.length < 4) clearance = 0; + if(arguments.length < 4) thickness = 1; + + var addendum = circularPitch / Math.PI; + var dedendum = addendum + clearance; + + // radiuses of the 4 circles: + var pitchRadius = numTeeth * circularPitch / (2 * Math.PI); + var baseRadius = pitchRadius * Math.cos(Math.PI * pressureAngle / 180); + var outerRadius = pitchRadius + addendum; + var rootRadius = pitchRadius - dedendum; + + var maxtanlength = Math.sqrt(outerRadius*outerRadius - baseRadius*baseRadius); + var maxangle = maxtanlength / baseRadius; + + var tl_at_pitchcircle = Math.sqrt(pitchRadius*pitchRadius - baseRadius*baseRadius); + var angle_at_pitchcircle = tl_at_pitchcircle / baseRadius; + var diffangle = angle_at_pitchcircle - Math.atan(angle_at_pitchcircle); + var angularToothWidthAtBase = Math.PI / numTeeth + 2*diffangle; + + // build a single 2d tooth in the 'points' array: + var resolution = 5; + var points = [new CSG.Vector2D(0,0)]; + for(var i = 0; i <= resolution; i++) + { + // first side of the tooth: + var angle = maxangle * i / resolution; + var tanlength = angle * baseRadius; + var radvector = CSG.Vector2D.fromAngle(angle); + var tanvector = radvector.normal(); + var p = radvector.times(baseRadius).plus(tanvector.times(tanlength)); + points[i+1] = p; + + // opposite side of the tooth: + radvector = CSG.Vector2D.fromAngle(angularToothWidthAtBase - angle); + tanvector = radvector.normal().negated(); + p = radvector.times(baseRadius).plus(tanvector.times(tanlength)); + points[2 * resolution + 2 - i] = p; + } + + // create the polygon and extrude into 3D: + var tooth3d = new CSG.Polygon2D(points).extrude({offset: [0, 0, thickness]}); + + var allteeth = new CSG(); + for(var i = 0; i < numTeeth; i++) + { + var angle = i*360/numTeeth; + var rotatedtooth = tooth3d.rotateZ(angle); + allteeth = allteeth.unionForNonIntersecting(rotatedtooth); + } + + // build the root circle: + points = []; + var toothAngle = 2 * Math.PI / numTeeth; + var toothCenterAngle = 0.5 * angularToothWidthAtBase; + for(var i = 0; i < numTeeth; i++) + { + var angle = toothCenterAngle + i * toothAngle; + var p = CSG.Vector2D.fromAngle(angle).times(rootRadius); + points.push(p); + } + + // create the polygon and extrude into 3D: + var rootcircle = new CSG.Polygon2D(points).extrude({offset: [0, 0, thickness]}); + + var result = rootcircle.union(allteeth); + + // center at origin: + result = result.translate([0, 0, -thickness/2]); + + return result; +} + +var cylresolution=16; + + +function main2() +{ + var params = + { + quality: 0, + diameter1: 12.2, + shaftlength1: 15, + outerlength1: 20, + nutradius1: 4.65, + nutthickness1: 4.2, + screwdiameter1: 5, + diameter2: 9.5, + shaftlength2: 10, + outerlength2: 15, + nutradius2: 3.2, + nutthickness2: 2.6, + screwdiameter2: 3, + outerdiameter: 30, + spiderlength: 12, + spidermargin: 0, + numteeth: 2 + }; + + + cylresolution=(params.quality == 1)? 64:16; + + var outerdiameter=params.outerdiameter; + outerdiameter=Math.max(outerdiameter, params.diameter1+0.5); + outerdiameter=Math.max(outerdiameter, params.diameter2+0.5); + + var spidercenterdiameter=outerdiameter/2; + + var part1=makeShaft(params.diameter1, outerdiameter,spidercenterdiameter,params.shaftlength1,params.outerlength1,params.spiderlength, params.nutradius1, params.nutthickness1, params.screwdiameter1, params.numteeth); + var part2=makeShaft(params.diameter2, outerdiameter,spidercenterdiameter,params.shaftlength2,params.outerlength2,params.spiderlength, params.nutradius2, params.nutthickness2, params.screwdiameter2, params.numteeth); + var spider=makeSpider(outerdiameter, spidercenterdiameter, params.spiderlength, params.numteeth); + + if(params.spidermargin > 0) + { + spider=spider.contract(params.spidermargin, 4); + } + + // rotate shaft parts for better 3d printing: + part1=part1.rotateX(180).translate([0,0,params.outerlength1+params.spiderlength]); + part2=part2.rotateX(180).translate([0,0,params.outerlength2+params.spiderlength]); + + var result=part1.translate([-outerdiameter-5,0,0]); + result=result.union(part2.translate([0,0,0])); + result=result.union(spider.translate([outerdiameter+5,0,-params.spidermargin])); + return result; +} + +function makeShaft(innerdiameter: number, outerdiameter: number, spidercenterdiameter: number, shaftlength: number, outerlength: number, spiderlength: number, nutradius: number, nutthickness: number, screwdiameter: number, numteeth: number) +{ + var result=CSG.cylinder({start:[0,0,0], end:[0,0,outerlength], radius:outerdiameter/2, resolution:cylresolution}); + + for(var i=0; i < numteeth; i++) + { + var angle=i*360/numteeth; + var pie=makePie(outerdiameter/2, spiderlength,angle-45/numteeth, angle+45/numteeth); + pie=pie.translate([0,0,outerlength]); + result=result.union(pie); + } + var spidercylinder=CSG.cylinder({start:[0,0,outerlength], end:[0,0,outerlength+spiderlength],radius:spidercenterdiameter/2,resolution:cylresolution}); + result=result.subtract(spidercylinder); + var shaftcylinder=CSG.cylinder({start:[0,0,0], end:[0,0,shaftlength], radius:innerdiameter/2, resolution:cylresolution}); + result=result.subtract(shaftcylinder); + + var screwz=shaftlength/2; + if(screwz < nutradius) screwz=nutradius; + var nutcutout = hexagon(nutradius, nutthickness).translate([0,0,-nutthickness/2]); + var grubnutradiusAtFlatSide = nutradius * Math.cos(Math.PI / 180 * 30); + var nutcutoutrectangle = CSG.cube({ + radius: [outerlength/2, grubnutradiusAtFlatSide, nutthickness/2], + center: [outerlength/2, 0, 0], + }); + nutcutout = nutcutout.union(nutcutoutrectangle); + nutcutout = nutcutout.rotateY(90); + nutcutout = nutcutout.translate([(outerdiameter+innerdiameter)/4, 0, screwz]); + result = result.subtract(nutcutout); + + var screwcutout=CSG.cylinder({ + start: [outerdiameter/2, 0, screwz], + end: [0, 0, screwz], + radius: screwdiameter/2, + resolution:cylresolution + }); + result=result.subtract(screwcutout); + +//return nutcutout; +// nutcutout = nutcutout.translate([-grubnutheight/2 - centerholeradius - nutdistance,0,0]); + + return result; +} + +function makePie(radius: number, height: number, startangle: number, endangle: number) +{ + var absangle=Math.abs(startangle-endangle); + if(absangle >= 180) + { + throw new Error("Pie angle must be less than 180 degrees"); + } + var numsteps=cylresolution*absangle/360; + if(numsteps < 1) numsteps=1; + var points: CSG.Vector2D[] = []; + for(var i=0; i <= numsteps; i++) + { + var angle=startangle+i/numsteps*(endangle-startangle); + var vec = CSG.Vector2D.fromAngleDegrees(angle).times(radius); + points.push(vec); + } + points.push(new CSG.Vector2D(0,0)); + var shape2d=new CSG.Polygon2D(points); + var extruded=shape2d.extrude({ + offset: [0,0,height], // direction for extrusion + }); + return extruded; +} + +function hexagon(radius: number, height: number) +{ + var vertices: CSG.Vertex[] = []; + for(var i=0; i < 6; i++) + { + var point=CSG.Vector2D.fromAngleDegrees(-i*60).times(radius).toVector3D(0); + vertices.push(new CSG.Vertex(point)); + } + var polygon=new CSG.Polygon(vertices); + var hexagon=polygon.extrude([0,0,height]); + return hexagon; +} + +function makeSpider(outerdiameter: number, spidercenterdiameter: number, spiderlength: number, numteeth: number) +{ + var result=new CSG(); + var numspiderteeth=numteeth*2; // spider has twice the number of teeth + for(var i=0; i < numspiderteeth; i++) + { + var angle=i*360/numspiderteeth; + var pie=makePie(outerdiameter/2, spiderlength,angle-90/numspiderteeth, angle+90/numspiderteeth); + pie=pie.translate([0,0,0]); + result=result.union(pie); + } + + var centercylinder=CSG.cylinder({start:[0,0,0], end:[0,0,spiderlength], radius:spidercenterdiameter/2, resolution:cylresolution}); + result=result.union(centercylinder); + + return result; +} \ No newline at end of file diff --git a/OpenJsCad/openjscad.d.ts b/OpenJsCad/openjscad.d.ts new file mode 100644 index 0000000000..072fa10b5a --- /dev/null +++ b/OpenJsCad/openjscad.d.ts @@ -0,0 +1,912 @@ +// Type definitions for OpenJsCad.js +// Project: https://github.com/joostn/OpenJsCad +// Definitions by: Dan Marshall +// Definitions: https://github.com/borisyankov/DefinitelyTyped +/// + +declare module THREE { + var CSG: { + fromCSG: (csg: CSG, defaultColor: any) => { + colorMesh: Mesh; + wireframe: Mesh; + boundLen: number; + }; + getGeometryVertex: (geometry: any, vertex_position: any) => number; + }; + function OrbitControls(object: any, domElement: any): void; + function SpriteCanvasMaterial(parameters?: any): void; + interface ICanvasRendererOptions { + canvas?: HTMLCanvasElement; + alpha?: boolean; + } + class CanvasRenderer implements Renderer { + domElement: HTMLCanvasElement; + private pixelRatio; + private autoClear; + private sortObjects; + private sortElements; + private info; + private _projector; + private _renderData; + private _elements; + private _lights; + private _canvas; + private _canvasWidth; + private _canvasHeight; + private _canvasWidthHalf; + private _canvasHeightHalf; + private _viewportX; + private _viewportY; + private _viewportWidth; + private _viewportHeight; + private _context; + private _clearColor; + private _clearAlpha; + private _contextGlobalAlpha; + private _contextGlobalCompositeOperation; + private _contextStrokeStyle; + private _camera; + private _contextFillStyle; + private _contextLineWidth; + private _contextLineCap; + private _contextLineJoin; + private _contextLineDash; + private _v1; + private _v2; + private _v3; + private _v4; + private _v5; + private _v6; + private _v1x; + private _v1y; + private _v2x; + private _v2y; + private _v3x; + private _v3y; + private _v4x; + private _v4y; + private _v5x; + private _v5y; + private _v6x; + private _v6y; + private _color; + private _color1; + private _color2; + private _color3; + private _color4; + private _diffuseColor; + private _emissiveColor; + private _lightColor; + private _patterns; + private _image; + private _uvs; + private _uv1x; + private _uv1y; + private _uv2x; + private _uv2y; + private _uv3x; + private _uv3y; + private _clipBox; + private _clearBox; + private _elemBox; + private _ambientLight; + private _directionalLights; + private _pointLights; + private _vector3; + private _centroid; + private _normal; + private _normalViewMatrix; + constructor(parameters: ICanvasRendererOptions); + supportsVertexTextures(): void; + setFaceCulling: () => void; + getPixelRatio(): number; + setPixelRatio(value: any): void; + setSize(width: any, height: any, updateStyle: any): void; + setViewport(x: any, y: any, width: any, height: any): void; + setScissor(): void; + enableScissorTest(): void; + setClearColor(color: any, alpha: any): void; + setClearColorHex(hex: any, alpha: any): void; + getClearColor(): Color; + getClearAlpha(): number; + getMaxAnisotropy(): number; + clear(): void; + clearColor(): void; + clearDepth(): void; + clearStencil(): void; + render(scene: Scene, camera: Camera, renderTarget?: RenderTarget, forceClear?: boolean): void; + calculateLights(): void; + calculateLight(position: any, normal: any, color: any): void; + renderSprite(v1: any, element: any, material: any): void; + renderLine(v1: any, v2: any, element: any, material: any): void; + renderFace3(v1: any, v2: any, v3: any, uv1: any, uv2: any, uv3: any, element: any, material: any): void; + drawTriangle(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any): void; + strokePath(color: any, linewidth: any, linecap: any, linejoin: any): void; + fillPath(color: any): void; + onTextureUpdate(event: any): void; + textureToPattern(texture: any): void; + patternPath(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any, u0: any, v0: any, u1: any, v1: any, u2: any, v2: any, texture: any): void; + clipImage(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any, u0: any, v0: any, u1: any, v1: any, u2: any, v2: any, image: any): void; + expand(v1: any, v2: any, pixels: any): void; + setOpacity(value: any): void; + setBlending(value: any): void; + setLineWidth(value: any): void; + setLineCap(value: any): void; + setLineJoin(value: any): void; + setStrokeStyle(value: any): void; + setFillStyle(value: any): void; + setLineDash(value: any): void; + } + function RenderableObject(): void; + function RenderableFace(): void; + function RenderableVertex(): void; + function RenderableLine(): void; + function RenderableSprite(): void; + function Projector(): void; +} +declare module OpenJsCad { + interface ILog { + (x: string): void; + prevLogTime?: number; + } + var log: ILog; + interface IViewerOptions { + drawLines?: boolean; + drawFaces?: boolean; + color?: number[]; + bgColor?: number; + noWebGL?: boolean; + } + interface ProcessorOptions extends IViewerOptions { + verbose?: boolean; + viewerwidth?: number; + viewerheight?: number; + viewerheightratio?: number; + } + class Viewer { + private perspective; + private drawOptions; + private size; + private defaultColor_; + private bgColor_; + private containerElm_; + private scene_; + private camera_; + private controls_; + private renderer_; + private canvas; + private pauseRender_; + private requestID_; + constructor(containerElm: any, size: any, options: IViewerOptions); + createScene(drawAxes: any, axLen: any): void; + createCamera(): void; + createControls(canvas: any): void; + webGLAvailable(): boolean; + createRenderer(bool_noWebGL: any): void; + render(): void; + animate(): void; + cancelAnimate(): void; + refreshRenderer(bool_noWebGL: any): void; + drawAxes(axLen: any): void; + setCsg(csg: any, resetZoom: any): void; + applyDrawOptions(): void; + clear(): void; + getUserMeshes(str?: any): THREE.Object3D[]; + resetZoom(r: any): void; + parseSizeParams(): void; + handleResize(): void; + } + function makeAbsoluteUrl(url: any, baseurl: any): any; + function isChrome(): boolean; + function runMainInWorker(mainParameters: any): void; + function expandResultObjectArray(result: any): any; + function checkResult(result: any): void; + function resultToCompactBinary(resultin: any): any; + function resultFromCompactBinary(resultin: any): any; + function parseJsCadScriptSync(script: any, mainParameters: any, debugging: any): any; + function parseJsCadScriptASync(script: any, mainParameters: any, options: any, callback: any): Worker; + function getWindowURL(): URL; + function textToBlobUrl(txt: any): string; + function revokeBlobUrl(url: any): void; + function FileSystemApiErrorHandler(fileError: any, operation: any): void; + function AlertUserOfUncaughtExceptions(): void; + function getParamDefinitions(script: any): any[]; + interface EventHandler { + (ev?: Event): any; + } + /** + * options parameter: + * - drawLines: display wireframe lines + * - drawFaces: display surfaces + * - bgColor: canvas background color + * - color: object color + * - viewerwidth, viewerheight: set rendering size. Works with any css unit. + * viewerheight can also be specified as a ratio to width, ie number e (0, 1] + * - noWebGL: force render without webGL + * - verbose: show additional info (currently only time used for rendering) + */ + interface ViewerSize { + widthDefault: string; + heightDefault: string; + width: number; + height: number; + heightratio: number; + } + class Processor { + private containerdiv; + private options; + private onchange; + private static widthDefault; + private static heightDefault; + private viewerdiv; + private viewer; + private viewerSize; + private processing; + private currentObject; + private hasValidCurrentObject; + private hasOutputFile; + private worker; + private paramDefinitions; + private paramControls; + private script; + private hasError; + private debugging; + private errordiv; + private errorpre; + private statusdiv; + private controldiv; + private statusspan; + private statusbuttons; + private abortbutton; + private renderedElementDropdown; + private formatDropdown; + private generateOutputFileButton; + private downloadOutputFileLink; + private parametersdiv; + private parameterstable; + private currentFormat; + private filename; + private currentObjects; + private currentObjectIndex; + private isFirstRender_; + private outputFileDirEntry; + private outputFileBlobUrl; + constructor(containerdiv: HTMLDivElement, options?: ProcessorOptions, onchange?: EventHandler); + static convertToSolid(obj: any): any; + cleanOption(option: any, deflt: any): any; + toggleDrawOption(str: any): boolean; + setDrawOption(str: any, bool: any): void; + handleResize(): void; + createElements(): void; + getFilenameForRenderedObject(): string; + setRenderedObjects(obj: any): void; + setSelectedObjectIndex(index: number): void; + selectedFormat(): any; + selectedFormatInfo(): any; + updateDownloadLink(): void; + clearViewer(): void; + abort(): void; + enableItems(): void; + setOpenJsCadPath(path: string): void; + addLibrary(lib: any): void; + setError(txt: string): void; + setDebugging(debugging: boolean): void; + setJsCad(script: string, filename?: string): void; + getParamValues(): {}; + rebuildSolid(): void; + hasSolid(): boolean; + isProcessing(): boolean; + clearOutputFile(): void; + generateOutputFile(): void; + currentObjectToBlob(): any; + supportedFormatsForCurrentObject(): string[]; + formatInfo(format: any): any; + downloadLinkTextForCurrentObject(): string; + generateOutputFileBlobUrl(): void; + generateOutputFileFileSystem(): void; + createParamControls(): void; + } +} +interface Window { + Worker: Worker; +// URL: URL; + webkitURL: URL; + requestFileSystem: any; + webkitRequestFileSystem: any; +} +interface IAMFStringOptions { + unit: string; +} +declare class CxG { + toStlString(): string; + toStlBinary(): void; + toAMFString(AMFStringOptions?: IAMFStringOptions): void; + getBounds(): CxG[]; + transform(matrix4x4: CSG.Matrix4x4): CxG; + mirrored(plane: CSG.Plane): CxG; + mirroredX(): CxG; + mirroredY(): CxG; + mirroredZ(): CxG; + translate(v: number[]): CxG; + translate(v: CSG.Vector3D): CxG; + scale(f: CSG.Vector3D): CxG; + rotateX(deg: number): CxG; + rotateY(deg: number): CxG; + rotateZ(deg: number): CxG; + rotate(rotationCenter: CSG.Vector3D, rotationAxis: CSG.Vector3D, degrees: number): CxG; + rotateEulerAngles(alpha: number, beta: number, gamma: number, position: number[]): CxG; +} +interface ICenter { + center(cAxes: string[]): CxG; +} +declare class CSG extends CxG implements ICenter { + polygons: CSG.Polygon[]; + properties: CSG.Properties; + isCanonicalized: boolean; + isRetesselated: boolean; + cachedBoundingBox: CSG.Vector3D[]; + static defaultResolution2D: number; + static defaultResolution3D: number; + static fromPolygons(polygons: CSG.Polygon[]): CSG; + static fromSlices(options: any): CSG; + static fromObject(obj: any): CSG; + static fromCompactBinary(bin: any): CSG; + toPolygons(): CSG.Polygon[]; + union(csg: CSG[]): CSG; + union(csg: CSG): CSG; + unionSub(csg: CSG, retesselate?: boolean, canonicalize?: boolean): CSG; + unionForNonIntersecting(csg: CSG): CSG; + subtract(csg: CSG[]): CSG; + subtract(csg: CSG): CSG; + subtractSub(csg: CSG, retesselate: boolean, canonicalize: boolean): CSG; + intersect(csg: CSG[]): CSG; + intersect(csg: CSG): CSG; + intersectSub(csg: CSG, retesselate?: boolean, canonicalize?: boolean): CSG; + invert(): CSG; + transform1(matrix4x4: CSG.Matrix4x4): CSG; + transform(matrix4x4: CSG.Matrix4x4): CSG; + toString(): string; + expand(radius: number, resolution: number): CSG; + contract(radius: number, resolution: number): CSG; + stretchAtPlane(normal: number[], point: number[], length: number): CSG; + expandedShell(radius: number, resolution: number, unionWithThis: boolean): CSG; + canonicalized(): CSG; + reTesselated(): CSG; + getBounds(): CSG.Vector3D[]; + mayOverlap(csg: CSG): boolean; + cutByPlane(plane: CSG.Plane): CSG; + connectTo(myConnector: CSG.Connector, otherConnector: CSG.Connector, mirror: boolean, normalrotation: number): CSG; + setShared(shared: CSG.Polygon.Shared): CSG; + setColor(args: any): CSG; + toCompactBinary(): { + "class": string; + numPolygons: number; + numVerticesPerPolygon: Uint32Array; + polygonPlaneIndexes: Uint32Array; + polygonSharedIndexes: Uint32Array; + polygonVertices: Uint32Array; + vertexData: Float64Array; + planeData: Float64Array; + shared: CSG.Polygon.Shared[]; + }; + toPointCloud(cuberadius: any): CSG; + getTransformationAndInverseTransformationToFlatLying(): any; + getTransformationToFlatLying(): any; + lieFlat(): CSG; + projectToOrthoNormalBasis(orthobasis: CSG.OrthoNormalBasis): CAG; + sectionCut(orthobasis: CSG.OrthoNormalBasis): CAG; + fixTJunctions(): CSG; + toTriangles(): any[]; + getFeatures(features: any): any; + center(cAxes: string[]): CxG; + toX3D(): Blob; + toStlBinary(): Blob; + toStlString(): string; + toAMFString(m: IAMFStringOptions): Blob; +} +declare module CSG { + function fnNumberSort(a: any, b: any): number; + function parseOption(options: any, optionname: any, defaultvalue: any): any; + function parseOptionAs3DVector(options: any, optionname: any, defaultvalue: any): Vector3D; + function parseOptionAs3DVectorList(options: any, optionname: any, defaultvalue: any): any; + function parseOptionAs2DVector(options: any, optionname: any, defaultvalue: any): any; + function parseOptionAsFloat(options: any, optionname: any, defaultvalue: any): any; + function parseOptionAsInt(options: any, optionname: any, defaultvalue: any): any; + function parseOptionAsBool(options: any, optionname: any, defaultvalue: any): any; + function cube(options: any): CSG; + function sphere(options: any): CSG; + function cylinder(options: any): CSG; + function roundedCylinder(options: any): CSG; + function roundedCube(options: any): CSG; + /** + * polyhedron accepts openscad style arguments. I.e. define face vertices clockwise looking from outside + */ + function polyhedron(options: any): CSG; + function IsFloat(n: any): boolean; + function solve2Linear(a: any, b: any, c: any, d: any, u: any, v: any): number[]; + class Vector3D extends CxG { + x: number; + y: number; + z: number; + constructor(v3: Vector3D); + constructor(v2: Vector2D); + constructor(v2: number[]); + constructor(x: number, y: number); + constructor(x: number, y: number, z: number); + static Create(x: number, y: number, z: number): Vector3D; + clone(): Vector3D; + negated(): Vector3D; + abs(): Vector3D; + plus(a: Vector3D): Vector3D; + minus(a: Vector3D): Vector3D; + times(a: number): Vector3D; + dividedBy(a: number): Vector3D; + dot(a: Vector3D): number; + lerp(a: Vector3D, t: number): Vector3D; + lengthSquared(): number; + length(): number; + unit(): Vector3D; + cross(a: Vector3D): Vector3D; + distanceTo(a: Vector3D): number; + distanceToSquared(a: Vector3D): number; + equals(a: Vector3D): boolean; + multiply4x4(matrix4x4: Matrix4x4): Vector3D; + transform(matrix4x4: Matrix4x4): Vector3D; + toString(): string; + randomNonParallelVector(): Vector3D; + min(p: Vector3D): Vector3D; + max(p: Vector3D): Vector3D; + toStlString(): string; + toAMFString(): string; + } + class Vertex extends CxG { + pos: Vector3D; + tag: number; + constructor(pos: Vector3D); + static fromObject(obj: any): Vertex; + flipped(): Vertex; + getTag(): number; + interpolate(other: Vertex, t: number): Vertex; + transform(matrix4x4: Matrix4x4): Vertex; + toString(): string; + toStlString(): string; + toAMFString(): string; + } + class Plane extends CxG { + normal: Vector3D; + w: number; + tag: number; + constructor(normal: Vector3D, w: number); + static fromObject(obj: any): Plane; + static EPSILON: number; + static fromVector3Ds(a: Vector3D, b: Vector3D, c: Vector3D): Plane; + static anyPlaneFromVector3Ds(a: Vector3D, b: Vector3D, c: Vector3D): Plane; + static fromPoints(a: Vector3D, b: Vector3D, c: Vector3D): Plane; + static fromNormalAndPoint(normal: Vector3D, point: Vector3D): Plane; + static fromNormalAndPoint(normal: number[], point: number[]): Plane; + flipped(): Plane; + getTag(): number; + equals(n: Plane): boolean; + transform(matrix4x4: Matrix4x4): Plane; + splitPolygon(polygon: Polygon): { + type: any; + front: any; + back: any; + }; + splitLineBetweenPoints(p1: Vector3D, p2: Vector3D): Vector3D; + intersectWithLine(line3d: Line3D): Vector3D; + intersectWithPlane(plane: Plane): Line3D; + signedDistanceToPoint(point: Vector3D): number; + toString(): string; + mirrorPoint(point3d: Vector3D): Vector3D; + } + class Polygon extends CxG { + vertices: Vertex[]; + shared: Polygon.Shared; + plane: Plane; + cachedBoundingSphere: any; + cachedBoundingBox: Vector3D[]; + static defaultShared: CSG.Polygon.Shared; + constructor(vertices: Vector3D, shared?: Polygon.Shared, plane?: Plane); + constructor(vertices: Vertex[], shared?: Polygon.Shared, plane?: Plane); + static fromObject(obj: any): Polygon; + checkIfConvex(): void; + setColor(args: any): Polygon; + getSignedVolume(): number; + getArea(): number; + getTetraFeatures(features: any): any[]; + extrude(offsetvector: any): CSG; + boundingSphere(): any; + boundingBox(): Vector3D[]; + flipped(): Polygon; + transform(matrix4x4: Matrix4x4): Polygon; + toString(): string; + projectToOrthoNormalBasis(orthobasis: OrthoNormalBasis): CAG; + /** + * Creates solid from slices (CSG.Polygon) by generating walls + * @param {Object} options Solid generating options + * - numslices {Number} Number of slices to be generated + * - callback(t, slice) {Function} Callback function generating slices. + * arguments: t = [0..1], slice = [0..numslices - 1] + * return: CSG.Polygon or null to skip + * - loop {Boolean} no flats, only walls, it's used to generate solids like a tor + */ + solidFromSlices(options: any): CSG; + /** + * + * @param walls Array of wall polygons + * @param bottom Bottom polygon + * @param top Top polygon + */ + private _addWalls(walls, bottom, top, bFlipped); + static verticesConvex(vertices: Vertex[], planenormal: any): boolean; + static createFromPoints(points: number[][], shared?: CSG.Polygon.Shared, plane?: Plane): Polygon; + static isConvexPoint(prevpoint: any, point: any, nextpoint: any, normal: any): boolean; + static isStrictlyConvexPoint(prevpoint: any, point: any, nextpoint: any, normal: any): boolean; + toStlString(): string; + } +} +declare module CSG.Polygon { + class Shared { + color: any; + tag: any; + constructor(color: any); + static fromObject(obj: any): Shared; + static fromColor(args: any): Shared; + getTag(): any; + getHash(): any; + } +} +declare module CSG { + class PolygonTreeNode { + parent: any; + children: any; + polygon: Polygon; + removed: boolean; + constructor(); + addPolygons(polygons: any): void; + remove(): void; + isRemoved(): boolean; + isRootNode(): boolean; + invert(): void; + getPolygon(): Polygon; + getPolygons(result: Polygon[]): void; + splitByPlane(plane: any, coplanarfrontnodes: any, coplanarbacknodes: any, frontnodes: any, backnodes: any): void; + _splitByPlane(plane: any, coplanarfrontnodes: any, coplanarbacknodes: any, frontnodes: any, backnodes: any): void; + addChild(polygon: Polygon): PolygonTreeNode; + invertSub(): void; + recursivelyInvalidatePolygon(): void; + } + class Tree { + polygonTree: PolygonTreeNode; + rootnode: Node; + constructor(polygons: Polygon[]); + invert(): void; + clipTo(tree: Tree, alsoRemovecoplanarFront?: boolean): void; + allPolygons(): Polygon[]; + addPolygons(polygons: Polygon[]): void; + } + class Node { + parent: Node; + plane: Plane; + front: any; + back: any; + polygontreenodes: PolygonTreeNode[]; + constructor(parent: Node); + invert(): void; + clipPolygons(polygontreenodes: PolygonTreeNode[], alsoRemovecoplanarFront: boolean): void; + clipTo(tree: Tree, alsoRemovecoplanarFront: boolean): void; + addPolygonTreeNodes(polygontreenodes: PolygonTreeNode[]): void; + getParentPlaneNormals(normals: Vector3D[], maxdepth: number): void; + } + class Matrix4x4 { + elements: number[]; + constructor(elements?: number[]); + plus(m: Matrix4x4): Matrix4x4; + minus(m: Matrix4x4): Matrix4x4; + multiply(m: Matrix4x4): Matrix4x4; + clone(): Matrix4x4; + rightMultiply1x3Vector(v: Vector3D): Vector3D; + leftMultiply1x3Vector(v: Vector3D): Vector3D; + rightMultiply1x2Vector(v: Vector2D): Vector2D; + leftMultiply1x2Vector(v: Vector2D): Vector2D; + isMirroring(): boolean; + static unity(): Matrix4x4; + static rotationX(degrees: number): Matrix4x4; + static rotationY(degrees: number): Matrix4x4; + static rotationZ(degrees: number): Matrix4x4; + static rotation(rotationCenter: CSG.Vector3D, rotationAxis: CSG.Vector3D, degrees: number): Matrix4x4; + static translation(v: number[]): Matrix4x4; + static translation(v: Vector3D): Matrix4x4; + static mirroring(plane: Plane): Matrix4x4; + static scaling(v: number[]): Matrix4x4; + static scaling(v: Vector3D): Matrix4x4; + } + class Vector2D extends CxG { + x: number; + y: number; + constructor(x: number, y: number); + constructor(x: number[]); + constructor(x: Vector2D); + static fromAngle(radians: number): Vector2D; + static fromAngleDegrees(degrees: number): Vector2D; + static fromAngleRadians(radians: number): Vector2D; + static Create(x: number, y: number): Vector2D; + toVector3D(z: number): Vector3D; + equals(a: Vector2D): boolean; + clone(): Vector2D; + negated(): Vector2D; + plus(a: Vector2D): Vector2D; + minus(a: Vector2D): Vector2D; + times(a: number): Vector2D; + dividedBy(a: number): Vector2D; + dot(a: Vector2D): number; + lerp(a: Vector2D, t: number): Vector2D; + length(): number; + distanceTo(a: Vector2D): number; + distanceToSquared(a: Vector2D): number; + lengthSquared(): number; + unit(): Vector2D; + cross(a: Vector2D): number; + normal(): Vector2D; + multiply4x4(matrix4x4: Matrix4x4): Vector2D; + transform(matrix4x4: Matrix4x4): Vector2D; + angle(): number; + angleDegrees(): number; + angleRadians(): number; + min(p: Vector2D): Vector2D; + max(p: Vector2D): Vector2D; + toString(): string; + abs(): Vector2D; + } + class Line2D extends CxG { + normal: Vector2D; + w: number; + constructor(normal: Vector2D, w: number); + static fromPoints(p1: Vector2D, p2: Vector2D): Line2D; + reverse(): Line2D; + equals(l: Line2D): boolean; + origin(): Vector2D; + direction(): Vector2D; + xAtY(y: number): number; + absDistanceToPoint(point: Vector2D): number; + intersectWithLine(line2d: Line2D): Vector2D; + transform(matrix4x4: Matrix4x4): Line2D; + } + class Line3D extends CxG { + point: Vector3D; + direction: Vector3D; + constructor(point: Vector3D, direction: Vector3D); + static fromPoints(p1: Vector3D, p2: Vector3D): Line3D; + static fromPlanes(p1: Plane, p2: Plane): Line3D; + intersectWithPlane(plane: Plane): Vector3D; + clone(): Line3D; + reverse(): Line3D; + transform(matrix4x4: Matrix4x4): Line3D; + closestPointOnLine(point: Vector3D): Vector3D; + distanceToPoint(point: Vector3D): number; + equals(line3d: Line3D): boolean; + } + class OrthoNormalBasis extends CxG { + v: Vector3D; + u: Vector3D; + plane: Plane; + planeorigin: Vector3D; + constructor(plane: Plane, rightvector?: Vector3D); + static GetCartesian(xaxisid: string, yaxisid: string): OrthoNormalBasis; + static Z0Plane(): OrthoNormalBasis; + getProjectionMatrix(): Matrix4x4; + getInverseProjectionMatrix(): Matrix4x4; + to2D(vec3: Vector3D): Vector2D; + to3D(vec2: Vector2D): Vector3D; + line3Dto2D(line3d: Line3D): Line2D; + line2Dto3D(line2d: Line2D): Line3D; + transform(matrix4x4: Matrix4x4): OrthoNormalBasis; + } + function interpolateBetween2DPointsForY(point1: Vector2D, point2: Vector2D, y: number): number; + function reTesselateCoplanarPolygons(sourcepolygons: CSG.Polygon[], destpolygons: CSG.Polygon[]): void; + class fuzzyFactory { + multiplier: number; + lookuptable: any; + constructor(numdimensions: number, tolerance: number); + lookupOrCreate(els: any, creatorCallback: any): any; + } + class fuzzyCSGFactory { + vertexfactory: fuzzyFactory; + planefactory: fuzzyFactory; + polygonsharedfactory: any; + constructor(); + getPolygonShared(sourceshared: Polygon.Shared): Polygon.Shared; + getVertex(sourcevertex: Vertex): Vertex; + getPlane(sourceplane: Plane): Plane; + getPolygon(sourcepolygon: Polygon): Polygon; + getCSG(sourcecsg: CSG): CSG; + } + var staticTag: number; + function getTag(): number; + class Properties { + cube: Properties; + center: any; + facecenters: any[]; + roundedCube: Properties; + cylinder: Properties; + start: any; + end: any; + facepointH: any; + facepointH90: any; + sphere: Properties; + facepoint: any; + roundedCylinder: any; + _transform(matrix4x4: Matrix4x4): Properties; + _merge(otherproperties: Properties): Properties; + static transformObj(source: any, result: any, matrix4x4: Matrix4x4): void; + static cloneObj(source: any, result: any): void; + static addFrom(result: any, otherproperties: Properties): void; + } + class Connector extends CxG { + point: Vector3D; + axisvector: Vector3D; + normalvector: Vector3D; + constructor(point: number[], axisvector: Vector3D, normalvector: number[]); + constructor(point: number[], axisvector: number[], normalvector: number[]); + constructor(point: number[], axisvector: number[], normalvector: Vector3D); + constructor(point: Vector3D, axisvector: number[], normalvector: Vector3D); + constructor(point: Vector3D, axisvector: number[], normalvector: number[]); + constructor(point: Vector3D, axisvector: Vector3D, normalvector: Vector3D); + normalized(): Connector; + transform(matrix4x4: Matrix4x4): Connector; + getTransformationTo(other: Connector, mirror: boolean, normalrotation: number): Matrix4x4; + axisLine(): Line3D; + extend(distance: number): Connector; + } + class ConnectorList { + connectors_: Connector[]; + closed: boolean; + constructor(connectors: Connector[]); + static defaultNormal: number[]; + static fromPath2D(path2D: CSG.Path2D, arg1: any, arg2: any): ConnectorList; + static _fromPath2DTangents(path2D: any, start: any, end: any): ConnectorList; + static _fromPath2DExplicit(path2D: any, angleIsh: any): ConnectorList; + setClosed(bool: boolean): void; + appendConnector(conn: Connector): void; + followWith(cagish: any): CSG; + verify(): void; + } + interface IRadiusOptions { + radius?: number; + resolution?: number; + } + interface ICircleOptions extends IRadiusOptions { + center?: Vector2D | number[]; + } + interface IArcOptions extends ICircleOptions { + startangle?: number; + endangle?: number; + maketangent?: boolean; + } + interface IEllpiticalArcOptions extends IRadiusOptions { + clockwise?: boolean; + large?: boolean; + xaxisrotation?: number; + xradius?: number; + yradius?: number; + } + interface IRectangleOptions { + center?: Vector2D; + corner1?: Vector2D; + corner2?: Vector2D; + radius?: Vector2D; + } + interface IRoundRectangleOptions { + roundradius: number; + resolution?: number; + } + class Path2D extends CxG { + closed: boolean; + points: Vector2D[]; + lastBezierControlPoint: Vector2D; + constructor(points: number[], closed?: boolean); + constructor(points: Vector2D[], closed?: boolean); + static arc(options: IArcOptions): Path2D; + concat(otherpath: Path2D): Path2D; + appendPoint(point: Vector2D): Path2D; + appendPoints(points: Vector2D[]): Path2D; + close(): Path2D; + rectangularExtrude(width: number, height: number, resolution: number): CSG; + expandToCAG(pathradius: number, resolution: number): CAG; + innerToCAG(): CAG; + transform(matrix4x4: Matrix4x4): Path2D; + appendBezier(controlpoints: any, options: any): Path2D; + appendArc(endpoint: Vector2D, options: IEllpiticalArcOptions): Path2D; + } +} +declare class CAG extends CxG implements ICenter { + sides: CAG.Side[]; + isCanonicalized: boolean; + constructor(); + static fromSides(sides: CAG.Side[]): CAG; + static fromPoints(points: CSG.Vector2D[]): CAG; + static fromPointsNoCheck(points: CSG.Vector2D[]): CAG; + static fromFakeCSG(csg: CSG): CAG; + static linesIntersect(p0start: CSG.Vector2D, p0end: CSG.Vector2D, p1start: CSG.Vector2D, p1end: CSG.Vector2D): boolean; + static circle(options: CSG.ICircleOptions): CAG; + static rectangle(options: CSG.IRectangleOptions): CAG; + static roundedRectangle(options: any): CAG; + static fromCompactBinary(bin: any): CAG; + toString(): string; + _toCSGWall(z0: any, z1: any): CSG; + _toVector3DPairs(m: CSG.Matrix4x4): CSG.Vector3D[][]; + _toPlanePolygons(options: any): CSG.Polygon[]; + _toWallPolygons(options: any): any[]; + union(cag: CAG[]): CAG; + union(cag: CAG): CAG; + subtract(cag: CAG[]): CAG; + subtract(cag: CAG): CAG; + intersect(cag: CAG[]): CAG; + intersect(cag: CAG): CAG; + transform(matrix4x4: CSG.Matrix4x4): CAG; + area(): number; + flipped(): CAG; + getBounds(): CSG.Vector2D[]; + isSelfIntersecting(): boolean; + expandedShell(radius: number, resolution: number): CAG; + expand(radius: number, resolution: number): CAG; + contract(radius: number, resolution: number): CAG; + extrudeInOrthonormalBasis(orthonormalbasis: CSG.OrthoNormalBasis, depth: number, options?: any): CSG; + extrudeInPlane(axis1: any, axis2: any, depth: any, options: any): CSG; + extrude(options: CAG_extrude_options): CSG; + rotateExtrude(options: any): CSG; + check(): void; + canonicalized(): CAG; + toCompactBinary(): { + 'class': string; + sideVertexIndices: Uint32Array; + vertexData: Float64Array; + }; + getOutlinePaths(): CSG.Path2D[]; + overCutInsideCorners(cutterradius: any): CAG; + center(cAxes: string[]): CxG; + toDxf(): Blob; + static PathsToDxf(paths: CSG.Path2D[]): Blob; +} +declare module CAG { + class Vertex { + pos: CSG.Vector2D; + tag: number; + constructor(pos: CSG.Vector2D); + toString(): string; + getTag(): number; + } + class Side extends CxG { + vertex0: Vertex; + vertex1: Vertex; + tag: number; + constructor(vertex0: Vertex, vertex1: Vertex); + static _fromFakePolygon(polygon: CSG.Polygon): Side; + toString(): string; + toPolygon3D(z0: any, z1: any): CSG.Polygon; + transform(matrix4x4: CSG.Matrix4x4): Side; + flipped(): Side; + direction(): CSG.Vector2D; + getTag(): number; + lengthSquared(): number; + length(): number; + } + class fuzzyCAGFactory { + vertexfactory: CSG.fuzzyFactory; + constructor(); + getVertex(sourcevertex: Vertex): Vertex; + getSide(sourceside: Side): Side; + getCAG(sourcecag: CAG): CAG; + } +} +interface CAG_extrude_options { + offset?: number[]; + twistangle?: number; + twiststeps?: number; +} +declare module CSG { + class Polygon2D extends CAG { + constructor(points: Vector2D[]); + } +} diff --git a/PayPal-Cordova-Plugin/PayPal-Cordova-Plugin-test.ts b/PayPal-Cordova-Plugin/PayPal-Cordova-Plugin-tests.ts similarity index 100% rename from PayPal-Cordova-Plugin/PayPal-Cordova-Plugin-test.ts rename to PayPal-Cordova-Plugin/PayPal-Cordova-Plugin-tests.ts diff --git a/README.md b/README.md index 5cc7045d76..82833752d7 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Please see the [contribution guide](http://definitelytyped.org/guides/contributi Here is are the [currently requested definitions](https://github.com/borisyankov/DefinitelyTyped/labels/Definition%3ARequest). -## Licence +## License This project is licensed under the MIT license. diff --git a/acl/acl-redisBackend-test.ts b/acl/acl-redisBackend-tests.ts similarity index 100% rename from acl/acl-redisBackend-test.ts rename to acl/acl-redisBackend-tests.ts diff --git a/acorn/acorn.d.ts b/acorn/acorn.d.ts index eaba47e3b6..315d107185 100644 --- a/acorn/acorn.d.ts +++ b/acorn/acorn.d.ts @@ -9,6 +9,7 @@ declare module acorn { var version: string; function parse(input: string, options?: Options): ESTree.Program; function parseExpressionAt(input: string, pos: number, options?: Options): ESTree.Expression; + function getLineInfo(input: string, offset: number): ESTree.Position; var defaultOptions: Options; interface TokenType { diff --git a/ag-grid/ag-grid-tests.ts b/ag-grid/ag-grid-tests.ts new file mode 100644 index 0000000000..67b98f9f33 --- /dev/null +++ b/ag-grid/ag-grid-tests.ts @@ -0,0 +1,137 @@ +/// + +checkGridOptions({}); +checkColDef({}); + +function checkGridOptions(gridOptions: ag.grid.GridOptions): void { + + gridOptions.virtualPaging = true; + gridOptions.toolPanelSuppressPivot = true; + gridOptions.toolPanelSuppressValues = true; + gridOptions.rowsAlreadyGrouped = true; + gridOptions.suppressRowClickSelection = true; + gridOptions.suppressCellSelection = true; + gridOptions.sortingOrder = ['asc','desc']; + gridOptions.suppressMultiSort = true; + gridOptions.suppressHorizontalScroll = true; + gridOptions.unSortIcon = true; + gridOptions.rowHeight = 0; + gridOptions.rowBuffer = 0; + gridOptions.enableColResize = true; + gridOptions.enableCellExpressions = true; + gridOptions.enableSorting = true; + gridOptions.enableServerSideSorting = true; + gridOptions.enableFilter = true; + gridOptions.enableServerSideFilter = true; + gridOptions.colWidth = 0; + gridOptions.suppressMenuHide = true; + gridOptions.singleClickEdit = true; + gridOptions.debug = true; + gridOptions.icons = {}; + gridOptions.angularCompileRows = true; + gridOptions.angularCompileFilters = true; + gridOptions.angularCompileHeaders = true; + gridOptions.localeText = {}; + gridOptions.localeTextFunc = function() {} + gridOptions.suppressScrollLag = true; + gridOptions.groupSuppressAutoColumn = true; + gridOptions.groupSelectsChildren = true; + gridOptions.groupHidePivotColumns = true; + gridOptions.groupIncludeFooter = true; + gridOptions.groupUseEntireRow = true; + gridOptions.groupSuppressRow = true; + gridOptions.groupSuppressBlankHeader = true; + gridOptions.forPrint = true; + gridOptions.groupColumnDef = {}; + gridOptions.context = {}; + gridOptions.rowStyle = {color: 'red'}; + gridOptions.rowClass = 'green'; + gridOptions.groupDefaultExpanded = false; + gridOptions.slaveGrids = []; + gridOptions.rowSelection = 'single'; + gridOptions.rowDeselection = true; + gridOptions.rowData = []; + gridOptions.floatingTopRowData = []; + gridOptions.floatingBottomRowData = []; + gridOptions.showToolPanel = true; + gridOptions.groupKeys = ['a','b'] + gridOptions.groupAggFields = ['a','b'] + gridOptions.columnDefs = []; + gridOptions.datasource = {}; + gridOptions.pinnedColumnCount = 0; + gridOptions.groupHeaders = true; + gridOptions.headerHeight = 0; + gridOptions.groupRowInnerRenderer = function(params) {}; + gridOptions.groupRowRenderer = {}; + gridOptions.isScrollLag = function() {return true;} + gridOptions.isExternalFilterPresent = function() { return true; }; + gridOptions.doesExternalFilterPass = function(node: ag.grid.RowNode) { return false; }; + gridOptions.getRowStyle = function() {}; + gridOptions.getRowClass = function() {}; + gridOptions.headerCellRenderer = function() {}; + gridOptions.groupAggFunction = function(nodes: any[]) {}; + gridOptions.onReady = function(api: any) {}; + gridOptions.onModelUpdated = function() {}; + gridOptions.onCellClicked = function(params) {}; + gridOptions.onCellDoubleClicked = function(params) {}; + gridOptions.onCellContextMenu = function(params) {}; + gridOptions.onCellValueChanged = function(params) {}; + gridOptions.onCellFocused = function(params) {}; + gridOptions.onRowSelected = function(params) {}; + gridOptions.onSelectionChanged = function() {}; + gridOptions.onBeforeFilterChanged = function() {}; + gridOptions.onAfterFilterChanged = function() {}; + gridOptions.onFilterModified = function() {}; + gridOptions.onBeforeSortChanged = function() {}; + gridOptions.onAfterSortChanged = function() {}; + gridOptions.onVirtualRowRemoved = function(params) {}; + gridOptions.onRowClicked = function(params) {}; + gridOptions.api = null; + gridOptions.columnApi = null; + +} + +function checkColDef(colDef: ag.grid.ColDef): void { + + colDef.sort = 'test'; + colDef.sortedAt = 0; + colDef.sortingOrder = ['asc','desc']; + colDef.headerName = 'test'; + colDef.field = 'test'; + colDef.headerValueGetter = 'test'; + colDef.colId = 'test'; + colDef.hide = true; + colDef.headerTooltip = 'test'; + colDef.valueGetter = 'test'; + colDef.headerCellRenderer = {}; + colDef.headerClass = 'test'; + colDef.width = 0; + colDef.minWidth = 0; + colDef.maxWidth = 0; + colDef.cellClass = 'test'; + colDef.cellStyle = {color: 'test'}; + colDef.cellRenderer = function() {}; + colDef.floatingCellRenderer = function() {}; + colDef.aggFunc = 'test'; + colDef.comparator = function() {}; + colDef.checkboxSelection = true; + colDef.suppressMenu = true; + colDef.suppressSorting = true; + colDef.unSortIcon = true; + colDef.suppressSizeToFit = true; + colDef.suppressResize = true; + colDef.headerGroup = 'test'; + colDef.headerGroupShow = 'test'; + colDef.editable = true; + colDef.newValueHandler = function() {}; + colDef.volatile = true; + colDef.template = 'test'; + colDef.templateUrl = 'test'; + colDef.filter = 'test'; + colDef.filterParams = {}; + colDef.onCellValueChanged = function() {}; + colDef.onCellClicked = function() {}; + colDef.onCellDoubleClicked = function() {}; + colDef.onCellContextMenu = function() {}; + colDef.cellClassRules = {}; +} diff --git a/ag-grid/ag-grid.d-2.1.2.ts b/ag-grid/ag-grid.d-2.1.2.ts new file mode 100644 index 0000000000..f385a90f44 --- /dev/null +++ b/ag-grid/ag-grid.d-2.1.2.ts @@ -0,0 +1,1991 @@ +// Type definitions for ag-grid v2.1.2 +// Project: http://www.ag-grid.com/ +// Definitions by: Niall Crosby +// Definitions: https://github.com/borisyankov/DefinitelyTyped +declare module ag.grid { + class ColumnChangeEvent { + private type; + private column; + private columnGroup; + private fromIndex; + private toIndex; + private pinnedColumnCount; + constructor(type: string); + toString(): string; + withColumn(column: Column): ColumnChangeEvent; + withColumnGroup(columnGroup: ColumnGroup): ColumnChangeEvent; + withFromIndex(fromIndex: number): ColumnChangeEvent; + withPinnedColumnCount(pinnedColumnCount: number): ColumnChangeEvent; + withToIndex(toIndex: number): ColumnChangeEvent; + getFromIndex(): number; + getToIndex(): number; + getPinnedColumnCount(): number; + getType(): string; + getColumn(): Column; + getColumnGroup(): ColumnGroup; + isPivotChanged(): boolean; + isValueChanged(): boolean; + isIndividualColumnResized(): boolean; + } +} +declare module ag.grid { + class Utils { + private static isSafari; + private static isIE; + static iterateObject(object: any, callback: (key: string, value: any) => void): void; + static cloneObject(object: any): any; + static map(array: TItem[], callback: (item: TItem) => TResult): TResult[]; + static forEach(array: T[], callback: (item: T, index: number) => void): void; + static filter(array: T[], callback: (item: T) => boolean): T[]; + static assign(object: any, source: any): void; + static getFunctionParameters(func: any): any; + static find(collection: any, predicate: any, value: any): any; + static toStrings(array: T[]): string[]; + static iterateArray(array: T[], callback: (item: T, index: number) => void): void; + static isNode(o: any): boolean; + static isElement(o: any): boolean; + static isNodeOrElement(o: any): boolean; + static addChangeListener(element: HTMLElement, listener: EventListener): void; + static makeNull(value: any): any; + static removeAllChildren(node: HTMLElement): void; + static removeElement(parent: HTMLElement, cssSelector: string): void; + static removeFromParent(node: Element): void; + static isVisible(element: HTMLElement): boolean; + /** + * loads the template and returns it as an element. makes up for no simple way in + * the dom api to load html directly, eg we cannot do this: document.createElement(template) + */ + static loadTemplate(template: string): Node; + static querySelectorAll_addCssClass(eParent: any, selector: string, cssClass: string): void; + static querySelectorAll_removeCssClass(eParent: any, selector: string, cssClass: string): void; + static querySelectorAll_replaceCssClass(eParent: any, selector: string, cssClassToRemove: string, cssClassToAdd: string): void; + static addOrRemoveCssClass(element: HTMLElement, className: string, addOrRemove: boolean): void; + static addCssClass(element: HTMLElement, className: string): void; + static offsetHeight(element: HTMLElement): number; + static offsetWidth(element: HTMLElement): number; + static removeCssClass(element: HTMLElement, className: string): void; + static removeFromArray(array: T[], object: T): void; + static defaultComparator(valueA: any, valueB: any): number; + static formatWidth(width: number | string): string; + /** + * Tries to use the provided renderer. + */ + static useRenderer(eParent: Element, eRenderer: (params: TParams) => Node | string, params: TParams): void; + /** + * If icon provided, use this (either a string, or a function callback). + * if not, then use the second parameter, which is the svgFactory function + */ + static createIcon(iconName: any, gridOptionsWrapper: any, colDefWrapper: any, svgFactoryFunc: () => Node): HTMLSpanElement; + static addStylesToElement(eElement: any, styles: any): void; + static getScrollbarWidth(): number; + static isKeyPressed(event: KeyboardEvent, keyToCheck: number): boolean; + static setVisible(element: HTMLElement, visible: boolean): void; + static isBrowserIE(): boolean; + static isBrowserSafari(): boolean; + } +} +declare module ag.grid { + class Constants { + static STEP_EVERYTHING: number; + static STEP_FILTER: number; + static STEP_SORT: number; + static STEP_MAP: number; + static ASC: string; + static DESC: string; + static ROW_BUFFER_SIZE: number; + static MIN_COL_WIDTH: number; + static SUM: string; + static MIN: string; + static MAX: string; + static KEY_TAB: number; + static KEY_ENTER: number; + static KEY_BACKSPACE: number; + static KEY_DELETE: number; + static KEY_ESCAPE: number; + static KEY_SPACE: number; + static KEY_DOWN: number; + static KEY_UP: number; + static KEY_LEFT: number; + static KEY_RIGHT: number; + } +} +declare module ag.grid { + class Column { + static colIdSequence: number; + colDef: ColDef; + actualWidth: any; + visible: any; + colId: any; + pinned: boolean; + index: number; + aggFunc: string; + pivotIndex: number; + sort: string; + sortedAt: number; + constructor(colDef: ColDef, actualWidth: any); + isGreaterThanMax(width: number): boolean; + getMinimumWidth(): number; + setMinimum(): void; + } +} +declare module ag.grid { + class ColumnGroup { + pinned: any; + name: any; + allColumns: Column[]; + displayedColumns: Column[]; + expandable: boolean; + expanded: boolean; + actualWidth: number; + constructor(pinned: any, name: any); + getMinimumWidth(): number; + addColumn(column: any): void; + calculateExpandable(): void; + calculateActualWidth(): void; + calculateDisplayedColumns(): void; + addToVisibleColumns(colsToAdd: any): void; + } +} +declare module ag.grid { + class GridOptionsWrapper { + private gridOptions; + private groupHeaders; + private headerHeight; + private rowHeight; + private floatingTopRowData; + private floatingBottomRowData; + init(gridOptions: GridOptions, eventService: EventService): void; + isRowSelection(): boolean; + isRowDeselection(): boolean; + isRowSelectionMulti(): boolean; + getContext(): any; + isVirtualPaging(): boolean; + isShowToolPanel(): boolean; + isToolPanelSuppressPivot(): boolean; + isToolPanelSuppressValues(): boolean; + isRowsAlreadyGrouped(): boolean; + isGroupSelectsChildren(): boolean; + isGroupHidePivotColumns(): boolean; + isGroupIncludeFooter(): boolean; + isGroupSuppressBlankHeader(): boolean; + isSuppressRowClickSelection(): boolean; + isSuppressCellSelection(): boolean; + isSuppressMultiSort(): boolean; + isGroupSuppressAutoColumn(): boolean; + isForPrint(): boolean; + isSuppressHorizontalScroll(): boolean; + isUnSortIcon(): boolean; + isSuppressMenuHide(): boolean; + getRowStyle(): any; + getRowClass(): any; + getRowStyleFunc(): any; + getRowClassFunc(): any; + getHeaderCellRenderer(): any; + getApi(): GridApi; + isEnableColResize(): boolean; + isSingleClickEdit(): boolean; + getGroupDefaultExpanded(): any; + getGroupKeys(): string[]; + getGroupAggFunction(): (nodes: any[]) => any; + getGroupAggFields(): string[]; + getRowData(): any[]; + isGroupUseEntireRow(): boolean; + getGroupColumnDef(): any; + isGroupSuppressRow(): boolean; + isAngularCompileRows(): boolean; + isAngularCompileFilters(): boolean; + isAngularCompileHeaders(): boolean; + isDebug(): boolean; + getColumnDefs(): any[]; + getDatasource(): any; + getRowBuffer(): number; + isEnableSorting(): boolean; + isEnableCellExpressions(): boolean; + isEnableServerSideSorting(): boolean; + isEnableFilter(): boolean; + isEnableServerSideFilter(): boolean; + isSuppressScrollLag(): boolean; + getIcons(): any; + getIsScrollLag(): () => boolean; + getSortingOrder(): string[]; + getSlaveGrids(): GridOptions[]; + getGroupRowRenderer(): Object | Function; + getRowHeight(): number; + getHeaderHeight(): number; + setHeaderHeight(headerHeight: number): void; + isGroupHeaders(): boolean; + setGroupHeaders(groupHeaders: boolean): void; + getFloatingTopRowData(): any[]; + setFloatingTopRowData(rows: any[]): void; + getFloatingBottomRowData(): any[]; + setFloatingBottomRowData(rows: any[]): void; + isExternalFilterPresent(): boolean; + doesExternalFilterPass(node: RowNode): boolean; + getGroupRowInnerRenderer(): (params: any) => void; + getColWidth(): number; + private checkForDeprecated(); + getPinnedColCount(): number; + getLocaleTextFunc(): Function; + globalEventHandler(eventName: string, event?: any): void; + private getCallbackForEvent(eventName); + } +} +declare module ag.grid { + class LoggerFactory { + private logging; + init(gridOptionsWrapper: GridOptionsWrapper): void; + create(name: string): Logger; + } + class Logger { + private logging; + private name; + constructor(name: string, logging: boolean); + log(message: string): void; + } +} +declare module ag.grid { + class Events { + /** A new set of columns has been entered, everything has potentially changed. */ + static EVENT_COLUMN_EVERYTHING_CHANGED: string; + /** A pivot column was added, removed or order changed. */ + static EVENT_COLUMN_PIVOT_CHANGE: string; + /** A value column was added, removed or agg function was changed. */ + static EVENT_COLUMN_VALUE_CHANGE: string; + /** A column was moved */ + static EVENT_COLUMN_MOVED: string; + /** One or more columns was shown / hidden */ + static EVENT_COLUMN_VISIBLE: string; + /** A column group was opened / closed */ + static EVENT_COLUMN_GROUP_OPENED: string; + /** One or more columns was resized. If just one, the column in the event is set. */ + static EVENT_COLUMN_RESIZED: string; + /** One or more columns was resized. If just one, the column in the event is set. */ + static EVENT_COLUMN_PINNED_COUNT_CHANGED: string; + static EVENT_MODEL_UPDATED: string; + static EVENT_CELL_CLICKED: string; + static EVENT_CELL_DOUBLE_CLICKED: string; + static EVENT_CELL_CONTEXT_MENU: string; + static EVENT_CELL_VALUE_CHANGED: string; + static EVENT_CELL_FOCUSED: string; + static EVENT_ROW_SELECTED: string; + static EVENT_SELECTION_CHANGED: string; + static EVENT_BEFORE_FILTER_CHANGED: string; + static EVENT_AFTER_FILTER_CHANGED: string; + static EVENT_FILTER_MODIFIED: string; + static EVENT_BEFORE_SORT_CHANGED: string; + static EVENT_AFTER_SORT_CHANGED: string; + static EVENT_VIRTUAL_ROW_REMOVED: string; + static EVENT_ROW_CLICKED: string; + static EVENT_READY: string; + } +} +declare module ag.grid { + class EventService { + private allListeners; + private globalListeners; + private getListenerList(eventType); + addEventListener(eventType: string, listener: Function): void; + addGlobalListener(listener: Function): void; + removeEventListener(eventType: string, listener: Function): void; + removeGlobalListener(listener: Function): void; + dispatchEvent(eventType: string, event?: any): void; + } +} +declare module ag.grid { + class MasterSlaveService { + private gridOptionsWrapper; + private columnController; + private gridPanel; + private logger; + private eventService; + private consuming; + init(gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, gridPanel: GridPanel, loggerFactory: LoggerFactory, eventService: EventService): void; + private fireEvent(callback); + private onEvent(callback); + private fireColumnEvent(event); + fireHorizontalScrollEvent(horizontalScroll: number): void; + onScrollEvent(horizontalScroll: number): void; + onColumnEvent(event: ColumnChangeEvent): void; + } +} +declare module ag.grid { + class ColumnApi { + private _columnController; + constructor(_columnController: ColumnController); + sizeColumnsToFit(gridWidth: any): void; + hideColumns(colIds: any, hide: any): void; + columnGroupOpened(group: ColumnGroup, newValue: boolean): void; + getColumnGroup(name: string): ColumnGroup; + getDisplayNameForCol(column: any): string; + getColumn(key: any): Column; + setState(columnState: any): void; + getState(): [any]; + isPinning(): boolean; + getVisibleColAfter(col: Column): Column; + getVisibleColBefore(col: Column): Column; + setColumnVisible(column: Column, visible: boolean): void; + getAllColumns(): Column[]; + getDisplayedColumns(): Column[]; + getPivotedColumns(): Column[]; + getValueColumns(): Column[]; + moveColumn(fromIndex: number, toIndex: number): void; + movePivotColumn(fromIndex: number, toIndex: number): void; + setColumnAggFunction(column: Column, aggFunc: string): void; + setColumnWidth(column: Column, newWidth: number): void; + removeValueColumn(column: Column): void; + addValueColumn(column: Column): void; + removePivotColumn(column: Column): void; + setPinnedColumnCount(count: number): void; + addPivotColumn(column: Column): void; + getHeaderGroups(): ColumnGroup[]; + hideColumn(colId: any, hide: any): void; + } + class ColumnController { + private gridOptionsWrapper; + private angularGrid; + private selectionRendererFactory; + private expressionService; + private masterSlaveController; + private allColumns; + private visibleColumns; + private displayedColumns; + private pivotColumns; + private valueColumns; + private columnGroups; + private setupComplete; + private valueService; + private pinnedColumnCount; + private eventService; + constructor(); + init(angularGrid: Grid, selectionRendererFactory: SelectionRendererFactory, gridOptionsWrapper: GridOptionsWrapper, expressionService: ExpressionService, valueService: ValueService, masterSlaveController: MasterSlaveService, eventService: EventService): void; + getColumnApi(): ColumnApi; + isSetupComplete(): boolean; + getHeaderGroups(): ColumnGroup[]; + getPinnedContainerWidth(): number; + addPivotColumn(column: Column): void; + setPinnedColumnCount(count: number): void; + removePivotColumn(column: Column): void; + addValueColumn(column: Column): void; + removeValueColumn(column: Column): void; + private doesColumnExistInGrid(column); + setColumnWidth(column: Column, newWidth: number): void; + private updateGroupWidthsAfterColumnResize(column); + setColumnAggFunction(column: Column, aggFunc: string): void; + movePivotColumn(fromIndex: number, toIndex: number): void; + moveColumn(fromIndex: number, toIndex: number): void; + getBodyContainerWidth(): number; + getValueColumns(): Column[]; + getPivotedColumns(): Column[]; + getDisplayedColumns(): Column[]; + getAllColumns(): Column[]; + setColumnVisible(column: Column, visible: boolean): void; + getVisibleColBefore(col: any): Column; + getVisibleColAfter(col: Column): Column; + isPinning(): boolean; + getState(): [any]; + setState(columnState: any): void; + getColumns(keys: any[]): Column[]; + getColumn(key: any): Column; + getDisplayNameForCol(column: any): string; + getColumnGroup(name: string): ColumnGroup; + onColumnsChanged(): void; + private checkForDeprecatedItems(columnDefs); + columnGroupOpened(group: ColumnGroup, newValue: boolean): void; + hideColumns(colIds: any, hide: any): void; + private updateModel(); + private updateDisplayedColumns(); + sizeColumnsToFit(gridWidth: any): void; + private buildGroups(); + private updateGroups(); + private updateVisibleColumns(); + private updatePinnedColumns(); + private createColumns(colDefs); + private createPivotColumns(); + private createValueColumns(); + private createDummyColumn(field); + private calculateColInitialWidth(colDef); + private getTotalColWidth(includePinned); + } +} +declare module ag.grid { + interface CsvExportParams { + skipHeader?: boolean; + skipFooters?: boolean; + skipGroups?: boolean; + fileName?: string; + } + class CsvCreator { + private rowController; + private columnController; + private grid; + private valueService; + constructor(rowController: InMemoryRowController, columnController: ColumnController, grid: Grid, valueService: ValueService); + exportDataAsCsv(params?: CsvExportParams): void; + getDataAsCsv(params?: CsvExportParams): string; + private createValueForGroupNode(node); + private escape(value); + } +} +declare module ag.grid { + class ExpressionService { + private expressionToFunctionCache; + private logger; + init(loggerFactory: LoggerFactory): void; + evaluate(expression: string, params: any): any; + private createExpressionFunction(expression); + private createFunctionBody(expression); + } +} +declare module ag.grid { + interface TextAndNumberFilterParameters { + /** What to do when new rows are loaded. The default is to reset the filter, to keep it in line with 'set' filters. If you want to keep the selection, then set this value to 'keep'. */ + newRowsAction?: string; + } +} +declare module ag.grid { + class TextFilter implements Filter { + private filterParams; + private filterChangedCallback; + private filterModifiedCallback; + private localeTextFunc; + private valueGetter; + private filterText; + private filterType; + private api; + private eGui; + private eFilterTextField; + private eTypeSelect; + private applyActive; + private eApplyButton; + init(params: any): void; + onNewRowsLoaded(): void; + afterGuiAttached(): void; + doesFilterPass(node: any): boolean; + getGui(): any; + isFilterActive(): boolean; + private createTemplate(); + private createGui(); + private setupApply(); + private onTypeChanged(); + private onFilterChanged(); + private filterChanged(); + private createApi(); + private getApi(); + } +} +declare module ag.grid { + class NumberFilter implements Filter { + private filterParams; + private filterChangedCallback; + private filterModifiedCallback; + private localeTextFunc; + private valueGetter; + private filterNumber; + private filterType; + private api; + private eGui; + private eFilterTextField; + private eTypeSelect; + private applyActive; + private eApplyButton; + init(params: any): void; + onNewRowsLoaded(): void; + afterGuiAttached(): void; + doesFilterPass(node: any): boolean; + getGui(): any; + isFilterActive(): boolean; + private createTemplate(); + private createGui(); + private setupApply(); + private onTypeChanged(); + private filterChanged(); + private onFilterChanged(); + private createApi(); + private getApi(); + } +} +declare module ag.grid { + interface ColDef { + /** If sorting by default, set it here. Set to 'asc' or 'desc' */ + sort?: string; + /** If sorting more than one column by default, the milliseconds when this column was sorted, so we know what order to sort the columns in. */ + sortedAt?: number; + /** The sort order, provide an array with any of the following in any order ['asc','desc',null] */ + sortingOrder?: string[]; + /** The name to render in the column header */ + headerName: string; + /** The field of the row to get the cells data from */ + field: string; + /** Expression or function to get the cells value. */ + headerValueGetter?: string | Function; + /** The unique ID to give the column. This is optional. If missing, the ID will default to the field. If both field and colId are missing, a unique ID will be generated. + * This ID is used to identify the column in the API for sorting, filtering etc. */ + colId?: string; + /** Set to true for this column to be hidden. Naturally you might think, it would make more sense to call this field 'visible' and mark it false to hide, + * however we want all default values to be false and we want columns to be visible by default. */ + hide?: boolean; + /** Tooltip for the column header */ + headerTooltip?: string; + /** Expression or function to get the cells value. */ + valueGetter?: string | Function; + /** To provide custom rendering to the header. */ + headerCellRenderer?: Function | Object; + /** CSS class for the header */ + headerClass?: string | string[] | ((params: any) => string | string[]); + /** Initial width, in pixels, of the cell */ + width?: number; + /** Min width, in pixels, of the cell */ + minWidth?: number; + /** Max width, in pixels, of the cell */ + maxWidth?: number; + /** Class to use for the cell. Can be string, array of strings, or function. */ + cellClass?: string | string[] | ((cellClassParams: any) => string | string[]); + /** An object of css values. Or a function returning an object of css values. */ + cellStyle?: {} | ((params: any) => {}); + /** A function for rendering a cell. */ + cellRenderer?: Function | {}; + /** A function for rendering a floating cell. */ + floatingCellRenderer?: Function | {}; + /** Name of function to use for aggregation. One of [sum,min,max]. */ + aggFunc?: string; + /** Comparator function for custom sorting. */ + comparator?: Function; + /** Set to true to render a selection checkbox in the column. */ + checkboxSelection?: boolean; + /** Set to true if no menu should be shown for this column header. */ + suppressMenu?: boolean; + /** Set to true if no sorting should be done for this column. */ + suppressSorting?: boolean; + /** Set to true if you want the unsorted icon to be shown when no sort is applied to this column. */ + unSortIcon?: boolean; + /** Set to true if you want this columns width to be fixed during 'size to fit' operation. */ + suppressSizeToFit?: boolean; + /** Set to true if you do not want this column to be resizable by dragging it's edge. */ + suppressResize?: boolean; + /** If grouping columns, the group this column belongs to. */ + headerGroup?: string; + /** Whether to show the column when the group is open / closed. */ + headerGroupShow?: string; + /** Set to true if this col is editable, otherwise false. Can also be a function to have different rows editable. */ + editable?: boolean | (Function); + /** Callbacks for editing.See editing section for further details. */ + newValueHandler?: Function; + /** If true, this cell gets refreshed when api.softRefreshView() gets called. */ + volatile?: boolean; + /** Cell template to use for cell. Useful for AngularJS cells. */ + template?: string; + /** Cell template URL to load template from to use for cell. Useful for AngularJS cells. */ + templateUrl?: string; + /** one of the built in filter names: [set, number, text], or a filter function*/ + filter?: string | Function; + /** The filter params are specific to each filter! */ + filterParams?: SetFilterParameters | TextAndNumberFilterParameters; + /** Rules for applying css classes */ + cellClassRules?: { + [cssClassName: string]: (Function | string); + }; + /** Callbacks for editing.See editing section for further details. */ + onCellValueChanged?: Function; + /** Function callback, gets called when a cell is clicked. */ + onCellClicked?: Function; + /** Function callback, gets called when a cell is double clicked. */ + onCellDoubleClicked?: Function; + /** Function callback, gets called when a cell is right clicked. */ + onCellContextMenu?: Function; + } +} +declare module ag.grid { + class SetFilterModel { + private colDef; + private filterParams; + private rowModel; + private valueGetter; + private allUniqueValues; + private availableUniqueValues; + private displayedValues; + private miniFilter; + private selectedValuesCount; + private selectedValuesMap; + private showingAvailableOnly; + private usingProvidedSet; + private doesRowPassOtherFilters; + constructor(colDef: ColDef, rowModel: any, valueGetter: any, doesRowPassOtherFilters: any); + refreshAfterNewRowsLoaded(keepSelection: any, isSelectAll: boolean): void; + refreshAfterAnyFilterChanged(): void; + private createAllUniqueValues(); + private createAvailableUniqueValues(); + private getUniqueValues(filterOutNotAvailable); + setMiniFilter(newMiniFilter: any): boolean; + getMiniFilter(): any; + private processMiniFilter(); + getDisplayedValueCount(): any; + getDisplayedValue(index: any): any; + selectEverything(): void; + isFilterActive(): boolean; + selectNothing(): void; + getUniqueValueCount(): any; + getUniqueValue(index: any): any; + unselectValue(value: any): void; + selectValue(value: any): void; + isValueSelected(value: any): boolean; + isEverythingSelected(): boolean; + isNothingSelected(): boolean; + getModel(): any; + setModel(model: any, isSelectAll: boolean): void; + } +} +/** The filter parameters for set filter */ +declare module ag.grid { + interface SetFilterParameters { + /** Same as cell renderer for grid (you can use the same one in both locations). Setting it separatly here allows for the value to be rendered differently in the filter. */ + cellRenderer?: Function; + /** The height of the cell. */ + cellHeight?: number; + /** The values to display in the filter. */ + values?: any; + /** What to do when new rows are loaded. The default is to reset the filter, as the set of values to select from can have changed. If you want to keep the selection, then set this value to 'keep'. */ + newRowsAction?: string; + /** If true, the filter will not remove items that are no longer availabe due to other filters. */ + suppressRemoveEntries?: boolean; + } +} +declare module ag.grid { + class SetFilter implements Filter { + private eGui; + private filterParams; + private rowHeight; + private model; + private filterChangedCallback; + private filterModifiedCallback; + private valueGetter; + private rowsInBodyContainer; + private colDef; + private localeTextFunc; + private cellRenderer; + private eListContainer; + private eFilterValueTemplate; + private eSelectAll; + private eListViewport; + private eMiniFilter; + private api; + private applyActive; + private eApplyButton; + init(params: any): void; + afterGuiAttached(): void; + isFilterActive(): boolean; + doesFilterPass(node: any): boolean; + getGui(): any; + onNewRowsLoaded(): void; + onAnyFilterChanged(): void; + private createTemplate(); + private createGui(); + private setupApply(); + private setContainerHeight(); + private drawVirtualRows(); + private ensureRowsRendered(start, finish); + private removeVirtualRows(rowsToRemove); + private insertRow(value, rowIndex); + private onCheckboxClicked(eCheckbox, value); + private filterChanged(); + private onMiniFilterChanged(); + private refreshVirtualRows(); + private clearVirtualRows(); + private onSelectAll(); + private updateAllCheckboxes(checked); + private addScrollListener(); + getApi(): any; + private createApi(); + } +} +declare module ag.grid { + class PopupService { + private ePopupParent; + init(ePopupParent: any): void; + positionPopup(eventSource: any, ePopup: any, minWidth: any): void; + addAsModalPopup(eChild: any, closeOnEsc: boolean): (event: any) => void; + } +} +declare module ag.grid { + interface RowNode { + /** Unique ID for the node. Can be though of as the index of the row in the original list, + * however exceptions apply so don't depend on uniqueness. */ + id?: number; + /** The user provided data */ + data?: any; + /** The parent node to this node, or empty if top level */ + parent?: RowNode; + /** How many levels this node is from the top */ + level?: number; + /** True if this node is a group node (ie has children) */ + group?: boolean; + /** True if this is the first child in this group */ + firstChild?: boolean; + /** True if this is the last child in this group */ + lastChild?: boolean; + /** The index of this node in the group */ + childIndex?: number; + /** True if this row is a floating row */ + floating?: boolean; + /** True if this row is a floating top row */ + floatingTop?: boolean; + /** True if this row is a floating bottom row */ + floatingBottom?: boolean; + /** If using quick filter, stores a string representation of the row for searching against */ + quickFilterAggregateText?: string; + /** Groups only - True if row is a footer. Footers have group = true and footer = true */ + footer?: boolean; + /** Groups only - Children of this group */ + children?: RowNode[]; + /** Groups only - The field we are pivoting on eg Country*/ + field?: string; + /** Groups only - The key for the pivot eg Ireland, UK, USA */ + key?: any; + /** Groups only - Filtered children of this group */ + childrenAfterFilter?: RowNode[]; + /** Groups only - Sorted children of this group */ + childrenAfterSort?: RowNode[]; + /** Groups only - Number of children and grand children */ + allChildrenCount?: number; + /** Groups only - True if group is expanded, otherwise false */ + expanded?: boolean; + /** Groups only - If doing footers, reference to the footer node for this group */ + sibling?: RowNode; + /** Not to be used, internal temporary map used by the grid when creating groups */ + _childrenMap?: {}; + } +} +declare module ag.grid { + class FilterManager { + private $compile; + private $scope; + private gridOptionsWrapper; + private grid; + private allFilters; + private rowModel; + private popupService; + private valueService; + private columnController; + private quickFilter; + private advancedFilterPresent; + private externalFilterPresent; + init(grid: Grid, gridOptionsWrapper: GridOptionsWrapper, $compile: any, $scope: any, columnController: ColumnController, popupService: PopupService, valueService: ValueService): void; + setFilterModel(model: any): void; + private setModelOnFilterWrapper(filter, newModel); + getFilterModel(): any; + setRowModel(rowModel: any): void; + isAdvancedFilterPresent(): boolean; + isAnyFilterPresent(): boolean; + isFilterPresentForCol(colId: any): any; + private doesFilterPass(node, filterToSkip?); + setQuickFilter(newFilter: any): boolean; + onFilterChanged(): void; + isQuickFilterPresent(): boolean; + doesRowPassOtherFilters(filterToSkip: any, node: any): boolean; + doesRowPassFilter(node: any, filterToSkip?: any): boolean; + private aggregateRowForQuickFilter(node); + refreshDisplayedValues(): void; + onNewRowsLoaded(): void; + private createValueGetter(column); + getFilterApi(column: Column): any; + private getOrCreateFilterWrapper(column); + private createFilterWrapper(column); + private assertMethodHasNoParameters(theMethod); + showFilter(column: Column, eventSource: any): void; + } +} +declare module ag.grid { + class TemplateService { + templateCache: any; + waitingCallbacks: any; + $scope: any; + init($scope: any): void; + getTemplate(url: any, callback: any): any; + handleHttpResult(httpResult: any, url: any): void; + } +} +declare module ag.grid { + class SelectionRendererFactory { + private angularGrid; + private selectionController; + init(angularGrid: any, selectionController: any): void; + createSelectionCheckbox(node: any, rowIndex: any): HTMLInputElement; + } +} +declare module ag.vdom { + class VElement { + static idSequence: number; + private id; + private elementAttachedListeners; + constructor(); + getId(): number; + addElementAttachedListener(listener: (element: Element) => void): void; + protected fireElementAttached(element: Element): void; + elementAttached(element: Element): void; + toHtmlString(): string; + } +} +declare module ag.vdom { + class VHtmlElement extends VElement { + private type; + private classes; + private eventListeners; + private attributes; + private children; + private innerHtml; + private style; + private bound; + private element; + constructor(type: string); + getElement(): HTMLElement; + setInnerHtml(innerHtml: string): void; + addStyles(styles: any): void; + private attachEventListeners(node); + addClass(newClass: string): void; + removeClass(oldClass: string): void; + addClasses(classes: string[]): void; + toHtmlString(): string; + private toHtmlStringChildren(); + private toHtmlStringAttributes(); + private toHtmlStringClasses(); + private toHtmlStringStyles(); + appendChild(child: any): void; + setAttribute(key: string, value: string): void; + addEventListener(event: string, listener: EventListener): void; + elementAttached(element: Element): void; + fireElementAttachedToChildren(element: Element): void; + } +} +declare module ag.vdom { + class VWrapperElement extends VElement { + private wrappedElement; + constructor(wrappedElement: Element); + toHtmlString(): string; + elementAttached(element: Element): void; + } +} +declare module ag.grid { + class RenderedCell { + private vGridCell; + private vSpanWithValue; + private vCellWrapper; + private vParentOfValue; + private checkboxOnChangeListener; + private column; + private data; + private node; + private rowIndex; + private editingCell; + private scope; + private isFirstColumn; + private gridOptionsWrapper; + private expressionService; + private selectionRendererFactory; + private rowRenderer; + private selectionController; + private $compile; + private templateService; + private cellRendererMap; + private eCheckbox; + private columnController; + private valueService; + private eventService; + private value; + private checkboxSelection; + constructor(isFirstColumn: any, column: any, $compile: any, rowRenderer: RowRenderer, gridOptionsWrapper: GridOptionsWrapper, expressionService: ExpressionService, selectionRendererFactory: SelectionRendererFactory, selectionController: SelectionController, templateService: TemplateService, cellRendererMap: { + [key: string]: any; + }, node: any, rowIndex: number, scope: any, columnController: ColumnController, valueService: ValueService, eventService: EventService); + getColumn(): Column; + private getValue(); + getVGridCell(): ag.vdom.VHtmlElement; + private getDataForRow(); + private setupComponents(); + startEditing(key?: number): void; + focusCell(forceBrowserFocus: boolean): void; + private stopEditing(eInput, blurListener, reset?); + createParams(): any; + createEvent(event: any, eventSource: any): any; + private addCellDoubleClickedHandler(); + private addCellContextMenuHandler(); + isCellEditable(): any; + private addCellClickedHandler(); + private populateCell(); + private addStylesFromCollDef(); + private addClassesFromCollDef(); + private addClassesFromRules(); + private addCellNavigationHandler(); + private isKeycodeForStartEditing(key); + createSelectionCheckbox(): void; + setSelected(state: boolean): void; + private createParentOfValue(); + isVolatile(): boolean; + refreshCell(): void; + private putDataIntoCell(); + private useCellRenderer(cellRenderer); + private addClasses(); + } +} +declare module ag.grid { + class RenderedRow { + vPinnedRow: any; + vBodyRow: any; + private renderedCells; + private scope; + private node; + private rowIndex; + private cellRendererMap; + private gridOptionsWrapper; + private parentScope; + private angularGrid; + private columnController; + private expressionService; + private rowRenderer; + private selectionRendererFactory; + private $compile; + private templateService; + private selectionController; + private pinning; + private eBodyContainer; + private ePinnedContainer; + private valueService; + private eventService; + constructor(gridOptionsWrapper: GridOptionsWrapper, valueService: ValueService, parentScope: any, angularGrid: Grid, columnController: ColumnController, expressionService: ExpressionService, cellRendererMap: { + [key: string]: any; + }, selectionRendererFactory: SelectionRendererFactory, $compile: any, templateService: TemplateService, selectionController: SelectionController, rowRenderer: RowRenderer, eBodyContainer: HTMLElement, ePinnedContainer: HTMLElement, node: any, rowIndex: number, eventService: EventService); + onRowSelected(selected: boolean): void; + softRefresh(): void; + getRenderedCellForColumn(column: Column): RenderedCell; + getCellForCol(column: Column): any; + destroy(): void; + private destroyScope(); + isDataInList(rows: any[]): boolean; + isNodeInList(nodes: RowNode[]): boolean; + isGroup(): boolean; + private drawNormalRow(); + private bindVirtualElement(vElement); + private createGroupRow(); + private createGroupSpanningEntireRowCell(padding); + setMainRowWidth(width: number): void; + private createChildScopeOrNull(data); + private addDynamicStyles(); + private createRowContainer(); + getRowNode(): any; + getRowIndex(): any; + refreshCells(colIds: string[]): void; + private addDynamicClasses(); + } +} +declare module ag.grid { + class SvgFactory { + static theInstance: SvgFactory; + static getInstance(): SvgFactory; + createFilterSvg(): Element; + createColumnShowingSvg(): Element; + createColumnHiddenSvg(): Element; + createMenuSvg(): Element; + createArrowUpSvg(): Element; + createArrowLeftSvg(): Element; + createArrowDownSvg(): Element; + createArrowRightSvg(): Element; + createSmallArrowDownSvg(): Element; + createArrowUpDownSvg(): Element; + } +} +declare module ag.grid { + function groupCellRendererFactory(gridOptionsWrapper: GridOptionsWrapper, selectionRendererFactory: SelectionRendererFactory, expressionService: ExpressionService): (params: any) => HTMLSpanElement; +} +declare module ag.grid { + class RowRenderer { + private columnModel; + private gridOptionsWrapper; + private angularGrid; + private selectionRendererFactory; + private gridPanel; + private $compile; + private $scope; + private selectionController; + private expressionService; + private templateService; + private cellRendererMap; + private rowModel; + private firstVirtualRenderedRow; + private lastVirtualRenderedRow; + private focusedCell; + private valueService; + private eventService; + private renderedRows; + private renderedTopFloatingRows; + private renderedBottomFloatingRows; + private eAllBodyContainers; + private eAllPinnedContainers; + private eBodyContainer; + private eBodyViewport; + private ePinnedColsContainer; + private eFloatingTopContainer; + private eFloatingTopPinnedContainer; + private eFloatingBottomContainer; + private eFloatingBottomPinnedContainer; + private eParentsOfRows; + init(columnModel: any, gridOptionsWrapper: GridOptionsWrapper, gridPanel: GridPanel, angularGrid: Grid, selectionRendererFactory: SelectionRendererFactory, $compile: any, $scope: any, selectionController: SelectionController, expressionService: ExpressionService, templateService: TemplateService, valueService: ValueService, eventService: EventService): void; + setRowModel(rowModel: any): void; + onIndividualColumnResized(column: Column): void; + setMainRowWidths(): void; + private findAllElements(gridPanel); + refreshAllFloatingRows(): void; + private refreshFloatingRows(renderedRows, rowData, pinnedContainer, bodyContainer, isTop); + refreshView(refreshFromIndex?: any): void; + softRefreshView(): void; + refreshRows(rowNodes: RowNode[]): void; + refreshCells(rowNodes: RowNode[], colIds: string[]): void; + rowDataChanged(rows: any): void; + private refreshAllVirtualRows(fromIndex); + refreshGroupRows(): void; + private removeVirtualRow(rowsToRemove, fromIndex?); + private unbindVirtualRow(indexToRemove); + drawVirtualRows(): void; + getFirstVirtualRenderedRow(): number; + getLastVirtualRenderedRow(): number; + private ensureRowsRendered(); + private insertRow(node, rowIndex, mainRowWidth); + getRenderedNodes(): any[]; + getIndexOfRenderedNode(node: any): number; + navigateToNextCell(key: any, rowIndex: number, column: Column): void; + private getNextCellToFocus(key, lastCellToFocus); + onRowSelected(rowIndex: number, selected: boolean): void; + focusCell(eCell: any, rowIndex: number, colIndex: number, colDef: ColDef, forceBrowserFocus: any): void; + getFocusedCell(): any; + setFocusedCell(rowIndex: any, colIndex: any): void; + startEditingNextCell(rowIndex: any, column: any, shiftKey: any): void; + } +} +declare module ag.grid { + class SelectionController { + private eParentsOfRows; + private angularGrid; + private gridOptionsWrapper; + private $scope; + private rowRenderer; + private selectedRows; + private selectedNodesById; + private rowModel; + private eventService; + init(angularGrid: Grid, gridPanel: GridPanel, gridOptionsWrapper: GridOptionsWrapper, $scope: any, rowRenderer: RowRenderer, eventService: EventService): void; + private initSelectedNodesById(); + getSelectedNodesById(): any; + getSelectedRows(): any; + getSelectedNodes(): any; + getBestCostNodeSelection(): any; + setRowModel(rowModel: any): void; + deselectAll(): void; + selectAll(): void; + selectNode(node: any, tryMulti: any, suppressEvents?: any): void; + private recursivelySelectAllChildren(node, suppressEvents?); + private recursivelyDeselectAllChildren(node); + private doWorkOfSelectNode(node, suppressEvents); + private addCssClassForNode_andInformVirtualRowListener(node); + private doWorkOfDeselectAllNodes(nodeToKeepSelected?); + private deselectRealNode(node); + private removeCssClassForNode(node); + deselectIndex(rowIndex: any): void; + deselectNode(node: any): void; + selectIndex(index: any, tryMulti: any, suppressEvents?: any): void; + private syncSelectedRowsAndCallListener(suppressEvents?); + private recursivelyCheckIfSelected(node); + isNodeSelected(node: any): boolean; + private updateGroupParentsIfNeeded(); + } +} +declare module ag.grid { + class RenderedHeaderElement { + private eRoot; + private dragStartX; + constructor(eRoot: HTMLElement); + getERoot(): HTMLElement; + destroy(): void; + refreshFilterIcon(): void; + refreshSortIcon(): void; + onDragStart(): void; + onDragging(dragChange: number): void; + onIndividualColumnResized(column: Column): void; + addDragHandler(eDraggableElement: any): void; + stopDragging(listenersToRemove: any): void; + } +} +declare module ag.grid { + class RenderedHeaderCell extends RenderedHeaderElement { + private static DEFAULT_SORTING_ORDER; + private eHeaderCell; + private eSortAsc; + private eSortDesc; + private eSortNone; + private eFilterIcon; + private column; + private gridOptionsWrapper; + private parentScope; + private childScope; + private filterManager; + private columnController; + private $compile; + private angularGrid; + private parentGroup; + private startWidth; + constructor(column: Column, parentGroup: RenderedHeaderGroupCell, gridOptionsWrapper: GridOptionsWrapper, parentScope: any, filterManager: FilterManager, columnController: ColumnController, $compile: any, angularGrid: Grid, eRoot: HTMLElement); + getGui(): HTMLElement; + destroy(): void; + private createScope(); + private addAttributes(); + private addClasses(); + private addMenu(); + private addSortIcons(headerCellLabel); + private setupComponents(); + private useRenderer(headerNameValue, headerCellRenderer, headerCellLabel); + refreshFilterIcon(): void; + refreshSortIcon(): void; + private getNextSortDirection(); + private addSortHandling(headerCellLabel); + onDragStart(): void; + onDragging(dragChange: number): void; + onIndividualColumnResized(column: Column): void; + private addHeaderClassesFromCollDef(); + } +} +declare module ag.grid { + class RenderedHeaderGroupCell extends RenderedHeaderElement { + private eHeaderGroup; + private eHeaderGroupCell; + private eHeaderCellResize; + private columnGroup; + private gridOptionsWrapper; + private columnController; + private children; + private groupWidthStart; + private childrenWidthStarts; + private minWidth; + private parentScope; + private filterManager; + private $compile; + private angularGrid; + constructor(columnGroup: ColumnGroup, gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, eRoot: HTMLElement, angularGrid: Grid, parentScope: any, filterManager: FilterManager, $compile: any); + getGui(): HTMLElement; + destroy(): void; + refreshFilterIcon(): void; + refreshSortIcon(): void; + onIndividualColumnResized(column: Column): void; + private setupComponents(); + private isColumnInOurDisplayedGroup(column); + private setWidthOfGroupHeaderCell(); + private addGroupExpandIcon(eGroupCellLabel); + onDragStart(): void; + onDragging(dragChange: any): void; + } +} +declare module ag.grid { + class HeaderRenderer { + private gridOptionsWrapper; + private columnController; + private angularGrid; + private filterManager; + private $scope; + private $compile; + private ePinnedHeader; + private eHeaderContainer; + private eRoot; + private headerElements; + init(gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, gridPanel: GridPanel, angularGrid: Grid, filterManager: FilterManager, $scope: any, $compile: any): void; + private findAllElements(gridPanel); + refreshHeader(): void; + private insertHeadersWithGrouping(); + private insertHeadersWithoutGrouping(); + updateSortIcons(): void; + updateFilterIcons(): void; + onIndividualColumnResized(column: Column): void; + } +} +declare module ag.grid { + class GroupCreator { + private valueService; + init(valueService: ValueService): void; + group(rowNodes: RowNode[], groupedCols: Column[], expandByDefault: any): RowNode[]; + isExpanded(expandByDefault: any, level: any): boolean; + } +} +declare module ag.grid { + class InMemoryRowController { + private gridOptionsWrapper; + private columnController; + private angularGrid; + private filterManager; + private $scope; + private allRows; + private rowsAfterGroup; + private rowsAfterFilter; + private rowsAfterSort; + private rowsAfterMap; + private model; + private groupCreator; + private valueService; + private eventService; + constructor(); + init(gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, angularGrid: any, filterManager: FilterManager, $scope: any, groupCreator: GroupCreator, valueService: ValueService, eventService: EventService): void; + private createModel(); + getModel(): any; + forEachInMemory(callback: Function): void; + forEachNode(callback: Function): void; + forEachNodeAfterFilter(callback: Function): void; + forEachNodeAfterFilterAndSort(callback: Function): void; + private recursivelyWalkNodesAndCallback(list, callback); + updateModel(step: any): void; + private defaultGroupAggFunctionFactory(valueColumns, valueKeys); + doAggregate(): void; + expandOrCollapseAll(expand: boolean, rowNodes: RowNode[]): void; + private recursivelyClearAggData(nodes); + private recursivelyCreateAggData(nodes, groupAggFunction, level); + private doSort(); + private recursivelyResetSort(rowNodes); + private sortList(nodes, sortOptions); + private updateChildIndexes(nodes); + onPivotChanged(): void; + private doPivoting(); + private doFilter(); + private filterItems(rowNodes); + private recursivelyResetFilter(nodes); + setAllRows(rows: RowNode[], firstId?: number): void; + private recursivelyAddIdToNodes(nodes, index); + private recursivelyCheckUserProvidedNodes(nodes, parent, level); + private getTotalChildCount(rowNodes); + private doGroupMapping(); + private addToMap(mappedData, originalNodes); + private createFooterNode(groupNode); + } +} +declare module ag.grid { + class VirtualPageRowController { + rowRenderer: any; + datasourceVersion: any; + gridOptionsWrapper: any; + angularGrid: any; + datasource: any; + virtualRowCount: any; + foundMaxRow: any; + pageCache: any; + pageCacheSize: any; + pageLoadsInProgress: any; + pageLoadsQueued: any; + pageAccessTimes: any; + accessTime: any; + maxConcurrentDatasourceRequests: any; + maxPagesInCache: any; + pageSize: any; + overflowSize: any; + init(rowRenderer: any, gridOptionsWrapper: any, angularGrid: any): void; + setDatasource(datasource: any): void; + reset(): void; + createNodesFromRows(pageNumber: any, rows: any): any; + removeFromLoading(pageNumber: any): void; + pageLoadFailed(pageNumber: any): void; + pageLoaded(pageNumber: any, rows: any, lastRow: any): void; + putPageIntoCacheAndPurge(pageNumber: any, rows: any): void; + checkMaxRowAndInformRowRenderer(pageNumber: any, lastRow: any): void; + isPageAlreadyLoading(pageNumber: any): boolean; + doLoadOrQueue(pageNumber: any): void; + addToQueueAndPurgeQueue(pageNumber: any): void; + findLeastRecentlyAccessedPage(pageIndexes: any): number; + checkQueueForNextLoad(): void; + loadPage(pageNumber: any): void; + requestIsDaemon(datasourceVersionCopy: any): boolean; + getVirtualRow(rowIndex: any): any; + forEachNode(callback: any): void; + getModel(): { + getVirtualRow: (index: any) => any; + getVirtualRowCount: () => any; + forEachInMemory: (callback: any) => void; + forEachNode: (callback: any) => void; + forEachNodeAfterFilter: (callback: any) => void; + forEachNodeAfterFilterAndSort: (callback: any) => void; + }; + } +} +declare module ag.grid { + class PaginationController { + eGui: any; + btNext: any; + btPrevious: any; + btFirst: any; + btLast: any; + lbCurrent: any; + lbTotal: any; + lbRecordCount: any; + lbFirstRowOnPage: any; + lbLastRowOnPage: any; + ePageRowSummaryPanel: any; + angularGrid: any; + callVersion: any; + gridOptionsWrapper: any; + datasource: any; + pageSize: any; + rowCount: any; + foundMaxRow: any; + totalPages: any; + currentPage: any; + init(angularGrid: any, gridOptionsWrapper: any): void; + setDatasource(datasource: any): void; + reset(): void; + setTotalLabels(): void; + calculateTotalPages(): void; + pageLoaded(rows: any, lastRowIndex: any): void; + updateRowLabels(): void; + loadPage(): void; + isCallDaemon(versionCopy: any): boolean; + onBtNext(): void; + onBtPrevious(): void; + onBtFirst(): void; + onBtLast(): void; + isZeroPagesToDisplay(): boolean; + enableOrDisableButtons(): void; + createTemplate(): string; + getGui(): any; + setupComponents(): void; + } +} +declare module ag.grid { + class BorderLayout { + private eNorthWrapper; + private eSouthWrapper; + private eEastWrapper; + private eWestWrapper; + private eCenterWrapper; + private eOverlayWrapper; + private eCenterRow; + private eNorthChildLayout; + private eSouthChildLayout; + private eEastChildLayout; + private eWestChildLayout; + private eCenterChildLayout; + private isLayoutPanel; + private fullHeight; + private layoutActive; + private eGui; + private id; + private childPanels; + private centerHeightLastTime; + private sizeChangeListners; + constructor(params: any); + addSizeChangeListener(listener: Function): void; + fireSizeChanged(): void; + private setupPanels(params); + private setupPanel(content, ePanel); + getGui(): any; + doLayout(): boolean; + private layoutChild(childPanel); + private layoutHeight(); + private layoutHeightFullHeight(); + private layoutHeightNormal(); + getCentreHeight(): number; + private layoutWidth(); + setEastVisible(visible: any): void; + setOverlayVisible(visible: any): void; + setSouthVisible(visible: any): void; + } +} +declare module ag.grid { + class GridPanel { + private masterSlaveService; + private gridOptionsWrapper; + private columnModel; + private rowRenderer; + private rowModel; + private layout; + private forPrint; + private scrollWidth; + private scrollLagCounter; + private eBodyViewport; + private eRoot; + private eBody; + private eBodyContainer; + private ePinnedColsContainer; + private eHeaderContainer; + private ePinnedHeader; + private eHeader; + private eParentsOfRows; + private eBodyViewportWrapper; + private ePinnedColsViewport; + private eFloatingTop; + private ePinnedFloatingTop; + private eFloatingTopContainer; + private eFloatingBottom; + private ePinnedFloatingBottom; + private eFloatingBottomContainer; + init(gridOptionsWrapper: GridOptionsWrapper, columnModel: ColumnController, rowRenderer: RowRenderer, masterSlaveService: MasterSlaveService): void; + getLayout(): BorderLayout; + private setupComponents(); + getPinnedFloatingTop(): HTMLElement; + getFloatingTopContainer(): HTMLElement; + getPinnedFloatingBottom(): HTMLElement; + getFloatingBottomContainer(): HTMLElement; + private createTemplate(); + ensureIndexVisible(index: any): void; + ensureColIndexVisible(index: any): void; + showLoading(loading: any): void; + getWidthForSizeColsToFit(): number; + setRowModel(rowModel: any): void; + getBodyContainer(): HTMLElement; + getBodyViewport(): HTMLElement; + getPinnedColsContainer(): HTMLElement; + getHeaderContainer(): HTMLElement; + getRoot(): HTMLElement; + getPinnedHeader(): HTMLElement; + getRowsParent(): HTMLElement[]; + private queryHtmlElement(selector); + private findElements(); + private mouseWheelListener(event); + setBodyContainerWidth(): void; + setPinnedColContainerWidth(): void; + showPinnedColContainersIfNeeded(): void; + onBodyHeightChange(): void; + private sizeHeaderAndBody(); + private sizeHeaderAndBodyNormal(); + private sizeHeaderAndBodyForPrint(); + setHorizontalScrollPosition(hScrollPosition: number): void; + private addScrollListener(); + private requestDrawVirtualRows(); + private scrollHeader(bodyLeftPosition); + private scrollPinned(bodyTopPosition); + } +} +declare module ag.grid { + class DragAndDropService { + static theInstance: DragAndDropService; + static getInstance(): DragAndDropService; + dragItem: any; + constructor(); + stopDragging(): void; + setDragCssClasses(eListItem: any, dragging: any): void; + addDragSource(eDragSource: any, dragSourceCallback: any): void; + onMouseDownDragSource(eDragSource: any, dragSourceCallback: any): void; + addDropTarget(eDropTarget: any, dropTargetCallback: any): void; + } +} +declare function require(name: string): any; +declare module ag.grid { + class AgList { + private eGui; + private uniqueId; + private modelChangedListeners; + private itemSelectedListeners; + private beforeDropListeners; + private itemMovedListeners; + private dragSources; + private emptyMessage; + private eFilterValueTemplate; + private eListParent; + private model; + private cellRenderer; + private readOnly; + constructor(); + setReadOnly(readOnly: boolean): void; + setEmptyMessage(emptyMessage: any): void; + getUniqueId(): any; + addStyles(styles: any): void; + addCssClass(cssClass: any): void; + addDragSource(dragSource: any): void; + addModelChangedListener(listener: Function): void; + addItemSelectedListener(listener: any): void; + addItemMovedListener(listener: any): void; + addBeforeDropListener(listener: any): void; + private fireItemMoved(fromIndex, toIndex); + private fireModelChanged(); + private fireItemSelected(item); + private fireBeforeDrop(item); + private setupComponents(); + setModel(model: any): void; + getModel(): any; + setCellRenderer(cellRenderer: any): void; + refreshView(): void; + private insertRows(); + private insertBlankMessage(); + private setupAsDropTarget(); + private externalAcceptDrag(dragEvent); + private externalDrop(dragEvent); + private externalNoDrop(); + private addItemToList(newItem); + private addDragAndDropToListItem(eListItem, item); + private internalAcceptDrag(targetColumn, dragItem, eListItem); + private internalDrop(targetColumn, draggedColumn); + private internalNoDrop(eListItem); + private dragAfterThisItem(targetColumn, draggedColumn); + private setDropCssClasses(eListItem, state); + getGui(): any; + } +} +declare module ag.grid { + class ColumnSelectionPanel { + private gridOptionsWrapper; + private columnController; + private cColumnList; + layout: any; + private eRootPanel; + constructor(columnController: ColumnController, gridOptionsWrapper: GridOptionsWrapper, eventService: EventService); + private columnsChanged(); + getDragSource(): any; + private columnCellRenderer(params); + private setupComponents(); + private onItemMoved(fromIndex, toIndex); + getGui(): any; + } +} +declare module ag.grid { + class GroupSelectionPanel { + gridOptionsWrapper: any; + columnController: ColumnController; + inMemoryRowController: any; + cColumnList: any; + layout: any; + constructor(columnController: ColumnController, inMemoryRowController: any, gridOptionsWrapper: GridOptionsWrapper, eventService: EventService); + private columnsChanged(); + addDragSource(dragSource: any): void; + private columnCellRenderer(params); + private setupComponents(); + private onBeforeDrop(newItem); + private onItemMoved(fromIndex, toIndex); + } +} +declare module ag.grid { + class AgDropdownList { + private itemSelectedListeners; + private eValue; + private agList; + private eGui; + private hidePopupCallback; + private selectedItem; + private cellRenderer; + private popupService; + constructor(popupService: PopupService); + setWidth(width: any): void; + addItemSelectedListener(listener: any): void; + fireItemSelected(item: any): void; + setupComponents(): void; + itemSelected(item: any): void; + onClick(): void; + getGui(): any; + setSelected(item: any): void; + setCellRenderer(cellRenderer: any): void; + refreshView(): void; + setModel(model: any): void; + } +} +declare module ag.grid { + class ValuesSelectionPanel { + private gridOptionsWrapper; + private columnController; + private cColumnList; + private layout; + private popupService; + constructor(columnController: ColumnController, gridOptionsWrapper: GridOptionsWrapper, popupService: PopupService, eventService: EventService); + getLayout(): any; + private columnsChanged(); + addDragSource(dragSource: any): void; + private cellRenderer(params); + private setupComponents(); + private beforeDropListener(newItem); + } +} +declare module ag.grid { + class VerticalStack { + isLayoutPanel: any; + childPanels: any; + eGui: any; + constructor(); + addPanel(panel: any, height: any): void; + getGui(): any; + doLayout(): void; + } +} +declare module ag.grid { + class ToolPanel { + layout: any; + constructor(); + init(columnController: any, inMemoryRowController: any, gridOptionsWrapper: GridOptionsWrapper, popupService: PopupService, eventService: EventService): void; + } +} +declare module ag.grid { + interface GridOptions { + virtualPaging?: boolean; + toolPanelSuppressPivot?: boolean; + toolPanelSuppressValues?: boolean; + rowsAlreadyGrouped?: boolean; + suppressRowClickSelection?: boolean; + suppressCellSelection?: boolean; + sortingOrder?: string[]; + suppressMultiSort?: boolean; + suppressHorizontalScroll?: boolean; + unSortIcon?: boolean; + rowHeight?: number; + rowBuffer?: number; + enableColResize?: boolean; + enableCellExpressions?: boolean; + enableSorting?: boolean; + enableServerSideSorting?: boolean; + enableFilter?: boolean; + enableServerSideFilter?: boolean; + colWidth?: number; + suppressMenuHide?: boolean; + singleClickEdit?: boolean; + debug?: boolean; + icons?: any; + angularCompileRows?: boolean; + angularCompileFilters?: boolean; + angularCompileHeaders?: boolean; + localeText?: any; + localeTextFunc?: Function; + suppressScrollLag?: boolean; + groupSuppressAutoColumn?: boolean; + groupSelectsChildren?: boolean; + groupHidePivotColumns?: boolean; + groupIncludeFooter?: boolean; + groupUseEntireRow?: boolean; + groupSuppressRow?: boolean; + groupSuppressBlankHeader?: boolean; + forPrint?: boolean; + groupColumnDef?: any; + context?: any; + rowStyle?: any; + rowClass?: any; + groupDefaultExpanded?: any; + slaveGrids?: GridOptions[]; + rowSelection?: string; + rowDeselection?: boolean; + rowData?: any[]; + floatingTopRowData?: any[]; + floatingBottomRowData?: any[]; + showToolPanel?: boolean; + groupKeys?: string[]; + groupAggFields?: string[]; + columnDefs?: any[]; + datasource?: any; + pinnedColumnCount?: number; + groupHeaders?: boolean; + headerHeight?: number; + groupRowInnerRenderer?(params: any): void; + groupRowRenderer?: Function | Object; + isScrollLag?(): boolean; + isExternalFilterPresent?(): boolean; + doesExternalFilterPass?(node: RowNode): boolean; + getRowStyle?: any; + getRowClass?: any; + headerCellRenderer?: any; + groupAggFunction?(nodes: any[]): any; + onReady?(api: any): void; + onModelUpdated?(): void; + onCellClicked?(params: any): void; + onCellDoubleClicked?(params: any): void; + onCellContextMenu?(params: any): void; + onCellValueChanged?(params: any): void; + onCellFocused?(params: any): void; + onRowSelected?(params: any): void; + onSelectionChanged?(): void; + onBeforeFilterChanged?(): void; + onAfterFilterChanged?(): void; + onFilterModified?(): void; + onBeforeSortChanged?(): void; + onAfterSortChanged?(): void; + onVirtualRowRemoved?(params: any): void; + onRowClicked?(params: any): void; + api?: GridApi; + columnApi?: ColumnApi; + } +} +declare module ag.grid { + class GridApi { + private grid; + private rowRenderer; + private headerRenderer; + private filterManager; + private columnController; + private inMemoryRowController; + private selectionController; + private gridOptionsWrapper; + private gridPanel; + private valueService; + private masterSlaveService; + private eventService; + private csvCreator; + constructor(grid: Grid, rowRenderer: RowRenderer, headerRenderer: HeaderRenderer, filterManager: FilterManager, columnController: ColumnController, inMemoryRowController: InMemoryRowController, selectionController: SelectionController, gridOptionsWrapper: GridOptionsWrapper, gridPanel: GridPanel, valueService: ValueService, masterSlaveService: MasterSlaveService, eventService: EventService); + /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */ + __getMasterSlaveService(): MasterSlaveService; + getDataAsCsv(params?: CsvExportParams): string; + exportDataAsCsv(params?: CsvExportParams): void; + setDatasource(datasource: any): void; + onNewDatasource(): void; + setRowData(rowData: any): void; + setRows(rows: any): void; + onNewRows(): void; + setFloatingTopRowData(rows: any[]): void; + setFloatingBottomRowData(rows: any[]): void; + onNewCols(): void; + setColumnDefs(colDefs: ColDef[]): void; + unselectAll(): void; + refreshRows(rowNodes: RowNode[]): void; + refreshCells(rowNodes: RowNode[], colIds: string[]): void; + rowDataChanged(rows: any): void; + refreshView(): void; + softRefreshView(): void; + refreshGroupRows(): void; + refreshHeader(): void; + isAnyFilterPresent(): boolean; + isAdvancedFilterPresent(): boolean; + isQuickFilterPresent(): boolean; + getModel(): any; + onGroupExpandedOrCollapsed(refreshFromIndex: any): void; + expandAll(): void; + collapseAll(): void; + addVirtualRowListener(rowIndex: any, callback: any): void; + setQuickFilter(newFilter: any): void; + selectIndex(index: any, tryMulti: any, suppressEvents: any): void; + deselectIndex(index: any): void; + selectNode(node: any, tryMulti: any, suppressEvents: any): void; + deselectNode(node: any): void; + selectAll(): void; + deselectAll(): void; + recomputeAggregates(): void; + sizeColumnsToFit(): void; + showLoading(show: any): void; + isNodeSelected(node: any): boolean; + getSelectedNodesById(): { + [nodeId: number]: RowNode; + }; + getSelectedNodes(): RowNode[]; + getSelectedRows(): any[]; + getBestCostNodeSelection(): any; + getRenderedNodes(): any[]; + ensureColIndexVisible(index: any): void; + ensureIndexVisible(index: any): void; + ensureNodeVisible(comparator: any): void; + forEachInMemory(callback: Function): void; + forEachNode(callback: Function): void; + forEachNodeAfterFilter(callback: Function): void; + forEachNodeAfterFilterAndSort(callback: Function): void; + getFilterApiForColDef(colDef: any): any; + getFilterApi(key: any): any; + getColumnDef(key: any): ColDef; + onFilterChanged(): void; + setSortModel(sortModel: any): void; + getSortModel(): any; + setFilterModel(model: any): void; + getFilterModel(): any; + getFocusedCell(): any; + setFocusedCell(rowIndex: any, colIndex: any): void; + setHeaderHeight(headerHeight: number): void; + setGroupHeaders(groupHeaders: boolean): void; + showToolPanel(show: any): void; + isToolPanelShowing(): boolean; + hideColumn(colId: any, hide: any): void; + hideColumns(colIds: any, hide: any): void; + getColumnState(): [any]; + setColumnState(state: any): void; + doLayout(): void; + getValue(colDef: ColDef, data: any, node: any): any; + addEventListener(eventType: string, listener: Function): void; + addGlobalListener(listener: Function): void; + removeEventListener(eventType: string, listener: Function): void; + removeGlobalListener(listener: Function): void; + refreshPivot(): void; + } +} +declare module ag.grid { + class ValueService { + private gridOptionsWrapper; + private expressionService; + private columnController; + init(gridOptionsWrapper: GridOptionsWrapper, expressionService: ExpressionService, columnController: ColumnController): void; + getValue(colDef: ColDef, data: any, node: any): any; + private executeValueGetter(valueGetter, data, colDef, node); + private getValueCallback(data, node, field); + } +} +declare module ag.grid { + class Grid { + private virtualRowCallbacks; + private gridOptions; + private gridOptionsWrapper; + private inMemoryRowController; + private doingVirtualPaging; + private paginationController; + private virtualPageRowController; + private finished; + private selectionController; + private columnController; + private rowRenderer; + private headerRenderer; + private filterManager; + private valueService; + private masterSlaveService; + private eventService; + private toolPanel; + private gridPanel; + private eRootPanel; + private toolPanelShowing; + private doingPagination; + private usingInMemoryModel; + private rowModel; + constructor(eGridDiv: any, gridOptions: any, globalEventListener?: Function, $scope?: any, $compile?: any, quickFilterOnScope?: any); + getRowModel(): any; + private periodicallyDoLayout(); + private setupComponents($scope, $compile, eUserProvidedDiv, globalEventListener); + private onColumnChanged(event); + refreshPivot(): void; + getEventService(): EventService; + private onIndividualColumnResized(column); + showToolPanel(show: any): void; + isToolPanelShowing(): boolean; + isUsingInMemoryModel(): boolean; + setDatasource(datasource?: any): void; + private refreshHeaderAndBody(); + setFinished(): void; + onQuickFilterChanged(newFilter: any): void; + onFilterModified(): void; + onFilterChanged(): void; + onRowClicked(event: any, rowIndex: any, node: any): void; + showLoadingPanel(show: any): void; + private setupColumns(); + updateModelAndRefresh(step: any, refreshFromIndex?: any): void; + setRows(rows?: any, firstId?: any): void; + ensureNodeVisible(comparator: any): void; + getFilterModel(): any; + setFocusedCell(rowIndex: any, colIndex: any): void; + getSortModel(): any; + setSortModel(sortModel: any): void; + onSortingChanged(): void; + addVirtualRowListener(rowIndex: any, callback: any): void; + onVirtualRowSelected(rowIndex: any, selected: any): void; + onVirtualRowRemoved(rowIndex: any): void; + setColumnDefs(colDefs?: ColDef[]): void; + updateBodyContainerWidthAfterColResize(): void; + updatePinnedColContainerWidthAfterColResize(): void; + doLayout(): void; + } +} +declare module ag.grid { + class ComponentUtil { + static SIMPLE_PROPERTIES: string[]; + static SIMPLE_NUMBER_PROPERTIES: string[]; + static SIMPLE_BOOLEAN_PROPERTIES: string[]; + static WITH_IMPACT_NUMBER_PROPERTIES: string[]; + static WITH_IMPACT_BOOLEAN_PROPERTIES: string[]; + static WITH_IMPACT_OTHER_PROPERTIES: string[]; + static CALLBACKS: string[]; + static ALL_PROPERTIES: string[]; + static copyAttributesToGridOptions(gridOptions: GridOptions, component: any): GridOptions; + static processOnChange(changes: any, gridOptions: GridOptions, component: any): void; + static toBoolean(value: any): boolean; + static toNumber(value: any): number; + } +} +declare module ag.grid { + class AgGridNg2 { + private elementDef; + private _agGrid; + private _initialised; + private gridOptions; + private api; + private columnApi; + modelUpdated: any; + cellClicked: any; + cellDoubleClicked: any; + cellContextMenu: any; + cellValueChanged: any; + cellFocused: any; + rowSelected: any; + selectionChanged: any; + beforeFilterChanged: any; + afterFilterChanged: any; + filterModified: any; + beforeSortChanged: any; + afterSortChanged: any; + virtualRowRemoved: any; + rowClicked: any; + ready: any; + columnEverythingChanged: any; + columnPivotChanged: any; + columnValueChanged: any; + columnMoved: any; + columnVisible: any; + columnGroupOpened: any; + columnResized: any; + columnPinnedCountChanged: any; + virtualPaging: boolean; + toolPanelSuppressPivot: boolean; + toolPanelSuppressValues: boolean; + rowsAlreadyGrouped: boolean; + suppressRowClickSelection: boolean; + suppressCellSelection: boolean; + sortingOrder: string[]; + suppressMultiSort: boolean; + suppressHorizontalScroll: boolean; + unSortIcon: boolean; + rowHeight: number; + rowBuffer: number; + enableColResize: boolean; + enableCellExpressions: boolean; + enableSorting: boolean; + enableServerSideSorting: boolean; + enableFilter: boolean; + enableServerSideFilter: boolean; + colWidth: number; + suppressMenuHide: boolean; + debug: boolean; + icons: any; + angularCompileRows: boolean; + angularCompileFilters: boolean; + angularCompileHeaders: boolean; + localeText: any; + localeTextFunc: Function; + groupSuppressAutoColumn: boolean; + groupSelectsChildren: boolean; + groupHidePivotColumns: boolean; + groupIncludeFooter: boolean; + groupUseEntireRow: boolean; + groupSuppressRow: boolean; + groupSuppressBlankHeader: boolean; + groupColumnDef: any; + forPrint: boolean; + context: any; + rowStyle: any; + rowClass: any; + headerCellRenderer: any; + groupDefaultExpanded: any; + slaveGrids: GridOptions[]; + rowSelection: string; + rowDeselection: boolean; + rowData: any[]; + floatingTopRowData: any[]; + floatingBottomRowData: any[]; + showToolPanel: boolean; + groupKeys: string[]; + groupAggFunction: (nodes: any[]) => void; + groupAggFields: string[]; + columnDefs: any[]; + datasource: any; + pinnedColumnCount: number; + quickFilterText: string; + groupHeaders: boolean; + headerHeight: number; + constructor(elementDef: any); + onInit(): void; + onChange(changes: any): void; + private globalEventListener(eventType, event); + } +} +declare module ag.grid { +} +declare var exports: any; +declare var module: any; +declare module ag.grid { + interface Filter { + getGui(): any; + isFilterActive(): boolean; + doesFilterPass(params: any): boolean; + afterGuiAttached?(params?: { + hidePopup?: Function; + }): void; + onNewRowsLoaded?(): void; + } +} diff --git a/ag-grid/ag-grid.d.ts b/ag-grid/ag-grid.d.ts new file mode 100644 index 0000000000..f385a90f44 --- /dev/null +++ b/ag-grid/ag-grid.d.ts @@ -0,0 +1,1991 @@ +// Type definitions for ag-grid v2.1.2 +// Project: http://www.ag-grid.com/ +// Definitions by: Niall Crosby +// Definitions: https://github.com/borisyankov/DefinitelyTyped +declare module ag.grid { + class ColumnChangeEvent { + private type; + private column; + private columnGroup; + private fromIndex; + private toIndex; + private pinnedColumnCount; + constructor(type: string); + toString(): string; + withColumn(column: Column): ColumnChangeEvent; + withColumnGroup(columnGroup: ColumnGroup): ColumnChangeEvent; + withFromIndex(fromIndex: number): ColumnChangeEvent; + withPinnedColumnCount(pinnedColumnCount: number): ColumnChangeEvent; + withToIndex(toIndex: number): ColumnChangeEvent; + getFromIndex(): number; + getToIndex(): number; + getPinnedColumnCount(): number; + getType(): string; + getColumn(): Column; + getColumnGroup(): ColumnGroup; + isPivotChanged(): boolean; + isValueChanged(): boolean; + isIndividualColumnResized(): boolean; + } +} +declare module ag.grid { + class Utils { + private static isSafari; + private static isIE; + static iterateObject(object: any, callback: (key: string, value: any) => void): void; + static cloneObject(object: any): any; + static map(array: TItem[], callback: (item: TItem) => TResult): TResult[]; + static forEach(array: T[], callback: (item: T, index: number) => void): void; + static filter(array: T[], callback: (item: T) => boolean): T[]; + static assign(object: any, source: any): void; + static getFunctionParameters(func: any): any; + static find(collection: any, predicate: any, value: any): any; + static toStrings(array: T[]): string[]; + static iterateArray(array: T[], callback: (item: T, index: number) => void): void; + static isNode(o: any): boolean; + static isElement(o: any): boolean; + static isNodeOrElement(o: any): boolean; + static addChangeListener(element: HTMLElement, listener: EventListener): void; + static makeNull(value: any): any; + static removeAllChildren(node: HTMLElement): void; + static removeElement(parent: HTMLElement, cssSelector: string): void; + static removeFromParent(node: Element): void; + static isVisible(element: HTMLElement): boolean; + /** + * loads the template and returns it as an element. makes up for no simple way in + * the dom api to load html directly, eg we cannot do this: document.createElement(template) + */ + static loadTemplate(template: string): Node; + static querySelectorAll_addCssClass(eParent: any, selector: string, cssClass: string): void; + static querySelectorAll_removeCssClass(eParent: any, selector: string, cssClass: string): void; + static querySelectorAll_replaceCssClass(eParent: any, selector: string, cssClassToRemove: string, cssClassToAdd: string): void; + static addOrRemoveCssClass(element: HTMLElement, className: string, addOrRemove: boolean): void; + static addCssClass(element: HTMLElement, className: string): void; + static offsetHeight(element: HTMLElement): number; + static offsetWidth(element: HTMLElement): number; + static removeCssClass(element: HTMLElement, className: string): void; + static removeFromArray(array: T[], object: T): void; + static defaultComparator(valueA: any, valueB: any): number; + static formatWidth(width: number | string): string; + /** + * Tries to use the provided renderer. + */ + static useRenderer(eParent: Element, eRenderer: (params: TParams) => Node | string, params: TParams): void; + /** + * If icon provided, use this (either a string, or a function callback). + * if not, then use the second parameter, which is the svgFactory function + */ + static createIcon(iconName: any, gridOptionsWrapper: any, colDefWrapper: any, svgFactoryFunc: () => Node): HTMLSpanElement; + static addStylesToElement(eElement: any, styles: any): void; + static getScrollbarWidth(): number; + static isKeyPressed(event: KeyboardEvent, keyToCheck: number): boolean; + static setVisible(element: HTMLElement, visible: boolean): void; + static isBrowserIE(): boolean; + static isBrowserSafari(): boolean; + } +} +declare module ag.grid { + class Constants { + static STEP_EVERYTHING: number; + static STEP_FILTER: number; + static STEP_SORT: number; + static STEP_MAP: number; + static ASC: string; + static DESC: string; + static ROW_BUFFER_SIZE: number; + static MIN_COL_WIDTH: number; + static SUM: string; + static MIN: string; + static MAX: string; + static KEY_TAB: number; + static KEY_ENTER: number; + static KEY_BACKSPACE: number; + static KEY_DELETE: number; + static KEY_ESCAPE: number; + static KEY_SPACE: number; + static KEY_DOWN: number; + static KEY_UP: number; + static KEY_LEFT: number; + static KEY_RIGHT: number; + } +} +declare module ag.grid { + class Column { + static colIdSequence: number; + colDef: ColDef; + actualWidth: any; + visible: any; + colId: any; + pinned: boolean; + index: number; + aggFunc: string; + pivotIndex: number; + sort: string; + sortedAt: number; + constructor(colDef: ColDef, actualWidth: any); + isGreaterThanMax(width: number): boolean; + getMinimumWidth(): number; + setMinimum(): void; + } +} +declare module ag.grid { + class ColumnGroup { + pinned: any; + name: any; + allColumns: Column[]; + displayedColumns: Column[]; + expandable: boolean; + expanded: boolean; + actualWidth: number; + constructor(pinned: any, name: any); + getMinimumWidth(): number; + addColumn(column: any): void; + calculateExpandable(): void; + calculateActualWidth(): void; + calculateDisplayedColumns(): void; + addToVisibleColumns(colsToAdd: any): void; + } +} +declare module ag.grid { + class GridOptionsWrapper { + private gridOptions; + private groupHeaders; + private headerHeight; + private rowHeight; + private floatingTopRowData; + private floatingBottomRowData; + init(gridOptions: GridOptions, eventService: EventService): void; + isRowSelection(): boolean; + isRowDeselection(): boolean; + isRowSelectionMulti(): boolean; + getContext(): any; + isVirtualPaging(): boolean; + isShowToolPanel(): boolean; + isToolPanelSuppressPivot(): boolean; + isToolPanelSuppressValues(): boolean; + isRowsAlreadyGrouped(): boolean; + isGroupSelectsChildren(): boolean; + isGroupHidePivotColumns(): boolean; + isGroupIncludeFooter(): boolean; + isGroupSuppressBlankHeader(): boolean; + isSuppressRowClickSelection(): boolean; + isSuppressCellSelection(): boolean; + isSuppressMultiSort(): boolean; + isGroupSuppressAutoColumn(): boolean; + isForPrint(): boolean; + isSuppressHorizontalScroll(): boolean; + isUnSortIcon(): boolean; + isSuppressMenuHide(): boolean; + getRowStyle(): any; + getRowClass(): any; + getRowStyleFunc(): any; + getRowClassFunc(): any; + getHeaderCellRenderer(): any; + getApi(): GridApi; + isEnableColResize(): boolean; + isSingleClickEdit(): boolean; + getGroupDefaultExpanded(): any; + getGroupKeys(): string[]; + getGroupAggFunction(): (nodes: any[]) => any; + getGroupAggFields(): string[]; + getRowData(): any[]; + isGroupUseEntireRow(): boolean; + getGroupColumnDef(): any; + isGroupSuppressRow(): boolean; + isAngularCompileRows(): boolean; + isAngularCompileFilters(): boolean; + isAngularCompileHeaders(): boolean; + isDebug(): boolean; + getColumnDefs(): any[]; + getDatasource(): any; + getRowBuffer(): number; + isEnableSorting(): boolean; + isEnableCellExpressions(): boolean; + isEnableServerSideSorting(): boolean; + isEnableFilter(): boolean; + isEnableServerSideFilter(): boolean; + isSuppressScrollLag(): boolean; + getIcons(): any; + getIsScrollLag(): () => boolean; + getSortingOrder(): string[]; + getSlaveGrids(): GridOptions[]; + getGroupRowRenderer(): Object | Function; + getRowHeight(): number; + getHeaderHeight(): number; + setHeaderHeight(headerHeight: number): void; + isGroupHeaders(): boolean; + setGroupHeaders(groupHeaders: boolean): void; + getFloatingTopRowData(): any[]; + setFloatingTopRowData(rows: any[]): void; + getFloatingBottomRowData(): any[]; + setFloatingBottomRowData(rows: any[]): void; + isExternalFilterPresent(): boolean; + doesExternalFilterPass(node: RowNode): boolean; + getGroupRowInnerRenderer(): (params: any) => void; + getColWidth(): number; + private checkForDeprecated(); + getPinnedColCount(): number; + getLocaleTextFunc(): Function; + globalEventHandler(eventName: string, event?: any): void; + private getCallbackForEvent(eventName); + } +} +declare module ag.grid { + class LoggerFactory { + private logging; + init(gridOptionsWrapper: GridOptionsWrapper): void; + create(name: string): Logger; + } + class Logger { + private logging; + private name; + constructor(name: string, logging: boolean); + log(message: string): void; + } +} +declare module ag.grid { + class Events { + /** A new set of columns has been entered, everything has potentially changed. */ + static EVENT_COLUMN_EVERYTHING_CHANGED: string; + /** A pivot column was added, removed or order changed. */ + static EVENT_COLUMN_PIVOT_CHANGE: string; + /** A value column was added, removed or agg function was changed. */ + static EVENT_COLUMN_VALUE_CHANGE: string; + /** A column was moved */ + static EVENT_COLUMN_MOVED: string; + /** One or more columns was shown / hidden */ + static EVENT_COLUMN_VISIBLE: string; + /** A column group was opened / closed */ + static EVENT_COLUMN_GROUP_OPENED: string; + /** One or more columns was resized. If just one, the column in the event is set. */ + static EVENT_COLUMN_RESIZED: string; + /** One or more columns was resized. If just one, the column in the event is set. */ + static EVENT_COLUMN_PINNED_COUNT_CHANGED: string; + static EVENT_MODEL_UPDATED: string; + static EVENT_CELL_CLICKED: string; + static EVENT_CELL_DOUBLE_CLICKED: string; + static EVENT_CELL_CONTEXT_MENU: string; + static EVENT_CELL_VALUE_CHANGED: string; + static EVENT_CELL_FOCUSED: string; + static EVENT_ROW_SELECTED: string; + static EVENT_SELECTION_CHANGED: string; + static EVENT_BEFORE_FILTER_CHANGED: string; + static EVENT_AFTER_FILTER_CHANGED: string; + static EVENT_FILTER_MODIFIED: string; + static EVENT_BEFORE_SORT_CHANGED: string; + static EVENT_AFTER_SORT_CHANGED: string; + static EVENT_VIRTUAL_ROW_REMOVED: string; + static EVENT_ROW_CLICKED: string; + static EVENT_READY: string; + } +} +declare module ag.grid { + class EventService { + private allListeners; + private globalListeners; + private getListenerList(eventType); + addEventListener(eventType: string, listener: Function): void; + addGlobalListener(listener: Function): void; + removeEventListener(eventType: string, listener: Function): void; + removeGlobalListener(listener: Function): void; + dispatchEvent(eventType: string, event?: any): void; + } +} +declare module ag.grid { + class MasterSlaveService { + private gridOptionsWrapper; + private columnController; + private gridPanel; + private logger; + private eventService; + private consuming; + init(gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, gridPanel: GridPanel, loggerFactory: LoggerFactory, eventService: EventService): void; + private fireEvent(callback); + private onEvent(callback); + private fireColumnEvent(event); + fireHorizontalScrollEvent(horizontalScroll: number): void; + onScrollEvent(horizontalScroll: number): void; + onColumnEvent(event: ColumnChangeEvent): void; + } +} +declare module ag.grid { + class ColumnApi { + private _columnController; + constructor(_columnController: ColumnController); + sizeColumnsToFit(gridWidth: any): void; + hideColumns(colIds: any, hide: any): void; + columnGroupOpened(group: ColumnGroup, newValue: boolean): void; + getColumnGroup(name: string): ColumnGroup; + getDisplayNameForCol(column: any): string; + getColumn(key: any): Column; + setState(columnState: any): void; + getState(): [any]; + isPinning(): boolean; + getVisibleColAfter(col: Column): Column; + getVisibleColBefore(col: Column): Column; + setColumnVisible(column: Column, visible: boolean): void; + getAllColumns(): Column[]; + getDisplayedColumns(): Column[]; + getPivotedColumns(): Column[]; + getValueColumns(): Column[]; + moveColumn(fromIndex: number, toIndex: number): void; + movePivotColumn(fromIndex: number, toIndex: number): void; + setColumnAggFunction(column: Column, aggFunc: string): void; + setColumnWidth(column: Column, newWidth: number): void; + removeValueColumn(column: Column): void; + addValueColumn(column: Column): void; + removePivotColumn(column: Column): void; + setPinnedColumnCount(count: number): void; + addPivotColumn(column: Column): void; + getHeaderGroups(): ColumnGroup[]; + hideColumn(colId: any, hide: any): void; + } + class ColumnController { + private gridOptionsWrapper; + private angularGrid; + private selectionRendererFactory; + private expressionService; + private masterSlaveController; + private allColumns; + private visibleColumns; + private displayedColumns; + private pivotColumns; + private valueColumns; + private columnGroups; + private setupComplete; + private valueService; + private pinnedColumnCount; + private eventService; + constructor(); + init(angularGrid: Grid, selectionRendererFactory: SelectionRendererFactory, gridOptionsWrapper: GridOptionsWrapper, expressionService: ExpressionService, valueService: ValueService, masterSlaveController: MasterSlaveService, eventService: EventService): void; + getColumnApi(): ColumnApi; + isSetupComplete(): boolean; + getHeaderGroups(): ColumnGroup[]; + getPinnedContainerWidth(): number; + addPivotColumn(column: Column): void; + setPinnedColumnCount(count: number): void; + removePivotColumn(column: Column): void; + addValueColumn(column: Column): void; + removeValueColumn(column: Column): void; + private doesColumnExistInGrid(column); + setColumnWidth(column: Column, newWidth: number): void; + private updateGroupWidthsAfterColumnResize(column); + setColumnAggFunction(column: Column, aggFunc: string): void; + movePivotColumn(fromIndex: number, toIndex: number): void; + moveColumn(fromIndex: number, toIndex: number): void; + getBodyContainerWidth(): number; + getValueColumns(): Column[]; + getPivotedColumns(): Column[]; + getDisplayedColumns(): Column[]; + getAllColumns(): Column[]; + setColumnVisible(column: Column, visible: boolean): void; + getVisibleColBefore(col: any): Column; + getVisibleColAfter(col: Column): Column; + isPinning(): boolean; + getState(): [any]; + setState(columnState: any): void; + getColumns(keys: any[]): Column[]; + getColumn(key: any): Column; + getDisplayNameForCol(column: any): string; + getColumnGroup(name: string): ColumnGroup; + onColumnsChanged(): void; + private checkForDeprecatedItems(columnDefs); + columnGroupOpened(group: ColumnGroup, newValue: boolean): void; + hideColumns(colIds: any, hide: any): void; + private updateModel(); + private updateDisplayedColumns(); + sizeColumnsToFit(gridWidth: any): void; + private buildGroups(); + private updateGroups(); + private updateVisibleColumns(); + private updatePinnedColumns(); + private createColumns(colDefs); + private createPivotColumns(); + private createValueColumns(); + private createDummyColumn(field); + private calculateColInitialWidth(colDef); + private getTotalColWidth(includePinned); + } +} +declare module ag.grid { + interface CsvExportParams { + skipHeader?: boolean; + skipFooters?: boolean; + skipGroups?: boolean; + fileName?: string; + } + class CsvCreator { + private rowController; + private columnController; + private grid; + private valueService; + constructor(rowController: InMemoryRowController, columnController: ColumnController, grid: Grid, valueService: ValueService); + exportDataAsCsv(params?: CsvExportParams): void; + getDataAsCsv(params?: CsvExportParams): string; + private createValueForGroupNode(node); + private escape(value); + } +} +declare module ag.grid { + class ExpressionService { + private expressionToFunctionCache; + private logger; + init(loggerFactory: LoggerFactory): void; + evaluate(expression: string, params: any): any; + private createExpressionFunction(expression); + private createFunctionBody(expression); + } +} +declare module ag.grid { + interface TextAndNumberFilterParameters { + /** What to do when new rows are loaded. The default is to reset the filter, to keep it in line with 'set' filters. If you want to keep the selection, then set this value to 'keep'. */ + newRowsAction?: string; + } +} +declare module ag.grid { + class TextFilter implements Filter { + private filterParams; + private filterChangedCallback; + private filterModifiedCallback; + private localeTextFunc; + private valueGetter; + private filterText; + private filterType; + private api; + private eGui; + private eFilterTextField; + private eTypeSelect; + private applyActive; + private eApplyButton; + init(params: any): void; + onNewRowsLoaded(): void; + afterGuiAttached(): void; + doesFilterPass(node: any): boolean; + getGui(): any; + isFilterActive(): boolean; + private createTemplate(); + private createGui(); + private setupApply(); + private onTypeChanged(); + private onFilterChanged(); + private filterChanged(); + private createApi(); + private getApi(); + } +} +declare module ag.grid { + class NumberFilter implements Filter { + private filterParams; + private filterChangedCallback; + private filterModifiedCallback; + private localeTextFunc; + private valueGetter; + private filterNumber; + private filterType; + private api; + private eGui; + private eFilterTextField; + private eTypeSelect; + private applyActive; + private eApplyButton; + init(params: any): void; + onNewRowsLoaded(): void; + afterGuiAttached(): void; + doesFilterPass(node: any): boolean; + getGui(): any; + isFilterActive(): boolean; + private createTemplate(); + private createGui(); + private setupApply(); + private onTypeChanged(); + private filterChanged(); + private onFilterChanged(); + private createApi(); + private getApi(); + } +} +declare module ag.grid { + interface ColDef { + /** If sorting by default, set it here. Set to 'asc' or 'desc' */ + sort?: string; + /** If sorting more than one column by default, the milliseconds when this column was sorted, so we know what order to sort the columns in. */ + sortedAt?: number; + /** The sort order, provide an array with any of the following in any order ['asc','desc',null] */ + sortingOrder?: string[]; + /** The name to render in the column header */ + headerName: string; + /** The field of the row to get the cells data from */ + field: string; + /** Expression or function to get the cells value. */ + headerValueGetter?: string | Function; + /** The unique ID to give the column. This is optional. If missing, the ID will default to the field. If both field and colId are missing, a unique ID will be generated. + * This ID is used to identify the column in the API for sorting, filtering etc. */ + colId?: string; + /** Set to true for this column to be hidden. Naturally you might think, it would make more sense to call this field 'visible' and mark it false to hide, + * however we want all default values to be false and we want columns to be visible by default. */ + hide?: boolean; + /** Tooltip for the column header */ + headerTooltip?: string; + /** Expression or function to get the cells value. */ + valueGetter?: string | Function; + /** To provide custom rendering to the header. */ + headerCellRenderer?: Function | Object; + /** CSS class for the header */ + headerClass?: string | string[] | ((params: any) => string | string[]); + /** Initial width, in pixels, of the cell */ + width?: number; + /** Min width, in pixels, of the cell */ + minWidth?: number; + /** Max width, in pixels, of the cell */ + maxWidth?: number; + /** Class to use for the cell. Can be string, array of strings, or function. */ + cellClass?: string | string[] | ((cellClassParams: any) => string | string[]); + /** An object of css values. Or a function returning an object of css values. */ + cellStyle?: {} | ((params: any) => {}); + /** A function for rendering a cell. */ + cellRenderer?: Function | {}; + /** A function for rendering a floating cell. */ + floatingCellRenderer?: Function | {}; + /** Name of function to use for aggregation. One of [sum,min,max]. */ + aggFunc?: string; + /** Comparator function for custom sorting. */ + comparator?: Function; + /** Set to true to render a selection checkbox in the column. */ + checkboxSelection?: boolean; + /** Set to true if no menu should be shown for this column header. */ + suppressMenu?: boolean; + /** Set to true if no sorting should be done for this column. */ + suppressSorting?: boolean; + /** Set to true if you want the unsorted icon to be shown when no sort is applied to this column. */ + unSortIcon?: boolean; + /** Set to true if you want this columns width to be fixed during 'size to fit' operation. */ + suppressSizeToFit?: boolean; + /** Set to true if you do not want this column to be resizable by dragging it's edge. */ + suppressResize?: boolean; + /** If grouping columns, the group this column belongs to. */ + headerGroup?: string; + /** Whether to show the column when the group is open / closed. */ + headerGroupShow?: string; + /** Set to true if this col is editable, otherwise false. Can also be a function to have different rows editable. */ + editable?: boolean | (Function); + /** Callbacks for editing.See editing section for further details. */ + newValueHandler?: Function; + /** If true, this cell gets refreshed when api.softRefreshView() gets called. */ + volatile?: boolean; + /** Cell template to use for cell. Useful for AngularJS cells. */ + template?: string; + /** Cell template URL to load template from to use for cell. Useful for AngularJS cells. */ + templateUrl?: string; + /** one of the built in filter names: [set, number, text], or a filter function*/ + filter?: string | Function; + /** The filter params are specific to each filter! */ + filterParams?: SetFilterParameters | TextAndNumberFilterParameters; + /** Rules for applying css classes */ + cellClassRules?: { + [cssClassName: string]: (Function | string); + }; + /** Callbacks for editing.See editing section for further details. */ + onCellValueChanged?: Function; + /** Function callback, gets called when a cell is clicked. */ + onCellClicked?: Function; + /** Function callback, gets called when a cell is double clicked. */ + onCellDoubleClicked?: Function; + /** Function callback, gets called when a cell is right clicked. */ + onCellContextMenu?: Function; + } +} +declare module ag.grid { + class SetFilterModel { + private colDef; + private filterParams; + private rowModel; + private valueGetter; + private allUniqueValues; + private availableUniqueValues; + private displayedValues; + private miniFilter; + private selectedValuesCount; + private selectedValuesMap; + private showingAvailableOnly; + private usingProvidedSet; + private doesRowPassOtherFilters; + constructor(colDef: ColDef, rowModel: any, valueGetter: any, doesRowPassOtherFilters: any); + refreshAfterNewRowsLoaded(keepSelection: any, isSelectAll: boolean): void; + refreshAfterAnyFilterChanged(): void; + private createAllUniqueValues(); + private createAvailableUniqueValues(); + private getUniqueValues(filterOutNotAvailable); + setMiniFilter(newMiniFilter: any): boolean; + getMiniFilter(): any; + private processMiniFilter(); + getDisplayedValueCount(): any; + getDisplayedValue(index: any): any; + selectEverything(): void; + isFilterActive(): boolean; + selectNothing(): void; + getUniqueValueCount(): any; + getUniqueValue(index: any): any; + unselectValue(value: any): void; + selectValue(value: any): void; + isValueSelected(value: any): boolean; + isEverythingSelected(): boolean; + isNothingSelected(): boolean; + getModel(): any; + setModel(model: any, isSelectAll: boolean): void; + } +} +/** The filter parameters for set filter */ +declare module ag.grid { + interface SetFilterParameters { + /** Same as cell renderer for grid (you can use the same one in both locations). Setting it separatly here allows for the value to be rendered differently in the filter. */ + cellRenderer?: Function; + /** The height of the cell. */ + cellHeight?: number; + /** The values to display in the filter. */ + values?: any; + /** What to do when new rows are loaded. The default is to reset the filter, as the set of values to select from can have changed. If you want to keep the selection, then set this value to 'keep'. */ + newRowsAction?: string; + /** If true, the filter will not remove items that are no longer availabe due to other filters. */ + suppressRemoveEntries?: boolean; + } +} +declare module ag.grid { + class SetFilter implements Filter { + private eGui; + private filterParams; + private rowHeight; + private model; + private filterChangedCallback; + private filterModifiedCallback; + private valueGetter; + private rowsInBodyContainer; + private colDef; + private localeTextFunc; + private cellRenderer; + private eListContainer; + private eFilterValueTemplate; + private eSelectAll; + private eListViewport; + private eMiniFilter; + private api; + private applyActive; + private eApplyButton; + init(params: any): void; + afterGuiAttached(): void; + isFilterActive(): boolean; + doesFilterPass(node: any): boolean; + getGui(): any; + onNewRowsLoaded(): void; + onAnyFilterChanged(): void; + private createTemplate(); + private createGui(); + private setupApply(); + private setContainerHeight(); + private drawVirtualRows(); + private ensureRowsRendered(start, finish); + private removeVirtualRows(rowsToRemove); + private insertRow(value, rowIndex); + private onCheckboxClicked(eCheckbox, value); + private filterChanged(); + private onMiniFilterChanged(); + private refreshVirtualRows(); + private clearVirtualRows(); + private onSelectAll(); + private updateAllCheckboxes(checked); + private addScrollListener(); + getApi(): any; + private createApi(); + } +} +declare module ag.grid { + class PopupService { + private ePopupParent; + init(ePopupParent: any): void; + positionPopup(eventSource: any, ePopup: any, minWidth: any): void; + addAsModalPopup(eChild: any, closeOnEsc: boolean): (event: any) => void; + } +} +declare module ag.grid { + interface RowNode { + /** Unique ID for the node. Can be though of as the index of the row in the original list, + * however exceptions apply so don't depend on uniqueness. */ + id?: number; + /** The user provided data */ + data?: any; + /** The parent node to this node, or empty if top level */ + parent?: RowNode; + /** How many levels this node is from the top */ + level?: number; + /** True if this node is a group node (ie has children) */ + group?: boolean; + /** True if this is the first child in this group */ + firstChild?: boolean; + /** True if this is the last child in this group */ + lastChild?: boolean; + /** The index of this node in the group */ + childIndex?: number; + /** True if this row is a floating row */ + floating?: boolean; + /** True if this row is a floating top row */ + floatingTop?: boolean; + /** True if this row is a floating bottom row */ + floatingBottom?: boolean; + /** If using quick filter, stores a string representation of the row for searching against */ + quickFilterAggregateText?: string; + /** Groups only - True if row is a footer. Footers have group = true and footer = true */ + footer?: boolean; + /** Groups only - Children of this group */ + children?: RowNode[]; + /** Groups only - The field we are pivoting on eg Country*/ + field?: string; + /** Groups only - The key for the pivot eg Ireland, UK, USA */ + key?: any; + /** Groups only - Filtered children of this group */ + childrenAfterFilter?: RowNode[]; + /** Groups only - Sorted children of this group */ + childrenAfterSort?: RowNode[]; + /** Groups only - Number of children and grand children */ + allChildrenCount?: number; + /** Groups only - True if group is expanded, otherwise false */ + expanded?: boolean; + /** Groups only - If doing footers, reference to the footer node for this group */ + sibling?: RowNode; + /** Not to be used, internal temporary map used by the grid when creating groups */ + _childrenMap?: {}; + } +} +declare module ag.grid { + class FilterManager { + private $compile; + private $scope; + private gridOptionsWrapper; + private grid; + private allFilters; + private rowModel; + private popupService; + private valueService; + private columnController; + private quickFilter; + private advancedFilterPresent; + private externalFilterPresent; + init(grid: Grid, gridOptionsWrapper: GridOptionsWrapper, $compile: any, $scope: any, columnController: ColumnController, popupService: PopupService, valueService: ValueService): void; + setFilterModel(model: any): void; + private setModelOnFilterWrapper(filter, newModel); + getFilterModel(): any; + setRowModel(rowModel: any): void; + isAdvancedFilterPresent(): boolean; + isAnyFilterPresent(): boolean; + isFilterPresentForCol(colId: any): any; + private doesFilterPass(node, filterToSkip?); + setQuickFilter(newFilter: any): boolean; + onFilterChanged(): void; + isQuickFilterPresent(): boolean; + doesRowPassOtherFilters(filterToSkip: any, node: any): boolean; + doesRowPassFilter(node: any, filterToSkip?: any): boolean; + private aggregateRowForQuickFilter(node); + refreshDisplayedValues(): void; + onNewRowsLoaded(): void; + private createValueGetter(column); + getFilterApi(column: Column): any; + private getOrCreateFilterWrapper(column); + private createFilterWrapper(column); + private assertMethodHasNoParameters(theMethod); + showFilter(column: Column, eventSource: any): void; + } +} +declare module ag.grid { + class TemplateService { + templateCache: any; + waitingCallbacks: any; + $scope: any; + init($scope: any): void; + getTemplate(url: any, callback: any): any; + handleHttpResult(httpResult: any, url: any): void; + } +} +declare module ag.grid { + class SelectionRendererFactory { + private angularGrid; + private selectionController; + init(angularGrid: any, selectionController: any): void; + createSelectionCheckbox(node: any, rowIndex: any): HTMLInputElement; + } +} +declare module ag.vdom { + class VElement { + static idSequence: number; + private id; + private elementAttachedListeners; + constructor(); + getId(): number; + addElementAttachedListener(listener: (element: Element) => void): void; + protected fireElementAttached(element: Element): void; + elementAttached(element: Element): void; + toHtmlString(): string; + } +} +declare module ag.vdom { + class VHtmlElement extends VElement { + private type; + private classes; + private eventListeners; + private attributes; + private children; + private innerHtml; + private style; + private bound; + private element; + constructor(type: string); + getElement(): HTMLElement; + setInnerHtml(innerHtml: string): void; + addStyles(styles: any): void; + private attachEventListeners(node); + addClass(newClass: string): void; + removeClass(oldClass: string): void; + addClasses(classes: string[]): void; + toHtmlString(): string; + private toHtmlStringChildren(); + private toHtmlStringAttributes(); + private toHtmlStringClasses(); + private toHtmlStringStyles(); + appendChild(child: any): void; + setAttribute(key: string, value: string): void; + addEventListener(event: string, listener: EventListener): void; + elementAttached(element: Element): void; + fireElementAttachedToChildren(element: Element): void; + } +} +declare module ag.vdom { + class VWrapperElement extends VElement { + private wrappedElement; + constructor(wrappedElement: Element); + toHtmlString(): string; + elementAttached(element: Element): void; + } +} +declare module ag.grid { + class RenderedCell { + private vGridCell; + private vSpanWithValue; + private vCellWrapper; + private vParentOfValue; + private checkboxOnChangeListener; + private column; + private data; + private node; + private rowIndex; + private editingCell; + private scope; + private isFirstColumn; + private gridOptionsWrapper; + private expressionService; + private selectionRendererFactory; + private rowRenderer; + private selectionController; + private $compile; + private templateService; + private cellRendererMap; + private eCheckbox; + private columnController; + private valueService; + private eventService; + private value; + private checkboxSelection; + constructor(isFirstColumn: any, column: any, $compile: any, rowRenderer: RowRenderer, gridOptionsWrapper: GridOptionsWrapper, expressionService: ExpressionService, selectionRendererFactory: SelectionRendererFactory, selectionController: SelectionController, templateService: TemplateService, cellRendererMap: { + [key: string]: any; + }, node: any, rowIndex: number, scope: any, columnController: ColumnController, valueService: ValueService, eventService: EventService); + getColumn(): Column; + private getValue(); + getVGridCell(): ag.vdom.VHtmlElement; + private getDataForRow(); + private setupComponents(); + startEditing(key?: number): void; + focusCell(forceBrowserFocus: boolean): void; + private stopEditing(eInput, blurListener, reset?); + createParams(): any; + createEvent(event: any, eventSource: any): any; + private addCellDoubleClickedHandler(); + private addCellContextMenuHandler(); + isCellEditable(): any; + private addCellClickedHandler(); + private populateCell(); + private addStylesFromCollDef(); + private addClassesFromCollDef(); + private addClassesFromRules(); + private addCellNavigationHandler(); + private isKeycodeForStartEditing(key); + createSelectionCheckbox(): void; + setSelected(state: boolean): void; + private createParentOfValue(); + isVolatile(): boolean; + refreshCell(): void; + private putDataIntoCell(); + private useCellRenderer(cellRenderer); + private addClasses(); + } +} +declare module ag.grid { + class RenderedRow { + vPinnedRow: any; + vBodyRow: any; + private renderedCells; + private scope; + private node; + private rowIndex; + private cellRendererMap; + private gridOptionsWrapper; + private parentScope; + private angularGrid; + private columnController; + private expressionService; + private rowRenderer; + private selectionRendererFactory; + private $compile; + private templateService; + private selectionController; + private pinning; + private eBodyContainer; + private ePinnedContainer; + private valueService; + private eventService; + constructor(gridOptionsWrapper: GridOptionsWrapper, valueService: ValueService, parentScope: any, angularGrid: Grid, columnController: ColumnController, expressionService: ExpressionService, cellRendererMap: { + [key: string]: any; + }, selectionRendererFactory: SelectionRendererFactory, $compile: any, templateService: TemplateService, selectionController: SelectionController, rowRenderer: RowRenderer, eBodyContainer: HTMLElement, ePinnedContainer: HTMLElement, node: any, rowIndex: number, eventService: EventService); + onRowSelected(selected: boolean): void; + softRefresh(): void; + getRenderedCellForColumn(column: Column): RenderedCell; + getCellForCol(column: Column): any; + destroy(): void; + private destroyScope(); + isDataInList(rows: any[]): boolean; + isNodeInList(nodes: RowNode[]): boolean; + isGroup(): boolean; + private drawNormalRow(); + private bindVirtualElement(vElement); + private createGroupRow(); + private createGroupSpanningEntireRowCell(padding); + setMainRowWidth(width: number): void; + private createChildScopeOrNull(data); + private addDynamicStyles(); + private createRowContainer(); + getRowNode(): any; + getRowIndex(): any; + refreshCells(colIds: string[]): void; + private addDynamicClasses(); + } +} +declare module ag.grid { + class SvgFactory { + static theInstance: SvgFactory; + static getInstance(): SvgFactory; + createFilterSvg(): Element; + createColumnShowingSvg(): Element; + createColumnHiddenSvg(): Element; + createMenuSvg(): Element; + createArrowUpSvg(): Element; + createArrowLeftSvg(): Element; + createArrowDownSvg(): Element; + createArrowRightSvg(): Element; + createSmallArrowDownSvg(): Element; + createArrowUpDownSvg(): Element; + } +} +declare module ag.grid { + function groupCellRendererFactory(gridOptionsWrapper: GridOptionsWrapper, selectionRendererFactory: SelectionRendererFactory, expressionService: ExpressionService): (params: any) => HTMLSpanElement; +} +declare module ag.grid { + class RowRenderer { + private columnModel; + private gridOptionsWrapper; + private angularGrid; + private selectionRendererFactory; + private gridPanel; + private $compile; + private $scope; + private selectionController; + private expressionService; + private templateService; + private cellRendererMap; + private rowModel; + private firstVirtualRenderedRow; + private lastVirtualRenderedRow; + private focusedCell; + private valueService; + private eventService; + private renderedRows; + private renderedTopFloatingRows; + private renderedBottomFloatingRows; + private eAllBodyContainers; + private eAllPinnedContainers; + private eBodyContainer; + private eBodyViewport; + private ePinnedColsContainer; + private eFloatingTopContainer; + private eFloatingTopPinnedContainer; + private eFloatingBottomContainer; + private eFloatingBottomPinnedContainer; + private eParentsOfRows; + init(columnModel: any, gridOptionsWrapper: GridOptionsWrapper, gridPanel: GridPanel, angularGrid: Grid, selectionRendererFactory: SelectionRendererFactory, $compile: any, $scope: any, selectionController: SelectionController, expressionService: ExpressionService, templateService: TemplateService, valueService: ValueService, eventService: EventService): void; + setRowModel(rowModel: any): void; + onIndividualColumnResized(column: Column): void; + setMainRowWidths(): void; + private findAllElements(gridPanel); + refreshAllFloatingRows(): void; + private refreshFloatingRows(renderedRows, rowData, pinnedContainer, bodyContainer, isTop); + refreshView(refreshFromIndex?: any): void; + softRefreshView(): void; + refreshRows(rowNodes: RowNode[]): void; + refreshCells(rowNodes: RowNode[], colIds: string[]): void; + rowDataChanged(rows: any): void; + private refreshAllVirtualRows(fromIndex); + refreshGroupRows(): void; + private removeVirtualRow(rowsToRemove, fromIndex?); + private unbindVirtualRow(indexToRemove); + drawVirtualRows(): void; + getFirstVirtualRenderedRow(): number; + getLastVirtualRenderedRow(): number; + private ensureRowsRendered(); + private insertRow(node, rowIndex, mainRowWidth); + getRenderedNodes(): any[]; + getIndexOfRenderedNode(node: any): number; + navigateToNextCell(key: any, rowIndex: number, column: Column): void; + private getNextCellToFocus(key, lastCellToFocus); + onRowSelected(rowIndex: number, selected: boolean): void; + focusCell(eCell: any, rowIndex: number, colIndex: number, colDef: ColDef, forceBrowserFocus: any): void; + getFocusedCell(): any; + setFocusedCell(rowIndex: any, colIndex: any): void; + startEditingNextCell(rowIndex: any, column: any, shiftKey: any): void; + } +} +declare module ag.grid { + class SelectionController { + private eParentsOfRows; + private angularGrid; + private gridOptionsWrapper; + private $scope; + private rowRenderer; + private selectedRows; + private selectedNodesById; + private rowModel; + private eventService; + init(angularGrid: Grid, gridPanel: GridPanel, gridOptionsWrapper: GridOptionsWrapper, $scope: any, rowRenderer: RowRenderer, eventService: EventService): void; + private initSelectedNodesById(); + getSelectedNodesById(): any; + getSelectedRows(): any; + getSelectedNodes(): any; + getBestCostNodeSelection(): any; + setRowModel(rowModel: any): void; + deselectAll(): void; + selectAll(): void; + selectNode(node: any, tryMulti: any, suppressEvents?: any): void; + private recursivelySelectAllChildren(node, suppressEvents?); + private recursivelyDeselectAllChildren(node); + private doWorkOfSelectNode(node, suppressEvents); + private addCssClassForNode_andInformVirtualRowListener(node); + private doWorkOfDeselectAllNodes(nodeToKeepSelected?); + private deselectRealNode(node); + private removeCssClassForNode(node); + deselectIndex(rowIndex: any): void; + deselectNode(node: any): void; + selectIndex(index: any, tryMulti: any, suppressEvents?: any): void; + private syncSelectedRowsAndCallListener(suppressEvents?); + private recursivelyCheckIfSelected(node); + isNodeSelected(node: any): boolean; + private updateGroupParentsIfNeeded(); + } +} +declare module ag.grid { + class RenderedHeaderElement { + private eRoot; + private dragStartX; + constructor(eRoot: HTMLElement); + getERoot(): HTMLElement; + destroy(): void; + refreshFilterIcon(): void; + refreshSortIcon(): void; + onDragStart(): void; + onDragging(dragChange: number): void; + onIndividualColumnResized(column: Column): void; + addDragHandler(eDraggableElement: any): void; + stopDragging(listenersToRemove: any): void; + } +} +declare module ag.grid { + class RenderedHeaderCell extends RenderedHeaderElement { + private static DEFAULT_SORTING_ORDER; + private eHeaderCell; + private eSortAsc; + private eSortDesc; + private eSortNone; + private eFilterIcon; + private column; + private gridOptionsWrapper; + private parentScope; + private childScope; + private filterManager; + private columnController; + private $compile; + private angularGrid; + private parentGroup; + private startWidth; + constructor(column: Column, parentGroup: RenderedHeaderGroupCell, gridOptionsWrapper: GridOptionsWrapper, parentScope: any, filterManager: FilterManager, columnController: ColumnController, $compile: any, angularGrid: Grid, eRoot: HTMLElement); + getGui(): HTMLElement; + destroy(): void; + private createScope(); + private addAttributes(); + private addClasses(); + private addMenu(); + private addSortIcons(headerCellLabel); + private setupComponents(); + private useRenderer(headerNameValue, headerCellRenderer, headerCellLabel); + refreshFilterIcon(): void; + refreshSortIcon(): void; + private getNextSortDirection(); + private addSortHandling(headerCellLabel); + onDragStart(): void; + onDragging(dragChange: number): void; + onIndividualColumnResized(column: Column): void; + private addHeaderClassesFromCollDef(); + } +} +declare module ag.grid { + class RenderedHeaderGroupCell extends RenderedHeaderElement { + private eHeaderGroup; + private eHeaderGroupCell; + private eHeaderCellResize; + private columnGroup; + private gridOptionsWrapper; + private columnController; + private children; + private groupWidthStart; + private childrenWidthStarts; + private minWidth; + private parentScope; + private filterManager; + private $compile; + private angularGrid; + constructor(columnGroup: ColumnGroup, gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, eRoot: HTMLElement, angularGrid: Grid, parentScope: any, filterManager: FilterManager, $compile: any); + getGui(): HTMLElement; + destroy(): void; + refreshFilterIcon(): void; + refreshSortIcon(): void; + onIndividualColumnResized(column: Column): void; + private setupComponents(); + private isColumnInOurDisplayedGroup(column); + private setWidthOfGroupHeaderCell(); + private addGroupExpandIcon(eGroupCellLabel); + onDragStart(): void; + onDragging(dragChange: any): void; + } +} +declare module ag.grid { + class HeaderRenderer { + private gridOptionsWrapper; + private columnController; + private angularGrid; + private filterManager; + private $scope; + private $compile; + private ePinnedHeader; + private eHeaderContainer; + private eRoot; + private headerElements; + init(gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, gridPanel: GridPanel, angularGrid: Grid, filterManager: FilterManager, $scope: any, $compile: any): void; + private findAllElements(gridPanel); + refreshHeader(): void; + private insertHeadersWithGrouping(); + private insertHeadersWithoutGrouping(); + updateSortIcons(): void; + updateFilterIcons(): void; + onIndividualColumnResized(column: Column): void; + } +} +declare module ag.grid { + class GroupCreator { + private valueService; + init(valueService: ValueService): void; + group(rowNodes: RowNode[], groupedCols: Column[], expandByDefault: any): RowNode[]; + isExpanded(expandByDefault: any, level: any): boolean; + } +} +declare module ag.grid { + class InMemoryRowController { + private gridOptionsWrapper; + private columnController; + private angularGrid; + private filterManager; + private $scope; + private allRows; + private rowsAfterGroup; + private rowsAfterFilter; + private rowsAfterSort; + private rowsAfterMap; + private model; + private groupCreator; + private valueService; + private eventService; + constructor(); + init(gridOptionsWrapper: GridOptionsWrapper, columnController: ColumnController, angularGrid: any, filterManager: FilterManager, $scope: any, groupCreator: GroupCreator, valueService: ValueService, eventService: EventService): void; + private createModel(); + getModel(): any; + forEachInMemory(callback: Function): void; + forEachNode(callback: Function): void; + forEachNodeAfterFilter(callback: Function): void; + forEachNodeAfterFilterAndSort(callback: Function): void; + private recursivelyWalkNodesAndCallback(list, callback); + updateModel(step: any): void; + private defaultGroupAggFunctionFactory(valueColumns, valueKeys); + doAggregate(): void; + expandOrCollapseAll(expand: boolean, rowNodes: RowNode[]): void; + private recursivelyClearAggData(nodes); + private recursivelyCreateAggData(nodes, groupAggFunction, level); + private doSort(); + private recursivelyResetSort(rowNodes); + private sortList(nodes, sortOptions); + private updateChildIndexes(nodes); + onPivotChanged(): void; + private doPivoting(); + private doFilter(); + private filterItems(rowNodes); + private recursivelyResetFilter(nodes); + setAllRows(rows: RowNode[], firstId?: number): void; + private recursivelyAddIdToNodes(nodes, index); + private recursivelyCheckUserProvidedNodes(nodes, parent, level); + private getTotalChildCount(rowNodes); + private doGroupMapping(); + private addToMap(mappedData, originalNodes); + private createFooterNode(groupNode); + } +} +declare module ag.grid { + class VirtualPageRowController { + rowRenderer: any; + datasourceVersion: any; + gridOptionsWrapper: any; + angularGrid: any; + datasource: any; + virtualRowCount: any; + foundMaxRow: any; + pageCache: any; + pageCacheSize: any; + pageLoadsInProgress: any; + pageLoadsQueued: any; + pageAccessTimes: any; + accessTime: any; + maxConcurrentDatasourceRequests: any; + maxPagesInCache: any; + pageSize: any; + overflowSize: any; + init(rowRenderer: any, gridOptionsWrapper: any, angularGrid: any): void; + setDatasource(datasource: any): void; + reset(): void; + createNodesFromRows(pageNumber: any, rows: any): any; + removeFromLoading(pageNumber: any): void; + pageLoadFailed(pageNumber: any): void; + pageLoaded(pageNumber: any, rows: any, lastRow: any): void; + putPageIntoCacheAndPurge(pageNumber: any, rows: any): void; + checkMaxRowAndInformRowRenderer(pageNumber: any, lastRow: any): void; + isPageAlreadyLoading(pageNumber: any): boolean; + doLoadOrQueue(pageNumber: any): void; + addToQueueAndPurgeQueue(pageNumber: any): void; + findLeastRecentlyAccessedPage(pageIndexes: any): number; + checkQueueForNextLoad(): void; + loadPage(pageNumber: any): void; + requestIsDaemon(datasourceVersionCopy: any): boolean; + getVirtualRow(rowIndex: any): any; + forEachNode(callback: any): void; + getModel(): { + getVirtualRow: (index: any) => any; + getVirtualRowCount: () => any; + forEachInMemory: (callback: any) => void; + forEachNode: (callback: any) => void; + forEachNodeAfterFilter: (callback: any) => void; + forEachNodeAfterFilterAndSort: (callback: any) => void; + }; + } +} +declare module ag.grid { + class PaginationController { + eGui: any; + btNext: any; + btPrevious: any; + btFirst: any; + btLast: any; + lbCurrent: any; + lbTotal: any; + lbRecordCount: any; + lbFirstRowOnPage: any; + lbLastRowOnPage: any; + ePageRowSummaryPanel: any; + angularGrid: any; + callVersion: any; + gridOptionsWrapper: any; + datasource: any; + pageSize: any; + rowCount: any; + foundMaxRow: any; + totalPages: any; + currentPage: any; + init(angularGrid: any, gridOptionsWrapper: any): void; + setDatasource(datasource: any): void; + reset(): void; + setTotalLabels(): void; + calculateTotalPages(): void; + pageLoaded(rows: any, lastRowIndex: any): void; + updateRowLabels(): void; + loadPage(): void; + isCallDaemon(versionCopy: any): boolean; + onBtNext(): void; + onBtPrevious(): void; + onBtFirst(): void; + onBtLast(): void; + isZeroPagesToDisplay(): boolean; + enableOrDisableButtons(): void; + createTemplate(): string; + getGui(): any; + setupComponents(): void; + } +} +declare module ag.grid { + class BorderLayout { + private eNorthWrapper; + private eSouthWrapper; + private eEastWrapper; + private eWestWrapper; + private eCenterWrapper; + private eOverlayWrapper; + private eCenterRow; + private eNorthChildLayout; + private eSouthChildLayout; + private eEastChildLayout; + private eWestChildLayout; + private eCenterChildLayout; + private isLayoutPanel; + private fullHeight; + private layoutActive; + private eGui; + private id; + private childPanels; + private centerHeightLastTime; + private sizeChangeListners; + constructor(params: any); + addSizeChangeListener(listener: Function): void; + fireSizeChanged(): void; + private setupPanels(params); + private setupPanel(content, ePanel); + getGui(): any; + doLayout(): boolean; + private layoutChild(childPanel); + private layoutHeight(); + private layoutHeightFullHeight(); + private layoutHeightNormal(); + getCentreHeight(): number; + private layoutWidth(); + setEastVisible(visible: any): void; + setOverlayVisible(visible: any): void; + setSouthVisible(visible: any): void; + } +} +declare module ag.grid { + class GridPanel { + private masterSlaveService; + private gridOptionsWrapper; + private columnModel; + private rowRenderer; + private rowModel; + private layout; + private forPrint; + private scrollWidth; + private scrollLagCounter; + private eBodyViewport; + private eRoot; + private eBody; + private eBodyContainer; + private ePinnedColsContainer; + private eHeaderContainer; + private ePinnedHeader; + private eHeader; + private eParentsOfRows; + private eBodyViewportWrapper; + private ePinnedColsViewport; + private eFloatingTop; + private ePinnedFloatingTop; + private eFloatingTopContainer; + private eFloatingBottom; + private ePinnedFloatingBottom; + private eFloatingBottomContainer; + init(gridOptionsWrapper: GridOptionsWrapper, columnModel: ColumnController, rowRenderer: RowRenderer, masterSlaveService: MasterSlaveService): void; + getLayout(): BorderLayout; + private setupComponents(); + getPinnedFloatingTop(): HTMLElement; + getFloatingTopContainer(): HTMLElement; + getPinnedFloatingBottom(): HTMLElement; + getFloatingBottomContainer(): HTMLElement; + private createTemplate(); + ensureIndexVisible(index: any): void; + ensureColIndexVisible(index: any): void; + showLoading(loading: any): void; + getWidthForSizeColsToFit(): number; + setRowModel(rowModel: any): void; + getBodyContainer(): HTMLElement; + getBodyViewport(): HTMLElement; + getPinnedColsContainer(): HTMLElement; + getHeaderContainer(): HTMLElement; + getRoot(): HTMLElement; + getPinnedHeader(): HTMLElement; + getRowsParent(): HTMLElement[]; + private queryHtmlElement(selector); + private findElements(); + private mouseWheelListener(event); + setBodyContainerWidth(): void; + setPinnedColContainerWidth(): void; + showPinnedColContainersIfNeeded(): void; + onBodyHeightChange(): void; + private sizeHeaderAndBody(); + private sizeHeaderAndBodyNormal(); + private sizeHeaderAndBodyForPrint(); + setHorizontalScrollPosition(hScrollPosition: number): void; + private addScrollListener(); + private requestDrawVirtualRows(); + private scrollHeader(bodyLeftPosition); + private scrollPinned(bodyTopPosition); + } +} +declare module ag.grid { + class DragAndDropService { + static theInstance: DragAndDropService; + static getInstance(): DragAndDropService; + dragItem: any; + constructor(); + stopDragging(): void; + setDragCssClasses(eListItem: any, dragging: any): void; + addDragSource(eDragSource: any, dragSourceCallback: any): void; + onMouseDownDragSource(eDragSource: any, dragSourceCallback: any): void; + addDropTarget(eDropTarget: any, dropTargetCallback: any): void; + } +} +declare function require(name: string): any; +declare module ag.grid { + class AgList { + private eGui; + private uniqueId; + private modelChangedListeners; + private itemSelectedListeners; + private beforeDropListeners; + private itemMovedListeners; + private dragSources; + private emptyMessage; + private eFilterValueTemplate; + private eListParent; + private model; + private cellRenderer; + private readOnly; + constructor(); + setReadOnly(readOnly: boolean): void; + setEmptyMessage(emptyMessage: any): void; + getUniqueId(): any; + addStyles(styles: any): void; + addCssClass(cssClass: any): void; + addDragSource(dragSource: any): void; + addModelChangedListener(listener: Function): void; + addItemSelectedListener(listener: any): void; + addItemMovedListener(listener: any): void; + addBeforeDropListener(listener: any): void; + private fireItemMoved(fromIndex, toIndex); + private fireModelChanged(); + private fireItemSelected(item); + private fireBeforeDrop(item); + private setupComponents(); + setModel(model: any): void; + getModel(): any; + setCellRenderer(cellRenderer: any): void; + refreshView(): void; + private insertRows(); + private insertBlankMessage(); + private setupAsDropTarget(); + private externalAcceptDrag(dragEvent); + private externalDrop(dragEvent); + private externalNoDrop(); + private addItemToList(newItem); + private addDragAndDropToListItem(eListItem, item); + private internalAcceptDrag(targetColumn, dragItem, eListItem); + private internalDrop(targetColumn, draggedColumn); + private internalNoDrop(eListItem); + private dragAfterThisItem(targetColumn, draggedColumn); + private setDropCssClasses(eListItem, state); + getGui(): any; + } +} +declare module ag.grid { + class ColumnSelectionPanel { + private gridOptionsWrapper; + private columnController; + private cColumnList; + layout: any; + private eRootPanel; + constructor(columnController: ColumnController, gridOptionsWrapper: GridOptionsWrapper, eventService: EventService); + private columnsChanged(); + getDragSource(): any; + private columnCellRenderer(params); + private setupComponents(); + private onItemMoved(fromIndex, toIndex); + getGui(): any; + } +} +declare module ag.grid { + class GroupSelectionPanel { + gridOptionsWrapper: any; + columnController: ColumnController; + inMemoryRowController: any; + cColumnList: any; + layout: any; + constructor(columnController: ColumnController, inMemoryRowController: any, gridOptionsWrapper: GridOptionsWrapper, eventService: EventService); + private columnsChanged(); + addDragSource(dragSource: any): void; + private columnCellRenderer(params); + private setupComponents(); + private onBeforeDrop(newItem); + private onItemMoved(fromIndex, toIndex); + } +} +declare module ag.grid { + class AgDropdownList { + private itemSelectedListeners; + private eValue; + private agList; + private eGui; + private hidePopupCallback; + private selectedItem; + private cellRenderer; + private popupService; + constructor(popupService: PopupService); + setWidth(width: any): void; + addItemSelectedListener(listener: any): void; + fireItemSelected(item: any): void; + setupComponents(): void; + itemSelected(item: any): void; + onClick(): void; + getGui(): any; + setSelected(item: any): void; + setCellRenderer(cellRenderer: any): void; + refreshView(): void; + setModel(model: any): void; + } +} +declare module ag.grid { + class ValuesSelectionPanel { + private gridOptionsWrapper; + private columnController; + private cColumnList; + private layout; + private popupService; + constructor(columnController: ColumnController, gridOptionsWrapper: GridOptionsWrapper, popupService: PopupService, eventService: EventService); + getLayout(): any; + private columnsChanged(); + addDragSource(dragSource: any): void; + private cellRenderer(params); + private setupComponents(); + private beforeDropListener(newItem); + } +} +declare module ag.grid { + class VerticalStack { + isLayoutPanel: any; + childPanels: any; + eGui: any; + constructor(); + addPanel(panel: any, height: any): void; + getGui(): any; + doLayout(): void; + } +} +declare module ag.grid { + class ToolPanel { + layout: any; + constructor(); + init(columnController: any, inMemoryRowController: any, gridOptionsWrapper: GridOptionsWrapper, popupService: PopupService, eventService: EventService): void; + } +} +declare module ag.grid { + interface GridOptions { + virtualPaging?: boolean; + toolPanelSuppressPivot?: boolean; + toolPanelSuppressValues?: boolean; + rowsAlreadyGrouped?: boolean; + suppressRowClickSelection?: boolean; + suppressCellSelection?: boolean; + sortingOrder?: string[]; + suppressMultiSort?: boolean; + suppressHorizontalScroll?: boolean; + unSortIcon?: boolean; + rowHeight?: number; + rowBuffer?: number; + enableColResize?: boolean; + enableCellExpressions?: boolean; + enableSorting?: boolean; + enableServerSideSorting?: boolean; + enableFilter?: boolean; + enableServerSideFilter?: boolean; + colWidth?: number; + suppressMenuHide?: boolean; + singleClickEdit?: boolean; + debug?: boolean; + icons?: any; + angularCompileRows?: boolean; + angularCompileFilters?: boolean; + angularCompileHeaders?: boolean; + localeText?: any; + localeTextFunc?: Function; + suppressScrollLag?: boolean; + groupSuppressAutoColumn?: boolean; + groupSelectsChildren?: boolean; + groupHidePivotColumns?: boolean; + groupIncludeFooter?: boolean; + groupUseEntireRow?: boolean; + groupSuppressRow?: boolean; + groupSuppressBlankHeader?: boolean; + forPrint?: boolean; + groupColumnDef?: any; + context?: any; + rowStyle?: any; + rowClass?: any; + groupDefaultExpanded?: any; + slaveGrids?: GridOptions[]; + rowSelection?: string; + rowDeselection?: boolean; + rowData?: any[]; + floatingTopRowData?: any[]; + floatingBottomRowData?: any[]; + showToolPanel?: boolean; + groupKeys?: string[]; + groupAggFields?: string[]; + columnDefs?: any[]; + datasource?: any; + pinnedColumnCount?: number; + groupHeaders?: boolean; + headerHeight?: number; + groupRowInnerRenderer?(params: any): void; + groupRowRenderer?: Function | Object; + isScrollLag?(): boolean; + isExternalFilterPresent?(): boolean; + doesExternalFilterPass?(node: RowNode): boolean; + getRowStyle?: any; + getRowClass?: any; + headerCellRenderer?: any; + groupAggFunction?(nodes: any[]): any; + onReady?(api: any): void; + onModelUpdated?(): void; + onCellClicked?(params: any): void; + onCellDoubleClicked?(params: any): void; + onCellContextMenu?(params: any): void; + onCellValueChanged?(params: any): void; + onCellFocused?(params: any): void; + onRowSelected?(params: any): void; + onSelectionChanged?(): void; + onBeforeFilterChanged?(): void; + onAfterFilterChanged?(): void; + onFilterModified?(): void; + onBeforeSortChanged?(): void; + onAfterSortChanged?(): void; + onVirtualRowRemoved?(params: any): void; + onRowClicked?(params: any): void; + api?: GridApi; + columnApi?: ColumnApi; + } +} +declare module ag.grid { + class GridApi { + private grid; + private rowRenderer; + private headerRenderer; + private filterManager; + private columnController; + private inMemoryRowController; + private selectionController; + private gridOptionsWrapper; + private gridPanel; + private valueService; + private masterSlaveService; + private eventService; + private csvCreator; + constructor(grid: Grid, rowRenderer: RowRenderer, headerRenderer: HeaderRenderer, filterManager: FilterManager, columnController: ColumnController, inMemoryRowController: InMemoryRowController, selectionController: SelectionController, gridOptionsWrapper: GridOptionsWrapper, gridPanel: GridPanel, valueService: ValueService, masterSlaveService: MasterSlaveService, eventService: EventService); + /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */ + __getMasterSlaveService(): MasterSlaveService; + getDataAsCsv(params?: CsvExportParams): string; + exportDataAsCsv(params?: CsvExportParams): void; + setDatasource(datasource: any): void; + onNewDatasource(): void; + setRowData(rowData: any): void; + setRows(rows: any): void; + onNewRows(): void; + setFloatingTopRowData(rows: any[]): void; + setFloatingBottomRowData(rows: any[]): void; + onNewCols(): void; + setColumnDefs(colDefs: ColDef[]): void; + unselectAll(): void; + refreshRows(rowNodes: RowNode[]): void; + refreshCells(rowNodes: RowNode[], colIds: string[]): void; + rowDataChanged(rows: any): void; + refreshView(): void; + softRefreshView(): void; + refreshGroupRows(): void; + refreshHeader(): void; + isAnyFilterPresent(): boolean; + isAdvancedFilterPresent(): boolean; + isQuickFilterPresent(): boolean; + getModel(): any; + onGroupExpandedOrCollapsed(refreshFromIndex: any): void; + expandAll(): void; + collapseAll(): void; + addVirtualRowListener(rowIndex: any, callback: any): void; + setQuickFilter(newFilter: any): void; + selectIndex(index: any, tryMulti: any, suppressEvents: any): void; + deselectIndex(index: any): void; + selectNode(node: any, tryMulti: any, suppressEvents: any): void; + deselectNode(node: any): void; + selectAll(): void; + deselectAll(): void; + recomputeAggregates(): void; + sizeColumnsToFit(): void; + showLoading(show: any): void; + isNodeSelected(node: any): boolean; + getSelectedNodesById(): { + [nodeId: number]: RowNode; + }; + getSelectedNodes(): RowNode[]; + getSelectedRows(): any[]; + getBestCostNodeSelection(): any; + getRenderedNodes(): any[]; + ensureColIndexVisible(index: any): void; + ensureIndexVisible(index: any): void; + ensureNodeVisible(comparator: any): void; + forEachInMemory(callback: Function): void; + forEachNode(callback: Function): void; + forEachNodeAfterFilter(callback: Function): void; + forEachNodeAfterFilterAndSort(callback: Function): void; + getFilterApiForColDef(colDef: any): any; + getFilterApi(key: any): any; + getColumnDef(key: any): ColDef; + onFilterChanged(): void; + setSortModel(sortModel: any): void; + getSortModel(): any; + setFilterModel(model: any): void; + getFilterModel(): any; + getFocusedCell(): any; + setFocusedCell(rowIndex: any, colIndex: any): void; + setHeaderHeight(headerHeight: number): void; + setGroupHeaders(groupHeaders: boolean): void; + showToolPanel(show: any): void; + isToolPanelShowing(): boolean; + hideColumn(colId: any, hide: any): void; + hideColumns(colIds: any, hide: any): void; + getColumnState(): [any]; + setColumnState(state: any): void; + doLayout(): void; + getValue(colDef: ColDef, data: any, node: any): any; + addEventListener(eventType: string, listener: Function): void; + addGlobalListener(listener: Function): void; + removeEventListener(eventType: string, listener: Function): void; + removeGlobalListener(listener: Function): void; + refreshPivot(): void; + } +} +declare module ag.grid { + class ValueService { + private gridOptionsWrapper; + private expressionService; + private columnController; + init(gridOptionsWrapper: GridOptionsWrapper, expressionService: ExpressionService, columnController: ColumnController): void; + getValue(colDef: ColDef, data: any, node: any): any; + private executeValueGetter(valueGetter, data, colDef, node); + private getValueCallback(data, node, field); + } +} +declare module ag.grid { + class Grid { + private virtualRowCallbacks; + private gridOptions; + private gridOptionsWrapper; + private inMemoryRowController; + private doingVirtualPaging; + private paginationController; + private virtualPageRowController; + private finished; + private selectionController; + private columnController; + private rowRenderer; + private headerRenderer; + private filterManager; + private valueService; + private masterSlaveService; + private eventService; + private toolPanel; + private gridPanel; + private eRootPanel; + private toolPanelShowing; + private doingPagination; + private usingInMemoryModel; + private rowModel; + constructor(eGridDiv: any, gridOptions: any, globalEventListener?: Function, $scope?: any, $compile?: any, quickFilterOnScope?: any); + getRowModel(): any; + private periodicallyDoLayout(); + private setupComponents($scope, $compile, eUserProvidedDiv, globalEventListener); + private onColumnChanged(event); + refreshPivot(): void; + getEventService(): EventService; + private onIndividualColumnResized(column); + showToolPanel(show: any): void; + isToolPanelShowing(): boolean; + isUsingInMemoryModel(): boolean; + setDatasource(datasource?: any): void; + private refreshHeaderAndBody(); + setFinished(): void; + onQuickFilterChanged(newFilter: any): void; + onFilterModified(): void; + onFilterChanged(): void; + onRowClicked(event: any, rowIndex: any, node: any): void; + showLoadingPanel(show: any): void; + private setupColumns(); + updateModelAndRefresh(step: any, refreshFromIndex?: any): void; + setRows(rows?: any, firstId?: any): void; + ensureNodeVisible(comparator: any): void; + getFilterModel(): any; + setFocusedCell(rowIndex: any, colIndex: any): void; + getSortModel(): any; + setSortModel(sortModel: any): void; + onSortingChanged(): void; + addVirtualRowListener(rowIndex: any, callback: any): void; + onVirtualRowSelected(rowIndex: any, selected: any): void; + onVirtualRowRemoved(rowIndex: any): void; + setColumnDefs(colDefs?: ColDef[]): void; + updateBodyContainerWidthAfterColResize(): void; + updatePinnedColContainerWidthAfterColResize(): void; + doLayout(): void; + } +} +declare module ag.grid { + class ComponentUtil { + static SIMPLE_PROPERTIES: string[]; + static SIMPLE_NUMBER_PROPERTIES: string[]; + static SIMPLE_BOOLEAN_PROPERTIES: string[]; + static WITH_IMPACT_NUMBER_PROPERTIES: string[]; + static WITH_IMPACT_BOOLEAN_PROPERTIES: string[]; + static WITH_IMPACT_OTHER_PROPERTIES: string[]; + static CALLBACKS: string[]; + static ALL_PROPERTIES: string[]; + static copyAttributesToGridOptions(gridOptions: GridOptions, component: any): GridOptions; + static processOnChange(changes: any, gridOptions: GridOptions, component: any): void; + static toBoolean(value: any): boolean; + static toNumber(value: any): number; + } +} +declare module ag.grid { + class AgGridNg2 { + private elementDef; + private _agGrid; + private _initialised; + private gridOptions; + private api; + private columnApi; + modelUpdated: any; + cellClicked: any; + cellDoubleClicked: any; + cellContextMenu: any; + cellValueChanged: any; + cellFocused: any; + rowSelected: any; + selectionChanged: any; + beforeFilterChanged: any; + afterFilterChanged: any; + filterModified: any; + beforeSortChanged: any; + afterSortChanged: any; + virtualRowRemoved: any; + rowClicked: any; + ready: any; + columnEverythingChanged: any; + columnPivotChanged: any; + columnValueChanged: any; + columnMoved: any; + columnVisible: any; + columnGroupOpened: any; + columnResized: any; + columnPinnedCountChanged: any; + virtualPaging: boolean; + toolPanelSuppressPivot: boolean; + toolPanelSuppressValues: boolean; + rowsAlreadyGrouped: boolean; + suppressRowClickSelection: boolean; + suppressCellSelection: boolean; + sortingOrder: string[]; + suppressMultiSort: boolean; + suppressHorizontalScroll: boolean; + unSortIcon: boolean; + rowHeight: number; + rowBuffer: number; + enableColResize: boolean; + enableCellExpressions: boolean; + enableSorting: boolean; + enableServerSideSorting: boolean; + enableFilter: boolean; + enableServerSideFilter: boolean; + colWidth: number; + suppressMenuHide: boolean; + debug: boolean; + icons: any; + angularCompileRows: boolean; + angularCompileFilters: boolean; + angularCompileHeaders: boolean; + localeText: any; + localeTextFunc: Function; + groupSuppressAutoColumn: boolean; + groupSelectsChildren: boolean; + groupHidePivotColumns: boolean; + groupIncludeFooter: boolean; + groupUseEntireRow: boolean; + groupSuppressRow: boolean; + groupSuppressBlankHeader: boolean; + groupColumnDef: any; + forPrint: boolean; + context: any; + rowStyle: any; + rowClass: any; + headerCellRenderer: any; + groupDefaultExpanded: any; + slaveGrids: GridOptions[]; + rowSelection: string; + rowDeselection: boolean; + rowData: any[]; + floatingTopRowData: any[]; + floatingBottomRowData: any[]; + showToolPanel: boolean; + groupKeys: string[]; + groupAggFunction: (nodes: any[]) => void; + groupAggFields: string[]; + columnDefs: any[]; + datasource: any; + pinnedColumnCount: number; + quickFilterText: string; + groupHeaders: boolean; + headerHeight: number; + constructor(elementDef: any); + onInit(): void; + onChange(changes: any): void; + private globalEventListener(eventType, event); + } +} +declare module ag.grid { +} +declare var exports: any; +declare var module: any; +declare module ag.grid { + interface Filter { + getGui(): any; + isFilterActive(): boolean; + doesFilterPass(params: any): boolean; + afterGuiAttached?(params?: { + hidePopup?: Function; + }): void; + onNewRowsLoaded?(): void; + } +} diff --git a/amqplib/amqplib-tests.ts b/amqplib/amqplib-tests.ts index 7a1f512002..85763c9ee1 100644 --- a/amqplib/amqplib-tests.ts +++ b/amqplib/amqplib-tests.ts @@ -1,9 +1,11 @@ /// +// promise api tests import amqp = require("amqplib"); var msg = "Hello World"; +// test promise api amqp.connect("amqp://localhost") .then(connection => { return connection.createChannel() @@ -19,3 +21,47 @@ amqp.connect("amqp://localhost") .then(channel => channel.consume("myQueue", newMsg => console.log("New Message: " + newMsg.content.toString()))) .ensure(() => connection.close()); }); + +// test promise api properties +var amqpMessage: amqp.Message; +amqpMessage.properties.contentType = "application/json"; +var amqpAssertExchangeOptions: amqp.Options.AssertExchange; +var anqpAssertExchangeReplies: amqp.Replies.AssertExchange; + + +// callback api tests +import amqpcb = require("amqplib/callback_api"); + +amqpcb.connect("amqp://localhost", (err, connection) => { + if(!err) { + connection.createChannel((err, channel) => { + if (!err) { + channel.assertQueue("myQueue", {}, (err, ok) => { + if(!err) { + channel.sendToQueue("myQueue", new Buffer(msg)); + } + }); + } + }); + } +}); + +amqpcb.connect("amqp://localhost", (err, connection) => { + if(!err) { + connection.createChannel((err, channel) => { + if (!err) { + channel.assertQueue("myQueue", {}, (err, ok) => { + if(!err) { + channel.consume("myQueue", newMsg => console.log("New Message: " + newMsg.content.toString())); + } + }); + } + }); + } +}); + +// test callback api properties +var amqpcbMessage: amqpcb.Message; +amqpcbMessage.properties.contentType = "application/json"; +var amqpcbAssertExchangeOptions: amqpcb.Options.AssertExchange; +var anqpcbAssertExchangeReplies: amqpcb.Replies.AssertExchange; \ No newline at end of file diff --git a/amqplib/amqplib.d.ts b/amqplib/amqplib.d.ts index 0c7f0720a6..d03c46ed79 100644 --- a/amqplib/amqplib.d.ts +++ b/amqplib/amqplib.d.ts @@ -1,22 +1,12 @@ // Type definitions for amqplib 0.3.x // Project: https://github.com/squaremo/amqp.node -// Definitions by: Michael Nahkies +// Definitions by: Michael Nahkies , Ab Reitsma // Definitions: https://github.com/borisyankov/DefinitelyTyped /// /// -declare module "amqplib" { - - import events = require("events"); - import when = require("when"); - - interface Connection extends events.EventEmitter { - close(): when.Promise; - createChannel(): when.Promise; - createConfirmChannel(): when.Promise; - } - +declare module "amqplib/properties" { module Replies { interface Empty { } @@ -25,6 +15,9 @@ declare module "amqplib" { messageCount: number; consumerCount: number; } + interface PurgeQueue { + messageCount: number; + } interface DeleteQueue { messageCount: number; } @@ -73,7 +66,7 @@ declare module "amqplib" { contentType?: string; contentEncoding?: string; - headers?: Object; + headers?: any; priority?: number; correlationId?: string; replyTo?: string; @@ -88,7 +81,7 @@ declare module "amqplib" { noAck?: boolean; exclusive?: boolean; priority?: number; - arguments?: Object; + arguments?: any; } interface Get { noAck?: boolean; @@ -97,8 +90,24 @@ declare module "amqplib" { interface Message { content: Buffer; - fields: Object; - properties: Object; + fields: any; + properties: any; + } +} + +declare module "amqplib" { + + import events = require("events"); + import when = require("when"); + import shared = require("amqplib/properties") + export import Replies = shared.Replies; + export import Options = shared.Options; + export import Message = shared.Message; + + interface Connection extends events.EventEmitter { + close(): when.Promise; + createChannel(): when.Promise; + createConfirmChannel(): when.Promise; } interface Channel extends events.EventEmitter { @@ -108,7 +117,7 @@ declare module "amqplib" { checkQueue(queue: string): when.Promise; deleteQueue(queue: string, options?: Options.DeleteQueue): when.Promise; - purgeQueue(queue: string): when.Promise; + purgeQueue(queue: string): when.Promise; bindQueue(queue: string, source: string, pattern: string, args?: any): when.Promise; unbindQueue(queue: string, source: string, pattern: string, args?: any): when.Promise; @@ -142,3 +151,68 @@ declare module "amqplib" { function connect(url: string, socketOptions?: any): when.Promise; } + +declare module "amqplib/callback_api" { + + import events = require("events"); + import shared = require("amqplib/properties") + export import Replies = shared.Replies; + export import Options = shared.Options; + export import Message = shared.Message; + + interface Connection extends events.EventEmitter { + close(callback?: (err: any) => void): void; + createChannel(callback: (err: any, channel: Channel) => void): void; + createConfirmChannel(callback: (err: any, confirmChannel: ConfirmChannel) => void): void; + } + + interface Channel extends events.EventEmitter { + close(callback: (err: any) => void): void; + + assertQueue(queue?: string, options?: Options.AssertQueue, callback?: (err:any, ok: Replies.AssertQueue) => void): void; + checkQueue(queue: string, callback?: (err: any, ok: Replies.AssertQueue) => void): void; + + deleteQueue(queue: string, options?: Options.DeleteQueue, callback?: (err:any, ok: Replies.DeleteQueue) => void): void; + purgeQueue(queue: string, callback?: (err:any, ok: Replies.PurgeQueue) => void): void; + + bindQueue(queue: string, source: string, pattern: string, args?: any, callback?: (err: any, ok: Replies.Empty) => void): void; + unbindQueue(queue: string, source: string, pattern: string, args?: any, callback?: (err: any, ok: Replies.Empty) => void): void; + + assertExchange(exchange: string, type: string, options?: Options.AssertExchange, callback?: (err: any, ok: Replies.AssertExchange) => void): void; + checkExchange(exchange: string, callback?: (err: any, ok: Replies.Empty) => void): void; + + deleteExchange(exchange: string, options?: Options.DeleteExchange, callback?: (err: any, ok: Replies.Empty) => void): void; + + bindExchange(destination: string, source: string, pattern: string, args?: any, callback?: (err: any, ok: Replies.Empty) => void): void; + unbindExchange(destination: string, source: string, pattern: string, args?: any, callback?: (err: any, ok: Replies.Empty) => void): void; + + publish(exchange: string, routingKey: string, content: Buffer, options?: Options.Publish): boolean; + sendToQueue(queue: string, content: Buffer, options?: Options.Publish): boolean; + + consume(queue: string, onMessage: (msg: Message) => any, options?: Options.Consume, callback?: (err: any, ok: Replies.Consume) => void): void; + + cancel(consumerTag: string, callback?: (err: any, ok: Replies.Empty) => void): void; + get(queue: string, options?: Options.Get, callback?: (err: any, ok: Message | boolean) => void): void; + + ack(message: Message, allUpTo?: boolean): void; + ackAll(): void; + + nack(message: Message, allUpTo?: boolean, requeue?: boolean): void; + nackAll(requeue?: boolean): void; + reject(message: Message, requeue?: boolean): void; + + prefetch(count: number, global?: boolean): void; + recover(callback?: (err: any, ok: Replies.Empty) => void): void; + } + + interface ConfirmChannel extends Channel { + publish(exchange: string, routingKey: string, content: Buffer, options?: Options.Publish, callback?: (err: any, ok: Replies.Empty) => void): boolean; + sendToQueue(queue: string, content: Buffer, options?: Options.Publish, callback?: (err: any, ok: Replies.Empty) => void): boolean; + + waitForConfirms(callback?: (err: any) => void): void; + } + + function connect(callback: (err: any, connection: Connection) => void): void; + function connect(url: string, callback: (err: any, connection: Connection) => void): void; + function connect(url: string, socketOptions: any, callback: (err: any, connection: Connection) => void): void; +} diff --git a/analytics-node/analytics-node-tests.ts b/analytics-node/analytics-node-tests.ts index 66a4b4995e..57c48252ff 100644 --- a/analytics-node/analytics-node-tests.ts +++ b/analytics-node/analytics-node-tests.ts @@ -80,3 +80,12 @@ function testIntegrations(): void { } }); } + +function testFlush(): void { + analytics.flush(); + analytics.flush(function(err, batch) { + if (err) { alert("Oh nos!"); } + else { console.log(batch.batch[0].type); } + }); +} + diff --git a/analytics-node/analytics-node.d.ts b/analytics-node/analytics-node.d.ts index 981e754e59..d4376d83ea 100644 --- a/analytics-node/analytics-node.d.ts +++ b/analytics-node/analytics-node.d.ts @@ -65,6 +65,16 @@ declare module AnalyticsNode { anonymous_id?: string | number; integrations?: Integrations; }): Analytics; + + /* Flush batched calls to make sure nothing is left in the queue */ + flush(fn?: (err: Error, batch: { + batch: Array<{ + type: string; + }>; + messageId: string; + sentAt: Date; + timestamp: Date; + }) => void): Analytics; } } diff --git a/angular-dialog-service/angular-dialog-service-tests.ts b/angular-dialog-service/angular-dialog-service-tests.ts new file mode 100644 index 0000000000..8142a3a713 --- /dev/null +++ b/angular-dialog-service/angular-dialog-service-tests.ts @@ -0,0 +1,16 @@ +/// + + +var options : angular.dialogservice.IDialogOptions = {}; +options.animation = true; +options.backdrop = true; +options.keyboard = true; +options.backdropClass = "some-css-class"; +options.windowClass = "some-css-class"; +options.size = 'md'; + +var dialogs : angular.dialogservice.IDialogService; +dialogs.error('Error','An unknown error occurred preventing the completion of the requested action.'); +dialogs.wait('Creating User','Please wait while we attempt to create user "Michael Conroy."

This should only take a moment.',50); +dialogs.notify('Something Happened','Something happened at this point in the application that I wish to let you know about'); +dialogs.create('url/to/a/template','ctrlrToUse',{},{}); diff --git a/angular-dialog-service/angular-dialog-service.d.ts b/angular-dialog-service/angular-dialog-service.d.ts new file mode 100644 index 0000000000..38ce8589e4 --- /dev/null +++ b/angular-dialog-service/angular-dialog-service.d.ts @@ -0,0 +1,82 @@ +// Type definitions for Angular Dialog Service 5.2.8 +// Project: https://github.com/m-e-conroy/angular-dialog-service +// Definitions by: William Comartin +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// +/// + +declare module angular.dialogservice { + + interface IDialogOptions { + /** + * Set to false to disable animations on new modal/backdrop. Does not toggle animations for modals/backdrops that are already displayed. + * + * @default false + */ + animation?: boolean; + + /** + * controls the presence of a backdrop + * Allowed values: + * - true (default) + * - false (no backdrop) + * - 'static' backdrop is present but modal window is not closed when clicking outside of the modal window + * + * @default true + */ + backdrop?: boolean | string; + + /** + * indicates whether the dialog should be closable by hitting the ESC key + * + * @default true + */ + keyboard?: boolean; + + /** + * additional CSS class(es) to be added to a modal backdrop template + * + * @default 'dialogs-backdrop-default' + */ + backdropClass?: string; + + /** + * additional CSS class(es) to be added to a modal window template + * + * @default 'dialogs-default' + */ + windowClass?: string; + + /** + * Optional suffix of modal window class. The value used is appended to the `modal-` class, i.e. a value of `sm` gives `modal-sm`. + * + * @default 'lg' + */ + size?: string; + } + + interface IDialogService { + /** + * Opens a new error modal instance. + */ + error(header: string, msg: string, opts?: IDialogOptions): ng.ui.bootstrap.IModalServiceInstance + /** + * Opens a new wait modal instance. + */ + wait(header: string, msg: string, progress: number, opts?: IDialogOptions): ng.ui.bootstrap.IModalServiceInstance + /** + * Opens a new notify modal instance. + */ + notify(header: string, msg: string, opts?: IDialogOptions): ng.ui.bootstrap.IModalServiceInstance + /** + * Opens a new confirm modal instance. + */ + confirm(header: string, msg: string, opts?: IDialogOptions): ng.ui.bootstrap.IModalServiceInstance + /** + * Opens a new custom modal instance. + */ + create(url: string, ctrlr: string, data: any, opts?: IDialogOptions): ng.ui.bootstrap.IModalServiceInstance + } + +} diff --git a/angular-formly/angular-formly.d.ts b/angular-formly/angular-formly.d.ts index 8f76b3ccf9..9917d217f4 100644 --- a/angular-formly/angular-formly.d.ts +++ b/angular-formly/angular-formly.d.ts @@ -297,6 +297,7 @@ declare module AngularFormly { bound?: any; expression?: any; value?: any; + [key: string]: any; }; diff --git a/angular-gettext/angular-gettext-tests.ts b/angular-gettext/angular-gettext-tests.ts index 9a10f1062f..0b0532fc4f 100644 --- a/angular-gettext/angular-gettext-tests.ts +++ b/angular-gettext/angular-gettext-tests.ts @@ -1,61 +1,61 @@ -/// - -module angular_gettext_tests { - - - // Configuring angular-gettext - // https://angular-gettext.rocketeer.be/dev-guide/configure/ - //Setting the language - angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) { - gettextCatalog.setCurrentLanguage('nl'); - }); - - //Highlighting untranslated strings - angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) { - gettextCatalog.debug = true; - }); - - - // Marking strings in JavaScript code as translatable. - // https://angular-gettext.rocketeer.be/dev-guide/annotate-js/ - angular.module("myApp").controller("helloController", function (gettext: angular.gettext.gettextFunction) { - var myString = gettext("Hello"); - }); - - //Translating directly in JavaScript. - angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) { - var translated: string = gettextCatalog.getString("Hello"); - }); - - angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) { - var myString2: string = gettextCatalog.getPlural(3, "Bird", "Birds"); - }); - - angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) { - var translated: string = gettextCatalog.getString("Hello {{name}}", { name: "Ruben" }); - }); - - // Setting strings manually - // https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/ - - angular.module("myApp").run(function (gettextCatalog: angular.gettext.gettextCatalog) { - // Load the strings automatically during initialization. - gettextCatalog.setStrings("nl", { - "Hello": "Hallo", - "One boat": ["Een boot", "{{$count}} boats"] - }); - }); - - - interface helloControllerScope extends ng.IScope { - switchLanguage: (lang: string) => void; - } - // Lazy-loading languages - // https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/ - angular.module("myApp").controller("helloController", function ($scope: helloControllerScope, gettextCatalog: angular.gettext.gettextCatalog) { - $scope.switchLanguage = function (lang: string) { - gettextCatalog.setCurrentLanguage(lang); - gettextCatalog.loadRemote("/languages/" + lang + ".json"); - }; - }); +/// + +module angular_gettext_tests { + + + // Configuring angular-gettext + // https://angular-gettext.rocketeer.be/dev-guide/configure/ + //Setting the language + angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) { + gettextCatalog.setCurrentLanguage('nl'); + }); + + //Highlighting untranslated strings + angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) { + gettextCatalog.debug = true; + }); + + + // Marking strings in JavaScript code as translatable. + // https://angular-gettext.rocketeer.be/dev-guide/annotate-js/ + angular.module("myApp").controller("helloController", function (gettext: angular.gettext.gettextFunction) { + var myString = gettext("Hello"); + }); + + //Translating directly in JavaScript. + angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) { + var translated: string = gettextCatalog.getString("Hello"); + }); + + angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) { + var myString2: string = gettextCatalog.getPlural(3, "Bird", "Birds"); + }); + + angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) { + var translated: string = gettextCatalog.getString("Hello {{name}}", { name: "Ruben" }); + }); + + // Setting strings manually + // https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/ + + angular.module("myApp").run(function (gettextCatalog: angular.gettext.gettextCatalog) { + // Load the strings automatically during initialization. + gettextCatalog.setStrings("nl", { + "Hello": "Hallo", + "One boat": ["Een boot", "{{$count}} boats"] + }); + }); + + + interface helloControllerScope extends ng.IScope { + switchLanguage: (lang: string) => void; + } + // Lazy-loading languages + // https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/ + angular.module("myApp").controller("helloController", function ($scope: helloControllerScope, gettextCatalog: angular.gettext.gettextCatalog) { + $scope.switchLanguage = function (lang: string) { + gettextCatalog.setCurrentLanguage(lang); + gettextCatalog.loadRemote("/languages/" + lang + ".json"); + }; + }); } \ No newline at end of file diff --git a/angular-gettext/angular-gettext.d.ts b/angular-gettext/angular-gettext.d.ts index 1a88ef1641..dc1de2bf6c 100644 --- a/angular-gettext/angular-gettext.d.ts +++ b/angular-gettext/angular-gettext.d.ts @@ -1,73 +1,73 @@ -// Type definitions for angular-gettext v2.1.0 -// Project: https://angular-gettext.rocketeer.be/ -// Definitions by: Ákos Lukács -// Definitions: https://github.com/borisyankov/DefinitelyTyped - -/// - -declare module angular.gettext { - interface gettextCatalog { - - ////////////// - /// Fields /// - ////////////// - - /** (default: false): Whether or not to prefix untranslated strings with [MISSING]: or a custom prefix. */ - debug: boolean; - /** (default: [MISSING]:): Custom prefix for untranslated strings. */ - debugPrefix: string; - /** (default: false): Whether or not to wrap all processed text with markers.Example output: [Welcome] */ - showTranslatedMarkers: boolean; - /** (default: [): Custom prefix to mark strings that have been run through angular-gettext. */ - translatedMarkerPrefix: string; - /** (default: ]): Custom suffix to mark strings that have been run through angular-gettext. */ - translatedMarkerSuffix: string; - /** An object of loaded translation strings.Shouldn't be used directly. */ - strings: {}; - /** The default language, in which you're application is written. This defaults to English and it's generally a bad idea to use anything else: if your language has different pluralization rules you'll end up with incorrect translations. Deprecated - * @deprecreated - */ - baseLanguage: string; - - - /////////////// - /// Methods /// - /////////////// - - /** Sets the current language and makes sure that all translations get updated correctly. */ - setCurrentLanguage(lang: string): void; - - /** Returns the current language. */ - getCurrentLanguage(): string; - - /** Processes an object of string definitions. More details https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/ - * @param language A language code. - * @param strings A dictionary of strings. The format of this dictionary is: - * - Keys: Singular English strings (as defined in the source files) - * - Values: Either a single string for signular-only strings or an array of plural forms. - */ - setStrings(language: string, strings: { [key: string]: string|string[] }): void; - - /** Get the correct pluralized (but untranslated) string for the value of n. */ - getStringForm(string: string, n: number): string; - - /** Translate a string with the given context. Uses Angular.JS interpolation, so something like this will do what you expect: - * var hello = gettextCatalog.getString("Hello {{name}}!", { name: "Ruben" }); - * // var hello will be "Hallo Ruben!" in Dutch. - * The context parameter is optional: pass null (or don't pass anything) if you're not using it: this skips interpolation and is a lot faster. - */ - getString(string: string, context?: any): string; - - /** Translate a plural string with the given context. */ - getPlural(n: number, string: string, stringPlural: string, context?: any): string; - - /** Load a set of translation strings from a given URL.This should be a JSON catalog generated with grunt-angular-gettext. More details https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/ */ - loadRemote(url: string): ng.IHttpPromise; - } - - /** If you have text that should be translated in your JavaScript code, wrap it with a call to a function named gettext. This module provides an injectable function to do so */ - interface gettextFunction { - (dummyString: string): string; - } -} - +// Type definitions for angular-gettext v2.1.0 +// Project: https://angular-gettext.rocketeer.be/ +// Definitions by: Ákos Lukács +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module angular.gettext { + interface gettextCatalog { + + ////////////// + /// Fields /// + ////////////// + + /** (default: false): Whether or not to prefix untranslated strings with [MISSING]: or a custom prefix. */ + debug: boolean; + /** (default: [MISSING]:): Custom prefix for untranslated strings. */ + debugPrefix: string; + /** (default: false): Whether or not to wrap all processed text with markers.Example output: [Welcome] */ + showTranslatedMarkers: boolean; + /** (default: [): Custom prefix to mark strings that have been run through angular-gettext. */ + translatedMarkerPrefix: string; + /** (default: ]): Custom suffix to mark strings that have been run through angular-gettext. */ + translatedMarkerSuffix: string; + /** An object of loaded translation strings.Shouldn't be used directly. */ + strings: {}; + /** The default language, in which you're application is written. This defaults to English and it's generally a bad idea to use anything else: if your language has different pluralization rules you'll end up with incorrect translations. Deprecated + * @deprecreated + */ + baseLanguage: string; + + + /////////////// + /// Methods /// + /////////////// + + /** Sets the current language and makes sure that all translations get updated correctly. */ + setCurrentLanguage(lang: string): void; + + /** Returns the current language. */ + getCurrentLanguage(): string; + + /** Processes an object of string definitions. More details https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/ + * @param language A language code. + * @param strings A dictionary of strings. The format of this dictionary is: + * - Keys: Singular English strings (as defined in the source files) + * - Values: Either a single string for signular-only strings or an array of plural forms. + */ + setStrings(language: string, strings: { [key: string]: string|string[] }): void; + + /** Get the correct pluralized (but untranslated) string for the value of n. */ + getStringForm(string: string, n: number): string; + + /** Translate a string with the given context. Uses Angular.JS interpolation, so something like this will do what you expect: + * var hello = gettextCatalog.getString("Hello {{name}}!", { name: "Ruben" }); + * // var hello will be "Hallo Ruben!" in Dutch. + * The context parameter is optional: pass null (or don't pass anything) if you're not using it: this skips interpolation and is a lot faster. + */ + getString(string: string, context?: any): string; + + /** Translate a plural string with the given context. */ + getPlural(n: number, string: string, stringPlural: string, context?: any): string; + + /** Load a set of translation strings from a given URL.This should be a JSON catalog generated with grunt-angular-gettext. More details https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/ */ + loadRemote(url: string): ng.IHttpPromise; + } + + /** If you have text that should be translated in your JavaScript code, wrap it with a call to a function named gettext. This module provides an injectable function to do so */ + interface gettextFunction { + (dummyString: string): string; + } +} + diff --git a/angular-growl-v2/angular-growl-v2-test.ts b/angular-growl-v2/angular-growl-v2-tests.ts similarity index 100% rename from angular-growl-v2/angular-growl-v2-test.ts rename to angular-growl-v2/angular-growl-v2-tests.ts diff --git a/angular-httpi/httpi-tests.ts b/angular-httpi/httpi-tests.ts new file mode 100644 index 0000000000..2d8ffa84ff --- /dev/null +++ b/angular-httpi/httpi-tests.ts @@ -0,0 +1,64 @@ +/// + +(function() { + 'use strict'; + var app = angular.module("Demo", ["httpi"]); + // -------------------------------------------------- // + // -------------------------------------------------- // + // I control the main demo. + app.controller( + "DemoController", + function($scope: ng.IScope, httpi: Httpi.HttpiFactory) { + + console.warn("None of the API endpoints exist - they will all throw 404."); + // NOTE: The (.|.) notation will be stripped out automatically; it's only + // here to improve readability of the "happy paths" for interpolation + // labels. The following urls are pre-processed to be identical: + // -- + // api/friends/( :listCommand | :id/:itemCommand ) + // api/friends/:listCommand:id/:itemCommand + var resource = httpi.resource("api/friends/( :listCommand | :id/:itemCommand )"); + // Clear list of friends - matching listCommand. + resource.post({ + data: { + listCommand: "reset" + } + }); + // Create a new friend - no matching URL parameters. + resource.post({ + data: { + name: "Tricia" + } + }); + // Get a given friend - ID matching. + resource.get({ + data: { + id: 4 + } + }); + // Make best friend - ID, itemCommand matching. + resource.post({ + data: { + id: 4, + itemCommand: "make-best-friend" + } + }); + // Get gets friends - no matching URL parameters. + resource.get({ + params: { + limit: "besties" + } + }); + // Get a friend as a JSONP request. + // -- + // NOTE: The "resource" will auto-inject the "JSON_CALLBACK" marker that + // AngularJS will automatically replace with an internal callback name. + resource.jsonp({ + data: { + id: 43 + } + }); + } + ); + +})(); \ No newline at end of file diff --git a/angular-httpi/httpi.d.ts b/angular-httpi/httpi.d.ts new file mode 100644 index 0000000000..eb4a16106b --- /dev/null +++ b/angular-httpi/httpi.d.ts @@ -0,0 +1,42 @@ +// Type definitions for angular-httpi +// Project: https://github.com/bennadel/httpi +// Definitions by: Andrew Camilleri +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module Httpi { + export interface HttpiPayload extends ng.IRequestShortcutConfig { + method?: string; + url?: string; + params?: {}; + data?: {}; + keepTrailingSlash?: boolean; + } + + export interface HttpiFactory { + + (config: HttpiPayload): ng.IHttpPromise<{}>; + + resource(url: string): HttpiResource; + } + + export class HttpiResource { + + constructor(http: ng.IHttpService, url: string); + + delete(config: HttpiPayload): ng.IHttpPromise; + + get(config: HttpiPayload): ng.IHttpPromise; + + head(config: HttpiPayload): ng.IHttpPromise; + + jsonp(config: HttpiPayload): ng.IHttpPromise; + + post(config: HttpiPayload): ng.IHttpPromise; + + put(config: HttpiPayload): ng.IHttpPromise; + + setKeepTrailingSlash(newKeepTrailingSlash: boolean): HttpiResource; + } +} \ No newline at end of file diff --git a/angular-loading-bar/angular-loading-bar-tests.ts b/angular-loading-bar/angular-loading-bar-tests.ts new file mode 100644 index 0000000000..b7ca2894ea --- /dev/null +++ b/angular-loading-bar/angular-loading-bar-tests.ts @@ -0,0 +1,15 @@ +/// + +var app = angular.module('testModule', ['angular-loading-bar']); + +class TestController { + + constructor($http: ng.IHttpService) { + + $http.get("http://xyz.com", { ignoreLoadingBar: true }) + + } + +} + +app.controller('TestController', TestController); diff --git a/angular-loading-bar/angular-loading-bar.d.ts b/angular-loading-bar/angular-loading-bar.d.ts new file mode 100644 index 0000000000..b1a8cd55df --- /dev/null +++ b/angular-loading-bar/angular-loading-bar.d.ts @@ -0,0 +1,18 @@ +// Type definitions for angular-loading-bar +// Project: https://github.com/chieffancypants/angular-loading-bar +// Definitions by: Stephen Lautier +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + + +declare module angular { + + interface IRequestShortcutConfig { + /** + * Indicates that the loading bar should be hidden. + */ + ignoreLoadingBar?: boolean; + } + +} \ No newline at end of file diff --git a/angular-material/angular-material.d.ts b/angular-material/angular-material.d.ts index ee932f0218..3b9a896c90 100644 --- a/angular-material/angular-material.d.ts +++ b/angular-material/angular-material.d.ts @@ -221,4 +221,19 @@ declare module angular.material { setDefaultTheme(theme: string): void; alwaysWatchTheme(alwaysWatch: boolean): void; } + + interface IDateLocaleProvider { + months: string[]; + shortMonths: string[]; + days: string[]; + shortDays: string[]; + dates: string[]; + firstDayOfWeek: number; + parseDate(dateString: string): Date; + formatDate(date: Date): string; + monthHeaderFormatter(date: Date): string; + weekNumberFormatter(weekNumber: number): string; + msgCalendar: string; + msgOpenCalendar: string; + } } diff --git a/angular-ui-router/angular-ui-router.d.ts b/angular-ui-router/angular-ui-router.d.ts index 3ec31968cd..014baf5ac4 100644 --- a/angular-ui-router/angular-ui-router.d.ts +++ b/angular-ui-router/angular-ui-router.d.ts @@ -71,10 +71,16 @@ declare module angular.ui { * Arbitrary data object, useful for custom configuration. */ data?: any; + /** * Boolean (default true). If false will not re-trigger the same state just because a search/query parameter has changed. Useful for when you'd like to modify $location.search() without triggering a reload. */ reloadOnSearch?: boolean; + + /** + * Boolean (default true). If false will reload state on everytransitions. Useful for when you'd like to restore all data to its initial state. + */ + cache?: boolean; } interface IStateProvider extends angular.IServiceProvider { @@ -229,10 +235,10 @@ declare module angular.ui { */ go(to: string, params?: {}, options?: IStateOptions): angular.IPromise; go(to: IState, params?: {}, options?: IStateOptions): angular.IPromise; - transitionTo(state: string, params?: {}, updateLocation?: boolean): void; - transitionTo(state: IState, params?: {}, updateLocation?: boolean): void; - transitionTo(state: string, params?: {}, options?: IStateOptions): void; - transitionTo(state: IState, params?: {}, options?: IStateOptions): void; + transitionTo(state: string, params?: {}, updateLocation?: boolean): angular.IPromise; + transitionTo(state: IState, params?: {}, updateLocation?: boolean): angular.IPromise; + transitionTo(state: string, params?: {}, options?: IStateOptions): angular.IPromise; + transitionTo(state: IState, params?: {}, options?: IStateOptions): angular.IPromise; includes(state: string, params?: {}): boolean; is(state:string, params?: {}): boolean; is(state: IState, params?: {}): boolean; @@ -244,10 +250,10 @@ declare module angular.ui { current: IState; /** A param object, e.g. {sectionId: section.id)}, that you'd like to test against the current active state. */ params: IStateParamsService; - reload(): void; + reload(): angular.IPromise; /** Currently pending transition. A promise that'll resolve or reject. */ - transition: ng.IPromise<{}>; + transition: angular.IPromise<{}>; $current: IResolvedState; } diff --git a/angular2/angular2-tests.ts b/angular2/angular2-tests.ts index a39cdcf79f..1c64de9d74 100644 --- a/angular2/angular2-tests.ts +++ b/angular2/angular2-tests.ts @@ -1,43 +1,3 @@ /// -/// -import {Component, View, Directive, bootstrap, bind, NgFor, NgIf} from "angular2/angular2"; - -class Service { - -} -class Service2 { - -} - -class Cmp { - static annotations: any[]; -} -Cmp.annotations = [ - Component({ - selector: 'cmp', - bindings: [Service, bind(Service2).toValue(null)] - }), - View({ - template: '{{greeting}} world!', - directives: [NgFor, NgIf] - }), - Directive({ - selector: '[tooltip]', - inputs: [ - 'text: tooltip' - ], - outputs: [ - '(mouseenter):onMouseEnter()', - '(mouseleave):onMouseLeave()' - ] - }) -]; - -@Component({selector: 'cmp2'}) -@View({templateUrl: '/index.html'}) -class Cmp2 { - -} - -bootstrap(Cmp); +// No tests, because angular 2 typings are not in DefinitelyTyped. \ No newline at end of file diff --git a/angular2/angular2-tests.ts.tscparams b/angular2/angular2-tests.ts.tscparams deleted file mode 100644 index 3f0863ac67..0000000000 --- a/angular2/angular2-tests.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ ---experimentalDecorators --noImplicitAny --target ES5 diff --git a/angular2/angular2.d.ts b/angular2/angular2.d.ts index 616157aaf6..3560809982 100644 --- a/angular2/angular2.d.ts +++ b/angular2/angular2.d.ts @@ -1,17105 +1,13 @@ -// Type definitions for Angular v2.0.0-39 +// Type definitions for Angular 2 // Project: http://angular.io/ // Definitions by: angular team // Definitions: https://github.com/borisyankov/DefinitelyTyped -// *********************************************************** -// This file is generated by the Angular build process. -// Please do not create manual edits or send pull requests -// modifying this file. -// *********************************************************** - -// angular2/angular2 depends transitively on these libraries. -// If you don't have them installed you can install them using TSD -// https://github.com/DefinitelyTyped/tsd - -/// -// angular2/web_worker/worker depends transitively on these libraries. -// If you don't have them installed you can install them using TSD -// https://github.com/DefinitelyTyped/tsd - -/// -// angular2/web_worker/ui depends transitively on these libraries. -// If you don't have them installed you can install them using TSD -// https://github.com/DefinitelyTyped/tsd - -/// - - -interface Map {} - - -declare module ng { - // See https://github.com/Microsoft/TypeScript/issues/1168 - class BaseException /* extends Error */ { - message: string; - stack: string; - toString(): string; - } - interface InjectableReference {} -} - -declare module ngWorker { - // See https://github.com/Microsoft/TypeScript/issues/1168 - class BaseException /* extends Error */ { - message: string; - stack: string; - toString(): string; - } - interface InjectableReference {} -} - -declare module ngUi { - // See https://github.com/Microsoft/TypeScript/issues/1168 - class BaseException /* extends Error */ { - message: string; - stack: string; - toString(): string; - } - interface InjectableReference {} -} - - - - -declare module ng { - /** - * Declares an injectable parameter to be a live list of directives or variable - * bindings from the content children of a directive. - * - * ### Example ([live demo](http://plnkr.co/edit/lY9m8HLy7z06vDoUaSN2?p=preview)) - * - * Assume that `` component would like to get a list its children `` - * components as shown in this example: - * - * ```html - * - * ... - * {{o.text}} - * - * ``` - * - * The preferred solution is to query for `Pane` directives using this decorator. - * - * ```javascript - * @Component({ - * selector: 'pane', - * inputs: ['title'] - * }) - * @View(...) - * class Pane { - * title:string; - * } - * - * @Component({ - * selector: 'tabs' - * }) - * @View({ - * template: ` - *
    - *
  • {{pane.title}}
  • - *
- * - * ` - * }) - * class Tabs { - * panes: QueryList; - * constructor(@Query(Pane) panes:QueryList) { - * this.panes = panes; - * } - * } - * ``` - * - * A query can look for variable bindings by passing in a string with desired binding symbol. - * - * ### Example ([live demo](http://plnkr.co/edit/sT2j25cH1dURAyBRCKx1?p=preview)) - * ```html - * - *
...
- *
- * - * @Component({ - * selector: 'foo' - * }) - * @View(...) - * class seeker { - * constructor(@Query('findme') elList: QueryList) {...} - * } - * ``` - * - * In this case the object that is injected depend on the type of the variable - * binding. It can be an ElementRef, a directive or a component. - * - * Passing in a comma separated list of variable bindings will query for all of them. - * - * ```html - * - *
...
- *
...
- *
- * - * @Component({ - * selector: 'foo' - * }) - * @View(...) - * class Seeker { - * constructor(@Query('findMe, findMeToo') elList: QueryList) {...} - * } - * ``` - * - * Configure whether query looks for direct children or all descendants - * of the querying element, by using the `descendants` parameter. - * It is set to `false` by default. - * - * ### Example ([live demo](http://plnkr.co/edit/wtGeB977bv7qvA5FTYl9?p=preview)) - * ```html - * - * a - * b - * - * c - * - * - * ``` - * - * When querying for items, the first container will see only `a` and `b` by default, - * but with `Query(TextDirective, {descendants: true})` it will see `c` too. - * - * The queried directives are kept in a depth-first pre-order with respect to their - * positions in the DOM. - * - * Query does not look deep into any subcomponent views. - * - * Query is updated as part of the change-detection cycle. Since change detection - * happens after construction of a directive, QueryList will always be empty when observed in the - * constructor. - * - * The injected object is an unmodifiable live list. - * See {@link QueryList} for more details. - */ - class QueryMetadata extends DependencyMetadata { - - constructor(_selector: Type | string, {descendants, first}?: {descendants?: boolean, first?: boolean}); - - /** - * whether we want to query only direct children (false) or all - * children (true). - */ - descendants: boolean; - - first: boolean; - - /** - * always `false` to differentiate it with {@link ViewQueryMetadata}. - */ - isViewQuery: boolean; - - /** - * what this is querying for. - */ - selector: any; - - /** - * whether this is querying for a variable binding or a directive. - */ - isVarBindingQuery: boolean; - - /** - * returns a list of variable bindings this is querying for. - * Only applicable if this is a variable bindings query. - */ - varBindings: string[]; - - toString(): string; - - } - - - /** - * Configures a content query. - * - * Content queries are set before the `afterContentInit` callback is called. - * - * ### Example - * - * ``` - * @Directive({ - * selector: 'someDir' - * }) - * class SomeDir { - * @ContentChildren(ChildDirective) contentChildren: QueryList; - * - * afterContentInit() { - * // contentChildren is set - * } - * } - * ``` - */ - class ContentChildrenMetadata extends QueryMetadata { - - constructor(_selector: Type | string, {descendants}?: {descendants?: boolean}); - - } - - - /** - * Configures a content query. - * - * Content queries are set before the `afterContentInit` callback is called. - * - * ### Example - * - * ``` - * @Directive({ - * selector: 'someDir' - * }) - * class SomeDir { - * @ContentChild(ChildDirective) contentChild; - * - * afterContentInit() { - * // contentChild is set - * } - * } - * ``` - */ - class ContentChildMetadata extends QueryMetadata { - - constructor(_selector: Type | string); - - } - - - /** - * Configures a view query. - * - * View queries are set before the `afterViewInit` callback is called. - * - * ### Example - * - * ``` - * @Component({ - * selector: 'someDir' - * }) - * @View({templateUrl: 'someTemplate', directives: [ItemDirective]}) - * class SomeDir { - * @ViewChildren(ItemDirective) viewChildren: QueryList; - * - * afterViewInit() { - * // viewChildren is set - * } - * } - * ``` - */ - class ViewChildrenMetadata extends ViewQueryMetadata { - - constructor(_selector: Type | string); - - } - - - /** - * Similar to {@link QueryMetadata}, but querying the component view, instead of - * the content children. - * - * ### Example ([live demo](http://plnkr.co/edit/eNsFHDf7YjyM6IzKxM1j?p=preview)) - * - * ```javascript - * @Component({...}) - * @View({ - * template: ` - * a - * b - * c - * ` - * }) - * class MyComponent { - * shown: boolean; - * - * constructor(private @Query(Item) items:QueryList) { - * items.onChange(() => console.log(items.length)); - * } - * } - * ``` - * - * Supports the same querying parameters as {@link QueryMetadata}, except - * `descendants`. This always queries the whole view. - * - * As `shown` is flipped between true and false, items will contain zero of one - * items. - * - * Specifies that a {@link QueryList} should be injected. - * - * The injected object is an iterable and observable live list. - * See {@link QueryList} for more details. - */ - class ViewQueryMetadata extends QueryMetadata { - - constructor(_selector: Type | string, {descendants, first}?: {descendants?: boolean, first?: boolean}); - - /** - * always `true` to differentiate it with {@link QueryMetadata}. - */ - isViewQuery: any; - - toString(): string; - - } - - - /** - * Configures a view query. - * - * View queries are set before the `afterViewInit` callback is called. - * - * ### Example - * - * ``` - * @Component({ - * selector: 'someDir' - * }) - * @View({templateUrl: 'someTemplate', directives: [ItemDirective]}) - * class SomeDir { - * @ViewChild(ItemDirective) viewChild:ItemDirective; - * - * afterViewInit() { - * // viewChild is set - * } - * } - * ``` - */ - class ViewChildMetadata extends ViewQueryMetadata { - - constructor(_selector: Type | string); - - } - - - /** - * Specifies that a constant attribute value should be injected. - * - * The directive can inject constant string literals of host element attributes. - * - * ## Example - * - * Suppose we have an `` element and want to know its `type`. - * - * ```html - * - * ``` - * - * A decorator can inject string literal `text` like so: - * - * ```javascript - * @Directive({ - * selector: `input' - * }) - * class InputDirective { - * constructor(@Attribute('type') type) { - * // type would be `text` in this example - * } - * } - * ``` - */ - class AttributeMetadata extends DependencyMetadata { - - constructor(attributeName: string); - - attributeName: string; - - token: any; - - toString(): string; - - } - - - /** - * Declare reusable UI building blocks for an application. - * - * Each Angular component requires a single `@Component` and at least one `@View` annotation. The - * `@Component` - * annotation specifies when a component is instantiated, and which properties and hostListeners it - * binds to. - * - * When a component is instantiated, Angular - * - creates a shadow DOM for the component. - * - loads the selected template into the shadow DOM. - * - creates all the injectable objects configured with `bindings` and `viewBindings`. - * - * All template expressions and statements are then evaluated against the component instance. - * - * For details on the `@View` annotation, see {@link ViewMetadata}. - * - * ## Lifecycle hooks - * - * When the component class implements some {@link angular2/lifecycle_hooks} the callbacks are - * called by the change detection at defined points in time during the life of the component. - * - * ## Example - * - * ``` - * @Component({ - * selector: 'greet' - * }) - * @View({ - * template: 'Hello {{name}}!' - * }) - * class Greet { - * name: string; - * - * constructor() { - * this.name = 'World'; - * } - * } - * ``` - */ - class ComponentMetadata extends DirectiveMetadata { - - constructor({selector, inputs, outputs, properties, events, host, exportAs, moduleId, bindings, - viewBindings, changeDetection, queries}?: { - selector?: string, - inputs?: string[], - outputs?: string[], - properties?: string[], - events?: string[], - host?: {[key: string]: string}, - bindings?: any[], - exportAs?: string, - moduleId?: string, - viewBindings?: any[], - queries?: {[key: string]: any}, - changeDetection?: ChangeDetectionStrategy, - }); - - /** - * Defines the used change detection strategy. - * - * When a component is instantiated, Angular creates a change detector, which is responsible for - * propagating the component's bindings. - * - * The `changeDetection` property defines, whether the change detection will be checked every time - * or only when the component tells it to do so. - */ - changeDetection: ChangeDetectionStrategy; - - /** - * Defines the set of injectable objects that are visible to its view DOM children. - * - * ## Simple Example - * - * Here is an example of a class that can be injected: - * - * ``` - * class Greeter { - * greet(name:string) { - * return 'Hello ' + name + '!'; - * } - * } - * - * @Directive({ - * selector: 'needs-greeter' - * }) - * class NeedsGreeter { - * greeter:Greeter; - * - * constructor(greeter:Greeter) { - * this.greeter = greeter; - * } - * } - * - * @Component({ - * selector: 'greet', - * viewBindings: [ - * Greeter - * ] - * }) - * @View({ - * template: ``, - * directives: [NeedsGreeter] - * }) - * class HelloWorld { - * } - * - * ``` - */ - viewBindings: any[]; - - } - - - /** - * Directives allow you to attach behavior to elements in the DOM. - * - * {@link DirectiveMetadata}s with an embedded view are called {@link ComponentMetadata}s. - * - * A directive consists of a single directive annotation and a controller class. When the - * directive's `selector` matches - * elements in the DOM, the following steps occur: - * - * 1. For each directive, the `ElementInjector` attempts to resolve the directive's constructor - * arguments. - * 2. Angular instantiates directives for each matched element using `ElementInjector` in a - * depth-first order, - * as declared in the HTML. - * - * ## Understanding How Injection Works - * - * There are three stages of injection resolution. - * - *Pre-existing Injectors*: - * - The terminal {@link Injector} cannot resolve dependencies. It either throws an error or, if - * the dependency was - * specified as `@Optional`, returns `null`. - * - The platform injector resolves browser singleton resources, such as: cookies, title, - * location, and others. - * - *Component Injectors*: Each component instance has its own {@link Injector}, and they follow - * the same parent-child hierarchy - * as the component instances in the DOM. - * - *Element Injectors*: Each component instance has a Shadow DOM. Within the Shadow DOM each - * element has an `ElementInjector` - * which follow the same parent-child hierarchy as the DOM elements themselves. - * - * When a template is instantiated, it also must instantiate the corresponding directives in a - * depth-first order. The - * current `ElementInjector` resolves the constructor dependencies for each directive. - * - * Angular then resolves dependencies as follows, according to the order in which they appear in the - * {@link ViewMetadata}: - * - * 1. Dependencies on the current element - * 2. Dependencies on element injectors and their parents until it encounters a Shadow DOM boundary - * 3. Dependencies on component injectors and their parents until it encounters the root component - * 4. Dependencies on pre-existing injectors - * - * - * The `ElementInjector` can inject other directives, element-specific special objects, or it can - * delegate to the parent - * injector. - * - * To inject other directives, declare the constructor parameter as: - * - `directive:DirectiveType`: a directive on the current element only - * - `@Host() directive:DirectiveType`: any directive that matches the type between the current - * element and the - * Shadow DOM root. - * - `@Query(DirectiveType) query:QueryList`: A live collection of direct child - * directives. - * - `@QueryDescendants(DirectiveType) query:QueryList`: A live collection of any - * child directives. - * - * To inject element-specific special objects, declare the constructor parameter as: - * - `element: ElementRef` to obtain a reference to logical element in the view. - * - `viewContainer: ViewContainerRef` to control child template instantiation, for - * {@link DirectiveMetadata} directives only - * - `bindingPropagation: BindingPropagation` to control change detection in a more granular way. - * - * ## Example - * - * The following example demonstrates how dependency injection resolves constructor arguments in - * practice. - * - * - * Assume this HTML template: - * - * ``` - *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- * ``` - * - * With the following `dependency` decorator and `SomeService` injectable class. - * - * ``` - * @Injectable() - * class SomeService { - * } - * - * @Directive({ - * selector: '[dependency]', - * inputs: [ - * 'id: dependency' - * ] - * }) - * class Dependency { - * id:string; - * } - * ``` - * - * Let's step through the different ways in which `MyDirective` could be declared... - * - * - * ### No injection - * - * Here the constructor is declared with no arguments, therefore nothing is injected into - * `MyDirective`. - * - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor() { - * } - * } - * ``` - * - * This directive would be instantiated with no dependencies. - * - * - * ### Component-level injection - * - * Directives can inject any injectable instance from the closest component injector or any of its - * parents. - * - * Here, the constructor declares a parameter, `someService`, and injects the `SomeService` type - * from the parent - * component's injector. - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor(someService: SomeService) { - * } - * } - * ``` - * - * This directive would be instantiated with a dependency on `SomeService`. - * - * - * ### Injecting a directive from the current element - * - * Directives can inject other directives declared on the current element. - * - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor(dependency: Dependency) { - * expect(dependency.id).toEqual(3); - * } - * } - * ``` - * This directive would be instantiated with `Dependency` declared at the same element, in this case - * `dependency="3"`. - * - * ### Injecting a directive from any ancestor elements - * - * Directives can inject other directives declared on any ancestor element (in the current Shadow - * DOM), i.e. on the current element, the - * parent element, or its parents. - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor(@Host() dependency: Dependency) { - * expect(dependency.id).toEqual(2); - * } - * } - * ``` - * - * `@Host` checks the current element, the parent, as well as its parents recursively. If - * `dependency="2"` didn't - * exist on the direct parent, this injection would - * have returned - * `dependency="1"`. - * - * - * ### Injecting a live collection of direct child directives - * - * - * A directive can also query for other child directives. Since parent directives are instantiated - * before child directives, a directive can't simply inject the list of child directives. Instead, - * the directive injects a {@link QueryList}, which updates its contents as children are added, - * removed, or moved by a directive that uses a {@link ViewContainerRef} such as a `ng-for`, an - * `ng-if`, or an `ng-switch`. - * - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor(@Query(Dependency) dependencies:QueryList) { - * } - * } - * ``` - * - * This directive would be instantiated with a {@link QueryList} which contains `Dependency` 4 and - * 6. Here, `Dependency` 5 would not be included, because it is not a direct child. - * - * ### Injecting a live collection of descendant directives - * - * By passing the descendant flag to `@Query` above, we can include the children of the child - * elements. - * - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor(@Query(Dependency, {descendants: true}) dependencies:QueryList) { - * } - * } - * ``` - * - * This directive would be instantiated with a Query which would contain `Dependency` 4, 5 and 6. - * - * ### Optional injection - * - * The normal behavior of directives is to return an error when a specified dependency cannot be - * resolved. If you - * would like to inject `null` on unresolved dependency instead, you can annotate that dependency - * with `@Optional()`. - * This explicitly permits the author of a template to treat some of the surrounding directives as - * optional. - * - * ``` - * @Directive({ selector: '[my-directive]' }) - * class MyDirective { - * constructor(@Optional() dependency:Dependency) { - * } - * } - * ``` - * - * This directive would be instantiated with a `Dependency` directive found on the current element. - * If none can be - * found, the injector supplies `null` instead of throwing an error. - * - * ## Example - * - * Here we use a decorator directive to simply define basic tool-tip behavior. - * - * ``` - * @Directive({ - * selector: '[tooltip]', - * inputs: [ - * 'text: tooltip' - * ], - * host: { - * '(mouseenter)': 'onMouseEnter()', - * '(mouseleave)': 'onMouseLeave()' - * } - * }) - * class Tooltip{ - * text:string; - * overlay:Overlay; // NOT YET IMPLEMENTED - * overlayManager:OverlayManager; // NOT YET IMPLEMENTED - * - * constructor(overlayManager:OverlayManager) { - * this.overlay = overlay; - * } - * - * onMouseEnter() { - * // exact signature to be determined - * this.overlay = this.overlayManager.open(text, ...); - * } - * - * onMouseLeave() { - * this.overlay.close(); - * this.overlay = null; - * } - * } - * ``` - * In our HTML template, we can then add this behavior to a `
` or any other element with the - * `tooltip` selector, - * like so: - * - * ``` - *
- * ``` - * - * Directives can also control the instantiation, destruction, and positioning of inline template - * elements: - * - * A directive uses a {@link ViewContainerRef} to instantiate, insert, move, and destroy views at - * runtime. - * The {@link ViewContainerRef} is created as a result of `