From 90f25095b7037cdcc924361d97ec427c53630142 Mon Sep 17 00:00:00 2001 From: Adi Dahiya Date: Thu, 4 Dec 2014 10:58:37 -0500 Subject: [PATCH] Fix selectize-tests.ts type errors --- selectize/selectize-tests.ts | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/selectize/selectize-tests.ts b/selectize/selectize-tests.ts index 47c6ce84a..6c0ae26d4 100644 --- a/selectize/selectize-tests.ts +++ b/selectize/selectize-tests.ts @@ -106,7 +106,7 @@ interface Person { var REGEX_EMAIL = '([a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@' + '(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)'; -var formatPerson = function(name: Person) { +var formatPerson = (name: Person) => { return $.trim((name.first_name || '') + ' ' + (name.last_name || '')); }; @@ -126,14 +126,14 @@ $('#select-to').selectize({ {email: 'someone@gmail.com'} ], render: { - item: function(item: Person, escape) { + item: function(item: Person, escape: (input: any) => string) { var name = formatPerson(item); return '
' + (name ? '' + escape(name) + '' : '') + (item.email ? '' : '') + '
'; }, - option: function(item: Person, escape) { + option: function(item: Person, escape: (input: any) => string) { var name = formatPerson(item); var label = name || item.email; var caption = name ? item.email : null; @@ -211,13 +211,13 @@ $('#select-links').selectize({ {id: 3, title: 'Yahoo', url: 'http://yahoo.com'}, ], render: { - option: function(data: Link, escape) { + option: function(data: Link, escape: (input: any) => string) { return '
' + '' + escape(data.title) + '' + '' + escape(data.url) + '' + '
'; }, - item: function(data: Link, escape) { + item: function(data: Link, escape: (input: any) => string) { return '
' + escape(data.title) + '
'; } }, @@ -234,7 +234,7 @@ $('#select-links').selectize({ // Events // -------------------------------------------------------------------------------------------------------------------- -var eventHandler = function(name) { +var eventHandler = function(name: string) { return function() { console.log(name, arguments); $('#log').append('
' + name + '
'); @@ -256,6 +256,16 @@ var $select = $('#select-state').selectize({ // Github example // -------------------------------------------------------------------------------------------------------------------- +interface Repository { + fork: string; + name: string; + description: string; + language: string; + watchers: number; + forks: string; + username: string; +} + $('#select-repo').selectize({ valueField: 'url', labelField: 'name', @@ -263,7 +273,7 @@ $('#select-repo').selectize({ options: [], create: false, render: { - option: function(item, escape) { + option: function(item: Repository, escape: (input: any) => string) { return '
' + '' + '' + escape(item.name) + '' + @@ -280,7 +290,7 @@ $('#select-repo').selectize({ }, score: function(search) { var score = this.getScoreFunction(search); - return function(item) { + return function(item: Repository) { return score(item) * (1 + Math.min(item.watchers / 100, 1)); }; }, @@ -320,7 +330,7 @@ $('#select-movie').selectize({ create: false, render: { option: function(item, escape) { - var actors = []; + var actors: any[] = []; for (var i = 0, n = item.abridged_cast.length; i < n; i++) { actors.push('' + escape(item.abridged_cast[i].name) + ''); }