feat:complete the implement of JSX

This commit is contained in:
pengfei.zhou
2021-09-03 13:42:25 +08:00
committed by osborn
parent 266d20782a
commit bec0d44af0
23 changed files with 322 additions and 150 deletions

View File

@@ -1,6 +1,6 @@
import { View, Superview, NativeViewModel } from "../ui/view";
import { BridgeContext } from "../runtime/global";
export declare class Refreshable extends Superview {
export declare class Refreshable extends Superview implements JSX.ElementChildrenAttribute {
content: View;
header?: View;
onRefresh?: () => void;
@@ -10,6 +10,7 @@ export declare class Refreshable extends Superview {
isRefreshable(context: BridgeContext): Promise<boolean>;
isRefreshing(context: BridgeContext): Promise<boolean>;
toModel(): NativeViewModel;
set innerElement(e: View | [View, View]);
}
export declare function refreshable(config: Partial<Refreshable>): Refreshable;
export interface IPullable {

View File

@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Property, Superview } from "../ui/view";
import { View, Property, Superview } from "../ui/view";
import { layoutConfig } from "../util/layoutconfig";
export class Refreshable extends Superview {
allSubviews() {
@@ -34,6 +34,15 @@ export class Refreshable extends Superview {
this.dirtyProps.header = (this.header || {}).viewId;
return super.toModel();
}
set innerElement(e) {
if (e instanceof View) {
this.content = e;
}
else {
this.header = e[0];
this.content = e[1];
}
}
}
__decorate([
Property,

View File

@@ -1,7 +1,7 @@
import { Superview, View, NativeViewModel } from '../ui/view';
import { BridgeContext } from '../runtime/global';
export declare function scroller(content: View, config?: Partial<Scroller>): Scroller;
export declare class Scroller extends Superview {
export declare class Scroller extends Superview implements JSX.ElementChildrenAttribute {
content: View;
contentOffset?: {
x: number;
@@ -30,4 +30,5 @@ export declare class Scroller extends Superview {
x: number;
y: number;
}, animated?: boolean): Promise<any>;
set innerElement(e: View);
}

View File

@@ -47,6 +47,9 @@ export class Scroller extends Superview {
scrollBy(context, offset, animated) {
return this.nativeChannel(context, "scrollBy")({ offset, animated });
}
set innerElement(e) {
this.content = e;
}
}
__decorate([
Property,

View File

@@ -7,7 +7,7 @@ export declare enum TruncateAt {
Start = 2,
Clip = 3
}
export declare class Text extends View {
export declare class Text extends View implements JSX.ElementChildrenAttribute {
text?: string;
textColor?: Color | GradientColor;
textSize?: number;
@@ -22,5 +22,6 @@ export declare class Text extends View {
underline?: boolean;
htmlText?: string;
truncateAt?: TruncateAt;
set innerElement(e: string);
}
export declare function text(config: Partial<Text>): Text;

View File

@@ -33,6 +33,9 @@ export var TruncateAt;
TruncateAt[TruncateAt["Clip"] = 3] = "Clip";
})(TruncateAt || (TruncateAt = {}));
export class Text extends View {
set innerElement(e) {
this.text = e;
}
}
__decorate([
Property,