diff --git a/samples/react-bot-framework/.gitignore b/samples/react-bot-framework/.gitignore index 63c4ae010..b19bbe123 100644 --- a/samples/react-bot-framework/.gitignore +++ b/samples/react-bot-framework/.gitignore @@ -11,7 +11,7 @@ dist lib solution temp -*.spapp +*.sppkg # Coverage directory used by tools like istanbul coverage diff --git a/samples/react-bot-framework/.yo-rc.json b/samples/react-bot-framework/.yo-rc.json index b3a3b8e9b..375912101 100644 --- a/samples/react-bot-framework/.yo-rc.json +++ b/samples/react-bot-framework/.yo-rc.json @@ -1,7 +1,8 @@ { "@microsoft/generator-sharepoint": { "libraryName": "sp-bot-chat-webpart", - "libraryId": "507162e8-724b-4c7a-b722-7362d7119389", - "framework": "react" + "framework": "react", + "version": "1.0.0", + "libraryId": "507162e8-724b-4c7a-b722-7362d7119389" } -} \ No newline at end of file +} diff --git a/samples/react-bot-framework/README.md b/samples/react-bot-framework/README.md index 47c9c4130..ad828b2fc 100644 --- a/samples/react-bot-framework/README.md +++ b/samples/react-bot-framework/README.md @@ -10,7 +10,7 @@ You can see this web part sample, including a sample VS 2015 bot application in where sample was demonstrated. ## Used SharePoint Framework Version -![drop](https://img.shields.io/badge/drop-RC0-green.svg) +![drop](https://img.shields.io/badge/drop-GA-green.svg) ## Applies to diff --git a/samples/react-bot-framework/config/prepare-deploy.json b/samples/react-bot-framework/config/copy-assets.json similarity index 100% rename from samples/react-bot-framework/config/prepare-deploy.json rename to samples/react-bot-framework/config/copy-assets.json diff --git a/samples/react-bot-framework/config/package-solution.json b/samples/react-bot-framework/config/package-solution.json index f1117cc64..da186c48c 100644 --- a/samples/react-bot-framework/config/package-solution.json +++ b/samples/react-bot-framework/config/package-solution.json @@ -5,6 +5,6 @@ "version": "1.0.0.0" }, "paths": { - "zippedPackage": "solution/sp-bot-chat-webpart.spapp" + "zippedPackage": "solution/sp-bot-chat-webpart.sppkg" } } diff --git a/samples/react-bot-framework/config/tslint.json b/samples/react-bot-framework/config/tslint.json index 921427fd8..18f77f562 100644 --- a/samples/react-bot-framework/config/tslint.json +++ b/samples/react-bot-framework/config/tslint.json @@ -16,13 +16,11 @@ "export-name": false, "forin": false, "label-position": false, - "label-undefined": false, "member-access": true, "no-arg": false, "no-console": false, "no-construct": false, "no-duplicate-case": true, - "no-duplicate-key": false, "no-duplicate-variable": true, "no-eval": false, "no-function-expression": true, @@ -32,8 +30,6 @@ "no-unnecessary-semicolons": true, "no-unused-expression": true, "no-unused-imports": true, - "no-unused-variable": true, - "no-unreachable": true, "no-use-before-declare": true, "no-with-statement": true, "semicolon": true, diff --git a/samples/react-bot-framework/package.json b/samples/react-bot-framework/package.json index 1fcd7d62c..6598a1499 100644 --- a/samples/react-bot-framework/package.json +++ b/samples/react-bot-framework/package.json @@ -6,10 +6,9 @@ "node": ">=0.10.0" }, "dependencies": { - "@microsoft/sp-client-base": "~0.7.0", - "@microsoft/sp-client-preview": "~0.9.0", - "@microsoft/sp-core-library": "~0.1.2", - "@microsoft/sp-webpart-base": "~0.4.0", + "@microsoft/sp-client-base": "~1.0.0", + "@microsoft/sp-core-library": "~1.0.0", + "@microsoft/sp-webpart-base": "~1.0.0", "@types/react": "0.14.46", "@types/react-addons-shallow-compare": "0.14.17", "@types/react-addons-test-utils": "0.14.15", @@ -17,14 +16,14 @@ "@types/react-dom": "0.14.18", "@types/webpack-env": ">=1.12.1 <1.14.0", "office-ui-fabric-react": "0.69.0", - "react": "0.14.8", - "react-dom": "0.14.8", + "react": "15.4.2", + "react-dom": "15.4.2", "swagger-client": "^2.1.23" }, "devDependencies": { - "@microsoft/sp-build-web": "~0.9.0", - "@microsoft/sp-module-interfaces": "~0.7.0", - "@microsoft/sp-webpart-workbench": "~0.8.0", + "@microsoft/sp-build-web": "~1.0.0", + "@microsoft/sp-module-interfaces": "~1.0.0", + "@microsoft/sp-webpart-workbench": "~1.0.0", "gulp": "~3.9.1", "@types/chai": ">=3.4.34 <3.6.0", "@types/mocha": ">=2.2.33 <2.6.0" diff --git a/samples/react-bot-framework/sp-bot-chat-webpart.njsproj b/samples/react-bot-framework/sp-bot-chat-webpart.njsproj deleted file mode 100644 index dff8a7a66..000000000 --- a/samples/react-bot-framework/sp-bot-chat-webpart.njsproj +++ /dev/null @@ -1,86 +0,0 @@ - - - - Debug - 2.0 - {507162e8-724b-4c7a-b722-7362d7119389} - - ProjectFiles - node_modules\gulp\bin\gulp.js - . - . - {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} - true - CommonJS - false - 11.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - serve - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - True - 0 - / - http://localhost:48022/ - False - True - http://localhost:1337 - False - - - - - - - CurrentPage - True - False - False - False - - - - - - - - - False - False - - - - - \ No newline at end of file diff --git a/samples/react-bot-framework/src/webparts/botFrameworkChat/BotFrameworkChatWebPart.manifest.json b/samples/react-bot-framework/src/webparts/botFrameworkChat/BotFrameworkChatWebPart.manifest.json index 28c947b02..265e24c2d 100644 --- a/samples/react-bot-framework/src/webparts/botFrameworkChat/BotFrameworkChatWebPart.manifest.json +++ b/samples/react-bot-framework/src/webparts/botFrameworkChat/BotFrameworkChatWebPart.manifest.json @@ -4,7 +4,7 @@ "id": "54c37464-b267-494e-9b74-2bfe3e8e490a", "alias": "BotFrameworkChat", "componentType": "WebPart", - "version": "0.0.1", + "version": "0.0.3", "manifestVersion": 2, "preconfiguredEntries": [{ diff --git a/samples/react-bot-framework/tsconfig.json b/samples/react-bot-framework/tsconfig.json index 369b18376..5fa39c930 100644 --- a/samples/react-bot-framework/tsconfig.json +++ b/samples/react-bot-framework/tsconfig.json @@ -1,10 +1,15 @@ { "compilerOptions": { "target": "es5", + "forceConsistentCasingInFileNames": true, "module": "commonjs", "jsx": "react", "declaration": true, "sourceMap": true, - "types": [ "webpack-env" ] + "types": [ + "es6-promise", + "es6-collections", + "webpack-env" + ] } } diff --git a/samples/react-bot-framework/typings/assertion-error/assertion-error.d.ts b/samples/react-bot-framework/typings/assertion-error/assertion-error.d.ts deleted file mode 100644 index 08217c9e5..000000000 --- a/samples/react-bot-framework/typings/assertion-error/assertion-error.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Type definitions for assertion-error 1.0.0 -// Project: https://github.com/chaijs/assertion-error -// Definitions by: Bart van der Schoor -// Definitions: https://github.com/borisyankov/DefinitelyTyped - -declare module 'assertion-error' { - class AssertionError implements Error { - constructor(message: string, props?: any, ssf?: Function); - name: string; - message: string; - showDiff: boolean; - stack: string; - } - export = AssertionError; -} diff --git a/samples/react-bot-framework/typings/knockout/knockout.d.ts b/samples/react-bot-framework/typings/knockout/knockout.d.ts deleted file mode 100644 index 267f3174c..000000000 --- a/samples/react-bot-framework/typings/knockout/knockout.d.ts +++ /dev/null @@ -1,631 +0,0 @@ -// Type definitions for Knockout v3.2.0 -// Project: http://knockoutjs.com -// Definitions by: Boris Yankov , Igor Oleinikov , Clément Bourgeois -// Definitions: https://github.com/borisyankov/DefinitelyTyped - - -interface KnockoutSubscribableFunctions { - [key: string]: KnockoutBindingHandler; - - notifySubscribers(valueToWrite?: T, event?: string): void; -} - -interface KnockoutComputedFunctions { - [key: string]: KnockoutBindingHandler; -} - -interface KnockoutObservableFunctions { - [key: string]: KnockoutBindingHandler; - - equalityComparer(a: any, b: any): boolean; -} - -interface KnockoutObservableArrayFunctions { - // General Array functions - indexOf(searchElement: T, fromIndex?: number): number; - slice(start: number, end?: number): T[]; - splice(start: number): T[]; - splice(start: number, deleteCount: number, ...items: T[]): T[]; - pop(): T; - push(...items: T[]): void; - shift(): T; - unshift(...items: T[]): number; - reverse(): KnockoutObservableArray; - sort(): KnockoutObservableArray; - sort(compareFunction: (left: T, right: T) => number): KnockoutObservableArray; - - // Ko specific - [key: string]: KnockoutBindingHandler; - - replace(oldItem: T, newItem: T): void; - - remove(item: T): T[]; - remove(removeFunction: (item: T) => boolean): T[]; - removeAll(items: T[]): T[]; - removeAll(): T[]; - - destroy(item: T): void; - destroy(destroyFunction: (item: T) => boolean): void; - destroyAll(items: T[]): void; - destroyAll(): void; -} - -interface KnockoutSubscribableStatic { - fn: KnockoutSubscribableFunctions; - - new (): KnockoutSubscribable; -} - -interface KnockoutSubscription { - dispose(): void; -} - -interface KnockoutSubscribable extends KnockoutSubscribableFunctions { - subscribe(callback: (newValue: T) => void, target?: any, event?: string): KnockoutSubscription; - subscribe(callback: (newValue: TEvent) => void, target: any, event: string): KnockoutSubscription; - extend(requestedExtenders: { [key: string]: any; }): KnockoutSubscribable; - getSubscriptionsCount(): number; -} - -interface KnockoutComputedStatic { - fn: KnockoutComputedFunctions; - - (): KnockoutComputed; - (func: () => T, context?: any, options?: any): KnockoutComputed; - (def: KnockoutComputedDefine, context?: any): KnockoutComputed; -} - -interface KnockoutComputed extends KnockoutObservable, KnockoutComputedFunctions { - fn: KnockoutComputedFunctions; - - dispose(): void; - isActive(): boolean; - getDependenciesCount(): number; - extend(requestedExtenders: { [key: string]: any; }): KnockoutComputed; -} - -interface KnockoutObservableArrayStatic { - fn: KnockoutObservableArrayFunctions; - - (value?: T[]): KnockoutObservableArray; -} - -interface KnockoutObservableArray extends KnockoutObservable, KnockoutObservableArrayFunctions { - extend(requestedExtenders: { [key: string]: any; }): KnockoutObservableArray; -} - -interface KnockoutObservableStatic { - fn: KnockoutObservableFunctions; - - (value?: T): KnockoutObservable; -} - -interface KnockoutObservable extends KnockoutSubscribable, KnockoutObservableFunctions { - (): T; - (value: T): void; - - peek(): T; - valueHasMutated?:{(): void;}; - valueWillMutate?:{(): void;}; - extend(requestedExtenders: { [key: string]: any; }): KnockoutObservable; -} - -interface KnockoutComputedDefine { - read(): T; - write? (value: T): void; - disposeWhenNodeIsRemoved?: Node; - disposeWhen? (): boolean; - owner?: any; - deferEvaluation?: boolean; - pure?: boolean; -} - -interface KnockoutBindingContext { - $parent: any; - $parents: any[]; - $root: any; - $data: any; - $rawData: any | KnockoutObservable; - $index?: KnockoutObservable; - $parentContext?: KnockoutBindingContext; - $component: any; - $componentTemplateNodes: Node[]; - - extend(properties: any): any; - createChildContext(dataItemOrAccessor: any, dataItemAlias?: any, extendCallback?: Function): any; -} - -interface KnockoutAllBindingsAccessor { - (): any; - get(name: string): any; - has(name: string): boolean; -} - -interface KnockoutBindingHandler { - after?: Array; - init?: (element: any, valueAccessor: () => any, allBindingsAccessor?: KnockoutAllBindingsAccessor, viewModel?: any, bindingContext?: KnockoutBindingContext) => void | { controlsDescendantBindings: boolean; }; - update?: (element: any, valueAccessor: () => any, allBindingsAccessor?: KnockoutAllBindingsAccessor, viewModel?: any, bindingContext?: KnockoutBindingContext) => void; - options?: any; - preprocess?: (value: string, name: string, addBindingCallback?: (name: string, value: string) => void) => string; -} - -interface KnockoutBindingHandlers { - [bindingHandler: string]: KnockoutBindingHandler; - - // Controlling text and appearance - visible: KnockoutBindingHandler; - text: KnockoutBindingHandler; - html: KnockoutBindingHandler; - css: KnockoutBindingHandler; - style: KnockoutBindingHandler; - attr: KnockoutBindingHandler; - - // Control Flow - foreach: KnockoutBindingHandler; - if: KnockoutBindingHandler; - ifnot: KnockoutBindingHandler; - with: KnockoutBindingHandler; - - // Working with form fields - click: KnockoutBindingHandler; - event: KnockoutBindingHandler; - submit: KnockoutBindingHandler; - enable: KnockoutBindingHandler; - disable: KnockoutBindingHandler; - value: KnockoutBindingHandler; - textInput: KnockoutBindingHandler; - hasfocus: KnockoutBindingHandler; - checked: KnockoutBindingHandler; - options: KnockoutBindingHandler; - selectedOptions: KnockoutBindingHandler; - uniqueName: KnockoutBindingHandler; - - // Rendering templates - template: KnockoutBindingHandler; - - // Components (new for v3.2) - component: KnockoutBindingHandler; -} - -interface KnockoutMemoization { - memoize(callback: () => string): string; - unmemoize(memoId: string, callbackParams: any[]): boolean; - unmemoizeDomNodeAndDescendants(domNode: any, extraCallbackParamsArray: any[]): boolean; - parseMemoText(memoText: string): string; -} - -interface KnockoutVirtualElement {} - -interface KnockoutVirtualElements { - allowedBindings: { [bindingName: string]: boolean; }; - emptyNode(node: KnockoutVirtualElement ): void; - firstChild(node: KnockoutVirtualElement ): KnockoutVirtualElement; - insertAfter( container: KnockoutVirtualElement, nodeToInsert: Node, insertAfter: Node ): void; - nextSibling(node: KnockoutVirtualElement): Node; - prepend(node: KnockoutVirtualElement, toInsert: Node ): void; - setDomNodeChildren(node: KnockoutVirtualElement, newChildren: { length: number;[index: number]: Node; } ): void; - childNodes(node: KnockoutVirtualElement ): Node[]; -} - -interface KnockoutExtenders { - throttle(target: any, timeout: number): KnockoutComputed; - notify(target: any, notifyWhen: string): any; - - rateLimit(target: any, timeout: number): any; - rateLimit(target: any, options: { timeout: number; method?: string; }): any; - - trackArrayChanges(target: any): any; -} - -// -// NOTE TO MAINTAINERS AND CONTRIBUTORS : pay attention to only include symbols that are -// publicly exported in the minified version of ko, without that you can give the false -// impression that some functions will be available in production builds. -// -interface KnockoutUtils { - ////////////////////////////////// - // utils.domData.js - ////////////////////////////////// - - domData: { - get (node: Element, key: string): any; - - set (node: Element, key: string, value: any): void; - - getAll(node: Element, createIfNotFound: boolean): any; - - clear(node: Element): boolean; - }; - - ////////////////////////////////// - // utils.domNodeDisposal.js - ////////////////////////////////// - - domNodeDisposal: { - addDisposeCallback(node: Element, callback: Function): void; - - removeDisposeCallback(node: Element, callback: Function): void; - - cleanNode(node: Node): Element; - - removeNode(node: Node): void; - }; - - addOrRemoveItem(array: T[] | KnockoutObservable, value: T, included: T): void; - - arrayFilter(array: T[], predicate: (item: T) => boolean): T[]; - - arrayFirst(array: T[], predicate: (item: T) => boolean, predicateOwner?: any): T; - - arrayForEach(array: T[], action: (item: T, index: number) => void): void; - - arrayGetDistinctValues(array: T[]): T[]; - - arrayIndexOf(array: T[], item: T): number; - - arrayMap(array: T[], mapping: (item: T) => U): U[]; - - arrayPushAll(array: T[] | KnockoutObservableArray, valuesToPush: T[]): T[]; - - arrayRemoveItem(array: any[], itemToRemove: any): void; - - compareArrays(a: T[], b: T[]): Array>; - - extend(target: Object, source: Object): Object; - - fieldsIncludedWithJsonPost: any[]; - - getFormFields(form: any, fieldName: string): any[]; - - objectForEach(obj: any, action: (key: any, value: any) => void): void; - - parseHtmlFragment(html: string): any[]; - - parseJson(jsonString: string): any; - - postJson(urlOrForm: any, data: any, options: any): void; - - peekObservable(value: KnockoutObservable): T; - - range(min: any, max: any): any; - - registerEventHandler(element: any, eventType: any, handler: Function): void; - - setHtml(node: Element, html: () => string): void; - - setHtml(node: Element, html: string): void; - - setTextContent(element: any, textContent: string | KnockoutObservable): void; - - stringifyJson(data: any, replacer?: Function, space?: string): string; - - toggleDomNodeCssClass(node: any, className: string, shouldHaveClass: boolean): void; - - triggerEvent(element: any, eventType: any): void; - - unwrapObservable(value: KnockoutObservable | T): T; - - // NOT PART OF THE MINIFIED API SURFACE (ONLY IN knockout-{version}.debug.js) https://github.com/SteveSanderson/knockout/issues/670 - // forceRefresh(node: any): void; - // ieVersion: number; - // isIe6: boolean; - // isIe7: boolean; - // jQueryHtmlParse(html: string): any[]; - // makeArray(arrayLikeObject: any): any[]; - // moveCleanedNodesToContainerElement(nodes: any[]): HTMLElement; - // replaceDomNodes(nodeToReplaceOrNodeArray: any, newNodesArray: any[]): void; - // setDomNodeChildren(domNode: any, childNodes: any[]): void; - // setElementName(element: any, name: string): void; - // setOptionNodeSelectionState(optionNode: any, isSelected: boolean): void; - // simpleHtmlParse(html: string): any[]; - // stringStartsWith(str: string, startsWith: string): boolean; - // stringTokenize(str: string, delimiter: string): string[]; - // stringTrim(str: string): string; - // tagNameLower(element: any): string; -} - -interface KnockoutArrayChange { - status: string; - value: T; - index: number; - moved?: number; -} - -////////////////////////////////// -// templateSources.js -////////////////////////////////// - -interface KnockoutTemplateSourcesDomElement { - text(): any; - text(value: any): void; - - data(key: string): any; - data(key: string, value: any): any; -} - -interface KnockoutTemplateAnonymous extends KnockoutTemplateSourcesDomElement { - nodes(): any; - nodes(value: any): void; -} - -interface KnockoutTemplateSources { - - domElement: { - prototype: KnockoutTemplateSourcesDomElement - new (element: Element): KnockoutTemplateSourcesDomElement - }; - - anonymousTemplate: { - prototype: KnockoutTemplateAnonymous; - new (element: Element): KnockoutTemplateAnonymous; - }; -} - -////////////////////////////////// -// nativeTemplateEngine.js -////////////////////////////////// - -interface KnockoutNativeTemplateEngine { - - renderTemplateSource(templateSource: Object, bindingContext?: KnockoutBindingContext, options?: Object): any[]; -} - -////////////////////////////////// -// templateEngine.js -////////////////////////////////// - -interface KnockoutTemplateEngine extends KnockoutNativeTemplateEngine { - - createJavaScriptEvaluatorBlock(script: string): string; - - makeTemplateSource(template: any, templateDocument?: Document): any; - - renderTemplate(template: any, bindingContext: KnockoutBindingContext, options: Object, templateDocument: Document): any; - - isTemplateRewritten(template: any, templateDocument: Document): boolean; - - rewriteTemplate(template: any, rewriterCallback: Function, templateDocument: Document): void; -} - -///////////////////////////////// - -interface KnockoutStatic { - utils: KnockoutUtils; - memoization: KnockoutMemoization; - - bindingHandlers: KnockoutBindingHandlers; - getBindingHandler(handler: string): KnockoutBindingHandler; - - virtualElements: KnockoutVirtualElements; - extenders: KnockoutExtenders; - - applyBindings(viewModelOrBindingContext?: any, rootNode?: any): void; - applyBindingsToDescendants(viewModelOrBindingContext: any, rootNode: any): void; - applyBindingAccessorsToNode(node: Node, bindings: (bindingContext: KnockoutBindingContext, node: Node) => {}, bindingContext: KnockoutBindingContext): void; - applyBindingAccessorsToNode(node: Node, bindings: {}, bindingContext: KnockoutBindingContext): void; - applyBindingAccessorsToNode(node: Node, bindings: (bindingContext: KnockoutBindingContext, node: Node) => {}, viewModel: any): void; - applyBindingAccessorsToNode(node: Node, bindings: {}, viewModel: any): void; - applyBindingsToNode(node: Node, bindings: any, viewModelOrBindingContext?: any): any; - - subscribable: KnockoutSubscribableStatic; - observable: KnockoutObservableStatic; - - computed: KnockoutComputedStatic; - pureComputed(evaluatorFunction: () => T, context?: any): KnockoutComputed; - pureComputed(options: KnockoutComputedDefine, context?: any): KnockoutComputed; - - observableArray: KnockoutObservableArrayStatic; - - contextFor(node: any): any; - isSubscribable(instance: any): boolean; - toJSON(viewModel: any, replacer?: Function, space?: any): string; - toJS(viewModel: any): any; - isObservable(instance: any): boolean; - isWriteableObservable(instance: any): boolean; - isComputed(instance: any): boolean; - dataFor(node: any): any; - removeNode(node: Element): void; - cleanNode(node: Element): Element; - renderTemplate(template: Function, viewModel: any, options?: any, target?: any, renderMode?: any): any; - renderTemplate(template: string, viewModel: any, options?: any, target?: any, renderMode?: any): any; - unwrap(value: KnockoutObservable | T): T; - - computedContext: KnockoutComputedContext; - - ////////////////////////////////// - // templateSources.js - ////////////////////////////////// - - templateSources: KnockoutTemplateSources; - - ////////////////////////////////// - // templateEngine.js - ////////////////////////////////// - - templateEngine: { - - prototype: KnockoutTemplateEngine; - - new (): KnockoutTemplateEngine; - }; - - ////////////////////////////////// - // templateRewriting.js - ////////////////////////////////// - - templateRewriting: { - - ensureTemplateIsRewritten(template: Node, templateEngine: KnockoutTemplateEngine, templateDocument: Document): any; - ensureTemplateIsRewritten(template: string, templateEngine: KnockoutTemplateEngine, templateDocument: Document): any; - - memoizeBindingAttributeSyntax(htmlString: string, templateEngine: KnockoutTemplateEngine): any; - - applyMemoizedBindingsToNextSibling(bindings: any, nodeName: string): string; - }; - - ////////////////////////////////// - // nativeTemplateEngine.js - ////////////////////////////////// - - nativeTemplateEngine: { - - prototype: KnockoutNativeTemplateEngine; - - new (): KnockoutNativeTemplateEngine; - - instance: KnockoutNativeTemplateEngine; - }; - - ////////////////////////////////// - // jqueryTmplTemplateEngine.js - ////////////////////////////////// - - jqueryTmplTemplateEngine: { - - prototype: KnockoutTemplateEngine; - - renderTemplateSource(templateSource: Object, bindingContext: KnockoutBindingContext, options: Object): Node[]; - - createJavaScriptEvaluatorBlock(script: string): string; - - addTemplate(templateName: string, templateMarkup: string): void; - }; - - ////////////////////////////////// - // templating.js - ////////////////////////////////// - - setTemplateEngine(templateEngine: KnockoutNativeTemplateEngine): void; - - renderTemplate(template: Function, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; - renderTemplate(template: any, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; - renderTemplate(template: Function, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; - renderTemplate(template: any, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; - renderTemplate(template: Function, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; - renderTemplate(template: any, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; - renderTemplate(template: Function, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; - renderTemplate(template: any, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; - - renderTemplateForEach(template: Function, arrayOrObservableArray: any[], options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; - renderTemplateForEach(template: any, arrayOrObservableArray: any[], options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; - renderTemplateForEach(template: Function, arrayOrObservableArray: KnockoutObservable, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; - renderTemplateForEach(template: any, arrayOrObservableArray: KnockoutObservable, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; - - expressionRewriting: { - bindingRewriteValidators: any; - parseObjectLiteral: { (objectLiteralString: string): any[] } - }; - - ///////////////////////////////// - - bindingProvider: { - instance: KnockoutBindingProvider; - new (): KnockoutBindingProvider; - } - - ///////////////////////////////// - // selectExtensions.js - ///////////////////////////////// - - selectExtensions: { - - readValue(element: HTMLElement): any; - - writeValue(element: HTMLElement, value: any): void; - }; - - components: KnockoutComponents; -} - -interface KnockoutBindingProvider { - nodeHasBindings(node: Node): boolean; - getBindings(node: Node, bindingContext: KnockoutBindingContext): {}; - getBindingAccessors?(node: Node, bindingContext: KnockoutBindingContext): { [key: string]: string; }; -} - -interface KnockoutComputedContext { - getDependenciesCount(): number; - isInitial: () => boolean; - isSleeping: boolean; -} - -// -// refactored types into a namespace to reduce global pollution -// and used Union Types to simplify overloads (requires TypeScript 1.4) -// -declare module KnockoutComponentTypes { - - interface Config { - viewModel?: ViewModelFunction | ViewModelSharedInstance | ViewModelFactoryFunction | AMDModule; - template: string | Node[]| DocumentFragment | TemplateElement | AMDModule; - synchronous?: boolean; - } - - interface ComponentConfig { - viewModel?: ViewModelFunction | ViewModelSharedInstance | ViewModelFactoryFunction | AMDModule; - template: any; - createViewModel?: any; - } - - interface EmptyConfig { - } - - // common AMD type - interface AMDModule { - require: string; - } - - // viewmodel types - interface ViewModelFunction { - (params?: any): any; - } - - interface ViewModelSharedInstance { - instance: any; - } - - interface ViewModelFactoryFunction { - createViewModel: (params?: any, componentInfo?: ComponentInfo) => any; - } - - interface ComponentInfo { - element: Node; - templateNodes: Node[]; - } - - interface TemplateElement { - element: string | Node; - } - - interface Loader { - getConfig? (componentName: string, callback: (result: ComponentConfig) => void): void; - loadComponent? (componentName: string, config: ComponentConfig, callback: (result: Definition) => void): void; - loadTemplate? (componentName: string, templateConfig: any, callback: (result: Node[]) => void): void; - loadViewModel? (componentName: string, viewModelConfig: any, callback: (result: any) => void): void; - suppressLoaderExceptions?: boolean; - } - - interface Definition { - template: Node[]; - createViewModel? (params: any, options: { element: Node; }): any; - } -} - -interface KnockoutComponents { - // overloads for register method: - register(componentName: string, config: KnockoutComponentTypes.Config | KnockoutComponentTypes.EmptyConfig): void; - - isRegistered(componentName: string): boolean; - unregister(componentName: string): void; - get(componentName: string, callback: (definition: KnockoutComponentTypes.Definition) => void): void; - clearCachedDefinition(componentName: string): void - defaultLoader: KnockoutComponentTypes.Loader; - loaders: KnockoutComponentTypes.Loader[]; - getComponentNameForNode(node: Node): string; -} - -declare var ko: KnockoutStatic; - -declare module "knockout" { - export = ko; -} diff --git a/samples/react-bot-framework/typings/tsd.d.ts b/samples/react-bot-framework/typings/tsd.d.ts index 151048618..e7efdd728 100644 --- a/samples/react-bot-framework/typings/tsd.d.ts +++ b/samples/react-bot-framework/typings/tsd.d.ts @@ -1,3 +1 @@ /// -/// -///