| @@ -0,0 +1,4 | |||||
|
|
1 | declare module "@implab/djx/css!*" { | |||
|
|
2 | const result: { url: string }; | |||
|
|
3 | export = result; | |||
|
|
4 | } No newline at end of file | |||
| @@ -0,0 +1,14 | |||||
|
|
1 | declare namespace dijit { | |||
|
|
2 | interface _WidgetBase { | |||
|
|
3 | ||||
|
|
4 | _started?: boolean; | |||
|
|
5 | ||||
|
|
6 | _set<K extends keyof this>(key: K, value: this[K]): void; | |||
|
|
7 | } | |||
|
|
8 | ||||
|
|
9 | interface TooltipDialog { | |||
|
|
10 | ||||
|
|
11 | content: any; | |||
|
|
12 | ||||
|
|
13 | } | |||
|
|
14 | } | |||
| @@ -0,0 +1,7 | |||||
|
|
1 | /// <reference path="./index.d.ts"/> | |||
|
|
2 | ||||
|
|
3 | declare namespace JSX { | |||
|
|
4 | interface IntrinsicElements { | |||
|
|
5 | ||||
|
|
6 | } | |||
|
|
7 | } No newline at end of file | |||
| @@ -7,6 +7,7 | |||||
| 7 | "**/.factorypath": true |
|
7 | "**/.factorypath": true | |
| 8 | }, |
|
8 | }, | |
| 9 | "cSpell.words": [ |
|
9 | "cSpell.words": [ | |
|
|
10 | "dijit", | |||
| 10 | "djbase", |
|
11 | "djbase", | |
| 11 | "djclass" |
|
12 | "djclass" | |
| 12 | ] |
|
13 | ] | |
| @@ -44,7 +44,7 configureTsMain { | |||||
| 44 | configureTsTest { |
|
44 | configureTsTest { | |
| 45 | compilerOptions { |
|
45 | compilerOptions { | |
| 46 | typeRoots = [] |
|
46 | typeRoots = [] | |
| 47 | types = ["requirejs", sources.main.output.typingsDir.get().toString() ] |
|
47 | types = ["requirejs", sources.main.output.typingsDir.get().toString()+"/legacy" ] | |
| 48 | } |
|
48 | } | |
| 49 | } |
|
49 | } | |
| 50 |
|
50 | |||
| @@ -34,9 +34,9 | |||||
| 34 | } |
|
34 | } | |
| 35 | }, |
|
35 | }, | |
| 36 | "@implab/core-amd": { |
|
36 | "@implab/core-amd": { | |
| 37 |
"version": "1. |
|
37 | "version": "1.4.0", | |
| 38 |
"resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1. |
|
38 | "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz", | |
| 39 | "integrity": "sha512-OPx02obqz60FiOzDqEFuPfag/0ugl1tuQouI+52Op0k+fcmuBK4QACJy7o3fzOYvejdjF1DG4aRXuCm6+vgMYQ==", |
|
39 | "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==", | |
| 40 | "dev": true |
|
40 | "dev": true | |
| 41 | }, |
|
41 | }, | |
| 42 | "@types/chai": { |
|
42 | "@types/chai": { | |
| @@ -16,10 +16,10 | |||||
| 16 | }, |
|
16 | }, | |
| 17 | "peerDependencies": { |
|
17 | "peerDependencies": { | |
| 18 | "dojo": "1.16.0", |
|
18 | "dojo": "1.16.0", | |
| 19 |
"@implab/core-amd": "^1. |
|
19 | "@implab/core-amd": "^1.4.0" | |
| 20 | }, |
|
20 | }, | |
| 21 | "devDependencies": { |
|
21 | "devDependencies": { | |
| 22 |
"@implab/core-amd": "^1. |
|
22 | "@implab/core-amd": "^1.4.0", | |
| 23 | "@types/chai": "4.1.3", |
|
23 | "@types/chai": "4.1.3", | |
| 24 | "@types/requirejs": "2.1.31", |
|
24 | "@types/requirejs": "2.1.31", | |
| 25 | "@types/yaml": "1.2.0", |
|
25 | "@types/yaml": "1.2.0", | |
| @@ -15,7 +15,8 export abstract class BuildContextBase<T | |||||
| 15 | if (this._created) |
|
15 | if (this._created) | |
| 16 | throw new Error("The Element is already created"); |
|
16 | throw new Error("The Element is already created"); | |
| 17 |
|
17 | |||
| 18 | if (isNull(v)) |
|
18 | if (isNull(v) || typeof v === "boolean") | |
|
|
19 | // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} ) | |||
| 19 | return; |
|
20 | return; | |
| 20 |
|
21 | |||
| 21 | if (isPlainObject(v)) { |
|
22 | if (isPlainObject(v)) { | |
| @@ -29,7 +30,7 export abstract class BuildContextBase<T | |||||
| 29 |
|
30 | |||
| 30 | getChildDom(v: any) { |
|
31 | getChildDom(v: any) { | |
| 31 | const tv = typeof v; |
|
32 | const tv = typeof v; | |
| 32 |
if (tv === "string" || tv === "number" || |
|
33 | if (tv === "string" || tv === "number" || v instanceof RegExp || v instanceof Date) { | |
| 33 | return document.createTextNode(v.toString()); |
|
34 | return document.createTextNode(v.toString()); | |
| 34 | } else if (isNode(v)) { |
|
35 | } else if (isNode(v)) { | |
| 35 | return v; |
|
36 | return v; | |
| @@ -7,7 +7,7 export class DjxFragment implements _Wid | |||||
| 7 |
|
7 | |||
| 8 | domNode: Node; |
|
8 | domNode: Node; | |
| 9 |
|
9 | |||
| 10 |
containerNode |
|
10 | containerNode: Node; | |
| 11 |
|
11 | |||
| 12 | constructor() { |
|
12 | constructor() { | |
| 13 | this.domNode = this.containerNode = document.createDocumentFragment(); |
|
13 | this.domNode = this.containerNode = document.createDocumentFragment(); | |
| @@ -1,30 +1,34 | |||||
| 1 | declare module "@implab/djx/css!*" { |
|
1 | /// <reference path="./css.d.ts"/> | |
| 2 | const result: { url: string }; |
|
2 | /// <reference path="./dijit.d.ts"/> | |
| 3 | export = result; |
|
|||
| 4 | } |
|
|||
| 5 |
|
3 | |||
| 6 | declare namespace JSX { |
|
4 | declare namespace JSX { | |
|
|
5 | ||||
| 7 | interface DjxIntrinsicAttributes { |
|
6 | interface DjxIntrinsicAttributes { | |
| 8 | class: string; |
|
7 | class: string; | |
| 9 | "data-dojo-attach-point": string; |
|
8 | "data-dojo-attach-point": string; | |
| 10 | "data-dojo-attach-event": string; |
|
9 | "data-dojo-attach-event": string; | |
| 11 | } |
|
10 | } | |
| 12 | type IntrinsicElements = { |
|
11 | ||
| 13 | [name in keyof HTMLElementTagNameMap]: Partial<Omit<HTMLElementTagNameMap[name], "children"> & DjxIntrinsicAttributes>; |
|
12 | type RecursivePartial<T> = T extends string | number | boolean | null | undefined | Function ? | |
|
|
13 | T : | |||
|
|
14 | { [k in keyof T]?: RecursivePartial<T[k]> }; | |||
|
|
15 | ||||
|
|
16 | type MatchingMemberKeys<T, U> = { | |||
|
|
17 | [K in keyof T]: T[K] extends U ? K : never; | |||
|
|
18 | }[keyof T]; | |||
|
|
19 | type NotMatchingMemberKeys<T, U> = { | |||
|
|
20 | [K in keyof T]: T[K] extends U ? never : K; | |||
|
|
21 | }[keyof T]; | |||
|
|
22 | type ElementAttrNames<E> = NotMatchingMemberKeys<E, (...args: any[]) => any>; | |||
|
|
23 | ||||
|
|
24 | type ElementAttrType<E, K extends keyof any> = K extends keyof E ? RecursivePartial<E[K]> : string; | |||
|
|
25 | ||||
|
|
26 | type LaxElement<E extends object> = E & { } | |||
|
|
27 | ||||
|
|
28 | type LegacyElementAttributes<E> = { | |||
|
|
29 | [attr in ElementAttrNames<E>]?: ElementAttrType<E, attr>; | |||
|
|
30 | } | Partial<DjxIntrinsicAttributes>; | |||
|
|
31 | interface IntrinsicElements { | |||
|
|
32 | [tag: keyof HTMLElementTagNameMap]: LegacyElementAttributes<HTMLElementTagNameMap[tag]>; | |||
| 14 | } |
|
33 | } | |
| 15 | } |
|
34 | } | |
| 16 |
|
||||
| 17 | declare namespace dijit { |
|
|||
| 18 | interface _WidgetBase { |
|
|||
| 19 |
|
||||
| 20 | _started?: boolean; |
|
|||
| 21 |
|
||||
| 22 | _set<K extends keyof this>(key: K, value: this[K]): void; |
|
|||
| 23 | } |
|
|||
| 24 |
|
||||
| 25 | interface TooltipDialog { |
|
|||
| 26 |
|
||||
| 27 | content: any; |
|
|||
| 28 |
|
||||
| 29 | } |
|
|||
| 30 | } No newline at end of file |
|
|||
| @@ -27,12 +27,17 export class MyWidget extends djbase(Djx | |||||
| 27 |
|
27 | |||
| 28 | render() { |
|
28 | render() { | |
| 29 | const Frame = (props: any) => <div>{props.children}</div>; |
|
29 | const Frame = (props: any) => <div>{props.children}</div>; | |
| 30 | return <div> |
|
30 | return <div class="" className="" tabIndex={1} style={{ alignContentz: "", border: "" }} > | |
| 31 | <h1 data-dojo-attach-point="titleNode"></h1> |
|
31 | <h1 data-dojo-attach-point="titleNode"></h1> | |
| 32 | <Frame> |
|
32 | <Frame> | |
| 33 | <span class="up-button" onclick={e => this._onIncClick(e)}>[+]</span> |
|
33 | <span class="up-button" onclick={e => this._onIncClick(e)}>[+]</span> | |
| 34 | <span class="down-button" onclick={() => this._onDecClick()}>[-]</span> |
|
34 | <span class="down-button" onclick={() => this._onDecClick()}>[-]</span> | |
| 35 | </Frame> |
|
35 | </Frame> | |
|
|
36 | <table style="pretty"> | |||
|
|
37 | <tr> | |||
|
|
38 | <td colSpan={2} colspan="3" onclick=""></td> | |||
|
|
39 | </tr> | |||
|
|
40 | </table> | |||
| 36 | </div>; |
|
41 | </div>; | |
| 37 | } |
|
42 | } | |
| 38 |
|
43 | |||
| @@ -8,6 +8,6 | |||||
| 8 | "../main/ts", |
|
8 | "../main/ts", | |
| 9 | "../main/typings" |
|
9 | "../main/typings" | |
| 10 | ], |
|
10 | ], | |
| 11 | "types": ["requirejs", "../main/typings", "dojo-typings"] |
|
11 | "types": ["requirejs", "../main/typings/legacy", "dojo-typings"] | |
| 12 | } |
|
12 | } | |
| 13 | } No newline at end of file |
|
13 | } | |
| @@ -6,7 +6,7 | |||||
| 6 | "types": [], |
|
6 | "types": [], | |
| 7 | "experimentalDecorators": true, |
|
7 | "experimentalDecorators": true, | |
| 8 | "jsxFactory": "createElement", |
|
8 | "jsxFactory": "createElement", | |
| 9 | "skipLibCheck": true, |
|
9 | //"skipLibCheck": true, | |
| 10 | "jsx": "react", |
|
10 | "jsx": "react", | |
| 11 | "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"] |
|
11 | "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"] | |
| 12 | } |
|
12 | } | |
General Comments 0
You need to be logged in to leave comments.
Login now
