From fde76994561dd7151f8b002fd646690c176e85a3 Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Thu, 19 Apr 2018 23:42:02 -0400 Subject: [PATCH 01/44] Fix up next/router types * add name to index.ts * update tests --- types/next/index.d.ts | 1 + types/next/router.d.ts | 8 +++-- types/next/test/next-router-tests.tsx | 46 +++++++++++++-------------- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/types/next/index.d.ts b/types/next/index.d.ts index 036e9f58ce..e0ec456724 100644 --- a/types/next/index.d.ts +++ b/types/next/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/zeit/next.js // Definitions by: Drew Hays // Brice BERNARD +// Scott Jones // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 diff --git a/types/next/router.d.ts b/types/next/router.d.ts index 181208518f..a5cfb42c90 100644 --- a/types/next/router.d.ts +++ b/types/next/router.d.ts @@ -9,7 +9,7 @@ export interface EventChangeOptions { } export type RouterCallback = () => void; -export interface SingletonRouter { +export interface RouterProps { readyCallbacks: RouterCallback[]; ready(cb: RouterCallback): void; @@ -53,8 +53,12 @@ export interface SingletonRouter { onRouteChangeError?(error: any, url: string): void; } +export interface SingletonRouter { + router: RouterProps; +} + export function withRouter( - Component: React.ComponentType, + Component: React.ComponentType, ): React.ComponentType; export const Singleton: SingletonRouter; diff --git a/types/next/test/next-router-tests.tsx b/types/next/test/next-router-tests.tsx index fe82d6f0b2..7957f5e8a2 100644 --- a/types/next/test/next-router-tests.tsx +++ b/types/next/test/next-router-tests.tsx @@ -2,10 +2,10 @@ import Router, * as r from "next/router"; import * as React from "react"; import * as qs from "querystring"; -Router.readyCallbacks.push(() => { +Router.router.readyCallbacks.push(() => { console.log("I'll get called when the router initializes."); }); -Router.ready(() => { +Router.router.ready(() => { console.log( "I'll get called immediately if the router initializes, or when it eventually does.", ); @@ -13,8 +13,8 @@ Router.ready(() => { // Access readonly properties of the router. -Object.keys(Router.components).forEach(key => { - const c = Router.components[key]; +Object.keys(Router.router.components).forEach(key => { + const c = Router.router.components[key]; c.err.isAnAny; return ; @@ -26,51 +26,51 @@ function split(routeLike: string) { }); } -if (Router.asPath) { - split(Router.asPath); - split(Router.asPath); +if (Router.router.asPath) { + split(Router.router.asPath); + split(Router.router.asPath); } -split(Router.pathname); +split(Router.router.pathname); -const query = `?${qs.stringify(Router.query)}`; +const query = `?${qs.stringify(Router.router.query)}`; // Assign some callback methods. -Router.onAppUpdated = (nextRoute: string) => console.log(nextRoute); -Router.onRouteChangeStart = (url: string) => +Router.router.onAppUpdated = (nextRoute: string) => console.log(nextRoute); +Router.router.onRouteChangeStart = (url: string) => console.log("Route is starting to change.", url); -Router.onBeforeHistoryChange = (as: string) => +Router.router.onBeforeHistoryChange = (as: string) => console.log("History hasn't changed yet.", as); -Router.onRouteChangeComplete = (url: string) => +Router.router.onRouteChangeComplete = (url: string) => console.log("Route chaneg is complete.", url); -Router.onRouteChangeError = (err: any, url: string) => +Router.router.onRouteChangeError = (err: any, url: string) => console.log("Route is starting to change.", url, err); // Call methods on the router itself. -Router.reload("/route").then(() => console.log("route was reloaded")); -Router.back(); +Router.router.reload("/route").then(() => console.log("route was reloaded")); +Router.router.back(); -Router.push("/route").then((success: boolean) => +Router.router.push("/route").then((success: boolean) => console.log("route push success: ", success), ); -Router.push("/route", "/asRoute").then((success: boolean) => +Router.router.push("/route", "/asRoute").then((success: boolean) => console.log("route push success: ", success), ); -Router.push("/route", "/asRoute", { shallow: false }).then((success: boolean) => +Router.router.push("/route", "/asRoute", { shallow: false }).then((success: boolean) => console.log("route push success: ", success), ); -Router.replace("/route").then((success: boolean) => +Router.router.replace("/route").then((success: boolean) => console.log("route replace success: ", success), ); -Router.replace("/route", "/asRoute").then((success: boolean) => +Router.router.replace("/route", "/asRoute").then((success: boolean) => console.log("route replace success: ", success), ); -Router.replace("/route", "/asRoute", { +Router.router.replace("/route", "/asRoute", { shallow: false, }).then((success: boolean) => console.log("route replace success: ", success)); -Router.prefetch("/route").then(Component => { +Router.router.prefetch("/route").then(Component => { const element = ; }); From 107dce1caeeab4524dbe53e049f692dbd858eb5a Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Fri, 20 Apr 2018 19:19:50 -0400 Subject: [PATCH 02/44] Update SingletonRouter type to include ready and readyCallback funcs --- types/next/router.d.ts | 5 ++--- types/next/test/next-router-tests.tsx | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/types/next/router.d.ts b/types/next/router.d.ts index a5cfb42c90..5a17bd2a53 100644 --- a/types/next/router.d.ts +++ b/types/next/router.d.ts @@ -10,9 +10,6 @@ export interface EventChangeOptions { export type RouterCallback = () => void; export interface RouterProps { - readyCallbacks: RouterCallback[]; - ready(cb: RouterCallback): void; - // router properties readonly components: { [key: string]: { Component: React.ComponentType; err: any }; @@ -55,6 +52,8 @@ export interface RouterProps { export interface SingletonRouter { router: RouterProps; + readyCallbacks: RouterCallback[]; + ready(cb: RouterCallback): void; } export function withRouter( diff --git a/types/next/test/next-router-tests.tsx b/types/next/test/next-router-tests.tsx index 7957f5e8a2..822b9b8e6f 100644 --- a/types/next/test/next-router-tests.tsx +++ b/types/next/test/next-router-tests.tsx @@ -2,10 +2,10 @@ import Router, * as r from "next/router"; import * as React from "react"; import * as qs from "querystring"; -Router.router.readyCallbacks.push(() => { +Router.readyCallbacks.push(() => { console.log("I'll get called when the router initializes."); }); -Router.router.ready(() => { +Router.ready(() => { console.log( "I'll get called immediately if the router initializes, or when it eventually does.", ); From 9bf9e4c95bbf8db44d08ce6a9aa01e726573758c Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 9 May 2018 15:11:26 +1000 Subject: [PATCH 03/44] Updated type definitions to 0.15.12 --- types/react-calendar-timeline/index.d.ts | 139 +++++++++++++---------- 1 file changed, 77 insertions(+), 62 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 69e5d037dc..649a301bb3 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -1,71 +1,86 @@ -// Type definitions for react-calendar-timeline v0.8.1 +// Type definitions for react-calendar-timeline v0.15.12 // Project: https://github.com/namespace-ee/react-calendar-timeline // Definitions by: Rajab Shakirov +// Alex Maclean // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 /// declare module "react-calendar-timeline" { - interface ReactCalendarTimeline { - groups: { - id: number; - title: any; // string | Element (React.ClassicComponentClass); - }[]; - items:{ - id: number; - group: number; - title?: any; // string | Element (React.ClassicComponentClass); - start_time: any; - end_time: any; - canMove?: boolean; - canResize?: boolean; - canChangeGroup?: boolean; - className?: string; - }[]; - keys?:{ - groupIdKey: string; - groupTitleKey: string; - itemIdKey: string; - itemTitleKey: string; - itemGroupKey: string; - itemTimeStartKey: string; - itemTimeEndKey: string; - }; - sidebarWidth?: number; - dragSnap?: number; - minResizeWidth?: number; - fixedHeader?: "fixed" | "none"; - zIndexStart?: number; - lineHeight?: number; - headerLabelGroupHeight?: number; - headerLabelHeight?: number; - itemHeightRatio?: number; - minZoom?: number; - maxZoom?: number; - canMove?: boolean; - canChangeGroup?: boolean; - canResize?: boolean; - useResizeHandle?: boolean; - stackItems?: boolean; - traditionalZoom?: boolean; - itemTouchSendsClick?: boolean; - onItemMove?(itemId:any, dragTime:any, newGroupOrder:any): any; - onItemResize?(itemId:any, newResizeEnd:any): any; - onItemSelect?(itemId:any): any; - onItemClick?(itemId:any): any; - onCanvasClick?(groupId:any, time:any, e:any): any; - onItemDoubleClick?(itemId:any): any; - moveResizeValidator?(action:any, itemId:any, time:any): any; - defaultTimeStart?: any; - defaultTimeEnd?: any; - visibleTimeStart?: number; - visibleTimeEnd?: number; - onTimeChange?(visibleTimeStart:any, visibleTimeEnd:any): any; - onTimeInit?(visibleTimeStart:any, visibleTimeEnd:any): any; - onBoundsChange?(canvasTimeStart:any, canvasTimeEnd:any): any; - children?: any; - } - let ReactCalendarTimeline : React.ClassicComponentClass; - export default ReactCalendarTimeline; + + export interface TimelineGroup { + id: number; + title: string | JSX.Element; + } + + export interface TimelineItem { + id: number; + group: number; + title?: string | JSX.Element; + start_time: any; + end_time: any; + canMove?: boolean; + canResize?: boolean; + canChangeGroup?: boolean; + className?: string; + } + + export interface TimelineContext { + visibletimeStart: number, + visibleTimeEnd: number, + timelineWidth: number + } + + export interface ReactCalendarTimelineProps { + groups: TimelineGroup[]; + items: TimelineItem[]; + keys?:{ + groupIdKey: string; + groupTitleKey: string; + itemIdKey: string; + itemTitleKey: string; + itemGroupKey: string; + itemTimeStartKey: string; + itemTimeEndKey: string; + }; + sidebarWidth?: number; + dragSnap?: number; + minResizeWidth?: number; + fixedHeader?: "fixed" | "none"; + zIndexStart?: number; + lineHeight?: number; + headerLabelGroupHeight?: number; + headerLabelHeight?: number; + itemHeightRatio?: number; + minZoom?: number; + maxZoom?: number; + canMove?: boolean; + canChangeGroup?: boolean; + canResize?: boolean; + useResizeHandle?: boolean; + stackItems?: boolean; + traditionalZoom?: boolean; + itemTouchSendsClick?: boolean; + onItemMove?(itemId:number, dragTime:number, newGroupOrder:number): any; + onItemResize?(itemId:number, newResizeEnd: number, edge: "left" | "right"): any; + onItemSelect?(itemId:number, e: any, time: number): any; + onItemClick?(itemId:number, e: any, time: number): any; + onCanvasClick?(groupId:number, time:number, e:any): any; + onItemDoubleClick?(itemId:number, e: any, time: number): any; + moveResizeValidator?(action:"move" | "resize", itemId:number, time:number, resizeEdge: "left" | "right"): any; + defaultTimeStart?: any; + defaultTimeEnd?: any; + visibleTimeStart?: number; + visibleTimeEnd?: number; + onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any; + onTimeInit?(visibleTimeStart: number, visibleTimeEnd: number): any; + onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; + children?: any; + fullUpdate?: boolean; + itemRenderer?: (item: TimelineItem, context: TimelineContext) => JSX.Element; + groupRenderer?: (group: TimelineGroup, isRightSidebar: boolean) => JSX.Element; + } + let ReactCalendarTimeline : React.ClassicComponentClass; + export default ReactCalendarTimeline; } From 449a5e2d87e20f1dc33944eee4debb473a15045d Mon Sep 17 00:00:00 2001 From: Jonas L Date: Wed, 9 May 2018 15:20:01 +0200 Subject: [PATCH 04/44] Add rolling rate limiter --- types/rolling-rate-limiter/index.d.ts | 38 +++++++++++++++++++ .../rolling-rate-limiter-tests.ts | 36 ++++++++++++++++++ types/rolling-rate-limiter/tsconfig.json | 23 +++++++++++ types/rolling-rate-limiter/tslint.json | 1 + 4 files changed, 98 insertions(+) create mode 100644 types/rolling-rate-limiter/index.d.ts create mode 100644 types/rolling-rate-limiter/rolling-rate-limiter-tests.ts create mode 100644 types/rolling-rate-limiter/tsconfig.json create mode 100644 types/rolling-rate-limiter/tslint.json diff --git a/types/rolling-rate-limiter/index.d.ts b/types/rolling-rate-limiter/index.d.ts new file mode 100644 index 0000000000..0de8235fc2 --- /dev/null +++ b/types/rolling-rate-limiter/index.d.ts @@ -0,0 +1,38 @@ +// Type definitions for rolling-rate-limiter 0.1 +// Project: https://github.com/peterkhayes/rolling-rate-limiter +// Definitions by: Jonas Lochmann +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = RollingRateLimiter; + +declare function RollingRateLimiter(options: RollingRateLimiter.InMemoryOptions): RollingRateLimiter.SyncOrAsyncLimiter; +declare function RollingRateLimiter(options: RollingRateLimiter.WithRedisOptions): RollingRateLimiter.AsyncLimiter; + +declare namespace RollingRateLimiter { + interface GeneralOptions { + interval: number; + maxInInterval: number; + minDifference?: number; + } + + interface RedisOptions { + redis: CompatibleRedisClient; + namespace?: string; + } + + interface CompatibleRedisClient { + multi: () => any; + } + + type InMemoryOptions = GeneralOptions; + type WithRedisOptions = GeneralOptions & RedisOptions; + + type AsyncLimiterWithToken = (token: string, callback: AsyncLimiterCallback) => void; + type AsyncLimiterWithoutToken = (callback: AsyncLimiterCallback) => void; + type AsyncLimiterCallback = (err: any, timeLeft: number, actionsLeft: number) => void; + type AsyncLimiter = AsyncLimiterWithToken & AsyncLimiterWithToken; + + type SyncLimiter = (token?: string) => number; + + type SyncOrAsyncLimiter = SyncLimiter & AsyncLimiter; +} diff --git a/types/rolling-rate-limiter/rolling-rate-limiter-tests.ts b/types/rolling-rate-limiter/rolling-rate-limiter-tests.ts new file mode 100644 index 0000000000..1318b8d425 --- /dev/null +++ b/types/rolling-rate-limiter/rolling-rate-limiter-tests.ts @@ -0,0 +1,36 @@ +import * as RateLimiter from 'rolling-rate-limiter'; + +/* + Setup: +*/ + +const limiter = RateLimiter({ + // in miliseconds + interval: 1000, + maxInInterval: 10, + // optional: the minimum time (in miliseconds) between any two actions + minDifference: 100 +}); + +/* + Action: +*/ + +function attemptAction(userId: string) { + // Argument should be a unique identifier for a user if one exists. + // If none is provided, the limiter will not differentiate between users. + const timeLeft = limiter(userId); + + if (timeLeft > 0) { + // limit was exceeded, action should not be allowed + // timeLeft is the number of ms until the next action will be allowed + // note that this can be treated as a boolean, since 0 is falsy + } else { + // limit was not exceeded, action should be allowed + } +} + +/* + Note that the in-memory version can also operate asynchronously. + The syntax is identical to the redis implementation below. +*/ diff --git a/types/rolling-rate-limiter/tsconfig.json b/types/rolling-rate-limiter/tsconfig.json new file mode 100644 index 0000000000..0b526f946e --- /dev/null +++ b/types/rolling-rate-limiter/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "rolling-rate-limiter-tests.ts" + ] +} diff --git a/types/rolling-rate-limiter/tslint.json b/types/rolling-rate-limiter/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/rolling-rate-limiter/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 173f530f62d5c5b3059db900a0a33cf504b447b8 Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Thu, 10 May 2018 14:04:08 +1000 Subject: [PATCH 05/44] Added missing api --- types/react-calendar-timeline/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 649a301bb3..013e652760 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -44,7 +44,11 @@ declare module "react-calendar-timeline" { itemTimeStartKey: string; itemTimeEndKey: string; }; + selected?: number[]; sidebarWidth?: number; + sidebarContent?: any; + rightSidebarWidth?: number; + rightSidebarContent?: any; dragSnap?: number; minResizeWidth?: number; fixedHeader?: "fixed" | "none"; From 5ba41a77899f4e665056ae17b2f8903e8af83a02 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Thu, 10 May 2018 06:05:11 +0200 Subject: [PATCH 06/44] rolling-rate-limiter: replace intersection by extending interface --- types/rolling-rate-limiter/index.d.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/types/rolling-rate-limiter/index.d.ts b/types/rolling-rate-limiter/index.d.ts index 0de8235fc2..c81c8304d7 100644 --- a/types/rolling-rate-limiter/index.d.ts +++ b/types/rolling-rate-limiter/index.d.ts @@ -15,7 +15,7 @@ declare namespace RollingRateLimiter { minDifference?: number; } - interface RedisOptions { + interface WithRedisOptions extends GeneralOptions { redis: CompatibleRedisClient; namespace?: string; } @@ -25,7 +25,6 @@ declare namespace RollingRateLimiter { } type InMemoryOptions = GeneralOptions; - type WithRedisOptions = GeneralOptions & RedisOptions; type AsyncLimiterWithToken = (token: string, callback: AsyncLimiterCallback) => void; type AsyncLimiterWithoutToken = (callback: AsyncLimiterCallback) => void; From 9f85c6e169398dea19dae58ca0702906ebef5bba Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Thu, 10 May 2018 14:07:43 +1000 Subject: [PATCH 07/44] relaxed type safety --- types/react-calendar-timeline/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 013e652760..5726e08365 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -11,13 +11,13 @@ declare module "react-calendar-timeline" { export interface TimelineGroup { id: number; - title: string | JSX.Element; + title: any; } export interface TimelineItem { id: number; group: number; - title?: string | JSX.Element; + title?: any; start_time: any; end_time: any; canMove?: boolean; @@ -82,8 +82,8 @@ declare module "react-calendar-timeline" { onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; children?: any; fullUpdate?: boolean; - itemRenderer?: (item: TimelineItem, context: TimelineContext) => JSX.Element; - groupRenderer?: (group: TimelineGroup, isRightSidebar: boolean) => JSX.Element; + itemRenderer?: (item: TimelineItem, context: TimelineContext) => any; + groupRenderer?: (group: TimelineGroup, isRightSidebar: boolean) => any; } let ReactCalendarTimeline : React.ClassicComponentClass; export default ReactCalendarTimeline; From 1b2c3539da5e40fd5aa720909074139ad0e07ca1 Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Thu, 10 May 2018 15:34:43 +1000 Subject: [PATCH 08/44] Added missing API. Fixed incorrect. --- types/react-calendar-timeline/index.d.ts | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 5726e08365..86c79ca7ae 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -8,16 +8,16 @@ /// declare module "react-calendar-timeline" { - - export interface TimelineGroup { + + export interface TimelineGroup { id: number; - title: any; + title: React.ReactNode; } export interface TimelineItem { id: number; group: number; - title?: any; + title?: React.ReactNode; start_time: any; end_time: any; canMove?: boolean; @@ -51,18 +51,21 @@ declare module "react-calendar-timeline" { rightSidebarContent?: any; dragSnap?: number; minResizeWidth?: number; - fixedHeader?: "fixed" | "none"; - zIndexStart?: number; + stickyOffset?: number; + stickyHeader?: boolean; + headerRef?: any; lineHeight?: number; headerLabelGroupHeight?: number; headerLabelHeight?: number; itemHeightRatio?: number; minZoom?: number; maxZoom?: number; + clickTolerance?: number; canMove?: boolean; canChangeGroup?: boolean; canResize?: boolean; useResizeHandle?: boolean; + showCursorLine?: boolean; stackItems?: boolean; traditionalZoom?: boolean; itemTouchSendsClick?: boolean; @@ -70,8 +73,9 @@ declare module "react-calendar-timeline" { onItemResize?(itemId:number, newResizeEnd: number, edge: "left" | "right"): any; onItemSelect?(itemId:number, e: any, time: number): any; onItemClick?(itemId:number, e: any, time: number): any; - onCanvasClick?(groupId:number, time:number, e:any): any; onItemDoubleClick?(itemId:number, e: any, time: number): any; + onCanvasClick?(groupId:number, time:number, e:any): any; + onCanvasDoubleClick?(groupId:number, time:number, e:any): any; moveResizeValidator?(action:"move" | "resize", itemId:number, time:number, resizeEdge: "left" | "right"): any; defaultTimeStart?: any; defaultTimeEnd?: any; @@ -80,10 +84,12 @@ declare module "react-calendar-timeline" { onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any; onTimeInit?(visibleTimeStart: number, visibleTimeEnd: number): any; onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; + onZoom?(timelineContext: TimelineContext): any; children?: any; fullUpdate?: boolean; - itemRenderer?: (item: TimelineItem, context: TimelineContext) => any; - groupRenderer?: (group: TimelineGroup, isRightSidebar: boolean) => any; + itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactNode; + groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactNode; + minimumWidthForItemContentVisibility?: number; } let ReactCalendarTimeline : React.ClassicComponentClass; export default ReactCalendarTimeline; From c5ac0628883e7dfbd78960289543df5831e10ec3 Mon Sep 17 00:00:00 2001 From: "skubarenko.andrey" Date: Tue, 8 May 2018 12:42:15 +0300 Subject: [PATCH 09/44] Add type definitions for the DevExpress Bootstrap ASP.NET Core Controls --- .../devexpress-aspnetcore-bootstrap-tests.ts | 13 + .../index.d.ts | 2495 +++++++++++++++++ .../tsconfig.json | 24 + .../tslint.json | 3 + 4 files changed, 2535 insertions(+) create mode 100644 types/devexpress-aspnetcore-bootstrap/devexpress-aspnetcore-bootstrap-tests.ts create mode 100644 types/devexpress-aspnetcore-bootstrap/index.d.ts create mode 100644 types/devexpress-aspnetcore-bootstrap/tsconfig.json create mode 100644 types/devexpress-aspnetcore-bootstrap/tslint.json diff --git a/types/devexpress-aspnetcore-bootstrap/devexpress-aspnetcore-bootstrap-tests.ts b/types/devexpress-aspnetcore-bootstrap/devexpress-aspnetcore-bootstrap-tests.ts new file mode 100644 index 0000000000..55eae3c27f --- /dev/null +++ b/types/devexpress-aspnetcore-bootstrap/devexpress-aspnetcore-bootstrap-tests.ts @@ -0,0 +1,13 @@ +declare let button: DevExpress.AspNetCore.BootstrapButton; +button.on('click', e => {}); +button.doClick(); +button.once('click', e => {}); + +declare let accordion: DevExpress.AspNetCore.BootstrapAccordion; +accordion.on('init', e => {}); +const firstGroup = accordion.getGroup(0); +if (firstGroup) { + const groupText = firstGroup.getText(); + const item = firstGroup.getItemByName('item10'); + item && item.getEnabled(); +} diff --git a/types/devexpress-aspnetcore-bootstrap/index.d.ts b/types/devexpress-aspnetcore-bootstrap/index.d.ts new file mode 100644 index 0000000000..9422ccd2f7 --- /dev/null +++ b/types/devexpress-aspnetcore-bootstrap/index.d.ts @@ -0,0 +1,2495 @@ +// Type definitions for DevExpress ASP.NET 181.3 +// Project: http://devexpress.com/ +// Definitions by: DevExpress Inc. +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 + +declare namespace DevExpress.AspNetCore { + enum BootstrapSchedulerGroupType { + Date = "Date", + None = "None", + Resource = "Resource", + } + enum BootstrapSchedulerViewType { + Day = "Day", + WorkWeek = "WorkWeek", + Week = "Week", + Month = "Month", + Timeline = "Timeline", + FullWeek = "FullWeek", + Agenda = "Agenda", + } + enum BootstrapSchedulerAppointmentType { + Normal = "Normal", + Pattern = "Pattern", + Occurrence = "Occurrence", + ChangedOccurrence = "ChangedOccurrence", + DeletedOccurrence = "DeletedOccurrence", + } + enum BootstrapSchedulerRecurrenceRange { + NoEndDate = "NoEndDate", + OccurrenceCount = "OccurrenceCount", + EndByDate = "EndByDate", + } + enum BootstrapSchedulerRecurrenceType { + Daily = "Daily", + Weekly = "Weekly", + Monthly = "Monthly", + Yearly = "Yearly", + Hourly = "Hourly", + } + enum WeekDays { + Sunday = 1, + Monday = 2, + Tuesday = 4, + Wednesday = 8, + Thursday = 16, + Friday = 32, + Saturday = 64, + WeekendDays = 65, + WorkDays = 62, + EveryDay = 127, + } + enum WeekOfMonth { + None = 0, + First = 1, + Second = 2, + Third = 3, + Fourth = 4, + Last = 5, + } + enum BootstrapPopupControlCloseReason { + API = "API", + CloseButton = "CloseButton", + OuterMouseClick = "OuterMouseClick", + MouseOut = "MouseOut", + Escape = "Escape", + } + + const Utils: { + getControls: () => Control[]; + getSerializedEditorValuesInContainer: (containerOrId: string | HTMLElement, processInvisibleEditors?: boolean) => any; + getEditorValuesInContainer: (containerOrId: string | HTMLElement, processInvisibleEditors?: boolean) => any; + }; + + interface EventArgs { + readonly sender: Control; + } + + interface CancelEventArgs extends EventArgs { + cancel: boolean; + } + + interface BeginCallbackEventArgs extends EventArgs { + readonly command: string; + } + + interface ProcessingModeEventArgs extends EventArgs { + processOnServer: boolean; + } + + interface ProcessingModeCancelEventArgs extends ProcessingModeEventArgs { + cancel: boolean; + } + + interface GlobalBeginCallbackEventArgs extends BeginCallbackEventArgs { + readonly control: Control; + } + + interface EndCallbackEventArgs extends EventArgs { // tslint:disable-line:no-empty-interface + } + + interface GlobalEndCallbackEventArgs extends EndCallbackEventArgs { + readonly control: Control; + } + + interface CustomDataCallbackEventArgs extends EventArgs { + result: string; + } + + interface CallbackErrorEventArgs extends EventArgs { + handled: boolean; + message: string; + } + + interface GlobalCallbackErrorEventArgs extends CallbackErrorEventArgs { + readonly control: Control; + } + + interface EditValidationEventArgs extends EventArgs { + errorText: string; + isValid: boolean; + value: string; + } + + interface ValidationCompletedEventArgs extends EventArgs { + readonly container: any; + readonly firstInvalidControl: Control; + readonly firstVisibleInvalidControl: Control; + readonly invisibleControlsValidated: boolean; + isValid: boolean; + readonly validationGroup: string; + } + + interface EditClickEventArgs extends EventArgs { + readonly htmlElement: any; + readonly htmlEvent: any; + } + + interface EditKeyEventArgs extends EventArgs { + readonly htmlEvent: any; + } + + class Control { + protected readonly instance: any; + protected constructor(instance: any); + readonly name: string; + adjustControl(): void; + getHeight(): number; + getMainElement(): any; + getParentControl(): any; + getVisible(): boolean; + getWidth(): number; + inCallback(): boolean; + sendMessageToAssistiveTechnology(message: string): void; + setHeight(height: number): void; + setVisible(visible: boolean): void; + setWidth(width: number): void; + on(eventName: K, callback: (this: Control, args?: ControlEventMap[K]) => void): this; + once(eventName: K, callback: (this: Control, args?: ControlEventMap[K]) => void): this; + off(): this; // tslint:disable-line:no-unnecessary-generics + off(eventName: K): this; // tslint:disable-line:unified-signatures no-unnecessary-generics + off(eventName: K, callback: (this: Control, args?: ControlEventMap[K]) => void): this; // tslint:disable-line:unified-signatures + } + interface ControlEventMap { + "init": EventArgs; + } + + class BootstrapClientEdit extends Control { + focus(): void; + getCaption(): string; + getEnabled(): boolean; + getErrorText(): string; + getInputElement(): any; + getIsValid(): boolean; + getReadOnly(): boolean; + getValue(): any; + setCaption(caption: string): void; + setEnabled(value: boolean): void; + setErrorText(errorText: string): void; + setIsValid(isValid: boolean): void; + setReadOnly(readOnly: boolean): void; + setValue(value: any): void; + validate(): void; + on(eventName: K, callback: (this: BootstrapClientEdit, args?: BootstrapClientEditEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapClientEdit, args?: BootstrapClientEditEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapClientEdit, args?: BootstrapClientEditEventMap[K]) => void): this; + } + interface BootstrapClientEditEventMap extends ControlEventMap { + "gotFocus": EventArgs; + "lostFocus": EventArgs; + "validation": EditValidationEventArgs; + "valueChanged": ProcessingModeEventArgs; + } + + interface AccordionItemEventArgs extends ProcessingModeEventArgs { + readonly htmlElement: object; + readonly htmlEvent: object; + readonly item: BootstrapAccordionItem; + } + + interface AccordionGroupEventArgs extends EventArgs { + readonly group: BootstrapAccordionGroup; + } + + interface AccordionGroupCancelEventArgs extends ProcessingModeCancelEventArgs { + readonly group: BootstrapAccordionGroup; + } + + interface AccordionGroupClickEventArgs extends AccordionGroupCancelEventArgs { + readonly htmlElement: object; + readonly htmlEvent: object; + } + + class BootstrapAccordion extends Control { + collapseAll(): void; + expandAll(): void; + getActiveGroup(): BootstrapAccordionGroup | null; + getGroup(index: number): BootstrapAccordionGroup | null; + getGroupByName(name: string): BootstrapAccordionGroup | null; + getGroupCount(): number; + getItemByName(name: string): BootstrapAccordionItem | null; + getSelectedItem(): BootstrapAccordionItem | null; + setActiveGroup(group: BootstrapAccordionGroup): void; + setSelectedItem(item: BootstrapAccordionItem): void; + on(eventName: K, callback: (this: BootstrapAccordion, args?: BootstrapAccordionEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapAccordion, args?: BootstrapAccordionEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapAccordion, args?: BootstrapAccordionEventMap[K]) => void): this; + } + interface BootstrapAccordionEventMap extends ControlEventMap { + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "endCallback": EndCallbackEventArgs; + "expandedChanged": AccordionGroupEventArgs; + "expandedChanging": AccordionGroupCancelEventArgs; + "headerClick": AccordionGroupClickEventArgs; + "itemClick": AccordionItemEventArgs; + } + + class BootstrapAccordionGroup { + protected readonly instance: any; + protected constructor(instance: any); + readonly index: number; + readonly name: string; + readonly navBar: BootstrapAccordion | null; + getEnabled(): boolean; + getExpanded(): boolean; + getHeaderBadgeIconCssClass(): string; + getHeaderBadgeText(): string; + getItem(index: number): BootstrapAccordionItem | null; + getItemByName(name: string): BootstrapAccordionItem | null; + getItemCount(): number; + getText(): string; + getVisible(): boolean; + setExpanded(value: boolean): void; + setHeaderBadgeIconCssClass(cssClass: string): void; + setHeaderBadgeText(text: string): void; + setText(text: string): void; + setVisible(value: boolean): void; + } + + class BootstrapAccordionItem { + protected readonly instance: any; + protected constructor(instance: any); + readonly group: BootstrapAccordionGroup | null; + readonly index: number; + readonly name: string; + readonly navBar: BootstrapAccordion | null; + getBadgeIconCssClass(): string; + getBadgeText(): string; + getEnabled(): boolean; + getIconCssClass(): string; + getImageUrl(): string; + getNavigateUrl(): string; + getText(): string; + getVisible(): boolean; + setBadgeIconCssClass(cssClass: string): void; + setBadgeText(text: string): void; + setEnabled(value: boolean): void; + setIconCssClass(cssClass: string): void; + setImageUrl(value: string): void; + setNavigateUrl(value: string): void; + setText(value: string): void; + setVisible(value: boolean): void; + } + + class BootstrapBinaryImage extends BootstrapClientEdit { + clear(): void; + getUploadedFileName(): string; + getValue(): any; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + setSize(width: number, height: number): void; + setValue(value: any): void; + on(eventName: K, callback: (this: BootstrapBinaryImage, args?: BootstrapBinaryImageEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapBinaryImage, args?: BootstrapBinaryImageEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapBinaryImage, args?: BootstrapBinaryImageEventMap[K]) => void): this; + } + interface BootstrapBinaryImageEventMap extends BootstrapClientEditEventMap { + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "click": EditClickEventArgs; + "endCallback": EndCallbackEventArgs; + } + + interface ButtonClickEventArgs extends ProcessingModeEventArgs { + readonly cancelEventAndBubble: boolean; + } + + class BootstrapButton extends Control { + doClick(): void; + focus(): void; + getBadgeIconCssClass(): string; + getBadgeText(): string; + getChecked(): boolean; + getEnabled(): boolean; + getImageUrl(): string; + getText(): string; + setBadgeIconCssClass(cssClass: string): void; + setBadgeText(text: string): void; + setChecked(value: boolean): void; + setEnabled(value: boolean): void; + setImageUrl(value: string): void; + setText(value: string): void; + on(eventName: K, callback: (this: BootstrapButton, args?: BootstrapButtonEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapButton, args?: BootstrapButtonEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapButton, args?: BootstrapButtonEventMap[K]) => void): this; + } + interface BootstrapButtonEventMap extends ControlEventMap { + "checkedChanged": ProcessingModeEventArgs; + "click": ButtonClickEventArgs; + "gotFocus": EventArgs; + "lostFocus": EventArgs; + } + + interface CalendarCustomDisabledDateEventArgs extends EventArgs { + readonly date: Date; + isDisabled: boolean; + } + + class BootstrapCalendar extends BootstrapClientEdit { + clearSelection(): void; + deselectDate(date: Date): void; + deselectRange(start: Date, end: Date): void; + getEnabled(): boolean; + getMaxDate(): Date; + getMinDate(): Date; + getSelectedDate(): Date; + getSelectedDates(): Date[]; + getVisibleDate(): Date; + isDateSelected(date: Date): boolean; + selectDate(date: Date): void; + selectRange(start: Date, end: Date): void; + setEnabled(enabled: boolean): void; + setMaxDate(date: Date): void; + setMinDate(date: Date): void; + setSelectedDate(date: Date): void; + setVisibleDate(date: Date): void; + on(eventName: K, callback: (this: BootstrapCalendar, args?: BootstrapCalendarEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapCalendar, args?: BootstrapCalendarEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapCalendar, args?: BootstrapCalendarEventMap[K]) => void): this; + } + interface BootstrapCalendarEventMap extends BootstrapClientEditEventMap { + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "customDisabledDate": CalendarCustomDisabledDateEventArgs; + "endCallback": EndCallbackEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "selectionChanged": ProcessingModeEventArgs; + "visibleMonthChanged": ProcessingModeEventArgs; + } + + interface GridToolbarItemClickEventArgs extends ProcessingModeEventArgs { + readonly item: BootstrapMenuItem; + readonly toolbarIndex: number; + readonly toolbarName: string; + usePostBack: boolean; + } + + class BootstrapGridBase extends Control { + getToolbar(index: number): BootstrapMenu | null; + getToolbarByName(name: string): BootstrapMenu | null; + on(eventName: K, callback: (this: BootstrapGridBase, args?: BootstrapGridBaseEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapGridBase, args?: BootstrapGridBaseEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapGridBase, args?: BootstrapGridBaseEventMap[K]) => void): this; + } + interface BootstrapGridBaseEventMap extends ControlEventMap { + "toolbarItemClick": GridToolbarItemClickEventArgs; + } + + interface CardViewColumnCancelEventArgs extends CancelEventArgs { + readonly column: BootstrapCardViewColumn; + } + + interface CardViewCardFocusingEventArgs extends CancelEventArgs { + readonly htmlEvent: any; + readonly visibleIndex: number; + } + + interface CardViewCardClickEventArgs extends CancelEventArgs { + readonly htmlEvent: any; + readonly visibleIndex: number; + } + + interface CardViewCustomButtonEventArgs extends ProcessingModeEventArgs { + readonly buttonID: string; + readonly visibleIndex: number; + } + + interface CardViewSelectionEventArgs extends ProcessingModeEventArgs { + readonly isAllRecordsOnPage: boolean; + readonly isChangedOnServer: boolean; + readonly isSelected: boolean; + readonly visibleIndex: number; + } + + interface CardViewFocusEventArgs extends ProcessingModeEventArgs { + readonly isChangedOnServer: boolean; + } + + interface CardViewBatchEditStartEditingEventArgs extends CancelEventArgs { + readonly cardValues: any; + focusedColumn: BootstrapCardViewColumn; + readonly visibleIndex: number; + } + + interface CardViewBatchEditEndEditingEventArgs extends CancelEventArgs { + readonly cardValues: any; + readonly visibleIndex: number; + } + + interface CardViewBatchEditCardValidatingEventArgs extends EventArgs { + readonly validationInfo: any; + readonly visibleIndex: number; + } + + interface CardViewBatchEditConfirmShowingEventArgs extends CancelEventArgs { + readonly requestTriggerID: string; + } + + interface CardViewBatchEditTemplateCellFocusedEventArgs extends EventArgs { + readonly column: BootstrapCardViewColumn; + handled: boolean; + } + + interface CardViewBatchEditChangesSavingEventArgs extends CancelEventArgs { + readonly deletedValues: any; + readonly insertedValues: any; + readonly updatedValues: any; + } + + interface CardViewBatchEditChangesCancelingEventArgs extends CancelEventArgs { + readonly deletedValues: any; + readonly insertedValues: any; + readonly updatedValues: any; + } + + interface CardViewBatchEditCardInsertingEventArgs extends CancelEventArgs { + readonly visibleIndex: number; + } + + interface CardViewBatchEditCardDeletingEventArgs extends CancelEventArgs { + readonly cardValues: any; + readonly visibleIndex: number; + } + + interface CardViewFocusedCellChangingEventArgs extends CancelEventArgs { + readonly cellInfo: BootstrapCardViewCellInfo; + } + + class BootstrapCardView extends BootstrapGridBase { + readonly batchEditApi: BootstrapCardViewBatchEditApi | null; + addNewCard(): void; + applyFilter(filterExpression: string): void; + applySearchPanelFilter(value: string): void; + cancelEdit(): void; + clearFilter(): void; + closeFilterControl(): void; + deleteCard(visibleIndex: number): void; + deleteCardByKey(key: any): void; + focus(): void; + focusEditor(column: BootstrapCardViewColumn): void; + focusEditor(columnIndex: number): void; // tslint:disable-line:unified-signatures + focusEditor(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + getCardKey(visibleIndex: number): string; + getColumn(columnIndex: number): BootstrapCardViewColumn | null; + getColumnByField(columnFieldName: string): BootstrapCardViewColumn | null; + getColumnById(columnId: string): BootstrapCardViewColumn | null; + getColumnCount(): number; + getEditValue(column: BootstrapCardViewColumn): string; + getEditValue(columnIndex: number): string; // tslint:disable-line:unified-signatures + getEditValue(columnFieldNameOrId: string): string; // tslint:disable-line:unified-signatures unified-signatures + getEditor(column: BootstrapCardViewColumn): BootstrapClientEdit; + getEditor(columnIndex: number): BootstrapClientEdit; // tslint:disable-line:unified-signatures + getEditor(columnFieldNameOrId: string): BootstrapClientEdit; // tslint:disable-line:unified-signatures unified-signatures + getFocusedCardIndex(): number; + getFocusedCell(): BootstrapCardViewCellInfo | null; + getPageCount(): number; + getPageIndex(): number; + getPopupEditForm(): BootstrapPopupControl | null; + getSelectedCardCount(): number; + getSelectedKeysOnPage(): any[]; + getTopVisibleIndex(): number; + getVerticalScrollPosition(): number; + getVisibleCardsOnPage(): number; + gotoPage(pageIndex: number): void; + hideCustomizationWindow(): void; + isCardSelectedOnPage(visibleIndex: number): boolean; + isCustomizationWindowVisible(): boolean; + isEditing(): boolean; + isNewCardEditing(): boolean; + moveColumn(column: BootstrapCardViewColumn): void; + moveColumn(columnIndex: number): void; // tslint:disable-line:unified-signatures + moveColumn(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + moveColumn(column: BootstrapCardViewColumn, moveToColumnVisibleIndex: number): void; // tslint:disable-line:unified-signatures + moveColumn(columnIndex: number, moveToColumnVisibleIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures + moveColumn(columnFieldNameOrId: string, moveToColumnVisibleIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + moveColumn(column: BootstrapCardViewColumn, moveToColumnVisibleIndex: number, moveBefore: boolean): void; // tslint:disable-line:unified-signatures + moveColumn(columnIndex: number, moveToColumnVisibleIndex: number, moveBefore: boolean): void; // tslint:disable-line:unified-signatures unified-signatures + moveColumn(columnFieldNameOrId: string, moveToColumnVisibleIndex: number, moveBefore: boolean): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + nextPage(): void; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + prevPage(): void; + refresh(): void; + selectAllCardsOnPage(): void; + selectCardOnPage(visibleIndex: number): void; + selectCardOnPage(visibleIndex: number, selected: boolean): void; // tslint:disable-line:unified-signatures + selectCards(): void; + selectCardsByKey(keys: any[]): void; + selectCardsByKey(key: any): void; // tslint:disable-line:unified-signatures + selectCardsByKey(keys: any[], selected: boolean): void; // tslint:disable-line:unified-signatures + selectCardsByKey(key: any, selected: boolean): void; // tslint:disable-line:unified-signatures unified-signatures + setEditValue(column: BootstrapCardViewColumn, value: string): void; + setEditValue(columnIndex: number, value: string): void; // tslint:disable-line:unified-signatures + setEditValue(columnFieldNameOrId: string, value: string): void; // tslint:disable-line:unified-signatures unified-signatures + setFilterEnabled(isFilterEnabled: boolean): void; + setFocusedCardIndex(visibleIndex: number): void; + setFocusedCell(cardVisibleIndex: number, columnIndex: number): void; + setSearchPanelCustomEditor(editor: BootstrapClientEdit): void; + setVerticalScrollPosition(position: number): void; + showCustomizationWindow(): void; + showFilterControl(): void; + sortBy(column: BootstrapCardViewColumn): void; + sortBy(columnIndex: number): void; // tslint:disable-line:unified-signatures + sortBy(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(column: BootstrapCardViewColumn, sortOrder: string): void; // tslint:disable-line:unified-signatures + sortBy(columnIndex: number, sortOrder: string): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(columnFieldNameOrId: string, sortOrder: string): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + sortBy(column: BootstrapCardViewColumn, sortOrder: string, reset: boolean): void; // tslint:disable-line:unified-signatures + sortBy(columnIndex: number, sortOrder: string, reset: boolean): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(columnFieldNameOrId: string, sortOrder: string, reset: boolean): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + sortBy(column: BootstrapCardViewColumn, sortOrder: string, reset: boolean, sortIndex: number): void; // tslint:disable-line:unified-signatures + sortBy(columnIndex: number, sortOrder: string, reset: boolean, sortIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(columnFieldNameOrId: string, sortOrder: string, reset: boolean, sortIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + startEditCard(visibleIndex: number): void; + startEditCardByKey(key: any): void; + unselectAllCardsOnPage(): void; + unselectCardOnPage(visibleIndex: number): void; + unselectCards(): void; + unselectCardsByKey(keys: any[]): void; + unselectCardsByKey(key: any): void; // tslint:disable-line:unified-signatures + unselectFilteredCards(): void; + updateEdit(): void; + on(eventName: K, callback: (this: BootstrapCardView, args?: BootstrapCardViewEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapCardView, args?: BootstrapCardViewEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapCardView, args?: BootstrapCardViewEventMap[K]) => void): this; + } + interface BootstrapCardViewEventMap extends BootstrapGridBaseEventMap { + "batchEditCardDeleting": CardViewBatchEditCardDeletingEventArgs; + "batchEditCardInserting": CardViewBatchEditCardInsertingEventArgs; + "batchEditCardValidating": CardViewBatchEditCardValidatingEventArgs; + "batchEditChangesCanceling": CardViewBatchEditChangesCancelingEventArgs; + "batchEditChangesSaving": CardViewBatchEditChangesSavingEventArgs; + "batchEditConfirmShowing": CardViewBatchEditConfirmShowingEventArgs; + "batchEditEndEditing": CardViewBatchEditEndEditingEventArgs; + "batchEditStartEditing": CardViewBatchEditStartEditingEventArgs; + "batchEditTemplateCellFocused": CardViewBatchEditTemplateCellFocusedEventArgs; + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "cardClick": CardViewCardClickEventArgs; + "cardDblClick": CardViewCardClickEventArgs; + "cardFocusing": CardViewCardFocusingEventArgs; + "columnSorting": CardViewColumnCancelEventArgs; + "customButtonClick": CardViewCustomButtonEventArgs; + "customizationWindowCloseUp": EventArgs; + "endCallback": EndCallbackEventArgs; + "focusedCardChanged": CardViewFocusEventArgs; + "focusedCellChanging": CardViewFocusedCellChangingEventArgs; + "selectionChanged": CardViewSelectionEventArgs; + } + + class BootstrapCardViewBatchEditApi { + protected readonly instance: any; + protected constructor(instance: any); + addNewCard(): void; + deleteCard(visibleIndex: number): void; + deleteCardByKey(key: any): void; + getCardVisibleIndices(includeDeleted: boolean): number[]; + getDeletedCardIndices(): number[]; + getInsertedCardIndices(): number[]; + isDeletedCard(visibleIndex: number): boolean; + isNewCard(visibleIndex: number): boolean; + recoverCard(visibleIndex: number): void; + recoverCardByKey(key: any): void; + validateCard(visibleIndex: number): boolean; + validateCards(validateOnlyModified: boolean): boolean; + } + + class BootstrapCardViewColumn { + protected readonly instance: any; + protected constructor(instance: any); + } + + class BootstrapCardViewCellInfo { + protected readonly instance: any; + protected constructor(instance: any); + readonly cardVisibleIndex: number; + endEdit(): void; + getCellTextContainer(visibleIndex: number, columnFieldNameOrId: string): any; + getCellValue(visibleIndex: number, columnFieldNameOrId: string, initial: boolean): any; + getColumnDisplayText(columnFieldNameOrId: string, value: any): string; + getEditCellInfo(): BootstrapCardViewCellInfo | null; + hasChanges(): boolean; + moveFocusBackward(): boolean; + moveFocusForward(): boolean; + resetChanges(visibleIndex: number): void; + resetChanges(visibleIndex: number, columnIndex: number): void; // tslint:disable-line:unified-signatures + setCellValue(visibleIndex: number, columnFieldNameOrId: string, value: any): void; + setCellValue(visibleIndex: number, columnFieldNameOrId: string, value: any, displayText: string, cancelCellHighlighting: boolean): void; + startEdit(visibleIndex: number, columnIndex: number): void; + } + + interface BootstrapChartEventArgsBase extends EventArgs { + readonly component: any; + readonly element: any; + } + + interface BootstrapChartErrorEventArgs extends BootstrapChartEventArgsBase { + readonly target: any; + } + + interface BootstrapChartElementActionEventArgs extends BootstrapChartEventArgsBase { + readonly target: any; + } + + interface BootstrapChartElementClickEventArgs extends BootstrapChartElementActionEventArgs { + readonly jQueryEvent: any; + } + + interface BootstrapChartExportEventArgs extends BootstrapChartEventArgsBase { + cancel: boolean; + readonly data: any; + readonly fileName: string; + readonly format: string; + } + + interface BootstrapChartOptionChangedEventArgs extends BootstrapChartEventArgsBase { + readonly fullName: string; + readonly name: string; + readonly previousValue: any; + readonly value: any; + } + + interface BootstrapChartZoomEndEventArgs extends BootstrapChartEventArgsBase { + readonly rangeEnd: any; + readonly rangeStart: any; + } + + class BootstrapChart extends Control { + exportTo(format: string, fileName: string): void; + getDataSource(): any; + getInstance(): any; + print(): void; + setDataSource(dataSource: any): void; + setOptions(options: any): void; + on(eventName: K, callback: (this: BootstrapChart, args?: BootstrapChartEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapChart, args?: BootstrapChartEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapChart, args?: BootstrapChartEventMap[K]) => void): this; + } + interface BootstrapChartEventMap extends ControlEventMap { + "argumentAxisClick": BootstrapChartElementClickEventArgs; + "disposing": BootstrapChartEventArgsBase; + "done": BootstrapChartEventArgsBase; + "drawn": BootstrapChartEventArgsBase; + "exported": BootstrapChartEventArgsBase; + "exporting": BootstrapChartExportEventArgs; + "fileSaving": BootstrapChartExportEventArgs; + "incidentOccurred": BootstrapChartErrorEventArgs; + "init": BootstrapChartEventArgsBase; + "legendClick": BootstrapChartElementClickEventArgs; + "optionChanged": BootstrapChartOptionChangedEventArgs; + "pointClick": BootstrapChartElementClickEventArgs; + "pointHoverChanged": BootstrapChartElementActionEventArgs; + "pointSelectionChanged": BootstrapChartElementActionEventArgs; + "seriesClick": BootstrapChartElementClickEventArgs; + "seriesHoverChanged": BootstrapChartElementActionEventArgs; + "seriesSelectionChanged": BootstrapChartElementActionEventArgs; + "tooltipHidden": BootstrapChartElementActionEventArgs; + "tooltipShown": BootstrapChartElementActionEventArgs; + "zoomEnd": BootstrapChartZoomEndEventArgs; + "zoomStart": BootstrapChartEventArgsBase; + } + + class BootstrapPolarChart extends Control { + exportTo(format: string, fileName: string): void; + getDataSource(): any; + getInstance(): any; + print(): void; + setDataSource(dataSource: any): void; + setOptions(options: any): void; + on(eventName: K, callback: (this: BootstrapPolarChart, args?: BootstrapPolarChartEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapPolarChart, args?: BootstrapPolarChartEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapPolarChart, args?: BootstrapPolarChartEventMap[K]) => void): this; + } + interface BootstrapPolarChartEventMap extends ControlEventMap { + "argumentAxisClick": BootstrapChartElementClickEventArgs; + "disposing": BootstrapChartEventArgsBase; + "done": BootstrapChartEventArgsBase; + "drawn": BootstrapChartEventArgsBase; + "exported": BootstrapChartEventArgsBase; + "exporting": BootstrapChartExportEventArgs; + "fileSaving": BootstrapChartExportEventArgs; + "incidentOccurred": BootstrapChartErrorEventArgs; + "init": BootstrapChartEventArgsBase; + "legendClick": BootstrapChartElementClickEventArgs; + "optionChanged": BootstrapChartOptionChangedEventArgs; + "pointClick": BootstrapChartElementClickEventArgs; + "pointHoverChanged": BootstrapChartElementActionEventArgs; + "pointSelectionChanged": BootstrapChartElementActionEventArgs; + "seriesClick": BootstrapChartElementClickEventArgs; + "seriesHoverChanged": BootstrapChartElementActionEventArgs; + "seriesSelectionChanged": BootstrapChartElementActionEventArgs; + "tooltipHidden": BootstrapChartElementActionEventArgs; + "tooltipShown": BootstrapChartElementActionEventArgs; + } + + class BootstrapPieChart extends Control { + exportTo(format: string, fileName: string): void; + getDataSource(): any; + getInstance(): any; + print(): void; + setDataSource(dataSource: any): void; + setOptions(options: any): void; + on(eventName: K, callback: (this: BootstrapPieChart, args?: BootstrapPieChartEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapPieChart, args?: BootstrapPieChartEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapPieChart, args?: BootstrapPieChartEventMap[K]) => void): this; + } + interface BootstrapPieChartEventMap extends ControlEventMap { + "disposing": BootstrapChartEventArgsBase; + "done": BootstrapChartEventArgsBase; + "drawn": BootstrapChartEventArgsBase; + "exported": BootstrapChartEventArgsBase; + "exporting": BootstrapChartExportEventArgs; + "fileSaving": BootstrapChartExportEventArgs; + "incidentOccurred": BootstrapChartErrorEventArgs; + "init": BootstrapChartEventArgsBase; + "legendClick": BootstrapChartElementClickEventArgs; + "optionChanged": BootstrapChartOptionChangedEventArgs; + "pointClick": BootstrapChartElementClickEventArgs; + "pointHoverChanged": BootstrapChartElementActionEventArgs; + "pointSelectionChanged": BootstrapChartElementActionEventArgs; + "tooltipHidden": BootstrapChartElementActionEventArgs; + "tooltipShown": BootstrapChartElementActionEventArgs; + } + + class BootstrapCheckBox extends BootstrapClientEdit { + getCheckState(): string; + getChecked(): boolean; + getText(): string; + setCheckState(checkState: string): void; + setChecked(isChecked: boolean): void; + setText(text: string): void; + on(eventName: K, callback: (this: BootstrapCheckBox, args?: BootstrapCheckBoxEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapCheckBox, args?: BootstrapCheckBoxEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapCheckBox, args?: BootstrapCheckBoxEventMap[K]) => void): this; + } + interface BootstrapCheckBoxEventMap extends BootstrapClientEditEventMap { + "checkedChanged": ProcessingModeEventArgs; + } + + class BootstrapRadioButton extends BootstrapClientEdit { + getCheckState(): string; + getChecked(): boolean; + getText(): string; + setCheckState(checkState: string): void; + setChecked(isChecked: boolean): void; + setText(text: string): void; + on(eventName: K, callback: (this: BootstrapRadioButton, args?: BootstrapRadioButtonEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapRadioButton, args?: BootstrapRadioButtonEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapRadioButton, args?: BootstrapRadioButtonEventMap[K]) => void): this; + } + interface BootstrapRadioButtonEventMap extends BootstrapClientEditEventMap { + "checkedChanged": ProcessingModeEventArgs; + } + + class BootstrapComboBox extends BootstrapClientEdit { + addItem(texts: string[]): number; + addItem(text: string): number; // tslint:disable-line:unified-signatures + addItem(texts: string[], value: any): number; // tslint:disable-line:unified-signatures + addItem(text: string, value: any): number; // tslint:disable-line:unified-signatures unified-signatures + addItem(texts: string[], value: any, iconCssClass: string): number; // tslint:disable-line:unified-signatures + addItem(text: string, value: any, iconCssClass: string): number; // tslint:disable-line:unified-signatures unified-signatures + addItemCssClass(index: number, className: string): void; + addItemTextCellCssClass(itemIndex: number, textCellIndex: number, className: string): void; + adjustDropDownWindow(): void; + beginUpdate(): void; + clearItems(): void; + endUpdate(): void; + ensureDropDownLoaded(callbackFunction: any): void; + findItemByText(text: string): BootstrapListBoxItem | null; + findItemByValue(value: any): BootstrapListBoxItem | null; + getButtonVisible(number: number): boolean; + getCaretPosition(): number; + getItem(index: number): BootstrapListBoxItem | null; + getItemBadgeIconCssClass(index: number): string; + getItemBadgeText(index: number): string; + getItemCount(): number; + getSelectedIndex(): number; + getSelectedItem(): BootstrapListBoxItem | null; + getText(): string; + hideDropDown(): void; + insertItem(index: number, texts: string[]): void; + insertItem(index: number, text: string): void; // tslint:disable-line:unified-signatures + insertItem(index: number, texts: string[], value: any): void; // tslint:disable-line:unified-signatures + insertItem(index: number, text: string, value: any): void; // tslint:disable-line:unified-signatures unified-signatures + insertItem(index: number, texts: string[], value: any, iconCssClass: string): void; // tslint:disable-line:unified-signatures + insertItem(index: number, text: string, value: any, iconCssClass: string): void; // tslint:disable-line:unified-signatures unified-signatures + makeItemVisible(index: number): void; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + removeItem(index: number): void; + removeItemCssClass(index: number, className: string): void; + removeItemTextCellCssClass(itemIndex: number, textCellIndex: number, className: string): void; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setItemBadgeIconCssClass(index: number, cssClass: string): void; + setItemBadgeText(index: number, text: string): void; + setItemHtml(index: number, html: string): void; + setItemTextCellHtml(itemIndex: number, textCellIndex: number, html: string): void; + setItemTextCellTooltip(itemIndex: number, textCellIndex: number, tooltip: string): void; + setItemTooltip(index: number, tooltip: string): void; + setSelectedIndex(index: number): void; + setSelectedItem(item: BootstrapListBoxItem): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string, applyFilter: boolean): void; + showDropDown(): void; + on(eventName: K, callback: (this: BootstrapComboBox, args?: BootstrapComboBoxEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapComboBox, args?: BootstrapComboBoxEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapComboBox, args?: BootstrapComboBoxEventMap[K]) => void): this; + } + interface BootstrapComboBoxEventMap extends BootstrapClientEditEventMap { + "beginCallback": BeginCallbackEventArgs; + "buttonClick": ButtonEditClickEventArgs; + "callbackError": CallbackErrorEventArgs; + "closeUp": EventArgs; + "customHighlighting": ListEditCustomHighlightingEventArgs; + "dropDown": EventArgs; + "endCallback": EndCallbackEventArgs; + "itemFiltering": ListEditItemFilteringEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "queryCloseUp": CancelEventArgs; + "selectedIndexChanged": ProcessingModeEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + interface ParseDateEventArgs extends EventArgs { + readonly date: Date; + readonly handled: boolean; + readonly value: string; + } + + class BootstrapDateEdit extends BootstrapClientEdit { + adjustDropDownWindow(): void; + getButtonVisible(number: number): boolean; + getCalendar(): BootstrapCalendar | null; + getCaretPosition(): number; + getDate(): Date; + getMaxDate(): Date; + getMinDate(): Date; + getRangeDayCount(): number; + getText(): string; + getTimeEdit(): BootstrapTimeEdit | null; + hideDropDown(): void; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setDate(date: Date): void; + setMaxDate(date: Date): void; + setMinDate(date: Date): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + showDropDown(): void; + on(eventName: K, callback: (this: BootstrapDateEdit, args?: BootstrapDateEditEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapDateEdit, args?: BootstrapDateEditEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapDateEdit, args?: BootstrapDateEditEventMap[K]) => void): this; + } + interface BootstrapDateEditEventMap extends BootstrapClientEditEventMap { + "buttonClick": ButtonEditClickEventArgs; + "calendarCustomDisabledDate": CalendarCustomDisabledDateEventArgs; + "closeUp": EventArgs; + "dateChanged": ProcessingModeEventArgs; + "dropDown": EventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "parseDate": ParseDateEventArgs; + "queryCloseUp": CancelEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + class BootstrapDropDownEdit extends BootstrapClientEdit { + adjustDropDownWindow(): void; + getButtonVisible(number: number): boolean; + getCaretPosition(): number; + getKeyValue(): string; + getText(): string; + hideDropDown(): void; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setKeyValue(keyValue: string): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + showDropDown(): void; + on(eventName: K, callback: (this: BootstrapDropDownEdit, args?: BootstrapDropDownEditEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapDropDownEdit, args?: BootstrapDropDownEditEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapDropDownEdit, args?: BootstrapDropDownEditEventMap[K]) => void): this; + } + interface BootstrapDropDownEditEventMap extends BootstrapClientEditEventMap { + "buttonClick": ButtonEditClickEventArgs; + "closeUp": EventArgs; + "dropDown": EventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "queryCloseUp": CancelEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + class BootstrapFormLayout extends Control { + getItemByName(name: string): BootstrapFormLayoutItem | null; + on(eventName: K, callback: (this: BootstrapFormLayout, args?: BootstrapFormLayoutEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapFormLayout, args?: BootstrapFormLayoutEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapFormLayout, args?: BootstrapFormLayoutEventMap[K]) => void): this; + } + interface BootstrapFormLayoutEventMap extends ControlEventMap { // tslint:disable-line:no-empty-interface + } + + class BootstrapFormLayoutItem { + protected readonly instance: any; + protected constructor(instance: any); + readonly formLayout: BootstrapFormLayout | null; + readonly name: string; + readonly parent: BootstrapFormLayoutItem | null; + getCaption(): string; + getItemByName(name: string): BootstrapFormLayoutItem | null; + getVisible(): boolean; + setCaption(caption: string): void; + setVisible(value: boolean): void; + } + + interface GridViewColumnCancelEventArgs extends CancelEventArgs { + readonly column: BootstrapGridViewColumn; + } + + interface GridViewColumnProcessingModeEventArgs extends ProcessingModeEventArgs { + readonly column: BootstrapGridViewColumn; + } + + interface GridViewRowCancelEventArgs extends CancelEventArgs { + readonly visibleIndex: number; + } + + interface GridViewSelectionEventArgs extends ProcessingModeEventArgs { + readonly isAllRecordsOnPage: boolean; + readonly isChangedOnServer: boolean; + readonly isSelected: boolean; + readonly visibleIndex: number; + } + + interface GridViewFocusEventArgs extends ProcessingModeEventArgs { + readonly isChangedOnServer: boolean; + } + + interface GridViewRowFocusingEventArgs extends GridViewRowCancelEventArgs { + readonly htmlEvent: any; + } + + interface GridViewRowClickEventArgs extends GridViewRowCancelEventArgs { + readonly htmlEvent: any; + } + + interface GridViewContextMenuEventArgs extends EventArgs { + readonly htmlEvent: any; + readonly index: number; + readonly menu: any; + readonly objectType: string; + showBrowserMenu: boolean; + } + + interface GridViewContextMenuItemClickEventArgs extends ProcessingModeEventArgs { + readonly elementIndex: number; + handled: boolean; + readonly item: BootstrapMenuItem; + readonly objectType: string; + usePostBack: boolean; + } + + interface GridViewCustomButtonEventArgs extends ProcessingModeEventArgs { + readonly buttonID: string; + readonly visibleIndex: number; + } + + interface GridViewColumnMovingEventArgs extends EventArgs { + allow: boolean; + readonly destinationColumn: BootstrapGridViewColumn; + readonly isDropBefore: boolean; + readonly isGroupPanel: boolean; + readonly sourceColumn: BootstrapGridViewColumn; + } + + interface GridViewBatchEditConfirmShowingEventArgs extends CancelEventArgs { + readonly requestTriggerID: string; + } + + interface GridViewBatchEditStartEditingEventArgs extends CancelEventArgs { + focusedColumn: BootstrapGridViewColumn; + readonly rowValues: any; + readonly visibleIndex: number; + } + + interface GridViewBatchEditEndEditingEventArgs extends CancelEventArgs { + readonly rowValues: any; + readonly visibleIndex: number; + } + + interface GridViewBatchEditRowValidatingEventArgs extends EventArgs { + readonly validationInfo: any; + readonly visibleIndex: number; + } + + interface GridViewBatchEditTemplateCellFocusedEventArgs extends EventArgs { + readonly column: BootstrapGridViewColumn; + handled: boolean; + } + + interface GridViewBatchEditChangesSavingEventArgs extends CancelEventArgs { + readonly deletedValues: any; + readonly insertedValues: any; + readonly updatedValues: any; + } + + interface GridViewBatchEditChangesCancelingEventArgs extends CancelEventArgs { + readonly deletedValues: any; + readonly insertedValues: any; + readonly updatedValues: any; + } + + interface GridViewBatchEditRowInsertingEventArgs extends CancelEventArgs { + readonly visibleIndex: number; + } + + interface GridViewBatchEditRowDeletingEventArgs extends CancelEventArgs { + readonly rowValues: any; + readonly visibleIndex: number; + } + + interface GridViewFocusedCellChangingEventArgs extends CancelEventArgs { + readonly cellInfo: BootstrapGridViewCellInfo; + } + + class BootstrapGridView extends BootstrapGridBase { + readonly batchEditApi: BootstrapGridViewBatchEditApi | null; + addNewRow(): void; + applyFilter(filterExpression: string): void; + applyOnClickRowFilter(): void; + applySearchPanelFilter(value: string): void; + autoFilterByColumn(column: BootstrapGridViewColumn, val: string): void; + autoFilterByColumn(columnIndex: number, val: string): void; // tslint:disable-line:unified-signatures + autoFilterByColumn(columnFieldNameOrId: string, val: string): void; // tslint:disable-line:unified-signatures unified-signatures + cancelEdit(): void; + clearFilter(): void; + closeFilterControl(): void; + collapseAll(): void; + collapseAllDetailRows(): void; + collapseDetailRow(visibleIndex: number): void; + collapseRow(visibleIndex: number): void; + collapseRow(visibleIndex: number, recursive: boolean): void; // tslint:disable-line:unified-signatures + deleteRow(visibleIndex: number): void; + deleteRowByKey(key: any): void; + expandAll(): void; + expandAllDetailRows(): void; + expandDetailRow(visibleIndex: number): void; + expandRow(visibleIndex: number): void; + expandRow(visibleIndex: number, recursive: boolean): void; // tslint:disable-line:unified-signatures + focus(): void; + focusEditor(column: BootstrapGridViewColumn): void; + focusEditor(columnIndex: number): void; // tslint:disable-line:unified-signatures + focusEditor(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + getAutoFilterEditor(column: BootstrapGridViewColumn): any; + getAutoFilterEditor(columnIndex: number): any; // tslint:disable-line:unified-signatures + getAutoFilterEditor(columnFieldNameOrId: string): any; // tslint:disable-line:unified-signatures unified-signatures + getColumn(columnIndex: number): BootstrapGridViewColumn | null; + getColumnByField(columnFieldName: string): BootstrapGridViewColumn | null; + getColumnById(columnId: string): BootstrapGridViewColumn | null; + getColumnCount(): number; + getColumnLayout(): any; + getEditValue(column: BootstrapGridViewColumn): string; + getEditValue(columnIndex: number): string; // tslint:disable-line:unified-signatures + getEditValue(columnFieldNameOrId: string): string; // tslint:disable-line:unified-signatures unified-signatures + getEditor(column: BootstrapGridViewColumn): BootstrapClientEdit; + getEditor(columnIndex: number): BootstrapClientEdit; // tslint:disable-line:unified-signatures + getEditor(columnFieldNameOrId: string): BootstrapClientEdit; // tslint:disable-line:unified-signatures unified-signatures + getFocusedCell(): BootstrapGridViewCellInfo | null; + getFocusedRowIndex(): number; + getHorizontalScrollPosition(): number; + getPageCount(): number; + getPageIndex(): number; + getPopupEditForm(): BootstrapPopupControl | null; + getRowIndicesVisibleInViewPort(includePartiallyVisible: boolean): number[]; + getRowKey(visibleIndex: number): string; + getSelectedKeysOnPage(): any[]; + getSelectedRowCount(): number; + getTopVisibleIndex(): number; + getVerticalScrollPosition(): number; + getVisibleRowsOnPage(): number; + gotoPage(pageIndex: number): void; + groupBy(column: BootstrapGridViewColumn): void; + groupBy(columnIndex: number): void; // tslint:disable-line:unified-signatures + groupBy(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + groupBy(column: BootstrapGridViewColumn, groupIndex: number): void; // tslint:disable-line:unified-signatures + groupBy(columnIndex: number, groupIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures + groupBy(columnFieldNameOrId: string, groupIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + groupBy(column: BootstrapGridViewColumn, groupIndex: number, sortOrder: string): void; // tslint:disable-line:unified-signatures + groupBy(columnIndex: number, groupIndex: number, sortOrder: string): void; // tslint:disable-line:unified-signatures unified-signatures + groupBy(columnFieldNameOrId: string, groupIndex: number, sortOrder: string): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + hideCustomizationWindow(): void; + isCustomizationWindowVisible(): boolean; + isDataRow(visibleIndex: number): boolean; + isEditing(): boolean; + isGroupRow(visibleIndex: number): boolean; + isGroupRowExpanded(visibleIndex: number): boolean; + isNewRowEditing(): boolean; + isRowSelectedOnPage(visibleIndex: number): boolean; + makeRowVisible(visibleIndex: number): void; + nextPage(): void; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + prevPage(): void; + refresh(): void; + selectAllRowsOnPage(): void; + selectRowOnPage(visibleIndex: number): void; + selectRowOnPage(visibleIndex: number, selected: boolean): void; // tslint:disable-line:unified-signatures + selectRows(): void; + selectRowsByKey(keys: any[]): void; + selectRowsByKey(key: any): void; // tslint:disable-line:unified-signatures + selectRowsByKey(keys: any[], selected: boolean): void; // tslint:disable-line:unified-signatures + selectRowsByKey(key: any, selected: boolean): void; // tslint:disable-line:unified-signatures unified-signatures + setColumnLayout(columnLayout: any): void; + setEditValue(column: BootstrapGridViewColumn, value: string): void; + setEditValue(columnIndex: number, value: string): void; // tslint:disable-line:unified-signatures + setEditValue(columnFieldNameOrId: string, value: string): void; // tslint:disable-line:unified-signatures unified-signatures + setFilterEnabled(isFilterEnabled: boolean): void; + setFixedColumnScrollableRows(scrollableRowSettings: any): void; + setFocusedCell(rowVisibleIndex: number, columnIndex: number): void; + setFocusedRowIndex(visibleIndex: number): void; + setHorizontalScrollPosition(position: number): void; + setSearchPanelCustomEditor(editor: BootstrapClientEdit): void; + setVerticalScrollPosition(position: number): void; + showCustomizationDialog(): void; + showCustomizationWindow(): void; + showFilterControl(): void; + sortBy(column: BootstrapGridViewColumn): void; + sortBy(columnIndex: number): void; // tslint:disable-line:unified-signatures + sortBy(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(column: BootstrapGridViewColumn, sortOrder: string): void; // tslint:disable-line:unified-signatures + sortBy(columnIndex: number, sortOrder: string): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(columnFieldNameOrId: string, sortOrder: string): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + sortBy(column: BootstrapGridViewColumn, sortOrder: string, reset: boolean): void; // tslint:disable-line:unified-signatures + sortBy(columnIndex: number, sortOrder: string, reset: boolean): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(columnFieldNameOrId: string, sortOrder: string, reset: boolean): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + sortBy(column: BootstrapGridViewColumn, sortOrder: string, reset: boolean, sortIndex: number): void; // tslint:disable-line:unified-signatures + sortBy(columnIndex: number, sortOrder: string, reset: boolean, sortIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures + sortBy(columnFieldNameOrId: string, sortOrder: string, reset: boolean, sortIndex: number): void; // tslint:disable-line:unified-signatures unified-signatures unified-signatures + startEditRow(visibleIndex: number): void; + startEditRowByKey(key: any): void; + ungroup(column: BootstrapGridViewColumn): void; + ungroup(columnIndex: number): void; // tslint:disable-line:unified-signatures + ungroup(columnFieldNameOrId: string): void; // tslint:disable-line:unified-signatures unified-signatures + unselectAllRowsOnPage(): void; + unselectFilteredRows(): void; + unselectRowOnPage(visibleIndex: number): void; + unselectRows(): void; + unselectRowsByKey(keys: any[]): void; + unselectRowsByKey(key: any): void; // tslint:disable-line:unified-signatures + updateEdit(): void; + on(eventName: K, callback: (this: BootstrapGridView, args?: BootstrapGridViewEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapGridView, args?: BootstrapGridViewEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapGridView, args?: BootstrapGridViewEventMap[K]) => void): this; + } + interface BootstrapGridViewEventMap extends BootstrapGridBaseEventMap { + "batchEditChangesCanceling": GridViewBatchEditChangesCancelingEventArgs; + "batchEditChangesSaving": GridViewBatchEditChangesSavingEventArgs; + "batchEditConfirmShowing": GridViewBatchEditConfirmShowingEventArgs; + "batchEditEndEditing": GridViewBatchEditEndEditingEventArgs; + "batchEditRowDeleting": GridViewBatchEditRowDeletingEventArgs; + "batchEditRowInserting": GridViewBatchEditRowInsertingEventArgs; + "batchEditRowValidating": GridViewBatchEditRowValidatingEventArgs; + "batchEditStartEditing": GridViewBatchEditStartEditingEventArgs; + "batchEditTemplateCellFocused": GridViewBatchEditTemplateCellFocusedEventArgs; + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "columnGrouping": GridViewColumnCancelEventArgs; + "columnMoving": GridViewColumnMovingEventArgs; + "columnResized": GridViewColumnProcessingModeEventArgs; + "columnResizing": GridViewColumnCancelEventArgs; + "columnSorting": GridViewColumnCancelEventArgs; + "columnStartDragging": GridViewColumnCancelEventArgs; + "contextMenu": GridViewContextMenuEventArgs; + "contextMenuItemClick": GridViewContextMenuItemClickEventArgs; + "customButtonClick": GridViewCustomButtonEventArgs; + "customizationWindowCloseUp": EventArgs; + "detailRowCollapsing": GridViewRowCancelEventArgs; + "detailRowExpanding": GridViewRowCancelEventArgs; + "endCallback": EndCallbackEventArgs; + "focusedCellChanging": GridViewFocusedCellChangingEventArgs; + "focusedRowChanged": GridViewFocusEventArgs; + "rowClick": GridViewRowClickEventArgs; + "rowCollapsing": GridViewRowCancelEventArgs; + "rowDblClick": GridViewRowClickEventArgs; + "rowExpanding": GridViewRowCancelEventArgs; + "rowFocusing": GridViewRowFocusingEventArgs; + "selectionChanged": GridViewSelectionEventArgs; + } + + class BootstrapGridViewBatchEditApi { + protected readonly instance: any; + protected constructor(instance: any); + addNewRow(): void; + deleteRow(visibleIndex: number): void; + deleteRowByKey(key: any): void; + endEdit(): void; + getCellTextContainer(visibleIndex: number, columnFieldNameOrId: string): any; + getCellValue(visibleIndex: number, columnFieldNameOrId: string, initial: boolean): any; + getColumnDisplayText(columnFieldNameOrId: string, value: any): string; + getDeletedRowIndices(): number[]; + getEditCellInfo(): BootstrapGridViewCellInfo | null; + getInsertedRowIndices(): number[]; + getRowVisibleIndices(includeDeleted: boolean): number[]; + hasChanges(): boolean; + isDeletedRow(visibleIndex: number): boolean; + isNewRow(visibleIndex: number): boolean; + moveFocusBackward(): boolean; + moveFocusForward(): boolean; + recoverRow(visibleIndex: number): void; + recoverRowByKey(key: any): void; + resetChanges(visibleIndex: number): void; + resetChanges(visibleIndex: number, columnIndex: number): void; // tslint:disable-line:unified-signatures + setCellValue(visibleIndex: number, columnFieldNameOrId: string, value: any): void; + setCellValue(visibleIndex: number, columnFieldNameOrId: string, value: any, displayText: string, cancelCellHighlighting: boolean): void; + startEdit(visibleIndex: number, columnIndex: number): void; + validateRow(visibleIndex: number): boolean; + validateRows(validateOnlyModified: boolean): boolean; + } + + class BootstrapGridViewColumn { + protected readonly instance: any; + protected constructor(instance: any); + readonly fieldName: string; + readonly index: number; + readonly name: string; + readonly visible: boolean; + } + + class BootstrapGridViewCellInfo { + protected readonly instance: any; + protected constructor(instance: any); + readonly rowVisibleIndex: number; + } + + class BootstrapHyperLink extends Control { + getBadgeIconCssClass(): string; + getBadgeText(): string; + getCaption(): string; + getEnabled(): boolean; + getNavigateUrl(): string; + getText(): string; + getValue(): any; + setBadgeIconCssClass(cssClass: string): void; + setBadgeText(text: string): void; + setCaption(caption: string): void; + setEnabled(value: boolean): void; + setNavigateUrl(url: string): void; + setText(text: string): void; + setValue(value: any): void; + on(eventName: K, callback: (this: BootstrapHyperLink, args?: BootstrapHyperLinkEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapHyperLink, args?: BootstrapHyperLinkEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapHyperLink, args?: BootstrapHyperLinkEventMap[K]) => void): this; + } + interface BootstrapHyperLinkEventMap extends ControlEventMap { + "click": EditClickEventArgs; + } + + interface ListEditItemSelectedChangedEventArgs extends ProcessingModeEventArgs { + readonly index: number; + readonly isSelected: boolean; + } + + interface ListEditCustomHighlightingEventArgs extends EventArgs { + readonly filter: string; + highlighting: any; + } + + interface ListEditItemFilteringEventArgs extends EventArgs { + readonly filter: string; + isFit: boolean; + readonly item: BootstrapListBoxItem; + } + + class BootstrapListBox extends BootstrapClientEdit { + addItem(texts: string[]): number; + addItem(text: string): number; // tslint:disable-line:unified-signatures + addItem(texts: string[], value: any): number; // tslint:disable-line:unified-signatures + addItem(text: string, value: any): number; // tslint:disable-line:unified-signatures unified-signatures + addItem(texts: string[], value: any, iconCssClass: string): number; // tslint:disable-line:unified-signatures + addItem(text: string, value: any, iconCssClass: string): number; // tslint:disable-line:unified-signatures unified-signatures + addItemCssClass(index: number, className: string): void; + addItemTextCellCssClass(itemIndex: number, textCellIndex: number, className: string): void; + beginUpdate(): void; + clearItems(): void; + endUpdate(): void; + findItemByText(text: string): BootstrapListBoxItem | null; + findItemByValue(value: any): BootstrapListBoxItem | null; + getItem(index: number): BootstrapListBoxItem | null; + getItemBadgeIconCssClass(index: number): string; + getItemBadgeText(index: number): string; + getItemCount(): number; + getSelectedIndex(): number; + getSelectedIndices(): number[]; + getSelectedItem(): BootstrapListBoxItem | null; + getSelectedItems(): BootstrapListBoxItem[]; + getSelectedValues(): any[]; + insertItem(index: number, texts: string[]): void; + insertItem(index: number, text: string): void; // tslint:disable-line:unified-signatures + insertItem(index: number, texts: string[], value: any): void; // tslint:disable-line:unified-signatures + insertItem(index: number, text: string, value: any): void; // tslint:disable-line:unified-signatures unified-signatures + insertItem(index: number, texts: string[], value: any, iconCssClass: string): void; // tslint:disable-line:unified-signatures + insertItem(index: number, text: string, value: any, iconCssClass: string): void; // tslint:disable-line:unified-signatures unified-signatures + makeItemVisible(index: number): void; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + removeItem(index: number): void; + removeItemCssClass(index: number, className: string): void; + removeItemTextCellCssClass(itemIndex: number, textCellIndex: number, className: string): void; + selectAll(): void; + selectIndices(indices: number[]): void; + selectItems(items: BootstrapListBoxItem[]): void; + selectValues(values: any[]): void; + setItemBadgeIconCssClass(index: number, cssClass: string): void; + setItemBadgeText(index: number, text: string): void; + setItemHtml(index: number, html: string): void; + setItemTextCellHtml(itemIndex: number, textCellIndex: number, html: string): void; + setItemTextCellTooltip(itemIndex: number, textCellIndex: number, tooltip: string): void; + setItemTooltip(index: number, tooltip: string): void; + setSelectedIndex(index: number): void; + setSelectedItem(item: BootstrapListBoxItem): void; + unselectAll(): void; + unselectIndices(indices: number[]): void; + unselectItems(items: BootstrapListBoxItem[]): void; + unselectValues(values: any[]): void; + on(eventName: K, callback: (this: BootstrapListBox, args?: BootstrapListBoxEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapListBox, args?: BootstrapListBoxEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapListBox, args?: BootstrapListBoxEventMap[K]) => void): this; + } + interface BootstrapListBoxEventMap extends BootstrapClientEditEventMap { + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "customHighlighting": ListEditCustomHighlightingEventArgs; + "endCallback": EndCallbackEventArgs; + "itemDoubleClick": EventArgs; + "itemFiltering": ListEditItemFilteringEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "selectedIndexChanged": ProcessingModeEventArgs; + } + + class BootstrapListBoxItem { + protected readonly instance: any; + protected constructor(instance: any); + readonly iconCssClass: string; + readonly imageUrl: string; + readonly index: number; + readonly listEditBase: BootstrapListBox | null; + readonly text: string; + readonly value: any; + getColumnText(columnIndex: number): string; + getColumnText(columnName: string): string; // tslint:disable-line:unified-signatures + getFieldText(fieldIndex: number): string; + getFieldText(fieldName: string): string; // tslint:disable-line:unified-signatures + } + + class BootstrapCheckBoxList extends BootstrapListBox { + getItem(index: number): BootstrapListBoxItem | null; + getItemCount(): number; + getSelectedIndices(): number[]; + getSelectedItems(): BootstrapListBoxItem[]; + getSelectedValues(): any[]; + selectAll(): void; + selectIndices(indices: number[]): void; + selectItems(items: BootstrapListBoxItem[]): void; + selectValues(values: any[]): void; + unselectAll(): void; + unselectIndices(indices: number[]): void; + unselectItems(items: BootstrapListBoxItem[]): void; + unselectValues(values: any[]): void; + on(eventName: K, callback: (this: BootstrapCheckBoxList, args?: BootstrapCheckBoxListEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapCheckBoxList, args?: BootstrapCheckBoxListEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapCheckBoxList, args?: BootstrapCheckBoxListEventMap[K]) => void): this; + } + interface BootstrapCheckBoxListEventMap extends BootstrapListBoxEventMap { // tslint:disable-line:no-empty-interface + } + + class BootstrapRadioButtonList extends BootstrapListBox { + getItem(index: number): BootstrapListBoxItem | null; + getItemCount(): number; + on(eventName: K, callback: (this: BootstrapRadioButtonList, args?: BootstrapRadioButtonListEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapRadioButtonList, args?: BootstrapRadioButtonListEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapRadioButtonList, args?: BootstrapRadioButtonListEventMap[K]) => void): this; + } + interface BootstrapRadioButtonListEventMap extends BootstrapListBoxEventMap { // tslint:disable-line:no-empty-interface + } + + interface MenuItemEventArgs extends EventArgs { + readonly item: BootstrapMenuItem; + } + + interface MenuItemMouseEventArgs extends MenuItemEventArgs { // tslint:disable-line:no-empty-interface + } + + interface MenuItemClickEventArgs extends ProcessingModeEventArgs { + readonly htmlElement: object; + readonly htmlEvent: object; + readonly item: BootstrapMenuItem; + } + + class BootstrapMenu extends Control { + getItem(index: number): BootstrapMenuItem | null; + getItemByName(name: string): BootstrapMenuItem | null; + getItemCount(): number; + getOrientation(): string; + getRootItem(): BootstrapMenuItem | null; + getSelectedItem(): BootstrapMenuItem | null; + setOrientation(orientation: string): void; + setSelectedItem(item: BootstrapMenuItem): void; + on(eventName: K, callback: (this: BootstrapMenu, args?: BootstrapMenuEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapMenu, args?: BootstrapMenuEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapMenu, args?: BootstrapMenuEventMap[K]) => void): this; + } + interface BootstrapMenuEventMap extends ControlEventMap { + "closeUp": MenuItemEventArgs; + "itemClick": MenuItemClickEventArgs; + "itemMouseOut": MenuItemMouseEventArgs; + "itemMouseOver": MenuItemMouseEventArgs; + "popUp": MenuItemEventArgs; + } + + class BootstrapMenuItem { + protected readonly instance: any; + protected constructor(instance: any); + readonly index: number; + readonly indexPath: string; + readonly menu: BootstrapMenu | null; + readonly name: string; + readonly parent: BootstrapMenuItem | null; + getBadgeIconCssClass(): string; + getBadgeText(): string; + getChecked(): boolean; + getEnabled(): boolean; + getIconCssClass(): string; + getImageUrl(): string; + getItem(index: number): BootstrapMenuItem | null; + getItemByName(name: string): BootstrapMenuItem | null; + getItemCount(): number; + getNavigateUrl(): string; + getText(): string; + getVisible(): boolean; + setBadgeIconCssClass(cssClass: string): void; + setBadgeText(text: string): void; + setChecked(value: boolean): void; + setEnabled(value: boolean): void; + setIconCssClass(cssClass: string): void; + setImageUrl(value: string): void; + setNavigateUrl(value: string): void; + setText(value: string): void; + setVisible(value: boolean): void; + } + + interface PopupWindowEventArgs extends EventArgs { + readonly window: BootstrapPopupWindow; + } + + interface PopupWindowCloseUpEventArgs extends PopupWindowEventArgs { + readonly closeReason: BootstrapPopupControlCloseReason; + } + + interface PopupWindowCancelEventArgs extends CancelEventArgs { + readonly closeReason: BootstrapPopupControlCloseReason; + readonly window: BootstrapPopupWindow; + } + + interface PopupWindowPinnedChangedEventArgs extends PopupWindowEventArgs { + readonly pinned: boolean; + } + + interface PopupWindowResizeEventArgs extends PopupWindowEventArgs { + readonly resizeState: number; + } + + class BootstrapPopupControl extends Control { + adjustSize(): void; + bringToFront(): void; + bringWindowToFront(window: BootstrapPopupWindow): void; + getCollapsed(): boolean; + getContentHeight(): number; + getContentHtml(): string; + getContentIFrame(): any; + getContentIFrameWindow(): any; + getContentUrl(): string; + getContentWidth(): number; + getCurrentPopupElement(): any; + getCurrentPopupElementIndex(): number; + getFooterImageUrl(): string; + getFooterNavigateUrl(): string; + getFooterText(): string; + getHeaderImageUrl(): string; + getHeaderNavigateUrl(): string; + getHeaderText(): string; + getMainElement(): any; + getMaximized(): boolean; + getPinned(): boolean; + getPopUpReasonMouseEvent(): any; + getWindow(index: number): BootstrapPopupWindow | null; + getWindowByName(name: string): BootstrapPopupWindow | null; + getWindowCollapsed(window: BootstrapPopupWindow): boolean; + getWindowContentHeight(window: BootstrapPopupWindow): number; + getWindowContentHtml(window: BootstrapPopupWindow): string; + getWindowContentIFrame(window: BootstrapPopupWindow): any; + getWindowContentUrl(window: BootstrapPopupWindow): string; + getWindowContentWidth(window: BootstrapPopupWindow): number; + getWindowCount(): number; + getWindowCurrentPopupElement(window: BootstrapPopupWindow): any; + getWindowCurrentPopupElementIndex(window: BootstrapPopupWindow): number; + getWindowHeight(window: BootstrapPopupWindow): number; + getWindowMaximized(window: BootstrapPopupWindow): boolean; + getWindowPinned(window: BootstrapPopupWindow): boolean; + getWindowPopUpReasonMouseEvent(window: BootstrapPopupWindow): any; + getWindowWidth(window: BootstrapPopupWindow): number; + hide(): void; + hideWindow(window: BootstrapPopupWindow): void; + isVisible(): boolean; + isWindowVisible(window: BootstrapPopupWindow): boolean; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + refreshContentUrl(): void; + refreshPopupElementConnection(): void; + refreshWindowContentUrl(window: BootstrapPopupWindow): void; + setAdaptiveMaxHeight(maxHeight: number): void; + setAdaptiveMaxHeight(maxHeight: string): void; // tslint:disable-line:unified-signatures + setAdaptiveMaxWidth(maxWidth: number): void; + setAdaptiveMaxWidth(maxWidth: string): void; // tslint:disable-line:unified-signatures + setAdaptiveMinHeight(minHeight: number): void; + setAdaptiveMinHeight(minHeight: string): void; // tslint:disable-line:unified-signatures + setAdaptiveMinWidth(minWidth: number): void; + setAdaptiveMinWidth(minWidth: string): void; // tslint:disable-line:unified-signatures + setCollapsed(value: boolean): void; + setContentHtml(html: string): void; + setContentUrl(url: string): void; + setFooterImageUrl(value: string): void; + setFooterNavigateUrl(value: string): void; + setFooterText(value: string): void; + setHeaderImageUrl(value: string): void; + setHeaderNavigateUrl(value: string): void; + setHeaderText(value: string): void; + setMaximized(value: boolean): void; + setPinned(value: boolean): void; + setPopupElementCssSelector(selector: string): void; + setPopupElementID(popupElementId: string): void; + setSize(width: number, height: number): void; + setWindowAdaptiveMaxHeight(window: BootstrapPopupWindow, maxHeight: number): void; + setWindowAdaptiveMaxHeight(window: BootstrapPopupWindow, maxHeight: string): void; // tslint:disable-line:unified-signatures + setWindowAdaptiveMaxWidth(window: BootstrapPopupWindow, maxWidth: number): void; + setWindowAdaptiveMaxWidth(window: BootstrapPopupWindow, maxWidth: string): void; // tslint:disable-line:unified-signatures + setWindowAdaptiveMinHeight(window: BootstrapPopupWindow, minHeight: number): void; + setWindowAdaptiveMinHeight(window: BootstrapPopupWindow, minHeight: string): void; // tslint:disable-line:unified-signatures + setWindowAdaptiveMinWidth(window: BootstrapPopupWindow, minWidth: number): void; + setWindowAdaptiveMinWidth(window: BootstrapPopupWindow, minWidth: string): void; // tslint:disable-line:unified-signatures + setWindowCollapsed(window: BootstrapPopupWindow, value: boolean): void; + setWindowContentHtml(window: BootstrapPopupWindow, html: string): void; + setWindowContentUrl(window: BootstrapPopupWindow, url: string): void; + setWindowMaximized(window: BootstrapPopupWindow, value: boolean): void; + setWindowPinned(window: BootstrapPopupWindow, value: boolean): void; + setWindowPopupElementID(window: BootstrapPopupWindow, popupElementId: string): void; + setWindowSize(window: BootstrapPopupWindow, width: number, height: number): void; + show(): void; + showAtElement(htmlElement: any): void; + showAtElementByID(id: string): void; + showAtPos(x: number, y: number): void; + showWindow(window: BootstrapPopupWindow): void; + showWindow(window: BootstrapPopupWindow, popupElementIndex: number): void; // tslint:disable-line:unified-signatures + showWindowAtElement(window: BootstrapPopupWindow, htmlElement: any): void; + showWindowAtElementByID(window: BootstrapPopupWindow, id: string): void; + showWindowAtPos(window: BootstrapPopupWindow, x: number, y: number): void; + stretchVertically(): void; + updatePosition(): void; + updatePositionAtElement(htmlElement: any): void; + updateWindowPosition(window: BootstrapPopupWindow): void; + updateWindowPositionAtElement(window: BootstrapPopupWindow, htmlElement: any): void; + windowStretchVertically(window: BootstrapPopupWindow): void; + on(eventName: K, callback: (this: BootstrapPopupControl, args?: BootstrapPopupControlEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapPopupControl, args?: BootstrapPopupControlEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapPopupControl, args?: BootstrapPopupControlEventMap[K]) => void): this; + } + interface BootstrapPopupControlEventMap extends ControlEventMap { + "afterResizing": PopupWindowEventArgs; + "beforeResizing": PopupWindowEventArgs; + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "closeUp": PopupWindowCloseUpEventArgs; + "closing": PopupWindowCancelEventArgs; + "endCallback": EndCallbackEventArgs; + "pinnedChanged": PopupWindowPinnedChangedEventArgs; + "popUp": PopupWindowEventArgs; + "resize": PopupWindowResizeEventArgs; + "shown": PopupWindowEventArgs; + } + + class BootstrapPopupWindow { + protected readonly instance: any; + protected constructor(instance: any); + readonly index: number; + readonly name: string; + readonly popupControl: BootstrapPopupControl | null; + getFooterImageUrl(): string; + getFooterNavigateUrl(): string; + getFooterText(): string; + getHeaderImageUrl(): string; + getHeaderNavigateUrl(): string; + getHeaderText(): string; + setFooterImageUrl(value: string): void; + setFooterNavigateUrl(value: string): void; + setFooterText(value: string): void; + setHeaderImageUrl(value: string): void; + setHeaderNavigateUrl(value: string): void; + setHeaderText(value: string): void; + } + + class BootstrapPopupMenu extends BootstrapMenu { + getCurrentPopupElement(): any; + getCurrentPopupElementIndex(): number; + getItem(index: number): BootstrapMenuItem | null; + getItemByName(name: string): BootstrapMenuItem | null; + getRootItem(): BootstrapMenuItem | null; + getSelectedItem(): BootstrapMenuItem | null; + hide(): void; + refreshPopupElementConnection(): void; + setPopupElementCssSelector(selector: string): void; + setPopupElementID(popupElementId: string): void; + setSelectedItem(item: BootstrapMenuItem): void; + show(): void; + showAtElement(htmlElement: any): void; + showAtElementByID(id: string): void; + showAtPos(x: number, y: number): void; + on(eventName: K, callback: (this: BootstrapPopupMenu, args?: BootstrapPopupMenuEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapPopupMenu, args?: BootstrapPopupMenuEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapPopupMenu, args?: BootstrapPopupMenuEventMap[K]) => void): this; + } + interface BootstrapPopupMenuEventMap extends BootstrapMenuEventMap { // tslint:disable-line:no-empty-interface + } + + class BootstrapProgressBar extends Control { + getCaption(): string; + getDisplayText(): string; + getEnabled(): boolean; + getMaximum(): number; + getMinimum(): number; + getPercent(): number; + getPosition(): number; + getValue(): any; + setCaption(caption: string): void; + setCustomDisplayFormat(text: string): void; + setEnabled(value: boolean): void; + setMaximum(max: number): void; + setMinMaxValues(minValue: number, maxValue: number): void; + setMinimum(min: number): void; + setPosition(position: number): void; + setValue(value: any): void; + on(eventName: K, callback: (this: BootstrapProgressBar, args?: BootstrapProgressBarEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapProgressBar, args?: BootstrapProgressBarEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapProgressBar, args?: BootstrapProgressBarEventMap[K]) => void): this; + } + interface BootstrapProgressBarEventMap extends ControlEventMap { // tslint:disable-line:no-empty-interface + } + + interface ActiveViewChangingEventArgs extends EventArgs { + cancel: boolean; + readonly newView: BootstrapSchedulerViewType; + readonly oldView: BootstrapSchedulerViewType; + } + + interface AppointmentClickEventArgs extends EventArgs { + readonly appointmentId: string; + readonly handled: boolean; + readonly htmlElement: object; + } + + interface AppointmentDeletingEventArgs extends CancelEventArgs { + readonly appointmentIds: object[]; + } + + interface AppointmentDragEventArgs extends EventArgs { + allow: boolean; + readonly dragInformation: BootstrapSchedulerAppointmentDragInfo[]; + readonly mouseEvent: any; + } + + interface AppointmentDropEventArgs extends EventArgs { + readonly dragInformation: BootstrapSchedulerAppointmentDragInfo[]; + handled: boolean; + readonly operation: BootstrapSchedulerAppointmentOperation; + } + + interface AppointmentResizeEventArgs extends EventArgs { + readonly appointmentId: string; + handled: boolean; + readonly newInterval: BootstrapTimeInterval; + readonly oldInterval: BootstrapTimeInterval; + readonly operation: BootstrapSchedulerAppointmentOperation; + } + + interface AppointmentResizingEventArgs extends EventArgs { + allow: boolean; + readonly appointmentId: string; + readonly mouseEvent: any; + readonly newInterval: BootstrapTimeInterval; + readonly oldInterval: BootstrapTimeInterval; + } + + interface AppointmentToolTipShowingEventArgs extends CancelEventArgs { + readonly appointment: BootstrapSchedulerAppointment; + } + + interface AppointmentsSelectionEventArgs extends EventArgs { + readonly appointmentIds: string[]; + } + + interface CellClickEventArgs extends EventArgs { + readonly htmlElement: object; + readonly interval: BootstrapTimeInterval; + readonly resource: string; + } + + interface MenuItemClickedEventArgs extends EventArgs { + handled: boolean; + readonly itemName: string; + } + + interface MoreButtonClickedEventArgs extends ProcessingModeEventArgs { + handled: boolean; + readonly interval: BootstrapTimeInterval; + readonly resource: string; + readonly targetDateTime: Date; + } + + interface ShortcutEventArgs extends EventArgs { + readonly commandName: string; + readonly handled: boolean; + readonly htmlEvent: object; + } + + class BootstrapScheduler extends Control { + appointmentFormCancel(): void; + appointmentFormDelete(): void; + appointmentFormSave(): void; + changeFormContainer(container: any): void; + changePopupMenuContainer(container: any): void; + changeTimeZoneId(timeZoneId: string): void; + changeToolTipContainer(container: any): void; + deleteAppointment(apt: BootstrapSchedulerAppointment): void; + deselectAppointmentById(aptId: any): void; + getActiveViewType(): BootstrapSchedulerViewType; + getAllDayAreaHeight(): number; + getAppointmentById(id: any): BootstrapSchedulerAppointment | null; + getAppointmentProperties(aptId: number, propertyNames: string[], onCallBack: any): string[]; + getGroupType(): BootstrapSchedulerGroupType; + getResourceNavigatorVisible(): boolean; + getScrollAreaHeight(): number; + getSelectedAppointmentIds(): string[]; + getSelectedInterval(): BootstrapTimeInterval | null; + getSelectedResource(): string; + getToolbarVisible(): boolean; + getTopRowTime(viewType: BootstrapSchedulerViewType): number; + getVisibleAppointments(): BootstrapSchedulerAppointment[]; + getVisibleIntervals(): BootstrapTimeInterval[]; + goToDateFormApply(): void; + goToDateFormCancel(): void; + gotoDate(date: Date): void; + gotoToday(): void; + hideLoadingPanel(): void; + inplaceEditFormCancel(): void; + inplaceEditFormSave(): void; + inplaceEditFormShowMore(): void; + insertAppointment(apt: BootstrapSchedulerAppointment): void; + navigateBackward(): void; + navigateForward(): void; + performCallback(parameter: string): void; + refresh(): void; + refreshClientAppointmentProperties(clientAppointment: BootstrapSchedulerAppointment, propertyNames: string[], onCallBack: any): void; + reminderFormCancel(): void; + reminderFormDismiss(): void; + reminderFormDismissAll(): void; + reminderFormSnooze(): void; + selectAppointmentById(aptId: any): void; + selectAppointmentById(aptId: any, scrollToSelection: boolean): void; // tslint:disable-line:unified-signatures + setActiveViewType(value: BootstrapSchedulerViewType): void; + setAllDayAreaHeight(height: number): void; + setGroupType(value: BootstrapSchedulerGroupType): void; + setHeight(height: number): void; + setResourceNavigatorVisible(visible: boolean): void; + setSelection(interval: BootstrapTimeInterval): void; + setSelection(interval: BootstrapTimeInterval, resourceId: string): void; // tslint:disable-line:unified-signatures + setSelection(interval: BootstrapTimeInterval, resourceId: string, scrollToSelection: boolean): void; // tslint:disable-line:unified-signatures + setToolbarVisible(visible: boolean): void; + setTopRowTime(duration: number): void; + setTopRowTime(duration: number, viewType: BootstrapSchedulerViewType): void; // tslint:disable-line:unified-signatures + setVisibleResources(resourceIds: string[]): void; + showAppointmentFormByClientId(aptClientId: string): void; + showAppointmentFormByServerId(aptServerId: string): void; + showInplaceEditor(start: Date, end: Date): void; + showInplaceEditor(start: Date, end: Date, resourceId: string): void; // tslint:disable-line:unified-signatures + showLoadingPanel(): void; + showSelectionToolTip(x: number, y: number): void; + updateAppointment(apt: BootstrapSchedulerAppointment): void; + on(eventName: K, callback: (this: BootstrapScheduler, args?: BootstrapSchedulerEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapScheduler, args?: BootstrapSchedulerEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapScheduler, args?: BootstrapSchedulerEventMap[K]) => void): this; + } + interface BootstrapSchedulerEventMap extends ControlEventMap { + "activeViewChanged": EventArgs; + "activeViewChanging": ActiveViewChangingEventArgs; + "appointmentClick": AppointmentClickEventArgs; + "appointmentDeleting": AppointmentDeletingEventArgs; + "appointmentDoubleClick": AppointmentClickEventArgs; + "appointmentDrag": AppointmentDragEventArgs; + "appointmentDrop": AppointmentDropEventArgs; + "appointmentResize": AppointmentResizeEventArgs; + "appointmentResizing": AppointmentResizingEventArgs; + "appointmentToolTipShowing": AppointmentToolTipShowingEventArgs; + "appointmentsSelectionChanged": AppointmentsSelectionEventArgs; + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "cellClick": CellClickEventArgs; + "cellDoubleClick": CellClickEventArgs; + "endCallback": EndCallbackEventArgs; + "menuItemClicked": MenuItemClickedEventArgs; + "moreButtonClicked": MoreButtonClickedEventArgs; + "selectionChanged": EventArgs; + "selectionChanging": EventArgs; + "shortcut": ShortcutEventArgs; + "visibleIntervalChanged": EventArgs; + } + + class BootstrapTimeInterval { + protected readonly instance: any; + protected constructor(instance: any); + contains(interval: BootstrapTimeInterval): boolean; + equals(interval: BootstrapTimeInterval): boolean; + getAllDay(): boolean; + getDuration(): number; + getEnd(): Date; + getStart(): Date; + intersectsWith(interval: BootstrapTimeInterval): boolean; + intersectsWithExcludingBounds(interval: BootstrapTimeInterval): boolean; + setAllDay(allDayValue: boolean): void; + setDuration(value: number): void; + setEnd(value: Date): void; + setStart(value: Date): void; + } + + class BootstrapSchedulerAppointment { + protected readonly instance: any; + protected constructor(instance: any); + readonly appointmentId: string; + readonly appointmentType: BootstrapSchedulerAppointmentType; + readonly interval: BootstrapTimeInterval | null; + readonly labelIndex: number; + readonly resources: string[]; + readonly statusIndex: number; + addResource(resourceId: object): void; + getAllDay(): boolean; + getAppointmentType(): BootstrapSchedulerAppointmentType; + getDescription(): string; + getDuration(): number; + getEnd(): Date; + getId(): any; + getLabelId(): number; + getLocation(): string; + getRecurrenceInfo(): BootstrapSchedulerRecurrenceInfo | null; + getRecurrencePattern(): BootstrapSchedulerAppointment | null; + getResource(index: number): any; + getStart(): Date; + getStatusId(): number; + getSubject(): string; + setAllDay(allDay: boolean): void; + setAppointmentType(type: BootstrapSchedulerAppointmentType): void; + setDescription(description: string): void; + setDuration(duration: number): void; + setEnd(end: Date): void; + setId(id: any): void; + setLabelId(statusId: number): void; + setLocation(location: string): void; + setRecurrenceInfo(recurrenceInfo: BootstrapSchedulerRecurrenceInfo): void; + setStart(start: Date): void; + setStatusId(statusId: number): void; + setSubject(subject: string): void; + } + + class BootstrapSchedulerAppointmentDragInfo { + protected readonly instance: any; + protected constructor(instance: any); + readonly appointmentId: string; + readonly newInterval: BootstrapTimeInterval | null; + readonly oldInterval: BootstrapTimeInterval | null; + } + + class BootstrapSchedulerAppointmentOperation { + protected readonly instance: any; + protected constructor(instance: any); + apply(): void; + cancel(): void; + } + + class BootstrapSchedulerRecurrenceInfo { + protected readonly instance: any; + protected constructor(instance: any); + getDayNumber(): number; + getDuration(): number; + getEnd(): Date; + getMonth(): number; + getOccurrenceCount(): number; + getPeriodicity(): number; + getRange(): BootstrapSchedulerRecurrenceRange; + getRecurrenceType(): BootstrapSchedulerRecurrenceType; + getStart(): Date; + getWeekDays(): WeekDays; + getWeekOfMonth(): WeekOfMonth; + setDayNumber(dayNumber: number): void; + setDuration(duration: number): void; + setEnd(end: Date): void; + setMonth(month: number): void; + setOccurrenceCount(occurrenceCount: number): void; + setPeriodicity(periodicity: number): void; + setRange(range: BootstrapSchedulerRecurrenceRange): void; + setRecurrenceType(type: BootstrapSchedulerRecurrenceType): void; + setStart(start: Date): void; + setWeekDays(weekDays: WeekDays): void; + setWeekOfMonth(weekOfMonth: WeekOfMonth): void; + } + + class BootstrapSparkline extends Control { + exportTo(fileName: string, format: string): void; + getDataSource(): any; + getInstance(): any; + print(): void; + setDataSource(dataSource: any): void; + setOptions(options: any): void; + on(eventName: K, callback: (this: BootstrapSparkline, args?: BootstrapSparklineEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapSparkline, args?: BootstrapSparklineEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapSparkline, args?: BootstrapSparklineEventMap[K]) => void): this; + } + interface BootstrapSparklineEventMap extends ControlEventMap { + "disposing": BootstrapChartEventArgsBase; + "drawn": BootstrapChartEventArgsBase; + "exported": BootstrapChartEventArgsBase; + "exporting": BootstrapChartExportEventArgs; + "fileSaving": BootstrapChartExportEventArgs; + "incidentOccurred": BootstrapChartErrorEventArgs; + "init": BootstrapChartEventArgsBase; + "optionChanged": BootstrapChartOptionChangedEventArgs; + "tooltipHidden": BootstrapChartEventArgsBase; + "tooltipShown": BootstrapChartEventArgsBase; + } + + class BootstrapTimeEdit extends BootstrapClientEdit { + getButtonVisible(number: number): boolean; + getCaretPosition(): number; + getDate(): Date; + getText(): string; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setDate(date: Date): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + on(eventName: K, callback: (this: BootstrapTimeEdit, args?: BootstrapTimeEditEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapTimeEdit, args?: BootstrapTimeEditEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapTimeEdit, args?: BootstrapTimeEditEventMap[K]) => void): this; + } + interface BootstrapTimeEditEventMap extends BootstrapClientEditEventMap { + "buttonClick": ButtonEditClickEventArgs; + "dateChanged": ProcessingModeEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + class BootstrapSpinEdit extends BootstrapClientEdit { + getButtonVisible(number: number): boolean; + getCaretPosition(): number; + getMaxValue(): number; + getMinValue(): number; + getNumber(): number; + getText(): string; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setMaxValue(value: number): void; + setMinValue(value: number): void; + setNumber(number: number): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + setValue(number: number): void; + on(eventName: K, callback: (this: BootstrapSpinEdit, args?: BootstrapSpinEditEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapSpinEdit, args?: BootstrapSpinEditEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapSpinEdit, args?: BootstrapSpinEditEventMap[K]) => void): this; + } + interface BootstrapSpinEditEventMap extends BootstrapClientEditEventMap { + "buttonClick": ButtonEditClickEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "numberChanged": ProcessingModeEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + interface TabControlTabEventArgs extends EventArgs { + readonly tab: BootstrapTab; + } + + interface TabControlTabCancelEventArgs extends ProcessingModeCancelEventArgs { + reloadContentOnCallback: boolean; + readonly tab: BootstrapTab; + } + + interface TabControlTabClickEventArgs extends TabControlTabCancelEventArgs { + readonly htmlElement: object; + readonly htmlEvent: object; + } + + class BootstrapTabControl extends Control { + adjustSize(): void; + getActiveTab(): BootstrapTab | null; + getActiveTabIndex(): number; + getTab(index: number): BootstrapTab | null; + getTabByName(name: string): BootstrapTab | null; + getTabCount(): number; + setActiveTab(tab: BootstrapTab): void; + setActiveTabIndex(index: number): void; + on(eventName: K, callback: (this: BootstrapTabControl, args?: BootstrapTabControlEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapTabControl, args?: BootstrapTabControlEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapTabControl, args?: BootstrapTabControlEventMap[K]) => void): this; + } + interface BootstrapTabControlEventMap extends ControlEventMap { + "activeTabChanged": TabControlTabEventArgs; + "activeTabChanging": TabControlTabCancelEventArgs; + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "endCallback": EndCallbackEventArgs; + "tabClick": TabControlTabClickEventArgs; + } + + class BootstrapTab { + protected readonly instance: any; + protected constructor(instance: any); + readonly index: number; + readonly name: string; + readonly tabControl: BootstrapTabControl | null; + getActiveIconCssClass(): string; + getActiveImageUrl(): string; + getBadgeIconCssClass(): string; + getBadgeText(): string; + getEnabled(): boolean; + getIconCssClass(): string; + getImageUrl(): string; + getNavigateUrl(): string; + getText(): string; + getVisible(): boolean; + setActiveIconCssClass(cssClass: string): void; + setActiveImageUrl(value: string): void; + setBadgeIconCssClass(cssClass: string): void; + setBadgeText(text: string): void; + setEnabled(value: boolean): void; + setIconCssClass(cssClass: string): void; + setImageUrl(value: string): void; + setNavigateUrl(value: string): void; + setText(value: string): void; + setVisible(value: boolean): void; + } + + class BootstrapPageControl extends BootstrapTabControl { + getActiveTab(): BootstrapTab | null; + getTab(index: number): BootstrapTab | null; + getTabByName(name: string): BootstrapTab | null; + getTabContentHTML(tab: BootstrapTab): string; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + setActiveTab(tab: BootstrapTab): void; + setTabContentHTML(tab: BootstrapTab, html: string): void; + on(eventName: K, callback: (this: BootstrapPageControl, args?: BootstrapPageControlEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapPageControl, args?: BootstrapPageControlEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapPageControl, args?: BootstrapPageControlEventMap[K]) => void): this; + } + interface BootstrapPageControlEventMap extends BootstrapTabControlEventMap { // tslint:disable-line:no-empty-interface + } + + class BootstrapTagBox extends BootstrapClientEdit { + addItem(texts: string[]): number; + addItem(text: string): number; // tslint:disable-line:unified-signatures + addItem(texts: string[], value: any): number; // tslint:disable-line:unified-signatures + addItem(text: string, value: any): number; // tslint:disable-line:unified-signatures unified-signatures + addItem(texts: string[], value: any, iconCssClass: string): number; // tslint:disable-line:unified-signatures + addItem(text: string, value: any, iconCssClass: string): number; // tslint:disable-line:unified-signatures unified-signatures + addItemCssClass(index: number, className: string): void; + addItemTextCellCssClass(itemIndex: number, textCellIndex: number, className: string): void; + addTag(text: string): void; + adjustDropDownWindow(): void; + beginUpdate(): void; + clearItems(): void; + clearTagCollection(): void; + endUpdate(): void; + ensureDropDownLoaded(callbackFunction: any): void; + findItemByText(text: string): BootstrapListBoxItem | null; + findItemByValue(value: any): BootstrapListBoxItem | null; + getButtonVisible(number: number): boolean; + getCaretPosition(): number; + getItem(index: number): BootstrapListBoxItem | null; + getItemBadgeIconCssClass(index: number): string; + getItemBadgeText(index: number): string; + getItemCount(): number; + getSelectedIndex(): number; + getSelectedItem(): BootstrapListBoxItem | null; + getTagCollection(): string[]; + getTagHtmlElement(index: number): any; + getTagIndexByText(text: string): number; + getTagRemoveButtonHtmlElement(index: number): any; + getTagTextHtmlElement(index: number): any; + getText(): string; + getValue(): string; + hideDropDown(): void; + insertItem(index: number, texts: string[]): void; + insertItem(index: number, text: string): void; // tslint:disable-line:unified-signatures + insertItem(index: number, texts: string[], value: any): void; // tslint:disable-line:unified-signatures + insertItem(index: number, text: string, value: any): void; // tslint:disable-line:unified-signatures unified-signatures + insertItem(index: number, texts: string[], value: any, iconCssClass: string): void; // tslint:disable-line:unified-signatures + insertItem(index: number, text: string, value: any, iconCssClass: string): void; // tslint:disable-line:unified-signatures unified-signatures + isCustomTag(text: string, caseSensitive: boolean): boolean; + makeItemVisible(index: number): void; + performCallback(data: any): Promise; + performCallback(data: any, onSuccess: () => void): void; + removeItem(index: number): void; + removeItemCssClass(index: number, className: string): void; + removeItemTextCellCssClass(itemIndex: number, textCellIndex: number, className: string): void; + removeTag(index: number): void; + removeTagByText(text: string): void; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setItemBadgeIconCssClass(index: number, cssClass: string): void; + setItemBadgeText(index: number, text: string): void; + setItemHtml(index: number, html: string): void; + setItemTextCellHtml(itemIndex: number, textCellIndex: number, html: string): void; + setItemTextCellTooltip(itemIndex: number, textCellIndex: number, tooltip: string): void; + setItemTooltip(index: number, tooltip: string): void; + setSelectedIndex(index: number): void; + setSelectedItem(item: BootstrapListBoxItem): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setTagCollection(collection: string[]): void; + setText(text: string): void; + setValue(value: string): void; + showDropDown(): void; + on(eventName: K, callback: (this: BootstrapTagBox, args?: BootstrapTagBoxEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapTagBox, args?: BootstrapTagBoxEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapTagBox, args?: BootstrapTagBoxEventMap[K]) => void): this; + } + interface BootstrapTagBoxEventMap extends BootstrapClientEditEventMap { + "beginCallback": BeginCallbackEventArgs; + "buttonClick": ButtonEditClickEventArgs; + "callbackError": CallbackErrorEventArgs; + "closeUp": EventArgs; + "customHighlighting": ListEditCustomHighlightingEventArgs; + "dropDown": EventArgs; + "endCallback": EndCallbackEventArgs; + "itemFiltering": ListEditItemFilteringEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "queryCloseUp": CancelEventArgs; + "selectedIndexChanged": ProcessingModeEventArgs; + "tagsChanged": EventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + interface ButtonEditClickEventArgs extends ProcessingModeEventArgs { + readonly buttonIndex: number; + } + + class BootstrapButtonEdit extends BootstrapClientEdit { + getButtonVisible(number: number): boolean; + getCaretPosition(): number; + getText(): string; + selectAll(): void; + setButtonVisible(number: number, value: boolean): void; + setCaretPosition(position: number): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + on(eventName: K, callback: (this: BootstrapButtonEdit, args?: BootstrapButtonEditEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapButtonEdit, args?: BootstrapButtonEditEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapButtonEdit, args?: BootstrapButtonEditEventMap[K]) => void): this; + } + interface BootstrapButtonEditEventMap extends BootstrapClientEditEventMap { + "buttonClick": ButtonEditClickEventArgs; + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + class BootstrapMemo extends BootstrapClientEdit { + getCaretPosition(): number; + getText(): string; + selectAll(): void; + setCaretPosition(position: number): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + on(eventName: K, callback: (this: BootstrapMemo, args?: BootstrapMemoEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapMemo, args?: BootstrapMemoEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapMemo, args?: BootstrapMemoEventMap[K]) => void): this; + } + interface BootstrapMemoEventMap extends BootstrapClientEditEventMap { + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + class BootstrapTextBox extends BootstrapClientEdit { + getCaretPosition(): number; + getText(): string; + selectAll(): void; + setCaretPosition(position: number): void; + setSelection(startPos: number, endPos: number, scrollToSelection: boolean): void; + setText(text: string): void; + on(eventName: K, callback: (this: BootstrapTextBox, args?: BootstrapTextBoxEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapTextBox, args?: BootstrapTextBoxEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapTextBox, args?: BootstrapTextBoxEventMap[K]) => void): this; + } + interface BootstrapTextBoxEventMap extends BootstrapClientEditEventMap { + "keyDown": EditKeyEventArgs; + "keyPress": EditKeyEventArgs; + "keyUp": EditKeyEventArgs; + "textChanged": ProcessingModeEventArgs; + "userInput": EventArgs; + } + + class BootstrapToolbar extends BootstrapMenu { + on(eventName: K, callback: (this: BootstrapToolbar, args?: BootstrapToolbarEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapToolbar, args?: BootstrapToolbarEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapToolbar, args?: BootstrapToolbarEventMap[K]) => void): this; + } + interface BootstrapToolbarEventMap extends BootstrapMenuEventMap { // tslint:disable-line:no-empty-interface + } + + interface TreeViewNodeProcessingModeEventArgs extends ProcessingModeEventArgs { + readonly node: BootstrapTreeViewNode; + } + + interface TreeViewNodeClickEventArgs extends TreeViewNodeProcessingModeEventArgs { + readonly htmlElement: any; + readonly htmlEvent: any; + } + + interface TreeViewNodeEventArgs extends EventArgs { + readonly node: BootstrapTreeViewNode; + } + + interface TreeViewNodeCancelEventArgs extends ProcessingModeCancelEventArgs { + readonly node: BootstrapTreeViewNode; + } + + class BootstrapTreeView extends Control { + collapseAll(): void; + expandAll(): void; + getNode(index: number): BootstrapTreeViewNode | null; + getNodeByName(name: string): BootstrapTreeViewNode | null; + getNodeByText(text: string): BootstrapTreeViewNode | null; + getNodeCount(): number; + getRootNode(): BootstrapTreeViewNode | null; + getSelectedNode(): BootstrapTreeViewNode | null; + setSelectedNode(node: BootstrapTreeViewNode): void; + on(eventName: K, callback: (this: BootstrapTreeView, args?: BootstrapTreeViewEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapTreeView, args?: BootstrapTreeViewEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapTreeView, args?: BootstrapTreeViewEventMap[K]) => void): this; + } + interface BootstrapTreeViewEventMap extends ControlEventMap { + "beginCallback": BeginCallbackEventArgs; + "callbackError": CallbackErrorEventArgs; + "checkedChanged": TreeViewNodeProcessingModeEventArgs; + "endCallback": EndCallbackEventArgs; + "expandedChanged": TreeViewNodeEventArgs; + "expandedChanging": TreeViewNodeCancelEventArgs; + "nodeClick": TreeViewNodeClickEventArgs; + } + + class BootstrapTreeViewNode extends Control { + readonly index: number; + readonly name: string; + readonly parent: BootstrapTreeViewNode | null; + readonly treeView: BootstrapTreeView | null; + getBadgeIconCssClass(): string; + getBadgeText(): string; + getCheckState(): string; + getChecked(): boolean; + getEnabled(): boolean; + getExpanded(): boolean; + getHtmlElement(): any; + getIconCssClass(): string; + getImageUrl(): string; + getNavigateUrl(): string; + getNode(index: number): BootstrapTreeViewNode | null; + getNodeByName(name: string): BootstrapTreeViewNode | null; + getNodeByText(text: string): BootstrapTreeViewNode | null; + getNodeCount(): number; + getText(): string; + getVisible(): boolean; + setBadgeIconCssClass(cssClass: string): void; + setBadgeText(text: string): void; + setChecked(value: boolean): void; + setEnabled(value: boolean): void; + setExpanded(value: boolean): void; + setIconCssClass(cssClass: string): void; + setImageUrl(value: string): void; + setNavigateUrl(value: string): void; + setText(value: string): void; + setVisible(value: boolean): void; + on(eventName: K, callback: (this: BootstrapTreeViewNode, args?: BootstrapTreeViewNodeEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapTreeViewNode, args?: BootstrapTreeViewNodeEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapTreeViewNode, args?: BootstrapTreeViewNodeEventMap[K]) => void): this; + } + interface BootstrapTreeViewNodeEventMap extends ControlEventMap { // tslint:disable-line:no-empty-interface + } + + interface UploadControlFilesUploadStartEventArgs extends EventArgs { + readonly cancel: boolean; + } + + interface UploadControlFileUploadCompleteEventArgs extends EventArgs { + readonly callbackData: string; + readonly errorText: string; + readonly inputIndex: number; + readonly isValid: boolean; + } + + interface UploadControlFilesUploadCompleteEventArgs extends EventArgs { + readonly callbackData: string; + readonly errorText: string; + } + + interface UploadControlTextChangedEventArgs extends EventArgs { + readonly inputIndex: number; + } + + interface UploadControlUploadingProgressChangedEventArgs extends EventArgs { + readonly currentFileContentLength: number; + readonly currentFileName: string; + readonly currentFileProgress: number; + readonly currentFileUploadedContentLength: number; + readonly fileCount: number; + readonly progress: number; + readonly totalContentLength: number; + readonly uploadedContentLength: number; + } + + interface UploadControlValidationErrorOccurredEventArgs extends EventArgs { + errorText: string; + readonly invalidFiles: BootstrapUploadControlInvalidFileInfo[]; + showAlert: boolean; + readonly validationSettings: BootstrapUploadControlValidationSettings; + } + + interface UploadControlDropZoneEnterEventArgs extends EventArgs { + readonly dropZone: any; + } + + interface UploadControlDropZoneLeaveEventArgs extends EventArgs { + readonly dropZone: any; + } + + class BootstrapUploadControl extends Control { + addFileInput(): void; + cancel(): void; + clearText(): void; + getAddButtonText(): string; + getEnabled(): boolean; + getFileInputCount(): number; + getSelectedFiles(inputIndex: number): BootstrapUploadControlFile[]; + getText(index: number): string; + getUploadButtonText(): string; + removeFileFromSelection(fileIndex: number): void; + removeFileFromSelection(file: BootstrapUploadControlFile): void; // tslint:disable-line:unified-signatures + removeFileInput(index: number): void; + setAddButtonText(text: string): void; + setDialogTriggerID(ids: string): void; + setEnabled(enabled: boolean): void; + setFileInputCount(count: number): void; + setUploadButtonText(text: string): void; + upload(): void; + on(eventName: K, callback: (this: BootstrapUploadControl, args?: BootstrapUploadControlEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapUploadControl, args?: BootstrapUploadControlEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapUploadControl, args?: BootstrapUploadControlEventMap[K]) => void): this; + } + interface BootstrapUploadControlEventMap extends ControlEventMap { + "dropZoneEnter": UploadControlDropZoneEnterEventArgs; + "dropZoneLeave": UploadControlDropZoneLeaveEventArgs; + "fileInputCountChanged": EventArgs; + "fileUploadComplete": UploadControlFileUploadCompleteEventArgs; + "filesUploadComplete": UploadControlFilesUploadCompleteEventArgs; + "filesUploadStart": UploadControlFilesUploadStartEventArgs; + "textChanged": UploadControlTextChangedEventArgs; + "uploadingProgressChanged": UploadControlUploadingProgressChangedEventArgs; + "validationErrorOccurred": UploadControlValidationErrorOccurredEventArgs; + } + + class BootstrapUploadControlFile extends Control { + readonly name: string; + readonly size: number; + readonly sourceFileObject: any; + on(eventName: K, callback: (this: BootstrapUploadControlFile, args?: BootstrapUploadControlFileEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapUploadControlFile, args?: BootstrapUploadControlFileEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapUploadControlFile, args?: BootstrapUploadControlFileEventMap[K]) => void): this; + } + interface BootstrapUploadControlFileEventMap extends ControlEventMap { // tslint:disable-line:no-empty-interface + } + + class BootstrapUploadControlInvalidFileInfo extends Control { + readonly fileName: string; + readonly fileSize: number; + on(eventName: K, callback: (this: BootstrapUploadControlInvalidFileInfo, args?: + BootstrapUploadControlInvalidFileInfoEventMap[K]) => void): this; + once(eventName: K, callback: (this: BootstrapUploadControlInvalidFileInfo, + args?: BootstrapUploadControlInvalidFileInfoEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: BootstrapUploadControlInvalidFileInfo, + args?: BootstrapUploadControlInvalidFileInfoEventMap[K]) => void): this; + } + interface BootstrapUploadControlInvalidFileInfoEventMap extends ControlEventMap { // tslint:disable-line:no-empty-interface + } + + class BootstrapUploadControlValidationSettings extends Control { + readonly allowedFileExtensions: string[]; + readonly invalidFileNameCharacters: string[]; + readonly maxFileCount: number; + readonly maxFileSize: number; + on(eventName: K, callback: (this: BootstrapUploadControlValidationSettings, + args?: BootstrapUploadControlValidationSettingsEventMap[K]) => void): this; + once(eventName: K, callback: (this: + BootstrapUploadControlValidationSettings, args?: BootstrapUploadControlValidationSettingsEventMap[K]) => void): this; + off(eventName?: K, callback?: (this: + BootstrapUploadControlValidationSettings, args?: BootstrapUploadControlValidationSettingsEventMap[K]) => void): this; + } + interface BootstrapUploadControlValidationSettingsEventMap extends ControlEventMap { // tslint:disable-line:no-empty-interface + } +} diff --git a/types/devexpress-aspnetcore-bootstrap/tsconfig.json b/types/devexpress-aspnetcore-bootstrap/tsconfig.json new file mode 100644 index 0000000000..1131d37582 --- /dev/null +++ b/types/devexpress-aspnetcore-bootstrap/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "devexpress-aspnetcore-bootstrap-tests.ts" + ] +} \ No newline at end of file diff --git a/types/devexpress-aspnetcore-bootstrap/tslint.json b/types/devexpress-aspnetcore-bootstrap/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/devexpress-aspnetcore-bootstrap/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} From b4518ea734b64d0a486b07b8e5c68268834cc2f9 Mon Sep 17 00:00:00 2001 From: taoqf Date: Sat, 12 May 2018 15:30:51 +0800 Subject: [PATCH 10/44] upgrade jsreport-html-to-xlsx to 2.0 --- types/jsreport-html-to-xlsx/index.d.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/types/jsreport-html-to-xlsx/index.d.ts b/types/jsreport-html-to-xlsx/index.d.ts index 84b37480aa..83ac765c1f 100644 --- a/types/jsreport-html-to-xlsx/index.d.ts +++ b/types/jsreport-html-to-xlsx/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for jsreport-html-to-xlsx 1.4 +// Type definitions for jsreport-html-to-xlsx 2.0 // Project: https://github.com/jsreport/jsreport-html-to-xlsx // Definitions by: My Self // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -8,7 +8,9 @@ import { ExtensionDefinition } from 'jsreport-core'; import { Options as BaseOptions } from 'jsreport-xlsx'; declare module 'jsreport-core' { + type htmlEngine = 'phantom' | 'chrome'; interface Template { + htmlToXlsx: { htmlEngine: htmlEngine; }; recipe: 'html-to-xlsx' | string; } } From 92c29516cf7f91ffabe35199a411b46581038fef Mon Sep 17 00:00:00 2001 From: Gal Talmor Date: Mon, 14 May 2018 16:53:24 -0700 Subject: [PATCH 11/44] Fix stripe ICharge interface with missing fields and optional null values --- types/stripe/index.d.ts | 89 ++++++++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 24 deletions(-) diff --git a/types/stripe/index.d.ts b/types/stripe/index.d.ts index 418525d38f..884cbacc06 100644 --- a/types/stripe/index.d.ts +++ b/types/stripe/index.d.ts @@ -8,6 +8,7 @@ // Kyle Kamperschroer // Kensuke Hoshikawa // Thomas Bruun +// Gal Talmor // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 @@ -737,12 +738,17 @@ declare namespace Stripe { * charge if a partial refund was issued), positive integer or zero. */ amount_refunded: number; + + /** + * ID of the Connect application that created the charge. [Expandable] + */ + application?: string | null; /** * The application fee (if any) for the charge. See the Connect documentation * for details. [Expandable] */ - application_fee?: string | applicationFees.IApplicationFee; + application_fee?: string | applicationFees.IApplicationFee | null; /** * ID of the balance transaction that describes the impact of this charge on @@ -767,25 +773,33 @@ declare namespace Stripe { /** * ID of the customer this charge is for if one exists. [Expandable] */ - customer: string | customers.ICustomer; + customer: string | customers.ICustomer | null; description?: string; + /** + * The account (if any) the charge was made on behalf of, with an automatic + * transfer. See the [Connect documentation] + * for details. + * [Expandable] + */ + destination?: string | null; + /** * Details about the dispute if the charge has been disputed. */ - dispute?: disputes.IDispute; + dispute?: disputes.IDispute | null; /** * Error code explaining reason for charge failure if available (see the errors section for a list of * codes: https://stripe.com/docs/api#errors). */ - failure_code: string; + failure_code: string | null; /** * Message to user further explaining reason for charge failure if available. */ - failure_message: string; + failure_message: string | null; /** * Hash with information on fraud assessments for the charge. @@ -805,16 +819,30 @@ declare namespace Stripe { /** * ID of the invoice this charge is for if one exists. [Expandable] */ - invoice: string | invoices.IInvoice; + invoice: string | invoices.IInvoice | null; livemode: boolean; metadata: IMetadata; + /** + * The Stripe account ID for which these funds are intended. Automatically + * set if you use the destination parameter. For details, see [Creating + * Separate Charges and Transfers] + * . + */ + on_behalf_of?: string | null; + /** * ID of the order this charge is for if one exists. [Expandable] */ - order: string | orders.IOrder; + order: string | orders.IOrder | null; + + /** + * Details about whether the payment was accepted, and why. See + * understanding declines for details. [Expandable] + */ + outcome?: any; /** * true if the charge succeeded, or was successfully authorized for later capture. @@ -824,12 +852,12 @@ declare namespace Stripe { /** * This is the email address that the receipt for this charge was sent to. */ - receipt_email: string; + receipt_email: string | null; /** * This is the transaction number that appears on email receipts sent for this charge. */ - receipt_number: string; + receipt_number: string | null; /** * Whether or not the charge has been fully refunded. If the charge is only partially refunded, @@ -842,10 +870,15 @@ declare namespace Stripe { */ refunds: IChargeRefunds; + /** + * ID of the review associated with this charge if one exists. [Expandable] + */ + review?: string | null; + /** * Shipping information for the charge. */ - shipping?: IShippingInformation; + shipping?: IShippingInformation | null; /** * For most Stripe users, the source of every charge is a credit or debit card. @@ -858,13 +891,13 @@ declare namespace Stripe { * from another Stripe account. See the Connect documentation for details. * [Expandable] */ - source_transfer: string | transfers.ITransfer; + source_transfer: string | transfers.ITransfer | null; /** * Extra information about a charge. This will appear on your customer’s * credit card statement. */ - statement_descriptor: string; + statement_descriptor: string | null; /** * The status of the payment is either "succeeded", "pending", or "failed". @@ -875,7 +908,15 @@ declare namespace Stripe { * ID of the transfer to the destination account (only applicable if the * charge was created using the destination parameter). [Expandable] */ - transfer: string | transfers.ITransfer; + transfer?: string | transfers.ITransfer; + + /** + * A string that identifies this transaction as part of a group. + * See the [Connect documentation] + * + * for details. + */ + transfer_group?: string | null; } interface IChargeCreationOptions extends IDataOptionsWithMetadata { @@ -1056,7 +1097,7 @@ declare namespace Stripe { } } - interface IChargeRefunds extends IList, resources.ChargeRefunds { } + interface IChargeRefunds extends IList { } } namespace coupons { @@ -4086,7 +4127,7 @@ declare namespace Stripe { * in the card object if the card belongs to an account or recipient * instead. */ - customer?: string | customers.ICustomer; + customer?: string | customers.ICustomer | null; /** * Only applicable on accounts (not customers or recipients). This @@ -4120,7 +4161,7 @@ declare namespace Stripe { /** * The card number */ - number: string; + number?: string; /** * Card brand. Can be Visa, American Express, MasterCard, Discover, JCB, Diners Club, or Unknown. @@ -4134,20 +4175,20 @@ declare namespace Stripe { */ funding: "credit" | "debit" | "prepaid" | "unknown"; last4: string; - address_city: string; + address_city: string | null; /** * Billing address country, if provided when creating card */ - address_country: string; - address_line1: string; + address_country: string | null; + address_line1: string | null; /** * If address_line1 was provided, results of the check: pass, fail, unavailable, or unchecked. */ - address_line1_check: string; - address_line2: string; - address_state: string; + address_line1_check: string | null; + address_line2: string | null; + address_state: string | null; address_zip: string; /** @@ -4169,7 +4210,7 @@ declare namespace Stripe { /** * (For Apple Pay integrations only.) The last four digits of the device account number. */ - dynamic_last4: string; + dynamic_last4: string | null; /** * Cardholder name @@ -4188,7 +4229,7 @@ declare namespace Stripe { * If the card number is tokenized, this is the method that was * used. Can be "apple_pay" or "android_pay". */ - tokenization_method: "apple_pay" | "android_pay"; + tokenization_method: "apple_pay" | "android_pay" | null; } interface ICardUpdateOptions extends IDataOptionsWithMetadata { From 06caab2123387d471212f59a470754da1b8e3a46 Mon Sep 17 00:00:00 2001 From: Gal Talmor Date: Mon, 14 May 2018 17:11:48 -0700 Subject: [PATCH 12/44] Fix stripe ICharge interface with missing fields and optional null values --- types/stripe/index.d.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/types/stripe/index.d.ts b/types/stripe/index.d.ts index 884cbacc06..496ae404f0 100644 --- a/types/stripe/index.d.ts +++ b/types/stripe/index.d.ts @@ -1097,7 +1097,7 @@ declare namespace Stripe { } } - interface IChargeRefunds extends IList { } + interface IChargeRefunds extends IList, resources.ChargeRefunds { } } namespace coupons { @@ -5423,18 +5423,18 @@ declare namespace Stripe { * Once entirely refunded, a charge can't be refunded again. * This method will throw an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge. */ - create(data: refunds.IRefundCreationOptions, options: HeaderOptions, response?: IResponseFn): Promise; - create(data: refunds.IRefundCreationOptions, response?: IResponseFn): Promise; - create(options: HeaderOptions, response?: IResponseFn): Promise; - create(response?: IResponseFn): Promise; + create?(data: refunds.IRefundCreationOptions, options: HeaderOptions, response?: IResponseFn): Promise; + create?(data: refunds.IRefundCreationOptions, response?: IResponseFn): Promise; + create?(options: HeaderOptions, response?: IResponseFn): Promise; + create?(response?: IResponseFn): Promise; /** * Retrieves the details of an existing refund. */ - retrieve(id: string, data: IDataOptions, options: HeaderOptions, response?: IResponseFn): Promise; - retrieve(id: string, data: IDataOptions, response?: IResponseFn): Promise; - retrieve(id: string, options: HeaderOptions, response?: IResponseFn): Promise; - retrieve(id: string, response?: IResponseFn): Promise; + retrieve?(id: string, data: IDataOptions, options: HeaderOptions, response?: IResponseFn): Promise; + retrieve?(id: string, data: IDataOptions, response?: IResponseFn): Promise; + retrieve?(id: string, options: HeaderOptions, response?: IResponseFn): Promise; + retrieve?(id: string, response?: IResponseFn): Promise; /** @@ -5443,18 +5443,18 @@ declare namespace Stripe { * * This request only accepts metadata as an argument. */ - update(id: string, data: IDataOptionsWithMetadata, options: HeaderOptions, response?: IResponseFn): Promise; - update(id: string, data: IDataOptionsWithMetadata, response?: IResponseFn): Promise; + update?(id: string, data: IDataOptionsWithMetadata, options: HeaderOptions, response?: IResponseFn): Promise; + update?(id: string, data: IDataOptionsWithMetadata, response?: IResponseFn): Promise; /** * Returns a list of all refunds you’ve previously created. The refunds are returned in sorted order, * with the most recent refunds appearing first. * For convenience, the 10 most recent refunds are always available by default on the charge object. */ - list(data: refunds.IRefundListOptions, options: HeaderOptions, response?: IResponseFn>): Promise>; - list(data: refunds.IRefundListOptions, response?: IResponseFn>): Promise>; - list(options: HeaderOptions, response?: IResponseFn>): Promise>; - list(response?: IResponseFn>): Promise>; + list?(data: refunds.IRefundListOptions, options: HeaderOptions, response?: IResponseFn>): Promise>; + list?(data: refunds.IRefundListOptions, response?: IResponseFn>): Promise>; + list?(options: HeaderOptions, response?: IResponseFn>): Promise>; + list?(response?: IResponseFn>): Promise>; } class Coupons extends StripeResource { From 20d62b5477c55888a6e22e7a6e56cfe0d4101aa7 Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 16 May 2018 11:12:01 +1000 Subject: [PATCH 13/44] Fixed indentation --- types/react-calendar-timeline/index.d.ts | 118 +++++++++++------------ 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 86c79ca7ae..26a3df52cd 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -1,7 +1,7 @@ // Type definitions for react-calendar-timeline v0.15.12 // Project: https://github.com/namespace-ee/react-calendar-timeline // Definitions by: Rajab Shakirov -// Alex Maclean +// Alex Maclean // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 @@ -9,7 +9,7 @@ declare module "react-calendar-timeline" { - export interface TimelineGroup { + export interface TimelineGroup { id: number; title: React.ReactNode; } @@ -33,63 +33,63 @@ declare module "react-calendar-timeline" { } export interface ReactCalendarTimelineProps { - groups: TimelineGroup[]; - items: TimelineItem[]; - keys?:{ - groupIdKey: string; - groupTitleKey: string; - itemIdKey: string; - itemTitleKey: string; - itemGroupKey: string; - itemTimeStartKey: string; - itemTimeEndKey: string; - }; - selected?: number[]; - sidebarWidth?: number; - sidebarContent?: any; - rightSidebarWidth?: number; - rightSidebarContent?: any; - dragSnap?: number; - minResizeWidth?: number; - stickyOffset?: number; - stickyHeader?: boolean; - headerRef?: any; - lineHeight?: number; - headerLabelGroupHeight?: number; - headerLabelHeight?: number; - itemHeightRatio?: number; - minZoom?: number; - maxZoom?: number; - clickTolerance?: number; - canMove?: boolean; - canChangeGroup?: boolean; - canResize?: boolean; - useResizeHandle?: boolean; - showCursorLine?: boolean; - stackItems?: boolean; - traditionalZoom?: boolean; - itemTouchSendsClick?: boolean; - onItemMove?(itemId:number, dragTime:number, newGroupOrder:number): any; - onItemResize?(itemId:number, newResizeEnd: number, edge: "left" | "right"): any; - onItemSelect?(itemId:number, e: any, time: number): any; - onItemClick?(itemId:number, e: any, time: number): any; - onItemDoubleClick?(itemId:number, e: any, time: number): any; - onCanvasClick?(groupId:number, time:number, e:any): any; - onCanvasDoubleClick?(groupId:number, time:number, e:any): any; - moveResizeValidator?(action:"move" | "resize", itemId:number, time:number, resizeEdge: "left" | "right"): any; - defaultTimeStart?: any; - defaultTimeEnd?: any; - visibleTimeStart?: number; - visibleTimeEnd?: number; - onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any; - onTimeInit?(visibleTimeStart: number, visibleTimeEnd: number): any; - onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; - onZoom?(timelineContext: TimelineContext): any; - children?: any; - fullUpdate?: boolean; - itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactNode; - groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactNode; - minimumWidthForItemContentVisibility?: number; + groups: TimelineGroup[]; + items: TimelineItem[]; + keys?:{ + groupIdKey: string; + groupTitleKey: string; + itemIdKey: string; + itemTitleKey: string; + itemGroupKey: string; + itemTimeStartKey: string; + itemTimeEndKey: string; + }; + selected?: number[]; + sidebarWidth?: number; + sidebarContent?: any; + rightSidebarWidth?: number; + rightSidebarContent?: any; + dragSnap?: number; + minResizeWidth?: number; + stickyOffset?: number; + stickyHeader?: boolean; + headerRef?: any; + lineHeight?: number; + headerLabelGroupHeight?: number; + headerLabelHeight?: number; + itemHeightRatio?: number; + minZoom?: number; + maxZoom?: number; + clickTolerance?: number; + canMove?: boolean; + canChangeGroup?: boolean; + canResize?: boolean; + useResizeHandle?: boolean; + showCursorLine?: boolean; + stackItems?: boolean; + traditionalZoom?: boolean; + itemTouchSendsClick?: boolean; + onItemMove?(itemId:number, dragTime:number, newGroupOrder:number): any; + onItemResize?(itemId:number, newResizeEnd: number, edge: "left" | "right"): any; + onItemSelect?(itemId:number, e: any, time: number): any; + onItemClick?(itemId:number, e: any, time: number): any; + onItemDoubleClick?(itemId:number, e: any, time: number): any; + onCanvasClick?(groupId:number, time:number, e:any): any; + onCanvasDoubleClick?(groupId:number, time:number, e:any): any; + moveResizeValidator?(action:"move" | "resize", itemId:number, time:number, resizeEdge: "left" | "right"): any; + defaultTimeStart?: any; + defaultTimeEnd?: any; + visibleTimeStart?: number; + visibleTimeEnd?: number; + onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any; + onTimeInit?(visibleTimeStart: number, visibleTimeEnd: number): any; + onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; + onZoom?(timelineContext: TimelineContext): any; + children?: any; + fullUpdate?: boolean; + itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactNode; + groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactNode; + minimumWidthForItemContentVisibility?: number; } let ReactCalendarTimeline : React.ClassicComponentClass; export default ReactCalendarTimeline; From 6b80387511b4e4ab007305dd1f8bc3eafb397796 Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 16 May 2018 16:03:37 +1000 Subject: [PATCH 14/44] Fixed typing. --- types/react-calendar-timeline/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 26a3df52cd..d5643d0e2a 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -87,8 +87,8 @@ declare module "react-calendar-timeline" { onZoom?(timelineContext: TimelineContext): any; children?: any; fullUpdate?: boolean; - itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactNode; - groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactNode; + itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactElement<{}>;; + groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactElement<{}>;; minimumWidthForItemContentVisibility?: number; } let ReactCalendarTimeline : React.ClassicComponentClass; From 6d9d52c150e170c5a5f2ed01d04c2d93022bf73f Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 16 May 2018 16:29:00 +1000 Subject: [PATCH 15/44] Fat fingers. --- types/react-calendar-timeline/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index d5643d0e2a..8c523e68c6 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -87,8 +87,8 @@ declare module "react-calendar-timeline" { onZoom?(timelineContext: TimelineContext): any; children?: any; fullUpdate?: boolean; - itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactElement<{}>;; - groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactElement<{}>;; + itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactElement<{}>; + groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactElement<{}>; minimumWidthForItemContentVisibility?: number; } let ReactCalendarTimeline : React.ClassicComponentClass; From 4e412e57ededaa6382b402208ebcddf9a0b8a771 Mon Sep 17 00:00:00 2001 From: Edward Sammut Alessi Date: Wed, 16 May 2018 11:09:29 +0200 Subject: [PATCH 16/44] Typings for intl-locales-supported --- types/intl-locales-supported/index.d.ts | 6 +++++ .../intl-locales-supported-tests.ts | 4 ++++ types/intl-locales-supported/tsconfig.json | 23 +++++++++++++++++++ types/intl-locales-supported/tslint.json | 1 + 4 files changed, 34 insertions(+) create mode 100644 types/intl-locales-supported/index.d.ts create mode 100644 types/intl-locales-supported/intl-locales-supported-tests.ts create mode 100644 types/intl-locales-supported/tsconfig.json create mode 100644 types/intl-locales-supported/tslint.json diff --git a/types/intl-locales-supported/index.d.ts b/types/intl-locales-supported/index.d.ts new file mode 100644 index 0000000000..1ad51f1f6c --- /dev/null +++ b/types/intl-locales-supported/index.d.ts @@ -0,0 +1,6 @@ +// Type definitions for intl-locales-supported 1.0 +// Project: https://github.com/yahoo/intl-locales-supported +// Definitions by: My Self +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export default function areIntlLocalesSupported(locales: string | string[]): void; diff --git a/types/intl-locales-supported/intl-locales-supported-tests.ts b/types/intl-locales-supported/intl-locales-supported-tests.ts new file mode 100644 index 0000000000..dcddcd545d --- /dev/null +++ b/types/intl-locales-supported/intl-locales-supported-tests.ts @@ -0,0 +1,4 @@ +import areIntlLocalesSupported from "intl-locales-supported"; + +areIntlLocalesSupported("en-GB"); +areIntlLocalesSupported([ "en-GB", "en-US" ]); diff --git a/types/intl-locales-supported/tsconfig.json b/types/intl-locales-supported/tsconfig.json new file mode 100644 index 0000000000..f528331ae4 --- /dev/null +++ b/types/intl-locales-supported/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "intl-locales-supported-tests.ts" + ] +} diff --git a/types/intl-locales-supported/tslint.json b/types/intl-locales-supported/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/intl-locales-supported/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 0d02c685c52f6042f9189d9c498f7f551a0a6711 Mon Sep 17 00:00:00 2001 From: Edward Sammut Alessi Date: Wed, 16 May 2018 11:15:57 +0200 Subject: [PATCH 17/44] Update index.d.ts Update maintainer name --- types/intl-locales-supported/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/intl-locales-supported/index.d.ts b/types/intl-locales-supported/index.d.ts index 1ad51f1f6c..b156905fdf 100644 --- a/types/intl-locales-supported/index.d.ts +++ b/types/intl-locales-supported/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for intl-locales-supported 1.0 // Project: https://github.com/yahoo/intl-locales-supported -// Definitions by: My Self +// Definitions by: Edward Sammut Alessi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export default function areIntlLocalesSupported(locales: string | string[]): void; From d2a9d45da2402d3ab6fd57173ba6747ab3fba4cb Mon Sep 17 00:00:00 2001 From: Gal Talmor Date: Wed, 16 May 2018 21:48:18 -0700 Subject: [PATCH 18/44] Fix stripe ICharge interface with missing fields and optional null values --- types/stripe/index.d.ts | 105 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 100 insertions(+), 5 deletions(-) diff --git a/types/stripe/index.d.ts b/types/stripe/index.d.ts index 496ae404f0..959cfe76ef 100644 --- a/types/stripe/index.d.ts +++ b/types/stripe/index.d.ts @@ -482,7 +482,7 @@ declare namespace Stripe { /** * ID of the Connect Application that earned the fee. [Expandable] */ - application: string; //TODO: Implement IApplication interface and reference type here for expansion:- "string | IApplication" + application: string | applications.IApplication; /** * Balance transaction that describes the impact of this collected application @@ -742,7 +742,7 @@ declare namespace Stripe { /** * ID of the Connect application that created the charge. [Expandable] */ - application?: string | null; + application?: string | applications.IApplication | null; /** * The application fee (if any) for the charge. See the Connect documentation @@ -783,7 +783,7 @@ declare namespace Stripe { * for details. * [Expandable] */ - destination?: string | null; + destination?: string | accounts.IAccount | null; /** * Details about the dispute if the charge has been disputed. @@ -842,7 +842,7 @@ declare namespace Stripe { * Details about whether the payment was accepted, and why. See * understanding declines for details. [Expandable] */ - outcome?: any; + outcome?: charges.IOutcome; /** * true if the charge succeeded, or was successfully authorized for later capture. @@ -873,7 +873,7 @@ declare namespace Stripe { /** * ID of the review associated with this charge if one exists. [Expandable] */ - review?: string | null; + review?: string | reviews.IReview | null; /** * Shipping information for the charge. @@ -1097,6 +1097,48 @@ declare namespace Stripe { } } + interface IOutcome { + /** + * The value reversed_after_approval indicates the payment was blocked by Stripe after + * bank authorization, and may temporarily appear as “pending” on a cardholder’s statement. + */ + network_status: "approved_by_network" | "declined_by_network" | "not_sent_to_network" | "reversed_after_approval"; + + /** + * An enumerated value providing a more detailed explanation of the outcome’s type. Charges + * blocked by Radar’s default block rule have the value highest_risk_level. Charges placed + * in review by Radar’s default review rule have the value elevated_risk_level. Charges + * authorized, blocked, or placed in review by custom rules have the value rule. See + * understanding declines for more details. + */ + reason: string | null; + + /** + * Stripe’s evaluation of the riskiness of the payment. Possible values for evaluated + * payments are normal, elevated, highest. For non-card payments, and card-based payments + * predating the public assignment of risk levels, this field will have the value not_assessed. + * In the event of an error in the evaluation, this field will have the value unknown. + */ + risk_level?: string | null; + + /** + * The ID of the Radar rule that matched the payment, if applicable. [Expandable] + */ + rule?: string | string[] | null; + + /** + * See [understanding declines] and + * [Radar reviews] for details. + */ + type: "authorized" | "manual_review" | "issuer_declined" | "blocked" | "invalid"; + + /** + * A human-readable description of the outcome type and reason, designed for you (the + * recipient of the payment), not your customer. + */ + seller_message: string; + } + interface IChargeRefunds extends IList, resources.ChargeRefunds { } } @@ -4979,6 +5021,59 @@ declare namespace Stripe { } } + namespace reviews { + interface IReview extends IResourceObject { + /** + * Unique identifier for the object. + */ + "id": string; + + /** + * String representing the object’s type. Objects of the same type share the same value. + */ + "object": "review"; + + /** + * The charge associated with this review. [Expandable] + */ + "charge": string | charges.ICharge; + + /** + * Time at which the object was created. Measured in seconds since the Unix epoch. + */ + "created": number; + + /** + * Has the value true if the object exists in live mode or the value false if the object exists in test mode. + */ + "livemode": false; + + /** + * If true, the review needs action. + */ + "open": true; + + /** + * The reason the review is currently open or closed. + */ + "reason": "rule" | "manual" | "approved" | "refunded" | "refunded_as_fraud" | "disputed"; + } + } + + namespace applications { + interface IApplication extends IResourceObject { + /** + * String representing the object’s type. Objects of the same type share the same value. + */ + "object": "application"; + + /** + * String representing the application’s name. + */ + "name": string; + } + } + class StripeResource { constructor(stripe: Stripe, urlData: any); } From 8a498aace206e32578d0a32318060d2506575cb0 Mon Sep 17 00:00:00 2001 From: "skubarenko.andrey" Date: Thu, 17 May 2018 10:53:21 +0300 Subject: [PATCH 19/44] Add a github id --- types/devexpress-aspnetcore-bootstrap/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/devexpress-aspnetcore-bootstrap/index.d.ts b/types/devexpress-aspnetcore-bootstrap/index.d.ts index 9422ccd2f7..51d1c2ebb4 100644 --- a/types/devexpress-aspnetcore-bootstrap/index.d.ts +++ b/types/devexpress-aspnetcore-bootstrap/index.d.ts @@ -1,6 +1,7 @@ // Type definitions for DevExpress ASP.NET 181.3 // Project: http://devexpress.com/ // Definitions by: DevExpress Inc. +// Andrey Skubarenko // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.4 From 6bb4375444a8f1a1f49a315ff4d4822fd1c1291c Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Thu, 17 May 2018 09:46:35 -0700 Subject: [PATCH 20/44] [qrcode] QRCode.toString() supports render opts --- types/qrcode/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/qrcode/index.d.ts b/types/qrcode/index.d.ts index c04a07c20f..aa0ef1ca92 100644 --- a/types/qrcode/index.d.ts +++ b/types/qrcode/index.d.ts @@ -40,7 +40,7 @@ export interface QRCodeToDataURLOptions extends QRCodeRenderersOptions { }; } -export interface QRCodeToStringOptions extends QRCodeOptions { +export interface QRCodeToStringOptions extends QRCodeRenderersOptions { /** * Output format. * Default: utf8 From cd7c1bdbfe0b6710d10b4a9e4c8b96361737cece Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Thu, 17 May 2018 09:53:19 -0700 Subject: [PATCH 21/44] [qrcode] Update version number --- types/qrcode/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/qrcode/index.d.ts b/types/qrcode/index.d.ts index aa0ef1ca92..1bf0a13454 100644 --- a/types/qrcode/index.d.ts +++ b/types/qrcode/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for qrcode 0.8.2 +// Type definitions for qrcode 1.2.0 // Project: https://github.com/soldair/node-qrcode // Definitions by: York Yao // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From 5b1307fcc1e03e5bb10d61237197e88a9ad9e360 Mon Sep 17 00:00:00 2001 From: Gal Talmor Date: Thu, 17 May 2018 10:44:36 -0700 Subject: [PATCH 22/44] Fix stripe ICharge interface with missing fields and optional null values --- types/stripe/index.d.ts | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/types/stripe/index.d.ts b/types/stripe/index.d.ts index 959cfe76ef..357d855570 100644 --- a/types/stripe/index.d.ts +++ b/types/stripe/index.d.ts @@ -5023,40 +5023,35 @@ declare namespace Stripe { namespace reviews { interface IReview extends IResourceObject { - /** - * Unique identifier for the object. - */ - "id": string; - /** * String representing the object’s type. Objects of the same type share the same value. */ - "object": "review"; + object: "review"; /** * The charge associated with this review. [Expandable] */ - "charge": string | charges.ICharge; + charge: string | charges.ICharge; /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ - "created": number; + created: number; /** * Has the value true if the object exists in live mode or the value false if the object exists in test mode. */ - "livemode": false; + livemode: boolean; /** * If true, the review needs action. */ - "open": true; + open: boolean; /** * The reason the review is currently open or closed. */ - "reason": "rule" | "manual" | "approved" | "refunded" | "refunded_as_fraud" | "disputed"; + reason: "rule" | "manual" | "approved" | "refunded" | "refunded_as_fraud" | "disputed"; } } @@ -5065,12 +5060,12 @@ declare namespace Stripe { /** * String representing the object’s type. Objects of the same type share the same value. */ - "object": "application"; + object: "application"; /** * String representing the application’s name. */ - "name": string; + name: string; } } From e803cee3d3fe4a2e7de8cc9d0ecdc383f0ad668e Mon Sep 17 00:00:00 2001 From: Ali Afroozeh Date: Thu, 17 May 2018 23:36:24 +0200 Subject: [PATCH 23/44] Update EventSource definitions to be compatible with lib.es6.d.ts --- types/eventsource/eventsource-tests.ts | 26 +++++++++++++------ types/eventsource/index.d.ts | 18 +++++++------ .../lib/eventsource-polyfill/index.d.ts | 15 ++++++----- 3 files changed, 36 insertions(+), 23 deletions(-) diff --git a/types/eventsource/eventsource-tests.ts b/types/eventsource/eventsource-tests.ts index 62f867926f..3cef9cfc78 100644 --- a/types/eventsource/eventsource-tests.ts +++ b/types/eventsource/eventsource-tests.ts @@ -1,17 +1,27 @@ import EventSource = require("eventsource"); const eventSource = new EventSource("http://foobar"); -eventSource.onmessage = (x: any) => {}; -eventSource.onerror = (x: any) => {}; -eventSource.onopen = (x: any) => {}; -eventSource.addEventListener = (type: string, x: any) => {}; +let readyState: number = eventSource.readyState; +let url: string = eventSource.url; +let withCredentials: boolean = eventSource.withCredentials; +eventSource.onmessage = (event: Event) => {}; +eventSource.onerror = (event: Event) => {}; +eventSource.onopen = (event: Event) => {}; +eventSource.addEventListener = (type: string, listener: (e: Event) => void) => {}; +eventSource.dispatchEvent = (event: Event) => true; +eventSource.removeEventListener = (type: string, listener: (e: Event) => void) => {}; eventSource.close(); import EventSourcePolyfill = require("eventsource/lib/eventsource-polyfill"); const eventSourcePolyfill = new EventSourcePolyfill("http://foobar"); -eventSourcePolyfill.onmessage = (x: any) => {}; -eventSourcePolyfill.onerror = (x: any) => {}; -eventSourcePolyfill.onopen = (x: any) => {}; -eventSourcePolyfill.addEventListener = (type: string, x: any) => {}; +readyState = eventSourcePolyfill.readyState; +url = eventSourcePolyfill.url; +withCredentials = eventSource.withCredentials; +eventSourcePolyfill.onmessage = (event: Event) => {}; +eventSourcePolyfill.onerror = (event: Event) => {}; +eventSourcePolyfill.onopen = (event: Event) => {}; +eventSourcePolyfill.addEventListener = (type: string, listener: (e: Event) => void) => {}; +eventSourcePolyfill.dispatchEvent = (event: Event) => true; +eventSourcePolyfill.removeEventListener = (type: string, listener: (e: Event) => void) => {}; eventSourcePolyfill.close(); diff --git a/types/eventsource/index.d.ts b/types/eventsource/index.d.ts index 62859d037b..613745e7a5 100644 --- a/types/eventsource/index.d.ts +++ b/types/eventsource/index.d.ts @@ -1,22 +1,24 @@ // Type definitions for eventsource 1.0 // Project: http://github.com/EventSource/eventsource // Definitions by: Scott Lee Davis +// Ali Afroozeh // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.2 +// TypeScript Version: 2.8 declare class EventSource { constructor(url: string, eventSourceInitDict?: EventSource.EventSourceInitDict); - - static CLOSED: EventSource.ReadyState; - static CONNECTING: EventSource.ReadyState; - static OPEN: EventSource.ReadyState; - - url: string; - readyState: EventSource.ReadyState; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + readonly url: string; + readonly readyState: number; + readonly withCredentials: boolean; onopen: EventListener; onmessage: EventListener; onerror: EventListener; addEventListener(type: string, listener: EventListener): void; + dispatchEvent(evt: Event): boolean; + removeEventListener(type: string, listener?: EventListener): void; close(): void; } diff --git a/types/eventsource/lib/eventsource-polyfill/index.d.ts b/types/eventsource/lib/eventsource-polyfill/index.d.ts index 3e4ad378e4..1d4347d0aa 100644 --- a/types/eventsource/lib/eventsource-polyfill/index.d.ts +++ b/types/eventsource/lib/eventsource-polyfill/index.d.ts @@ -1,16 +1,17 @@ declare class EventSource { constructor(url: string, eventSourceInitDict?: EventSource.EventSourceInitDict); - - static CLOSED: EventSource.ReadyState; - static CONNECTING: EventSource.ReadyState; - static OPEN: EventSource.ReadyState; - - url: string; - readyState: EventSource.ReadyState; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + readonly url: string; + readonly readyState: number; + readonly withCredentials: boolean; onopen: EventListener; onmessage: EventListener; onerror: EventListener; addEventListener(type: string, listener: EventListener): void; + dispatchEvent(evt: Event): boolean; + removeEventListener(type: string, listener?: EventListener): void; close(): void; } From f76d4aaa069587cf10fd2a5ff76e848abb18ec31 Mon Sep 17 00:00:00 2001 From: taoqf Date: Sat, 19 May 2018 14:26:35 +0800 Subject: [PATCH 24/44] add v1 --- types/jsreport-html-to-xlsx/v1/index.d.ts | 24 +++++++++++++++++ .../v1/jsreport-html-to-xlsx-tests.ts | 19 ++++++++++++++ types/jsreport-html-to-xlsx/v1/tsconfig.json | 26 +++++++++++++++++++ types/jsreport-html-to-xlsx/v1/tslint.json | 1 + 4 files changed, 70 insertions(+) create mode 100644 types/jsreport-html-to-xlsx/v1/index.d.ts create mode 100644 types/jsreport-html-to-xlsx/v1/jsreport-html-to-xlsx-tests.ts create mode 100644 types/jsreport-html-to-xlsx/v1/tsconfig.json create mode 100644 types/jsreport-html-to-xlsx/v1/tslint.json diff --git a/types/jsreport-html-to-xlsx/v1/index.d.ts b/types/jsreport-html-to-xlsx/v1/index.d.ts new file mode 100644 index 0000000000..84b37480aa --- /dev/null +++ b/types/jsreport-html-to-xlsx/v1/index.d.ts @@ -0,0 +1,24 @@ +// Type definitions for jsreport-html-to-xlsx 1.4 +// Project: https://github.com/jsreport/jsreport-html-to-xlsx +// Definitions by: My Self +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + +import { ExtensionDefinition } from 'jsreport-core'; +import { Options as BaseOptions } from 'jsreport-xlsx'; + +declare module 'jsreport-core' { + interface Template { + recipe: 'html-to-xlsx' | string; + } +} + +declare namespace JsReportHtml2Xlsx { + interface Options extends BaseOptions { + strategy: string; + } +} + +declare function JsReportHtml2Xlsx(options?: Partial): ExtensionDefinition; + +export = JsReportHtml2Xlsx; diff --git a/types/jsreport-html-to-xlsx/v1/jsreport-html-to-xlsx-tests.ts b/types/jsreport-html-to-xlsx/v1/jsreport-html-to-xlsx-tests.ts new file mode 100644 index 0000000000..9540cf7929 --- /dev/null +++ b/types/jsreport-html-to-xlsx/v1/jsreport-html-to-xlsx-tests.ts @@ -0,0 +1,19 @@ +import JsReport = require('jsreport-core'); +import JsreportHtml2Xlsx = require('jsreport-html-to-xlsx'); +import JsreportXlsx = require('jsreport-xlsx'); + +const jsreport = JsReport(); +jsreport.use(JsreportXlsx()); +jsreport.use(JsreportHtml2Xlsx()); + +(async () => { + const content = `
test
`; + await jsreport.init(); + const resp = await jsreport.render({ + template: { + content, + engine: 'none', + recipe: 'xlsx' + } + }); +})(); diff --git a/types/jsreport-html-to-xlsx/v1/tsconfig.json b/types/jsreport-html-to-xlsx/v1/tsconfig.json new file mode 100644 index 0000000000..6b073aa725 --- /dev/null +++ b/types/jsreport-html-to-xlsx/v1/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "esnext" + ], + "strictFunctionTypes": true, + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../../", + "typeRoots": [ + "../../" + ], + "paths": { + "jsreport-html-to-xlsx": [ "jsreport-html-to-xlsx/v1" ] + }, + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "jsreport-html-to-xlsx-tests.ts" + ] +} diff --git a/types/jsreport-html-to-xlsx/v1/tslint.json b/types/jsreport-html-to-xlsx/v1/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/jsreport-html-to-xlsx/v1/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 82d09842754d551d9a0715b41ab9f978deda9686 Mon Sep 17 00:00:00 2001 From: Edward Sammut Alessi Date: Sat, 19 May 2018 12:55:37 +0200 Subject: [PATCH 25/44] Update index.d.ts --- types/intl-locales-supported/index.d.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/types/intl-locales-supported/index.d.ts b/types/intl-locales-supported/index.d.ts index b156905fdf..76b5a4321e 100644 --- a/types/intl-locales-supported/index.d.ts +++ b/types/intl-locales-supported/index.d.ts @@ -3,4 +3,6 @@ // Definitions by: Edward Sammut Alessi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -export default function areIntlLocalesSupported(locales: string | string[]): void; +export = areIntlLocalesSupported; + +function areIntlLocalesSupported(locales: string | string[]): boolean; From 6d5cd37bbadc2bd180ff8fde7d8c76d040b39b33 Mon Sep 17 00:00:00 2001 From: Edward Sammut Alessi Date: Sat, 19 May 2018 12:55:58 +0200 Subject: [PATCH 26/44] Update intl-locales-supported-tests.ts --- types/intl-locales-supported/intl-locales-supported-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/intl-locales-supported/intl-locales-supported-tests.ts b/types/intl-locales-supported/intl-locales-supported-tests.ts index dcddcd545d..0ef43ea1e0 100644 --- a/types/intl-locales-supported/intl-locales-supported-tests.ts +++ b/types/intl-locales-supported/intl-locales-supported-tests.ts @@ -1,4 +1,4 @@ -import areIntlLocalesSupported from "intl-locales-supported"; +import areIntLocalesSupported = require("intl-locales-supported"); areIntlLocalesSupported("en-GB"); areIntlLocalesSupported([ "en-GB", "en-US" ]); From 5bcb57689662abac60e127b799ef990d69342f88 Mon Sep 17 00:00:00 2001 From: Edward Sammut Alessi Date: Sat, 19 May 2018 13:11:12 +0200 Subject: [PATCH 27/44] Fixes --- types/intl-locales-supported/index.d.ts | 2 +- types/intl-locales-supported/intl-locales-supported-tests.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/types/intl-locales-supported/index.d.ts b/types/intl-locales-supported/index.d.ts index 76b5a4321e..62d88c0e54 100644 --- a/types/intl-locales-supported/index.d.ts +++ b/types/intl-locales-supported/index.d.ts @@ -5,4 +5,4 @@ export = areIntlLocalesSupported; -function areIntlLocalesSupported(locales: string | string[]): boolean; +declare function areIntlLocalesSupported(locales: string | string[]): boolean; diff --git a/types/intl-locales-supported/intl-locales-supported-tests.ts b/types/intl-locales-supported/intl-locales-supported-tests.ts index 0ef43ea1e0..9d63d0e9ec 100644 --- a/types/intl-locales-supported/intl-locales-supported-tests.ts +++ b/types/intl-locales-supported/intl-locales-supported-tests.ts @@ -1,4 +1,4 @@ -import areIntLocalesSupported = require("intl-locales-supported"); +import areIntlLocalesSupported = require("intl-locales-supported"); areIntlLocalesSupported("en-GB"); areIntlLocalesSupported([ "en-GB", "en-US" ]); From a761e4477db0d7ab909a8f58acd44af217839fb9 Mon Sep 17 00:00:00 2001 From: Ali Afroozeh Date: Tue, 22 May 2018 22:02:52 +0200 Subject: [PATCH 28/44] Add ReadyState typing as static fields --- types/eventsource/eventsource-tests.ts | 12 ++++++++++++ types/eventsource/index.d.ts | 5 +++++ .../eventsource/lib/eventsource-polyfill/index.d.ts | 5 +++++ 3 files changed, 22 insertions(+) diff --git a/types/eventsource/eventsource-tests.ts b/types/eventsource/eventsource-tests.ts index 3cef9cfc78..c1b53030cd 100644 --- a/types/eventsource/eventsource-tests.ts +++ b/types/eventsource/eventsource-tests.ts @@ -2,6 +2,12 @@ import EventSource = require("eventsource"); const eventSource = new EventSource("http://foobar"); let readyState: number = eventSource.readyState; +let closedState: number = eventSource.CLOSED; +closedState = EventSource.CLOSED; +let connectingState: number = eventSource.CONNECTING; +connectingState = EventSource.CONNECTING; +let openState: number = eventSource.OPEN; +openState = EventSource.OPEN; let url: string = eventSource.url; let withCredentials: boolean = eventSource.withCredentials; eventSource.onmessage = (event: Event) => {}; @@ -16,6 +22,12 @@ import EventSourcePolyfill = require("eventsource/lib/eventsource-polyfill"); const eventSourcePolyfill = new EventSourcePolyfill("http://foobar"); readyState = eventSourcePolyfill.readyState; +closedState = eventSource.CLOSED; +closedState = EventSource.CLOSED; +connectingState = eventSource.CONNECTING; +connectingState = EventSource.CONNECTING; +openState = eventSource.OPEN; +openState = EventSource.OPEN; url = eventSourcePolyfill.url; withCredentials = eventSource.withCredentials; eventSourcePolyfill.onmessage = (event: Event) => {}; diff --git a/types/eventsource/index.d.ts b/types/eventsource/index.d.ts index 613745e7a5..1308515917 100644 --- a/types/eventsource/index.d.ts +++ b/types/eventsource/index.d.ts @@ -6,7 +6,12 @@ // TypeScript Version: 2.8 declare class EventSource { + static readonly CLOSED: number; + static readonly CONNECTING: number; + static readonly OPEN: number; + constructor(url: string, eventSourceInitDict?: EventSource.EventSourceInitDict); + readonly CLOSED: number; readonly CONNECTING: number; readonly OPEN: number; diff --git a/types/eventsource/lib/eventsource-polyfill/index.d.ts b/types/eventsource/lib/eventsource-polyfill/index.d.ts index 1d4347d0aa..86b82105cc 100644 --- a/types/eventsource/lib/eventsource-polyfill/index.d.ts +++ b/types/eventsource/lib/eventsource-polyfill/index.d.ts @@ -1,5 +1,10 @@ declare class EventSource { + static readonly CLOSED: number; + static readonly CONNECTING: number; + static readonly OPEN: number; + constructor(url: string, eventSourceInitDict?: EventSource.EventSourceInitDict); + readonly CLOSED: number; readonly CONNECTING: number; readonly OPEN: number; From 5b51b45acec73d734905354ce064dc5e9231dc77 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 29 May 2018 17:03:12 -0700 Subject: [PATCH 29/44] Enabled linters and fixed errors. Couldn't enable `unified-signatures` because of some overloads that take `any` as a substitute for node-canvas. --- types/qrcode/index.d.ts | 58 ++++++---------------------- types/qrcode/qrcode-tests.ts | 20 +++++----- types/qrcode/tslint.json | 75 +----------------------------------- 3 files changed, 23 insertions(+), 130 deletions(-) diff --git a/types/qrcode/index.d.ts b/types/qrcode/index.d.ts index 1bf0a13454..5d607b2908 100644 --- a/types/qrcode/index.d.ts +++ b/types/qrcode/index.d.ts @@ -1,6 +1,6 @@ -// Type definitions for qrcode 1.2.0 +// Type definitions for qrcode 1.2 // Project: https://github.com/soldair/node-qrcode -// Definitions by: York Yao +// Definitions by: York Yao // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// @@ -22,7 +22,7 @@ export interface QRCodeOptions { * Helper function used internally to convert a kanji to its Shift JIS value. * Provide this function if you need support for Kanji mode. */ - toSJISFunc?: Function; + toSJISFunc?: (codePoint: string) => number; } export interface QRCodeToDataURLOptions extends QRCodeRenderersOptions { @@ -127,10 +127,6 @@ export interface QRCode { */ export function create(text: string | QRCodeSegment[], options: QRCodeOptions): QRCode; -/** - * Draws qr code symbol to canvas. - */ -export function toCanvas(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[]): Promise; /** * Draws qr code symbol to canvas. */ @@ -138,15 +134,11 @@ export function toCanvas(canvasElement: HTMLCanvasElement, text: string | QRCode /** * Draws qr code symbol to canvas. */ -export function toCanvas(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[], options: QRCodeOptions): Promise; +export function toCanvas(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[], options?: QRCodeOptions): Promise; /** * Draws qr code symbol to canvas. */ export function toCanvas(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[], options: QRCodeOptions, callback: (error: Error) => void): void; -/** - * Draws qr code symbol to canvas. - */ -export function toCanvas(text: string | QRCodeSegment[]): Promise; /** * Draws qr code symbol to canvas. */ @@ -154,15 +146,11 @@ export function toCanvas(text: string | QRCodeSegment[], callback: (error: Error /** * Draws qr code symbol to canvas. */ -export function toCanvas(text: string | QRCodeSegment[], options: QRCodeOptions): Promise; +export function toCanvas(text: string | QRCodeSegment[], options?: QRCodeOptions): Promise; /** * Draws qr code symbol to canvas. */ export function toCanvas(text: string | QRCodeSegment[], options: QRCodeOptions, callback: (error: Error, canvas: HTMLCanvasElement) => void): void; -/** - * Draws qr code symbol to node canvas. - */ -export function toCanvas(canvas: any, text: string | QRCodeSegment[]): Promise; /** * Draws qr code symbol to node canvas. */ @@ -170,16 +158,12 @@ export function toCanvas(canvas: any, text: string | QRCodeSegment[], callback: /** * Draws qr code symbol to node canvas. */ -export function toCanvas(canvas: any, text: string | QRCodeSegment[], options: QRCodeOptions): Promise; +export function toCanvas(canvas: any, text: string | QRCodeSegment[], options?: QRCodeOptions): Promise; /** * Draws qr code symbol to node canvas. */ export function toCanvas(canvas: any, text: string | QRCodeSegment[], options: QRCodeOptions, callback: (error: Error) => void): void; -/** - * Returns a Data URI containing a representation of the QR Code image. - */ -export function toDataURL(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[]): Promise; /** * Returns a Data URI containing a representation of the QR Code image. */ @@ -187,15 +171,12 @@ export function toDataURL(canvasElement: HTMLCanvasElement, text: string | QRCod /** * Returns a Data URI containing a representation of the QR Code image. */ -export function toDataURL(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[], options: QRCodeToDataURLOptions): Promise; +export function toDataURL(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[], options?: QRCodeToDataURLOptions): Promise; /** * Returns a Data URI containing a representation of the QR Code image. */ export function toDataURL(canvasElement: HTMLCanvasElement, text: string | QRCodeSegment[], options: QRCodeToDataURLOptions, callback: (error: Error, url: string) => void): void; -/** - * Returns a Data URI containing a representation of the QR Code image. - */ -export function toDataURL(text: string | QRCodeSegment[]): Promise; + /** * Returns a Data URI containing a representation of the QR Code image. */ @@ -203,17 +184,12 @@ export function toDataURL(text: string | QRCodeSegment[], callback: (error: Erro /** * Returns a Data URI containing a representation of the QR Code image. */ -export function toDataURL(text: string | QRCodeSegment[], options: QRCodeToDataURLOptions): Promise; +export function toDataURL(text: string | QRCodeSegment[], options?: QRCodeToDataURLOptions): Promise; /** * Returns a Data URI containing a representation of the QR Code image. */ export function toDataURL(text: string | QRCodeSegment[], options: QRCodeToDataURLOptions, callback: (error: Error, url: string) => void): void; -/** - * Returns a string representation of the QR Code. - * If choosen output format is svg it will returns a string containing xml code. - */ -export function toString(text: string | QRCodeSegment[]): Promise; /** * Returns a string representation of the QR Code. * If choosen output format is svg it will returns a string containing xml code. @@ -223,19 +199,13 @@ export function toString(text: string | QRCodeSegment[], callback: (error: Error * Returns a string representation of the QR Code. * If choosen output format is svg it will returns a string containing xml code. */ -export function toString(text: string | QRCodeSegment[], options: QRCodeToStringOptions): Promise; +export function toString(text: string | QRCodeSegment[], options?: QRCodeToStringOptions): Promise; /** * Returns a string representation of the QR Code. * If choosen output format is svg it will returns a string containing xml code. */ export function toString(text: string | QRCodeSegment[], options: QRCodeToStringOptions, callback: (error: Error, string: string) => void): void; -/** - * Saves QR Code to image file. - * If options.type is not specified, the format will be guessed from file extension. - * Recognized extensions are png, svg, txt. - */ -export function toFile(path: string, text: string | QRCodeSegment[]): Promise; /** * Saves QR Code to image file. * If options.type is not specified, the format will be guessed from file extension. @@ -247,7 +217,7 @@ export function toFile(path: string, text: string | QRCodeSegment[], callback: ( * If options.type is not specified, the format will be guessed from file extension. * Recognized extensions are png, svg, txt. */ -export function toFile(path: string, text: string | QRCodeSegment[], options: QRCodeToFileOptions): Promise; +export function toFile(path: string, text: string | QRCodeSegment[], options?: QRCodeToFileOptions): Promise; /** * Saves QR Code to image file. * If options.type is not specified, the format will be guessed from file extension. @@ -255,10 +225,6 @@ export function toFile(path: string, text: string | QRCodeSegment[], options: QR */ export function toFile(path: string, text: string | QRCodeSegment[], options: QRCodeToFileOptions, callback: (error: Error) => void): void; -/** - * Writes QR Code image to stream. Only works with png format for now. - */ -export function toFileStream(stream: stream.Writable, text: string | QRCodeSegment[]): Promise; /** * Writes QR Code image to stream. Only works with png format for now. */ @@ -266,7 +232,7 @@ export function toFileStream(stream: stream.Writable, text: string | QRCodeSegme /** * Writes QR Code image to stream. Only works with png format for now. */ -export function toFileStream(stream: stream.Writable, text: string | QRCodeSegment[], options: QRCodeOptions): Promise; +export function toFileStream(stream: stream.Writable, text: string | QRCodeSegment[], options?: QRCodeOptions): Promise; /** * Writes QR Code image to stream. Only works with png format for now. */ diff --git a/types/qrcode/qrcode-tests.ts b/types/qrcode/qrcode-tests.ts index 6a94a5f580..363367cc28 100644 --- a/types/qrcode/qrcode-tests.ts +++ b/types/qrcode/qrcode-tests.ts @@ -2,31 +2,31 @@ import * as QRCode from 'qrcode'; const canvas = document.getElementById('canvas') as HTMLCanvasElement; -QRCode.toCanvas(canvas, 'sample text', function (error) { - if (error) console.error(error) +QRCode.toCanvas(canvas, 'sample text', (error) => { + if (error) console.error(error); console.log('success!'); }); -QRCode.toDataURL('I am a pony!', function (err, url) { +QRCode.toDataURL('I am a pony!', (err, url) => { console.log(url); }); -QRCode.toDataURL('some text', { errorCorrectionLevel: 'H' }, function (err, url) { +QRCode.toDataURL('some text', { errorCorrectionLevel: 'H' }, (err, url) => { console.log(url); }); -QRCode.toDataURL('some text', { version: 2 }, function (err, url) { +QRCode.toDataURL('some text', { version: 2 }, (err, url) => { console.log(url); }); QRCode.toDataURL([ { data: 'ABCDEFG', mode: 'alphanumeric' }, { data: '0123456', mode: 'numeric' } -], function (err, url) { +], (err, url) => { console.log(url); }); -QRCode.toCanvas('text', { errorCorrectionLevel: 'H' }, function (err, canvas) { +QRCode.toCanvas('text', { errorCorrectionLevel: 'H' }, (err, canvas) => { if (err) throw err; }); @@ -36,11 +36,11 @@ QRCode.toDataURL('text', { rendererOpts: { quality: 0.3 } -}, function (err, url) { +}, (err, url) => { if (err) throw err; }); -QRCode.toString('http://www.google.com', function (err, string) { +QRCode.toString('http://www.google.com', (err, string) => { if (err) throw err; console.log(string); }); @@ -50,7 +50,7 @@ QRCode.toFile('path/to/filename.png', 'Some text', { dark: '#00F', // Blue dots light: '#0000' // Transparent background } -}, function (err) { +}, (err) => { if (err) throw err; console.log('done'); }); diff --git a/types/qrcode/tslint.json b/types/qrcode/tslint.json index a41bf5d19a..08b1465cd6 100644 --- a/types/qrcode/tslint.json +++ b/types/qrcode/tslint.json @@ -1,79 +1,6 @@ { "extends": "dtslint/dt.json", "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false + "unified-signatures": false } } From d3000065ecaefa4d5ad41165e695ae34ca518805 Mon Sep 17 00:00:00 2001 From: Andrew Codispoti Date: Sat, 2 Jun 2018 19:37:05 -0400 Subject: [PATCH 30/44] Added a new type definition for the missing method getDateStr in react-native-datepicker. --- types/react-native-datepicker/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/react-native-datepicker/index.d.ts b/types/react-native-datepicker/index.d.ts index ceb0e612aa..dfc8bd5b13 100644 --- a/types/react-native-datepicker/index.d.ts +++ b/types/react-native-datepicker/index.d.ts @@ -30,6 +30,7 @@ export interface DatePickerProps { placeholder?: string; modalOnResponderTerminationRequest?(e: any): boolean; is24Hour?: boolean; + getDateStr?: (date: Date) => string; style?: any; customStyles?: any; minuteInterval?: number; From 298e6e8ef2cf4f340592e7c2a359d904be1484f5 Mon Sep 17 00:00:00 2001 From: Kyle Roach Date: Mon, 4 Jun 2018 04:32:45 -0400 Subject: [PATCH 31/44] (react-native-material-textfield) Add style prop --- .../index.d.ts | 22 +++++++++++++------ .../react-native-material-textfield-tests.tsx | 8 ++++--- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/types/react-native-material-textfield/index.d.ts b/types/react-native-material-textfield/index.d.ts index 9b6c2941af..5f3ffc437f 100644 --- a/types/react-native-material-textfield/index.d.ts +++ b/types/react-native-material-textfield/index.d.ts @@ -1,11 +1,18 @@ // Type definitions for react-native-material-textfield 0.12 // Project: https://github.com/n4kz/react-native-material-textfield // Definitions by: Ville Venäläinen +// Kyle Roach // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.8 +// TypeScript Version: 2.6 import * as React from 'react'; -import { TextInputProps, TextStyle, ViewStyle, View } from 'react-native'; +import { + StyleProp, + TextInputProps, + TextStyle, + ViewStyle, + View +} from 'react-native'; export interface TextFieldProps extends TextInputProps { animationDuration?: number; @@ -17,9 +24,10 @@ export interface TextFieldProps extends TextInputProps { labelPadding?: number; inputContainerPadding?: number; - labelTextStyle?: TextStyle; - titleTextStyle?: TextStyle; - affixTextStyle?: TextStyle; + style?: StyleProp; + labelTextStyle?: StyleProp; + titleTextStyle?: StyleProp; + affixTextStyle?: StyleProp; tintColor?: string; textColor?: string; @@ -47,8 +55,8 @@ export interface TextFieldProps extends TextInputProps { prefix?: string; suffix?: string; - containerStyle?: ViewStyle; - inputContainerStyle?: ViewStyle; + containerStyle?: StyleProp; + inputContainerStyle?: StyleProp; onPress?(event: Event): void; onChangeText?(text: string): void; diff --git a/types/react-native-material-textfield/react-native-material-textfield-tests.tsx b/types/react-native-material-textfield/react-native-material-textfield-tests.tsx index 08b33e31d0..50fb2b166b 100644 --- a/types/react-native-material-textfield/react-native-material-textfield-tests.tsx +++ b/types/react-native-material-textfield/react-native-material-textfield-tests.tsx @@ -1,13 +1,15 @@ import * as React from 'react'; -import { View, Text } from 'react-native'; +import { View } from 'react-native'; import { TextField } from 'react-native-material-textfield'; -const Example = () => +const Example = () => ( - ; + +); From e02a423e30ff3baa3eb334aa22b82dea8119079b Mon Sep 17 00:00:00 2001 From: Shane Fitzpatrick Date: Tue, 5 Jun 2018 09:50:28 -0700 Subject: [PATCH 32/44] react-native: Add event for TextInput onFocus and onBlur --- types/react-native/index.d.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index ef574ec807..eaa2dcccfc 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -1078,6 +1078,12 @@ export type ReturnKeyTypeAndroid = "none" | "previous"; export type ReturnKeyTypeIOS = "default" | "google" | "join" | "route" | "yahoo" | "emergency-call"; export type ReturnKeyTypeOptions = ReturnKeyType | ReturnKeyTypeAndroid | ReturnKeyTypeIOS +export interface TextInputFocusEventData { + target: number, + text: string, + eventCount: number +} + /** * @see https://facebook.github.io/react-native/docs/textinput.html#props */ @@ -1159,7 +1165,7 @@ export interface TextInputProps /** * Callback that is called when the text input is blurred */ - onBlur?: () => void; + onBlur?: (e: NativeSyntheticEvent) => void; /** * Callback that is called when the text input's text changes. @@ -1198,7 +1204,7 @@ export interface TextInputProps /** * Callback that is called when the text input is focused */ - onFocus?: () => void; + onFocus?: (e: NativeSyntheticEvent) => void; /** * Callback that is called when the text input selection is changed. From ca916022152dd46e86acad208759811e622a00be Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 6 Jun 2018 11:55:06 +1000 Subject: [PATCH 33/44] Updated to 0.16.3 --- types/react-calendar-timeline/index.d.ts | 155 ++++++++++++++--------- 1 file changed, 95 insertions(+), 60 deletions(-) diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index 8c523e68c6..2ff17f6a82 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for react-calendar-timeline v0.15.12 +// Type definitions for react-calendar-timeline v0.16.3 // Project: https://github.com/namespace-ee/react-calendar-timeline // Definitions by: Rajab Shakirov // Alex Maclean @@ -12,6 +12,7 @@ declare module "react-calendar-timeline" { export interface TimelineGroup { id: number; title: React.ReactNode; + rightTitle?: React.ReactNode; } export interface TimelineItem { @@ -21,9 +22,10 @@ declare module "react-calendar-timeline" { start_time: any; end_time: any; canMove?: boolean; - canResize?: boolean; + canResize?: boolean | "left" | "right" | "both"; canChangeGroup?: boolean; className?: string; + itemProps?: {}; } export interface TimelineContext { @@ -32,65 +34,98 @@ declare module "react-calendar-timeline" { timelineWidth: number } - export interface ReactCalendarTimelineProps { - groups: TimelineGroup[]; - items: TimelineItem[]; - keys?:{ - groupIdKey: string; - groupTitleKey: string; - itemIdKey: string; - itemTitleKey: string; - itemGroupKey: string; - itemTimeStartKey: string; - itemTimeEndKey: string; - }; - selected?: number[]; - sidebarWidth?: number; - sidebarContent?: any; - rightSidebarWidth?: number; - rightSidebarContent?: any; - dragSnap?: number; - minResizeWidth?: number; - stickyOffset?: number; - stickyHeader?: boolean; - headerRef?: any; - lineHeight?: number; - headerLabelGroupHeight?: number; - headerLabelHeight?: number; - itemHeightRatio?: number; - minZoom?: number; - maxZoom?: number; - clickTolerance?: number; - canMove?: boolean; - canChangeGroup?: boolean; - canResize?: boolean; - useResizeHandle?: boolean; - showCursorLine?: boolean; - stackItems?: boolean; - traditionalZoom?: boolean; - itemTouchSendsClick?: boolean; - onItemMove?(itemId:number, dragTime:number, newGroupOrder:number): any; - onItemResize?(itemId:number, newResizeEnd: number, edge: "left" | "right"): any; - onItemSelect?(itemId:number, e: any, time: number): any; - onItemClick?(itemId:number, e: any, time: number): any; - onItemDoubleClick?(itemId:number, e: any, time: number): any; - onCanvasClick?(groupId:number, time:number, e:any): any; - onCanvasDoubleClick?(groupId:number, time:number, e:any): any; - moveResizeValidator?(action:"move" | "resize", itemId:number, time:number, resizeEdge: "left" | "right"): any; - defaultTimeStart?: any; - defaultTimeEnd?: any; - visibleTimeStart?: number; - visibleTimeEnd?: number; - onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any; - onTimeInit?(visibleTimeStart: number, visibleTimeEnd: number): any; - onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; - onZoom?(timelineContext: TimelineContext): any; - children?: any; - fullUpdate?: boolean; - itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactElement<{}>; - groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactElement<{}>; - minimumWidthForItemContentVisibility?: number; + export interface TimelineTimeSteps { + second: number, + minute: number, + hour: number, + day: number, + month: number, + year: number } + + export interface TimelineHeaderLabelFormat { + yearShort: string, + yearLong: string, + monthShort: string, + monthMedium: string, + monthMediumLong: string, + monthLong: string, + dayShort: string, + dayLong: string, + hourShort: string, + hourMedium: string, + hourMediumLong: string, + hourLong: string, + time: string + } + + export interface ReactCalendarTimelineProps { + groups: TimelineGroup[]; + items: TimelineItem[]; + keys?:{ + groupIdKey: string; + groupTitleKey: string; + itemIdKey: string; + itemTitleKey: string; + itemGroupKey: string; + itemTimeStartKey: string; + itemTimeEndKey: string; + }; + defaultTimeStart?: any; + defaultTimeEnd?: any; + visibleTimeStart?: any; + visibleTimeEnd?: any; + selected?: number[]; + sidebarWidth?: number; + sidebarContent?: React.ReactNode; + rightSidebarWidth?: number; + rightSidebarContent?: React.ReactNode; + dragSnap?: number; + minResizeWidth?: number; + stickyOffset?: number; + stickyHeader?: boolean; + headerRef?: any; + lineHeight?: number; + headerLabelGroupHeight?: number; + headerLabelHeight?: number; + itemHeightRatio?: number; + minZoom?: number; + maxZoom?: number; + clickTolerance?: number; + canMove?: boolean; + canChangeGroup?: boolean; + canResize?: boolean | "left" | "right" | "both"; + useResizeHandle?: boolean; + showCursorLine?: boolean; + stackItems?: boolean; + traditionalZoom?: boolean; + itemTouchSendsClick?: boolean; + timeSteps?: TimelineTimeSteps, + onItemMove?(itemId: number, dragTime: number, newGroupOrder: number): any; + onItemResize?(itemId: number, newResizeEnd: number, edge: "left" | "right"): any; + onItemSelect?(itemId: number, e: any, time: number): any; + onItemClick?(itemId: number, e: any, time: number): any; + onItemDoubleClick?(itemId: number, e: any, time: number): any; + onCanvasClick?(groupId:number, time:number, e:any): any; + onCanvasDoubleClick?(group: TimelineGroup, time: number, e: any): any; + onCanvasContextMenu?(group: TimelineGroup, time: number, e: any): any; + onZoom?(timelineContext: TimelineContext): any; + moveResizeValidator?(action:"move" | "resize", itemId: number, time: number, resizeEdge: "left" | "right"): any; + headerLabelFormats?: TimelineHeaderLabelFormat, + subHeaderLabelFormats?: TimelineHeaderLabelFormat, + onTimeChange?(visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void): any; + onTimeInit?(canvasTimeStart: number, canvasTimeEnd: number): any; + onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; + itemRenderer?: (props: {item: TimelineItem, context: TimelineContext}) => React.ReactElement<{}>; + groupRenderer?: (props: {group: TimelineGroup, isRightSidebar: boolean}) => React.ReactElement<{}>; + minimumWidthForItemContentVisibility?: number; + children?: any; + } + + export const defaultHeaderLabelFormats: TimelineHeaderLabelFormat; + export const defaultSubHeaderLabelFormats: TimelineHeaderLabelFormat; + let ReactCalendarTimeline : React.ClassicComponentClass; export default ReactCalendarTimeline; + } From 226ec2c9c9de617650ba05c8deca2a7d61f85727 Mon Sep 17 00:00:00 2001 From: Kei Son Date: Thu, 7 Jun 2018 16:27:53 +0800 Subject: [PATCH 34/44] Add missing errors --- types/restify-errors/index.d.ts | 5 +++++ types/restify-errors/restify-errors-tests.ts | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/types/restify-errors/index.d.ts b/types/restify-errors/index.d.ts index ecec86f8f7..fb9c136ab1 100644 --- a/types/restify-errors/index.d.ts +++ b/types/restify-errors/index.d.ts @@ -130,6 +130,11 @@ export class InsufficientStorageError extends DefinedHttpError { } export class BandwidthLimitExceededError extends DefinedHttpError { } export class NotExtendedError extends DefinedHttpError { } export class NetworkAuthenticationRequiredError extends DefinedHttpError { } +export class PayloadTooLargeError extends DefinedHttpError { } +export class UriTooLongError extends DefinedHttpError { } +export class MisdirectedRequestError extends DefinedHttpError { } +export class UnavailableForLegalReasonsError extends DefinedHttpError { } +export class LoopDetectedError extends DefinedHttpError { } export class BadDigestError extends DefinedRestError { } export class BadMethodError extends DefinedRestError { } diff --git a/types/restify-errors/restify-errors-tests.ts b/types/restify-errors/restify-errors-tests.ts index 600a0545fb..2bda424f6a 100644 --- a/types/restify-errors/restify-errors-tests.ts +++ b/types/restify-errors/restify-errors-tests.ts @@ -62,6 +62,12 @@ httpError = new restifyErrors.InsufficientStorageError(); httpError = new restifyErrors.BandwidthLimitExceededError(); httpError = new restifyErrors.NotExtendedError(); httpError = new restifyErrors.NetworkAuthenticationRequiredError(); +httpError = new restifyErrors.PayloadTooLargeError(); +httpError = new restifyErrors.UriTooLongError(); +httpError = new restifyErrors.MisdirectedRequestError(); +httpError = new restifyErrors.UnavailableForLegalReasonsError(); +httpError = new restifyErrors.LoopDetectedError(); +httpError = new restifyErrors.NetworkAuthenticationRequiredError(); // RestErrors let restError = new restifyErrors.BadDigestError(); From 4acc2d229c2dee699d27a714afff5d1401a86115 Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Thu, 7 Jun 2018 08:13:30 -0400 Subject: [PATCH 35/44] Adding ImperativeRouter type --- types/next/router.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/next/router.d.ts b/types/next/router.d.ts index 5a17bd2a53..544c29bc7e 100644 --- a/types/next/router.d.ts +++ b/types/next/router.d.ts @@ -61,4 +61,5 @@ export function withRouter( ): React.ComponentType; export const Singleton: SingletonRouter; +export type ImperativeRouter = RouterProps; export default Singleton; From 997a0150e9a8a72cefb28565e36bb6ed1ea5c0b4 Mon Sep 17 00:00:00 2001 From: Zachary Wade Date: Thu, 7 Jun 2018 10:53:00 -0400 Subject: [PATCH 36/44] added the Object.TYPE enum as well as fixed typos on Object.type2String and Object.string2Type --- types/nodegit/diff-binary-file.d.ts | 4 +++- types/nodegit/object.d.ts | 29 ++++++++++++++++++++++------- types/nodegit/odb-expand-id.d.ts | 3 ++- types/nodegit/odb.d.ts | 3 ++- types/nodegit/reference.d.ts | 2 +- 5 files changed, 30 insertions(+), 11 deletions(-) diff --git a/types/nodegit/diff-binary-file.d.ts b/types/nodegit/diff-binary-file.d.ts index 46b67f406e..362e1a63fc 100644 --- a/types/nodegit/diff-binary-file.d.ts +++ b/types/nodegit/diff-binary-file.d.ts @@ -1,5 +1,7 @@ +import { Object } from './object'; + export class DiffBinaryFile { - type: number; + type: Object.TYPE; data: string; datalen: number; inflatedlen: number; diff --git a/types/nodegit/object.d.ts b/types/nodegit/object.d.ts index 4ec5a19b6c..be7e879b95 100644 --- a/types/nodegit/object.d.ts +++ b/types/nodegit/object.d.ts @@ -3,20 +3,35 @@ import { Repository } from './repository'; import { Buf } from './buf'; export class Object { - static size(type: number): number; - static lookup(repo: Repository, id: Oid, type: number): Promise; - static lookupPrefix(repo: Repository, id: Oid, len: number, type: number): Promise; - static string2type(str: string): number; - static type2string(type: number): string; - static typeisloose(type: number): number; + static size(type: Object.TYPE): number; + static lookup(repo: Repository, id: Oid, type: Object.TYPE): Promise; + static lookupPrefix(repo: Repository, id: Oid, len: number, type: Object.TYPE): Promise; + static string2Type(str: string): Object.TYPE; + static type2String(type: Object.TYPE): string; + static typeisloose(type: Object.TYPE): number; dup(): Promise; free(): void; id(): Oid; - lookupByPath(path: string, type: number): Promise; + lookupByPath(path: string, type: Object.TYPE): Promise; owner(): Repository; peel(targetType: number): Promise; shortId(): Promise; type(): number; } + +export namespace Object { + const enum TYPE { + ANY = -2, + BAD = -1, + EXT1 = 0, + COMMIT = 1, + TREE = 2, + BLOB = 3, + TAG = 4, + EXT2 = 5, + OFS_DELTA = 6, + REF_DELTA = 7 + } +} diff --git a/types/nodegit/odb-expand-id.d.ts b/types/nodegit/odb-expand-id.d.ts index d4fe264c3a..5576fbad58 100644 --- a/types/nodegit/odb-expand-id.d.ts +++ b/types/nodegit/odb-expand-id.d.ts @@ -1,7 +1,8 @@ import { Oid } from './oid'; +import { Object } from './object'; export class OdbExpandId { id: Oid; length: number; - type: number; + type: Object.TYPE; } diff --git a/types/nodegit/odb.d.ts b/types/nodegit/odb.d.ts index db0aacda61..e5348d088f 100644 --- a/types/nodegit/odb.d.ts +++ b/types/nodegit/odb.d.ts @@ -1,6 +1,7 @@ import { Oid } from './oid'; import { OdbObject } from './odb-object'; import { OdbExpandId } from './odb-expand-id'; +import { Object } from './object'; export namespace Odb { const enum STREAM { @@ -17,6 +18,6 @@ export class Odb { free(): void; read(id: Oid): Promise; - write(data: Buffer, len: number, type: number): Promise; + write(data: Buffer, len: number, type: Object.TYPE): Promise; expandIds(ids: OdbExpandId, count: number): number; } diff --git a/types/nodegit/reference.d.ts b/types/nodegit/reference.d.ts index 80e16c9350..cc6cb90e28 100644 --- a/types/nodegit/reference.d.ts +++ b/types/nodegit/reference.d.ts @@ -41,7 +41,7 @@ export class Reference { isTag(): number; name(): string; owner(): Repository; - peel(type: number): Promise; + peel(type: Object.TYPE): Promise; rename(newName: string, force: number, logMessage: string): Promise; resolve(): Promise; setTarget(id: Oid, logMessage: string): Promise; From 270369930e5141e65d4e8a1f7443a35c5441065b Mon Sep 17 00:00:00 2001 From: bradleat Date: Thu, 7 Jun 2018 14:55:44 -0700 Subject: [PATCH 37/44] inverted support see: https://github.com/archriss/react-native-snap-carousel/issues/197 they forgot to document it, but it works --- types/react-native-snap-carousel/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/types/react-native-snap-carousel/index.d.ts b/types/react-native-snap-carousel/index.d.ts index 5b5406f6fa..56b083638b 100644 --- a/types/react-native-snap-carousel/index.d.ts +++ b/types/react-native-snap-carousel/index.d.ts @@ -45,6 +45,10 @@ export interface CarouselProps extends React.Props { * Width in pixels of your slides, must be the same for all of them * Note: Required with horizontal carousel */ + /** + * Reverses the direction of scroll. Uses scale transforms of -1. + */ + inverted?: boolean; itemWidth?: number; /** * Height in pixels of carousel's items, must be the same for all of them From bc93f0695f1aeef6c0dc0a801e0a21af2fb8b411 Mon Sep 17 00:00:00 2001 From: ComFreek Date: Sat, 2 Jun 2018 18:17:19 +0200 Subject: [PATCH 38/44] libxmljs: add typings for latest version Important changes of the v0.18 version: - The previous libxmljs-tests.ts file used a require, thus made any variable from the imported 'libxmljs' typed 'any'. Hence, the test file actually tested no type declarations at all. This has been fixed via an ordinary 'import' statement. - Enabled strict null checks in tsconfig.json - Removed some exported classes (such as XMLDocument, HTMLDocument) which are neither used nor exported anymore in more recent libxmljs versions. - Added null return values to functions which sometimes return null, e.g. prevSibling(): Node|null. --- types/libxmljs/index.d.ts | 207 +++++++++++++++++++----------- types/libxmljs/libxmljs-tests.ts | 39 +++--- types/libxmljs/tsconfig.json | 2 +- types/libxmljs/tslint.json | 80 +----------- types/libxslt/index.d.ts | 56 +++----- types/libxslt/internal-types.d.ts | 11 ++ types/libxslt/libxslt-tests.ts | 4 +- types/libxslt/tsconfig.json | 1 + types/libxslt/tslint.json | 80 +----------- 9 files changed, 187 insertions(+), 293 deletions(-) create mode 100644 types/libxslt/internal-types.d.ts diff --git a/types/libxmljs/index.d.ts b/types/libxmljs/index.d.ts index ceeb1a3783..7fc9e9e2bf 100644 --- a/types/libxmljs/index.d.ts +++ b/types/libxmljs/index.d.ts @@ -1,114 +1,173 @@ -// Type definitions for Libxmljs v0.14.2 -// Project: https://github.com/polotek/libxmljs +// Type definitions for Libxmljs 0.18 +// Project: https://github.com/libxmljs/libxmljs // Definitions by: François de Campredon +// ComFreek // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// +import { EventEmitter } from 'events'; +export const version: string; +export const libxml_version: string; +export const libxml_parser_version: string; +// tslint:disable-next-line:strict-export-declare-modifiers +interface ParseOptions { + [optionName: string]: string; +} -import events = require('events'); +export function parseXml(source: string, options?: ParseOptions): Document; +export function parseXmlString(source: string, options?: ParseOptions): Document; -export declare function parseXml(source: string): XMLDocument; -export declare function parseHtml(source: string): HTMLDocument; -export declare function parseXmlString(source: string, options?: { [key: string]: string }): XMLDocument; -export declare function parseHtmlString(source: string): HTMLDocument; +export function parseHtml(source: string, options?: ParseOptions): Document; +export function parseHtmlString(source: string, options?: ParseOptions): Document; +export function parseHtmlFragment(source: string, options?: ParseOptions): Document; +export function memoryUsage(): number; +export function nodeCount(): number; -export declare class XMLDocument { - constructor(version: number, encoding: string); - child(idx: number): Element | undefined; +export class Document { + /** + * Create a new XML Document + * @param version XML document version, defaults to 1.0 + * @param encoding Encoding, defaults to utf8 + */ + constructor(version?: number, encoding?: string); + + errors: SyntaxError[]; + + child(idx: number): Element|null; childNodes(): Element[]; - errors(): SyntaxError[]; encoding(): string; - encoding(enc: string): void; + encoding(enc: string): this; find(xpath: string): Element[]; - get(xpath: string): Element | undefined; - node(name: string, content: string): Element; - root(): Element; - toString(): string; - validate(xsdDoc: XMLDocument): boolean; - validationErrors: XmlError[]; - version(): Number; + get(xpath: string): Element|null; + node(name: string, content?: string): Element; + root(): Element|null; + root(newRoot: Node): Node; + toString(formatted?: boolean): string; + type(): 'document'; + version(): string; + setDtd(name: string, ext: string, sys: string): void; + getDtd(): { + name: string; + externalId: string; + systemId: string; + }; } -export declare class HTMLDocument extends XMLDocument { +export class Node { + doc(): Document; + parent(): Element|Document; + /** + * The namespace or null in case of comment nodes + */ + namespace(): Namespace|null; + /** + * An array of namespaces that the object belongs to. + * + * @param local If it is true, only the namespace declarations local to this + * node are returned, rather than all of the namespaces in scope + * at this node (including the ones from the parent elements). + */ + namespaces(local?: boolean): Namespace[]; + + prevSibling(): Node|null; + nextSibling(): Node|null; + + type(): 'comment'|'element'|'text'|'attribute'; + remove(): this; + clone(): this; + /** + * Serializes the node to a string. The string will contain all contents of the node formatted as XML and can be used to print the node. + */ + toString(format?: boolean|{ + declaration: boolean; + selfCloseEmpty: boolean; + whitespace: boolean; + type: 'xml'|'html'|'xhtml' + }): string; } - -export declare class Element { - constructor(doc: XMLDocument, name: string, content?: string); +export class Element extends Node { + constructor(doc: Document, name: string, content?: string); + node(name: string, content?: string): Element; name(): string; - name(newName: string): void; + name(newName: string): this; text(): string; - attr(name: string): Attribute; - attr(attr: Attribute): void; - attr(attrObject: { [key: string]: string; }): void; + text(newText: string): this; + attr(name: string): Attribute|null; + attr(attrObject: { [key: string]: string; }): this; attrs(): Attribute[]; - parent(): Element; - doc(): XMLDocument; - child(idx: number): Element | undefined; - childNodes(): Element[]; - addChild(child: Element): Element; - nextSibling(): Element; - nextElement(): Element; - addNextSibling(siblingNode: Element): Element; - prevSibling(): Element; - prevElement(): Element; - addPrevSibling(siblingNode: Element): Element; - find(xpath: string): Element[]; - find(xpath: string, ns_uri: string): Element[]; - find(xpath: string, namespaces: { [key: string]: string; }): Element[]; - get(xpath: string): Element | undefined; - get(xpath: string, ns_uri: string): Element | undefined; - get(xpath: string, ns_uri: { [key: string]: string; }): Element | undefined; - defineNamespace(href: string): Namespace; - defineNamespace(prefix: string, href: string): Namespace; - namespace(): Namespace; - namespace(ns: Namespace): void; - namespace(href: string): void; - namespace(prefix: string, href: string): void; - remove(): void; + + doc(): Document; + child(idx: number): Node | null; + childNodes(): Node[]; + + /** + * @return The original element, not the child. + */ + addChild(child: Element): this; + + prevElement(): Element|null; + nextElement(): Element|null; + addNextSibling(siblingNode: Node): Node; + + find(xpath: string, ns_uri?: string): Node[]; + find(xpath: string, namespaces: { [key: string]: string; }): Node[]; + get(xpath: string, ns_uri?: string): Element|null; + + defineNamespace(prefixOrHref: string, hrefInCaseOfPrefix?: string): Namespace; + + namespace(): Namespace|null; + namespace(newNamespace: Namespace): this; + namespace(prefixOrHref: string, hrefInCaseOfPrefix?: string): Namespace; + + replace(replacement: string): string; + replace(replacement: Element): Element; + path(): string; - type(): string; } - -export declare class Attribute { - constructor(node: Element, name: string, value: string); - constructor(node: Element, name: string, value: string, ns: Namespace); +export class Attribute { name(): string; - namespace(): Namespace; - namespace(ns: Namespace): Namespace; - nextSibling(): Attribute; - node(): Element; - prevSibling(): Attribute; - remove(): void; value(): string; + value(newValue: string): Attribute; + namespace(): Namespace; + + remove(): void; } -export declare class Namespace { - constructor(node: Element, prefix: string, href: string); +export class Namespace { href(): string; prefix(): string; } -export declare class SaxParser extends events.EventEmitter { +export class SaxParser extends EventEmitter { + constructor(); parseString(source: string): boolean; } - -export declare class SaxPushParser extends events.EventEmitter { +export class SaxPushParser extends EventEmitter { + constructor(); push(source: string): boolean; } -export interface XmlError { - domain: number; - code: number; - message: string; - level: number; - file?: string; +export interface SyntaxError { + domain: number|null; + code: number|null; + message: string|null; + level: number|null; + file: string|null; + line: number|null; + /** + * 1-based column number, 0 if not applicable/available. + */ column: number; - line: number; + + str1: number|null; + str2: number|null; + str3: number|null; + int1: number|null; } diff --git a/types/libxmljs/libxmljs-tests.ts b/types/libxmljs/libxmljs-tests.ts index 87d634aab4..367d74c69d 100644 --- a/types/libxmljs/libxmljs-tests.ts +++ b/types/libxmljs/libxmljs-tests.ts @@ -1,7 +1,6 @@ +import * as libxmljs from 'libxmljs'; - -var libxmljs = require("libxmljs"); -var xml = '' + +const xml = '' + '' + '' + 'grandchild content' + @@ -9,40 +8,42 @@ var xml = '' + 'with content!' + ''; -var xmlDoc = libxmljs.parseXml(xml); +const xmlDoc = libxmljs.parseXml(xml); // xpath queries -var gchild = xmlDoc.get('//grandchild'); +const gchild = xmlDoc.get('//grandchild')!; console.log(gchild.text()); // prints "grandchild content" -var children = xmlDoc.root().childNodes(); -var child = children[0]; +const children = xmlDoc.root()!.childNodes(); +const child = children[0] as libxmljs.Element; -console.log(child.attr('foo').value()); // prints "bar" +console.log(child.attr('foo')!.value()); // prints "bar" -var parser = new libxmljs.SaxParser(); +const parser = new libxmljs.SaxParser(); -parser.on('startDocument', null); -parser.on('startElement', null); +parser.on('startDocument', () => 0); +parser.on('startElement', () => 0); -var parser2 = new libxmljs.SaxPushParser(); +const parser2 = new libxmljs.SaxPushParser(); // connect any callbacks here parser2 - .on('startDocument', null) - .on('startElement', null) + .on('startDocument', () => 0) + .on('startElement', () => 0); -var xmlChunk: any; +const xmlChunk = ''; -while(xmlChunk) { +while (xmlChunk) { parser2.push(xmlChunk); } -var doc = new libxmljs.Document(); - doc.node('root') +const doc = new libxmljs.Document(); + ((doc.node('root') .node('child').attr({foo: 'bar'}) .node('grandchild', 'grandchild content').attr({baz: 'fizbuzz'}) .parent() - .parent() + ) as libxmljs.Element).parent() .node('sibling', 'with content!'); + +const {name, externalId, systemId} = doc.getDtd(); diff --git a/types/libxmljs/tsconfig.json b/types/libxmljs/tsconfig.json index 7201fffe81..45835560c6 100644 --- a/types/libxmljs/tsconfig.json +++ b/types/libxmljs/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ diff --git a/types/libxmljs/tslint.json b/types/libxmljs/tslint.json index a41bf5d19a..3db14f85ea 100644 --- a/types/libxmljs/tslint.json +++ b/types/libxmljs/tslint.json @@ -1,79 +1 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false - } -} +{ "extends": "dtslint/dt.json" } diff --git a/types/libxslt/index.d.ts b/types/libxslt/index.d.ts index 329525d7df..3b400d08e7 100644 --- a/types/libxslt/index.d.ts +++ b/types/libxslt/index.d.ts @@ -1,59 +1,37 @@ -// Type definitions for node-libxslt +// Type definitions for node-libxslt 0.7 // Project: https://github.com/albanm/node-libxslt // Definitions by: Alejandro Sánchez // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -/// +// TypeScript Version: 2.2 import * as xmljs from 'libxmljs'; +import { + ApplyCallback, + ApplyResult, + ApplyStringCallback, + OutputFormat, + ParseCallback +} from './internal-types'; export const libxmljs: typeof xmljs; -type OutputFormat = 'document' | 'string'; - export interface ApplyOptions { outputFormat?: OutputFormat; noWrapParams?: boolean; } -type ApplyResult = string | xmljs.XMLDocument; - -type ApplyCallback = (err: Error, result: ApplyResult) => void; - -type ApplyStringCallback = (err: Error, result: string) => void; - -type ApplyDocumentCallback = (err: Error, result: xmljs.XMLDocument) => void; - export interface Stylesheet { - apply(source: string, params?: Object): string; - - apply(source: string, params: Object, options: ApplyOptions): ApplyResult; - - apply(source: string, params: Object, options: ApplyOptions, callback: ApplyCallback): void; - - apply(source: string, callback: ApplyStringCallback): void; - - apply(source: xmljs.XMLDocument, params?: Object): xmljs.XMLDocument; - - apply(source: xmljs.XMLDocument, params: Object, options: ApplyOptions): ApplyResult; - - apply(source: xmljs.XMLDocument, params: Object, options: ApplyOptions, callback: ApplyCallback): void; - - apply(source: xmljs.XMLDocument, callback: ApplyDocumentCallback): void; - - applyToFile(sourcePath: string, params: Object, options: ApplyOptions, callback: ApplyStringCallback): void; + apply(source: string, params?: object): string; + apply(source: string|xmljs.Document, params: object, options: ApplyOptions): ApplyResult; + apply(source: string|xmljs.Document, params: object, options: ApplyOptions, callback: ApplyCallback): void; + apply(source: string|xmljs.Document, callback: ApplyStringCallback): void; + apply(source: xmljs.Document, params?: object): xmljs.Document; + applyToFile(sourcePath: string, params: object, options: ApplyOptions, callback: ApplyStringCallback): void; applyToFile(sourcePath: string, callback: ApplyStringCallback): void; } -type ParseCallback = (err: Error, stylesheet: Stylesheet) => void; - -export function parse(source: string): Stylesheet; - -export function parse(source: string, callback: ParseCallback): void; - -export function parse(source: xmljs.XMLDocument): Stylesheet; - -export function parse(source: xmljs.XMLDocument, callback: ParseCallback): void; +export function parse(source: string|xmljs.Document): Stylesheet; +export function parse(source: string|xmljs.Document, callback: ParseCallback): void; export function parseFile(sourcePath: string, callback: ParseCallback): void; diff --git a/types/libxslt/internal-types.d.ts b/types/libxslt/internal-types.d.ts new file mode 100644 index 0000000000..a0d4041e52 --- /dev/null +++ b/types/libxslt/internal-types.d.ts @@ -0,0 +1,11 @@ +import * as xmljs from 'libxmljs'; +import { Stylesheet } from './index'; + +export type OutputFormat = 'document' | 'string'; + +export type ApplyResult = string | xmljs.Document; +export type ApplyCallback = (err: Error, result: ApplyResult) => void; +export type ApplyStringCallback = (err: Error, result: string) => void; +export type ApplyDocumentCallback = (err: Error, result: xmljs.Document) => void; + +export type ParseCallback = (err: Error, stylesheet: Stylesheet) => void; diff --git a/types/libxslt/libxslt-tests.ts b/types/libxslt/libxslt-tests.ts index bed54e5f52..1530ad0eb1 100644 --- a/types/libxslt/libxslt-tests.ts +++ b/types/libxslt/libxslt-tests.ts @@ -1,7 +1,7 @@ import * as libxslt from 'libxslt'; import * as libxmljs from 'libxmljs'; -const document: libxmljs.XMLDocument = libxslt.libxmljs.parseXmlString(''); +const document: libxmljs.Document = libxslt.libxmljs.parseXmlString(''); let stylesheet: libxslt.Stylesheet; @@ -36,7 +36,7 @@ applyOptions = { let transformedString: string; -let transformedDocument: libxmljs.XMLDocument; +let transformedDocument: libxmljs.Document; transformedString = stylesheet.apply(''); diff --git a/types/libxslt/tsconfig.json b/types/libxslt/tsconfig.json index a7f7f94ffc..00f8d27037 100644 --- a/types/libxslt/tsconfig.json +++ b/types/libxslt/tsconfig.json @@ -18,6 +18,7 @@ }, "files": [ "index.d.ts", + "internal-types.d.ts", "libxslt-tests.ts" ] } \ No newline at end of file diff --git a/types/libxslt/tslint.json b/types/libxslt/tslint.json index a41bf5d19a..3db14f85ea 100644 --- a/types/libxslt/tslint.json +++ b/types/libxslt/tslint.json @@ -1,79 +1 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false - } -} +{ "extends": "dtslint/dt.json" } From 0f53b0059db2cf39c09d7992c34e4b2db926d6b5 Mon Sep 17 00:00:00 2001 From: Sunny Juneja Date: Fri, 8 Jun 2018 15:46:23 -0700 Subject: [PATCH 39/44] Chartist: Relax constraints on meta. --- types/chartist/chartist-tests.ts | 2 +- types/chartist/index.d.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/types/chartist/chartist-tests.ts b/types/chartist/chartist-tests.ts index 53ba63497c..270e6e0970 100644 --- a/types/chartist/chartist-tests.ts +++ b/types/chartist/chartist-tests.ts @@ -247,7 +247,7 @@ new Chartist.Pie('.ct-chart', { value: 70, name: 'Series 3', className: 'my-custom-class-three', - meta: 'Meta Three' + meta: { description: 'Meta Three' } }] }); diff --git a/types/chartist/index.d.ts b/types/chartist/index.d.ts index a4fb2c832d..80cc589ee2 100644 --- a/types/chartist/index.d.ts +++ b/types/chartist/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Chartist v0.9.81 // Project: https://github.com/gionkunz/chartist-js -// Definitions by: Matt Gibbs , Simon Pfeifer , Cassey Lottman , Anastasiia Antonova +// Definitions by: Matt Gibbs , Simon Pfeifer , Cassey Lottman , Anastasiia Antonova , Sunny Juneja // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace Chartist { @@ -101,7 +101,7 @@ declare namespace Chartist { value?: number; data?: Array; className?: string; - meta?: string; // I assume this could probably be a number as well? + meta?: any; } interface IChartistBase { From 42e514d82c6971218608e8d07519d6d537a7cc2d Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 8 Jun 2018 16:50:54 -0700 Subject: [PATCH 40/44] ember: Fix no-unnecessary-class error (#26392) --- types/ember/index.d.ts | 2 +- types/ember/tslint.json | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/types/ember/index.d.ts b/types/ember/index.d.ts index 91c45b94e7..56a0879ae5 100755 --- a/types/ember/index.d.ts +++ b/types/ember/index.d.ts @@ -2368,7 +2368,7 @@ declare module 'ember' { function Exception(message: string): void; class SafeString { constructor(str: string); - static toString(): string; + toString(): string; } function parse(string: string): any; function print(ast: any): void; diff --git a/types/ember/tslint.json b/types/ember/tslint.json index 7069614893..f77f8d2ed8 100755 --- a/types/ember/tslint.json +++ b/types/ember/tslint.json @@ -24,8 +24,6 @@ "only-arrow-functions": false, "no-submodule-imports": false, - "no-unnecessary-class": false, - // false positives "unified-signatures": false } From ce4abcf585e1da3ce14c2f2f999a5b7a04644095 Mon Sep 17 00:00:00 2001 From: Andrew Makarov Date: Sat, 9 Jun 2018 11:52:11 +0300 Subject: [PATCH 41/44] [jest] add toHaveBeenNthCalledWith matcher --- types/jest/index.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/types/jest/index.d.ts b/types/jest/index.d.ts index af86996795..fd602b18d9 100644 --- a/types/jest/index.d.ts +++ b/types/jest/index.d.ts @@ -13,6 +13,7 @@ // Ahn // Josh Goldberg // Bradley Ayers +// Andrew Makarov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -473,6 +474,11 @@ declare namespace jest { * to test what arguments it was last called with. */ toHaveBeenLastCalledWith(...params: any[]): R; + /** + * If you have a mock function, you can use `.toHaveBeenNthCalledWith` + * to test what arguments it was nth called with. + */ + toHaveBeenNthCalledWith(nthCall: number, ...params: any[]): R; /** * Used to check that an object has a `.length` property * and it is set to a certain numeric value. From e1a31cd5494b0c3adc58aa096d547ba4cd3eb7f6 Mon Sep 17 00:00:00 2001 From: LinChen Date: Sat, 9 Jun 2018 21:24:20 +0800 Subject: [PATCH 42/44] [chen] make webAuth support social login Auth0.js support social login by using webAuth.authorize({ connection: 'twitter' }); https://auth0.com/docs/libraries/auth0js/v9 but @types/react-native-auth0 stop us to pass it in, so add "connnection" as a legal parameter --- types/react-native-auth0/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/react-native-auth0/index.d.ts b/types/react-native-auth0/index.d.ts index 1291baeafd..b6a4e769e8 100644 --- a/types/react-native-auth0/index.d.ts +++ b/types/react-native-auth0/index.d.ts @@ -137,6 +137,7 @@ export interface AuthorizeParams { nonce?: string; audience?: string; scope?: string; + connection?: string; } export interface ClearSessionParams { From 028d2422e95393529d5b14ba3acb328870c07f4a Mon Sep 17 00:00:00 2001 From: Shane Fitzpatrick Date: Sat, 9 Jun 2018 08:21:28 -0700 Subject: [PATCH 43/44] Adding a test --- types/react-native/test/index.tsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/types/react-native/test/index.tsx b/types/react-native/test/index.tsx index b3487057ed..1f506eb124 100644 --- a/types/react-native/test/index.tsx +++ b/types/react-native/test/index.tsx @@ -49,8 +49,10 @@ import { NativeModules, MaskedViewIOS, TextInput, + TextInputFocusEventData, InputAccessoryView, - StatusBar + StatusBar, + NativeSyntheticEvent } from "react-native"; declare module "react-native" { @@ -447,6 +449,25 @@ class TextInputRefTest extends React.Component<{}, {username: string}> { } } +class TextInputFocusBlurEventTest extends React.Component { + handleOnBlur(e: NativeSyntheticEvent) { + } + + handleOnFocus(e: NativeSyntheticEvent) { + } + + render() { + return ( + + ) => this.handleOnBlur(e)} + onFocus={(e: NativeSyntheticEvent) => this.handleOnFocus(e)} + /> + + ) + } +} + class StatusBarTest extends React.Component { render() { StatusBar.setBarStyle("dark-content", true); From 4aafc97af0cb7b52353648aafbddb1af80d3715b Mon Sep 17 00:00:00 2001 From: Andrew Makarov Date: Mon, 11 Jun 2018 10:43:01 +0300 Subject: [PATCH 44/44] =?UTF-8?q?[jest]=20Added=20tests=20for=20=E2=80=9Ct?= =?UTF-8?q?oHaveBeenNthCalledWith=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/jest/jest-tests.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/types/jest/jest-tests.ts b/types/jest/jest-tests.ts index a90a7a9e5a..09e9ecef99 100644 --- a/types/jest/jest-tests.ts +++ b/types/jest/jest-tests.ts @@ -731,3 +731,9 @@ test('moduleName 2', () => { const moduleName = require('../moduleName'); expect(moduleName()).toEqual(2); }); + +describe('toHaveBeenNthCalledWith', () => { + const fn = jest.fn(); + + expect(fn).toHaveBeenNthCalledWith(3, "foo"); +});