@@ -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 | 1 | import { _Widget } from "./WidgetContext"; |
|
2 | 2 | import { MapOf } from "@implab/core-amd/interfaces"; |
|
3 | import { prototype } from "../declare"; | |
|
3 | 4 | |
|
4 | 5 | /** Special widget used to create a document fragment */ |
|
5 | 6 | export class DjxFragment implements _Widget { |
|
6 | 7 | |
|
8 | @prototype() | |
|
7 | 9 | domNode: Node; |
|
8 | 10 | |
|
9 | 11 | containerNode?: Node; |
General Comments 0
You need to be logged in to leave comments.
Login now