| @@ -240,3 +240,18 export function bind(params: NodeBindSpe | |||||
| 240 | }; |
|
240 | }; | |
| 241 | } |
|
241 | } | |
| 242 | } |
|
242 | } | |
|
|
243 | ||||
|
|
244 | /** Создает в прототипе указанное свойство со значение `undefined`, данный | |||
|
|
245 | * декоратор следует использовать для свойств, у которых нет значения по-умолчанию | |||
|
|
246 | * и они не могут быть `null | undefined` | |||
|
|
247 | */ | |||
|
|
248 | export function prototype(): (p: any, name: string) => void; | |||
|
|
249 | /** Создает в прототипе свойство с указанным значением. | |||
|
|
250 | * @param value Значение, которое будет указано в прототипе | |||
|
|
251 | */ | |||
|
|
252 | export function prototype<T>(value: T): <P extends { [m in K]: T }, K extends keyof P>(p: P, name: K) => void; | |||
|
|
253 | export function prototype<T>(value?: T) { | |||
|
|
254 | return <P extends { [m in K]: T }, K extends keyof P>(p: P, name: K) => { | |||
|
|
255 | p[name] = value as any; | |||
|
|
256 | }; | |||
|
|
257 | } | |||
| @@ -1,9 +1,11 | |||||
| 1 | import { _Widget } from "./WidgetContext"; |
|
1 | import { _Widget } from "./WidgetContext"; | |
| 2 | import { MapOf } from "@implab/core-amd/interfaces"; |
|
2 | import { MapOf } from "@implab/core-amd/interfaces"; | |
|
|
3 | import { prototype } from "../declare"; | |||
| 3 |
|
4 | |||
| 4 | /** Special widget used to create a document fragment */ |
|
5 | /** Special widget used to create a document fragment */ | |
| 5 | export class DjxFragment implements _Widget { |
|
6 | export class DjxFragment implements _Widget { | |
| 6 |
|
7 | |||
|
|
8 | @prototype() | |||
| 7 | domNode: Node; |
|
9 | domNode: Node; | |
| 8 |
|
10 | |||
| 9 | containerNode?: Node; |
|
11 | containerNode?: Node; | |
General Comments 0
You need to be logged in to leave comments.
Login now
