update typescript and remove reflect-metadata lib

This commit is contained in:
pengfei.zhou 2020-05-16 18:58:32 +08:00 committed by osborn
parent 4d80048d60
commit 0633c1c19d
30 changed files with 3593 additions and 3384 deletions

View File

@ -222,7 +222,7 @@ var View = /** @class */ (function () {
set: function (v) {
this.x = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(View.prototype, "right", {
@ -232,7 +232,7 @@ var View = /** @class */ (function () {
set: function (v) {
this.x = v - this.width;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(View.prototype, "top", {
@ -242,7 +242,7 @@ var View = /** @class */ (function () {
set: function (v) {
this.y = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(View.prototype, "bottom", {
@ -252,7 +252,7 @@ var View = /** @class */ (function () {
set: function (v) {
this.y = v - this.height;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(View.prototype, "centerX", {
@ -262,7 +262,7 @@ var View = /** @class */ (function () {
set: function (v) {
this.x = v - this.width / 2;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(View.prototype, "centerY", {
@ -272,7 +272,7 @@ var View = /** @class */ (function () {
set: function (v) {
this.y = v - this.height / 2;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(View.prototype, "dirtyProps", {
@ -280,7 +280,7 @@ var View = /** @class */ (function () {
get: function () {
return this.__dirty_props__;
},
enumerable: true,
enumerable: false,
configurable: true
});
View.prototype.onPropertyChanged = function (propKey, oldV, newV) {
@ -1396,7 +1396,7 @@ var ScaleAnimation = /** @class */ (function (_super) {
set: function (v) {
this.scaleXChangeable.fromValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(ScaleAnimation.prototype, "toScaleX", {
@ -1406,7 +1406,7 @@ var ScaleAnimation = /** @class */ (function (_super) {
set: function (v) {
this.scaleXChangeable.toValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(ScaleAnimation.prototype, "fromScaleY", {
@ -1416,7 +1416,7 @@ var ScaleAnimation = /** @class */ (function (_super) {
set: function (v) {
this.scaleYChangeable.fromValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(ScaleAnimation.prototype, "toScaleY", {
@ -1426,7 +1426,7 @@ var ScaleAnimation = /** @class */ (function (_super) {
set: function (v) {
this.scaleYChangeable.toValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
return ScaleAnimation;
@ -1456,7 +1456,7 @@ var TranslationAnimation = /** @class */ (function (_super) {
set: function (v) {
this.translationXChangeable.fromValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(TranslationAnimation.prototype, "toTranslationX", {
@ -1466,7 +1466,7 @@ var TranslationAnimation = /** @class */ (function (_super) {
set: function (v) {
this.translationXChangeable.toValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(TranslationAnimation.prototype, "fromTranslationY", {
@ -1476,7 +1476,7 @@ var TranslationAnimation = /** @class */ (function (_super) {
set: function (v) {
this.translationYChangeable.fromValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(TranslationAnimation.prototype, "toTranslationY", {
@ -1486,7 +1486,7 @@ var TranslationAnimation = /** @class */ (function (_super) {
set: function (v) {
this.translationYChangeable.toValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
return TranslationAnimation;
@ -1510,7 +1510,7 @@ var RotationAnimation = /** @class */ (function (_super) {
set: function (v) {
this.rotationChaneable.fromValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(RotationAnimation.prototype, "toRotation", {
@ -1520,7 +1520,7 @@ var RotationAnimation = /** @class */ (function (_super) {
set: function (v) {
this.rotationChaneable.toValue = v;
},
enumerable: true,
enumerable: false,
configurable: true
});
return RotationAnimation;
@ -1541,7 +1541,7 @@ var AnimationSet = /** @class */ (function () {
this._duration = v;
this.animations.forEach(function (e) { return e.duration = v; });
},
enumerable: true,
enumerable: false,
configurable: true
});
AnimationSet.prototype.toModel = function () {
@ -1927,8 +1927,7 @@ var List = /** @class */ (function (_super) {
}
};
List.prototype.scrollToItem = function (context, index, config) {
var _a;
var animated = (_a = config) === null || _a === void 0 ? void 0 : _a.animated;
var animated = config === null || config === void 0 ? void 0 : config.animated;
return this.nativeChannel(context, 'scrollToItem')({ index: index, animated: animated, });
};
List.prototype.reset = function () {

File diff suppressed because it is too large Load Diff

View File

@ -1705,7 +1705,7 @@ var doric = (function (exports) {
(module.exports = function (key, value) {
return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
})('versions', []).push({
version: '3.6.4',
version: '3.6.5',
mode: 'global',
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
});
@ -6489,7 +6489,13 @@ var doric = (function (exports) {
defer = functionBindContext(port.postMessage, port, 1);
// Browsers with postMessage, skip WebWorkers
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
} else if (global_1.addEventListener && typeof postMessage == 'function' && !global_1.importScripts && !fails(post)) {
} else if (
global_1.addEventListener &&
typeof postMessage == 'function' &&
!global_1.importScripts &&
!fails(post) &&
location.protocol !== 'file:'
) {
defer = post;
global_1.addEventListener('message', listener, false);
// IE8-
@ -9861,7 +9867,7 @@ var doric = (function (exports) {
var INVALID_PORT = 'Invalid port';
var ALPHA = /[A-Za-z]/;
var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
var ALPHANUMERIC = /[\d+-.A-Za-z]/;
var DIGIT = /\d/;
var HEX_START = /^(0x|0X)/;
var OCT = /^[0-7]+$/;
@ -11672,8 +11678,8 @@ var doric = (function (exports) {
if (cleanup != null) { subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function'
? function () { subscription.unsubscribe(); }
: aFunction$1(cleanup); }
} catch (error) {
subscriptionObserver.error(error);
} catch (error$1) {
subscriptionObserver.error(error$1);
return;
} if (subscriptionClosed(subscriptionState)) { cleanupSubscription(subscriptionState); }
};
@ -13173,7 +13179,7 @@ var doric = (function (exports) {
// some Chrome versions have non-configurable methods on DOMTokenList
if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) { try {
createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);
} catch (error) {
} catch (error$1) {
CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];
} }
} }

File diff suppressed because it is too large Load Diff

31
doric-js/index.d.ts vendored
View File

@ -1,6 +1,4 @@
// Generated by dts-bundle v0.7.3
// Dependencies for this module:
// reflect-metadata
declare module 'doric' {
export * from 'doric/lib/src/runtime/global';
@ -12,7 +10,6 @@ declare module 'doric' {
}
declare module 'doric/lib/src/runtime/global' {
export * from 'reflect-metadata';
export type BridgeContext = {
/**
* The identify of current context
@ -739,21 +736,21 @@ declare module 'doric/lib/src/native/modal' {
alert: (arg: string | {
title: string;
msg: string;
okLabel?: string | undefined;
okLabel?: string;
}) => Promise<any>;
confirm: (arg: string | {
title: string;
msg: string;
okLabel?: string | undefined;
cancelLabel?: string | undefined;
okLabel?: string;
cancelLabel?: string;
}) => Promise<any>;
prompt: (arg: {
title?: string | undefined;
msg?: string | undefined;
okLabel?: string | undefined;
cancelLabel?: string | undefined;
text?: string | undefined;
defaultText?: string | undefined;
title?: string;
msg?: string;
okLabel?: string;
cancelLabel?: string;
text?: string;
defaultText?: string;
}) => Promise<string>;
};
}
@ -851,10 +848,10 @@ declare module 'doric/lib/src/native/notification' {
import { BridgeContext } from "doric/lib/src/runtime/global";
export function notification(context: BridgeContext): {
publish: (args: {
biz?: string | undefined;
biz?: string;
name: string;
data?: object | undefined;
androidSystem?: boolean | undefined;
data?: object;
androidSystem?: boolean;
}) => Promise<any>;
subscribe: (args: {
biz?: string | undefined;
@ -889,14 +886,14 @@ declare module 'doric/lib/src/native/coordinator' {
import { Color } from "doric/lib/src/util/color";
export function coordinator(context: BridgeContext): {
verticalScrolling: (argument: {
scrollable: List | Scroller | FlowLayout;
scrollable: Scroller | List | FlowLayout;
scrollRange: {
start: number;
end: number;
};
target: View | "NavBar";
changing: {
name: "width" | "height" | "x" | "y" | "backgroundColor" | "alpha";
name: "backgroundColor" | "width" | "height" | "x" | "y" | "alpha";
start: number | Color;
end: number | Color;
};

View File

@ -1,3 +1,19 @@
/*
* Copyright [2019] [Doric.Pub]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './src/runtime/global';
export * from './src/ui/index.ui';
export * from "./src/widget/index.widget";
export * from './src/native/index.native';

View File

@ -6,14 +6,14 @@ import { View } from "../ui/view";
import { Color } from "../util/color";
export declare function coordinator(context: BridgeContext): {
verticalScrolling: (argument: {
scrollable: List | Scroller | FlowLayout;
scrollable: Scroller | List | FlowLayout;
scrollRange: {
start: number;
end: number;
};
target: View | "NavBar";
changing: {
name: "width" | "height" | "x" | "y" | "backgroundColor" | "alpha";
name: "backgroundColor" | "width" | "height" | "x" | "y" | "alpha";
start: number | Color;
end: number | Color;
};

View File

@ -5,20 +5,20 @@ export declare function modal(context: BridgeContext): {
alert: (arg: string | {
title: string;
msg: string;
okLabel?: string | undefined;
okLabel?: string;
}) => Promise<any>;
confirm: (arg: string | {
title: string;
msg: string;
okLabel?: string | undefined;
cancelLabel?: string | undefined;
okLabel?: string;
cancelLabel?: string;
}) => Promise<any>;
prompt: (arg: {
title?: string | undefined;
msg?: string | undefined;
okLabel?: string | undefined;
cancelLabel?: string | undefined;
text?: string | undefined;
defaultText?: string | undefined;
title?: string;
msg?: string;
okLabel?: string;
cancelLabel?: string;
text?: string;
defaultText?: string;
}) => Promise<string>;
};

View File

@ -1,10 +1,10 @@
import { BridgeContext } from "../runtime/global";
export declare function notification(context: BridgeContext): {
publish: (args: {
biz?: string | undefined;
biz?: string;
name: string;
data?: object | undefined;
androidSystem?: boolean | undefined;
data?: object;
androidSystem?: boolean;
}) => Promise<any>;
subscribe: (args: {
biz?: string | undefined;

View File

@ -1,4 +1,3 @@
export * from 'reflect-metadata';
export declare type BridgeContext = {
/**
* The identify of current context

View File

@ -33,228 +33,232 @@ export function NativeCall(target, propertyKey, descriptor) {
};
return descriptor;
}
export class Panel {
constructor() {
this.destroyed = false;
this.__root__ = new Root;
this.headviews = new Map;
this.onRenderFinishedCallback = [];
this.__rendering__ = false;
}
onCreate() { }
onDestroy() { }
onShow() { }
onHidden() { }
addHeadView(type, v) {
let map = this.headviews.get(type);
if (map) {
map.set(v.viewId, v);
let Panel = /** @class */ (() => {
class Panel {
constructor() {
this.destroyed = false;
this.__root__ = new Root;
this.headviews = new Map;
this.onRenderFinishedCallback = [];
this.__rendering__ = false;
}
else {
map = new Map;
map.set(v.viewId, v);
this.headviews.set(type, map);
}
}
allHeadViews() {
return this.headviews.values();
}
removeHeadView(type, v) {
if (this.headviews.has(type)) {
onCreate() { }
onDestroy() { }
onShow() { }
onHidden() { }
addHeadView(type, v) {
let map = this.headviews.get(type);
if (map) {
if (v instanceof View) {
map.delete(v.viewId);
}
else {
map.delete(v);
}
}
}
}
clearHeadViews(type) {
if (this.headviews.has(type)) {
this.headviews.delete(type);
}
}
getRootView() {
return this.__root__;
}
getInitData() {
return this.__data__;
}
__init__(data) {
if (data) {
this.__data__ = JSON.parse(data);
}
}
__onCreate__() {
this.onCreate();
}
__onDestroy__() {
this.destroyed = true;
this.onDestroy();
}
__onShow__() {
this.onShow();
}
__onHidden__() {
this.onHidden();
}
__build__(frame) {
this.__root__.width = frame.width;
this.__root__.height = frame.height;
this.__root__.children.length = 0;
this.build(this.__root__);
}
__response__(viewIds, callbackId) {
const v = this.retrospectView(viewIds);
if (v === undefined) {
loge(`Cannot find view for ${viewIds}`);
}
else {
const argumentsList = [callbackId];
for (let i = 2; i < arguments.length; i++) {
argumentsList.push(arguments[i]);
}
return Reflect.apply(v.responseCallback, v, argumentsList);
}
}
retrospectView(ids) {
return ids.reduce((acc, cur) => {
if (acc === undefined) {
if (cur === this.__root__.viewId) {
return this.__root__;
}
for (let map of this.headviews.values()) {
if (map.has(cur)) {
return map.get(cur);
}
}
return undefined;
map.set(v.viewId, v);
}
else {
if (Reflect.has(acc, "subviewById")) {
return Reflect.apply(Reflect.get(acc, "subviewById"), acc, [cur]);
}
return acc;
}
}, undefined);
}
nativeRender(model) {
return this.context.callNative("shader", "render", model);
}
hookBeforeNativeCall() {
if (Environment.platform !== 'web') {
this.__root__.clean();
for (let map of this.headviews.values()) {
for (let v of map.values()) {
v.clean();
}
map = new Map;
map.set(v.viewId, v);
this.headviews.set(type, map);
}
}
}
hookAfterNativeCall() {
if (this.destroyed) {
return;
allHeadViews() {
return this.headviews.values();
}
const promises = [];
if (Environment.platform !== 'web') {
//Here insert a native call to ensure the promise is resolved done.
nativeEmpty();
if (this.__root__.isDirty()) {
const model = this.__root__.toModel();
promises.push(this.nativeRender(model));
}
for (let map of this.headviews.values()) {
for (let v of map.values()) {
if (v.isDirty()) {
const model = v.toModel();
promises.push(this.nativeRender(model));
removeHeadView(type, v) {
if (this.headviews.has(type)) {
let map = this.headviews.get(type);
if (map) {
if (v instanceof View) {
map.delete(v.viewId);
}
else {
map.delete(v);
}
}
}
}
else {
Promise.resolve().then(() => {
clearHeadViews(type) {
if (this.headviews.has(type)) {
this.headviews.delete(type);
}
}
getRootView() {
return this.__root__;
}
getInitData() {
return this.__data__;
}
__init__(data) {
if (data) {
this.__data__ = JSON.parse(data);
}
}
__onCreate__() {
this.onCreate();
}
__onDestroy__() {
this.destroyed = true;
this.onDestroy();
}
__onShow__() {
this.onShow();
}
__onHidden__() {
this.onHidden();
}
__build__(frame) {
this.__root__.width = frame.width;
this.__root__.height = frame.height;
this.__root__.children.length = 0;
this.build(this.__root__);
}
__response__(viewIds, callbackId) {
const v = this.retrospectView(viewIds);
if (v === undefined) {
loge(`Cannot find view for ${viewIds}`);
}
else {
const argumentsList = [callbackId];
for (let i = 2; i < arguments.length; i++) {
argumentsList.push(arguments[i]);
}
return Reflect.apply(v.responseCallback, v, argumentsList);
}
}
retrospectView(ids) {
return ids.reduce((acc, cur) => {
if (acc === undefined) {
if (cur === this.__root__.viewId) {
return this.__root__;
}
for (let map of this.headviews.values()) {
if (map.has(cur)) {
return map.get(cur);
}
}
return undefined;
}
else {
if (Reflect.has(acc, "subviewById")) {
return Reflect.apply(Reflect.get(acc, "subviewById"), acc, [cur]);
}
return acc;
}
}, undefined);
}
nativeRender(model) {
return this.context.callNative("shader", "render", model);
}
hookBeforeNativeCall() {
if (Environment.platform !== 'web') {
this.__root__.clean();
for (let map of this.headviews.values()) {
for (let v of map.values()) {
v.clean();
}
}
}
}
hookAfterNativeCall() {
if (this.destroyed) {
return;
}
const promises = [];
if (Environment.platform !== 'web') {
//Here insert a native call to ensure the promise is resolved done.
nativeEmpty();
if (this.__root__.isDirty()) {
const model = this.__root__.toModel();
promises.push(this.nativeRender(model));
this.__root__.clean();
}
for (let map of this.headviews.values()) {
for (let v of map.values()) {
if (v.isDirty()) {
const model = v.toModel();
promises.push(this.nativeRender(model));
v.clean();
}
}
}
});
}
else {
Promise.resolve().then(() => {
if (this.__root__.isDirty()) {
const model = this.__root__.toModel();
promises.push(this.nativeRender(model));
this.__root__.clean();
}
for (let map of this.headviews.values()) {
for (let v of map.values()) {
if (v.isDirty()) {
const model = v.toModel();
promises.push(this.nativeRender(model));
v.clean();
}
}
}
});
}
if (this.__rendering__) {
//skip
Promise.all(promises).then(_ => {
});
}
else {
this.__rendering__ = true;
Promise.all(promises).then(_ => {
this.__rendering__ = false;
this.onRenderFinished();
});
}
}
if (this.__rendering__) {
//skip
Promise.all(promises).then(_ => {
onRenderFinished() {
this.onRenderFinishedCallback.forEach(e => {
e();
});
this.onRenderFinishedCallback.length = 0;
}
else {
this.__rendering__ = true;
Promise.all(promises).then(_ => {
this.__rendering__ = false;
this.onRenderFinished();
});
addOnRenderFinishedCallback(cb) {
this.onRenderFinishedCallback.push(cb);
}
}
onRenderFinished() {
this.onRenderFinishedCallback.forEach(e => {
e();
});
this.onRenderFinishedCallback.length = 0;
}
addOnRenderFinishedCallback(cb) {
this.onRenderFinishedCallback.push(cb);
}
}
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0)
], Panel.prototype, "__init__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onCreate__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onDestroy__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onShow__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onHidden__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], Panel.prototype, "__build__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", [Array, String]),
__metadata("design:returntype", void 0)
], Panel.prototype, "__response__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0)
], Panel.prototype, "__init__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onCreate__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onDestroy__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onShow__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], Panel.prototype, "__onHidden__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], Panel.prototype, "__build__", null);
__decorate([
NativeCall,
__metadata("design:type", Function),
__metadata("design:paramtypes", [Array, String]),
__metadata("design:returntype", void 0)
], Panel.prototype, "__response__", null);
return Panel;
})();
export { Panel };

View File

@ -13,263 +13,267 @@ import { loge } from "../util/log";
export function Property(target, propKey) {
Reflect.defineMetadata(propKey, true, target);
}
export class View {
constructor() {
this.width = 0;
this.height = 0;
this.x = 0;
this.y = 0;
this.viewId = uniqueId('ViewId');
this.callbacks = new Map;
/** Anchor end*/
this.__dirty_props__ = {};
this.nativeViewModel = {
id: this.viewId,
type: this.constructor.name,
props: this.__dirty_props__,
};
return new Proxy(this, {
get: (target, p, receiver) => {
return Reflect.get(target, p, receiver);
},
set: (target, p, v, receiver) => {
const oldV = Reflect.get(target, p, receiver);
const ret = Reflect.set(target, p, v, receiver);
if (Reflect.getMetadata(p, target) && oldV !== v) {
receiver.onPropertyChanged(p.toString(), oldV, v);
}
return ret;
}
});
}
callback2Id(f) {
const id = uniqueId('Function');
this.callbacks.set(id, f);
return id;
}
id2Callback(id) {
let f = this.callbacks.get(id);
if (f === undefined) {
f = Reflect.get(this, id);
}
return f;
}
/** Anchor start*/
get left() {
return this.x;
}
set left(v) {
this.x = v;
}
get right() {
return this.x + this.width;
}
set right(v) {
this.x = v - this.width;
}
get top() {
return this.y;
}
set top(v) {
this.y = v;
}
get bottom() {
return this.y + this.height;
}
set bottom(v) {
this.y = v - this.height;
}
get centerX() {
return this.x + this.width / 2;
}
get centerY() {
return this.y + this.height / 2;
}
set centerX(v) {
this.x = v - this.width / 2;
}
set centerY(v) {
this.y = v - this.height / 2;
}
get dirtyProps() {
return this.__dirty_props__;
}
onPropertyChanged(propKey, oldV, newV) {
if (newV instanceof Function) {
newV = this.callback2Id(newV);
}
else {
newV = obj2Model(newV);
}
this.__dirty_props__[propKey] = newV;
}
clean() {
for (const key in this.__dirty_props__) {
if (Reflect.has(this.__dirty_props__, key)) {
Reflect.deleteProperty(this.__dirty_props__, key);
}
}
}
isDirty() {
return Reflect.ownKeys(this.__dirty_props__).length !== 0;
}
responseCallback(id, ...args) {
const f = this.id2Callback(id);
if (f instanceof Function) {
const argumentsList = [];
for (let i = 1; i < arguments.length; i++) {
argumentsList.push(arguments[i]);
}
return Reflect.apply(f, this, argumentsList);
}
else {
loge(`Cannot find callback:${id} for ${JSON.stringify(this.toModel())}`);
}
}
toModel() {
return this.nativeViewModel;
}
let(block) {
block(this);
}
also(block) {
block(this);
return this;
}
apply(config) {
for (let key in config) {
Reflect.set(this, key, Reflect.get(config, key, config), this);
}
return this;
}
in(group) {
group.addChild(this);
return this;
}
nativeChannel(context, name) {
let thisView = this;
return function (args = undefined) {
const viewIds = [];
while (thisView != undefined) {
viewIds.push(thisView.viewId);
thisView = thisView.superview;
}
const params = {
viewIds: viewIds.reverse(),
name,
args,
let View = /** @class */ (() => {
class View {
constructor() {
this.width = 0;
this.height = 0;
this.x = 0;
this.y = 0;
this.viewId = uniqueId('ViewId');
this.callbacks = new Map;
/** Anchor end*/
this.__dirty_props__ = {};
this.nativeViewModel = {
id: this.viewId,
type: this.constructor.name,
props: this.__dirty_props__,
};
return context.callNative('shader', 'command', params);
};
}
getWidth(context) {
return this.nativeChannel(context, 'getWidth')();
}
getHeight(context) {
return this.nativeChannel(context, 'getHeight')();
}
getX(context) {
return this.nativeChannel(context, 'getX')();
}
getY(context) {
return this.nativeChannel(context, 'getY')();
}
getLocationOnScreen(context) {
return this.nativeChannel(context, "getLocationOnScreen")();
}
doAnimation(context, animation) {
return this.nativeChannel(context, "doAnimation")(animation.toModel()).then((args) => {
for (let key in args) {
Reflect.set(this, key, Reflect.get(args, key, args), this);
Reflect.deleteProperty(this.__dirty_props__, key);
return new Proxy(this, {
get: (target, p, receiver) => {
return Reflect.get(target, p, receiver);
},
set: (target, p, v, receiver) => {
const oldV = Reflect.get(target, p, receiver);
const ret = Reflect.set(target, p, v, receiver);
if (Reflect.getMetadata(p, target) && oldV !== v) {
receiver.onPropertyChanged(p.toString(), oldV, v);
}
return ret;
}
});
}
callback2Id(f) {
const id = uniqueId('Function');
this.callbacks.set(id, f);
return id;
}
id2Callback(id) {
let f = this.callbacks.get(id);
if (f === undefined) {
f = Reflect.get(this, id);
}
});
return f;
}
/** Anchor start*/
get left() {
return this.x;
}
set left(v) {
this.x = v;
}
get right() {
return this.x + this.width;
}
set right(v) {
this.x = v - this.width;
}
get top() {
return this.y;
}
set top(v) {
this.y = v;
}
get bottom() {
return this.y + this.height;
}
set bottom(v) {
this.y = v - this.height;
}
get centerX() {
return this.x + this.width / 2;
}
get centerY() {
return this.y + this.height / 2;
}
set centerX(v) {
this.x = v - this.width / 2;
}
set centerY(v) {
this.y = v - this.height / 2;
}
get dirtyProps() {
return this.__dirty_props__;
}
onPropertyChanged(propKey, oldV, newV) {
if (newV instanceof Function) {
newV = this.callback2Id(newV);
}
else {
newV = obj2Model(newV);
}
this.__dirty_props__[propKey] = newV;
}
clean() {
for (const key in this.__dirty_props__) {
if (Reflect.has(this.__dirty_props__, key)) {
Reflect.deleteProperty(this.__dirty_props__, key);
}
}
}
isDirty() {
return Reflect.ownKeys(this.__dirty_props__).length !== 0;
}
responseCallback(id, ...args) {
const f = this.id2Callback(id);
if (f instanceof Function) {
const argumentsList = [];
for (let i = 1; i < arguments.length; i++) {
argumentsList.push(arguments[i]);
}
return Reflect.apply(f, this, argumentsList);
}
else {
loge(`Cannot find callback:${id} for ${JSON.stringify(this.toModel())}`);
}
}
toModel() {
return this.nativeViewModel;
}
let(block) {
block(this);
}
also(block) {
block(this);
return this;
}
apply(config) {
for (let key in config) {
Reflect.set(this, key, Reflect.get(config, key, config), this);
}
return this;
}
in(group) {
group.addChild(this);
return this;
}
nativeChannel(context, name) {
let thisView = this;
return function (args = undefined) {
const viewIds = [];
while (thisView != undefined) {
viewIds.push(thisView.viewId);
thisView = thisView.superview;
}
const params = {
viewIds: viewIds.reverse(),
name,
args,
};
return context.callNative('shader', 'command', params);
};
}
getWidth(context) {
return this.nativeChannel(context, 'getWidth')();
}
getHeight(context) {
return this.nativeChannel(context, 'getHeight')();
}
getX(context) {
return this.nativeChannel(context, 'getX')();
}
getY(context) {
return this.nativeChannel(context, 'getY')();
}
getLocationOnScreen(context) {
return this.nativeChannel(context, "getLocationOnScreen")();
}
doAnimation(context, animation) {
return this.nativeChannel(context, "doAnimation")(animation.toModel()).then((args) => {
for (let key in args) {
Reflect.set(this, key, Reflect.get(args, key, args), this);
Reflect.deleteProperty(this.__dirty_props__, key);
}
});
}
}
}
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "width", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "height", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "x", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "y", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "backgroundColor", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "corners", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "border", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "shadow", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "alpha", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], View.prototype, "hidden", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "padding", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "layoutConfig", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], View.prototype, "onClick", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "translationX", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "translationY", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "scaleX", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "scaleY", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "pivotX", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "pivotY", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "rotation", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "flexConfig", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "width", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "height", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "x", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "y", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "backgroundColor", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "corners", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "border", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "shadow", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "alpha", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], View.prototype, "hidden", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "padding", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "layoutConfig", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], View.prototype, "onClick", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "translationX", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "translationY", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "scaleX", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "scaleY", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "pivotX", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "pivotY", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], View.prototype, "rotation", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], View.prototype, "flexConfig", void 0);
return View;
})();
export { View };
export class Superview extends View {
subviewById(id) {
for (let v of this.allSubviews()) {

View File

@ -1,57 +1,61 @@
/**
* Store color as format AARRGGBB or RRGGBB
*/
export class Color {
constructor(v) {
this._value = 0;
this._value = v | 0x0;
}
static parse(str) {
if (!str.startsWith("#")) {
throw new Error(`Parse color error with ${str}`);
let Color = /** @class */ (() => {
class Color {
constructor(v) {
this._value = 0;
this._value = v | 0x0;
}
const val = parseInt(str.substr(1), 16);
if (str.length === 7) {
return new Color(val | 0xff000000);
static parse(str) {
if (!str.startsWith("#")) {
throw new Error(`Parse color error with ${str}`);
}
const val = parseInt(str.substr(1), 16);
if (str.length === 7) {
return new Color(val | 0xff000000);
}
else if (str.length === 9) {
return new Color(val);
}
else {
throw new Error(`Parse color error with ${str}`);
}
}
else if (str.length === 9) {
return new Color(val);
static safeParse(str, defVal = Color.TRANSPARENT) {
let color = defVal;
try {
color = Color.parse(str);
}
catch (e) {
}
finally {
return color;
}
}
else {
throw new Error(`Parse color error with ${str}`);
alpha(v) {
v = v * 255;
return new Color((this._value & 0xffffff) | ((v & 0xff) << 24));
}
toModel() {
return this._value;
}
}
static safeParse(str, defVal = Color.TRANSPARENT) {
let color = defVal;
try {
color = Color.parse(str);
}
catch (e) {
}
finally {
return color;
}
}
alpha(v) {
v = v * 255;
return new Color((this._value & 0xffffff) | ((v & 0xff) << 24));
}
toModel() {
return this._value;
}
}
Color.BLACK = new Color(0xFF000000);
Color.DKGRAY = new Color(0xFF444444);
Color.GRAY = new Color(0xFF888888);
Color.LTGRAY = new Color(0xFFCCCCCC);
Color.WHITE = new Color(0xFFFFFFFF);
Color.RED = new Color(0xFFFF0000);
Color.GREEN = new Color(0xFF00FF00);
Color.BLUE = new Color(0xFF0000FF);
Color.YELLOW = new Color(0xFFFFFF00);
Color.CYAN = new Color(0xFF00FFFF);
Color.MAGENTA = new Color(0xFFFF00FF);
Color.TRANSPARENT = new Color(0);
Color.BLACK = new Color(0xFF000000);
Color.DKGRAY = new Color(0xFF444444);
Color.GRAY = new Color(0xFF888888);
Color.LTGRAY = new Color(0xFFCCCCCC);
Color.WHITE = new Color(0xFFFFFFFF);
Color.RED = new Color(0xFFFF0000);
Color.GREEN = new Color(0xFF00FF00);
Color.BLUE = new Color(0xFF0000FF);
Color.YELLOW = new Color(0xFFFFFF00);
Color.CYAN = new Color(0xFF00FFFF);
Color.MAGENTA = new Color(0xFFFF00FF);
Color.TRANSPARENT = new Color(0);
return Color;
})();
export { Color };
export var GradientOrientation;
(function (GradientOrientation) {
/** draw the gradient from the top to the bottom */

View File

@ -5,29 +5,33 @@ var ValueType;
ValueType[ValueType["Percent"] = 2] = "Percent";
ValueType[ValueType["Auto"] = 3] = "Auto";
})(ValueType || (ValueType = {}));
export class FlexTypedValue {
constructor(type) {
this.value = 0;
this.type = type;
let FlexTypedValue = /** @class */ (() => {
class FlexTypedValue {
constructor(type) {
this.value = 0;
this.type = type;
}
static percent(v) {
const ret = new FlexTypedValue(ValueType.Percent);
ret.value = v;
return ret;
}
static point(v) {
const ret = new FlexTypedValue(ValueType.Point);
ret.value = v;
return ret;
}
toModel() {
return {
type: this.type,
value: this.value,
};
}
}
static percent(v) {
const ret = new FlexTypedValue(ValueType.Percent);
ret.value = v;
return ret;
}
static point(v) {
const ret = new FlexTypedValue(ValueType.Point);
ret.value = v;
return ret;
}
toModel() {
return {
type: this.type,
value: this.value,
};
}
}
FlexTypedValue.Auto = new FlexTypedValue(ValueType.Auto);
FlexTypedValue.Auto = new FlexTypedValue(ValueType.Auto);
return FlexTypedValue;
})();
export { FlexTypedValue };
export var FlexDirection;
(function (FlexDirection) {
FlexDirection[FlexDirection["COLUMN"] = 0] = "COLUMN";

View File

@ -10,64 +10,68 @@ export const BOTTOM = (END | SPECIFIED) << SHIFT_Y;
export const CENTER_X = SPECIFIED << SHIFT_X;
export const CENTER_Y = SPECIFIED << SHIFT_Y;
export const CENTER = CENTER_X | CENTER_Y;
export class Gravity {
constructor() {
this.val = 0;
let Gravity = /** @class */ (() => {
class Gravity {
constructor() {
this.val = 0;
}
left() {
const val = this.val | LEFT;
const ret = new Gravity;
ret.val = val;
return ret;
}
right() {
const val = this.val | RIGHT;
const ret = new Gravity;
ret.val = val;
return ret;
}
top() {
const val = this.val | TOP;
const ret = new Gravity;
ret.val = val;
return ret;
}
bottom() {
const val = this.val | BOTTOM;
const ret = new Gravity;
ret.val = val;
return ret;
}
center() {
const val = this.val | CENTER;
const ret = new Gravity;
ret.val = val;
return ret;
}
centerX() {
const val = this.val | CENTER_X;
const ret = new Gravity;
ret.val = val;
return ret;
}
centerY() {
const val = this.val | CENTER_Y;
const ret = new Gravity;
ret.val = val;
return ret;
}
toModel() {
return this.val;
}
}
left() {
const val = this.val | LEFT;
const ret = new Gravity;
ret.val = val;
return ret;
}
right() {
const val = this.val | RIGHT;
const ret = new Gravity;
ret.val = val;
return ret;
}
top() {
const val = this.val | TOP;
const ret = new Gravity;
ret.val = val;
return ret;
}
bottom() {
const val = this.val | BOTTOM;
const ret = new Gravity;
ret.val = val;
return ret;
}
center() {
const val = this.val | CENTER;
const ret = new Gravity;
ret.val = val;
return ret;
}
centerX() {
const val = this.val | CENTER_X;
const ret = new Gravity;
ret.val = val;
return ret;
}
centerY() {
const val = this.val | CENTER_Y;
const ret = new Gravity;
ret.val = val;
return ret;
}
toModel() {
return this.val;
}
}
Gravity.origin = new Gravity;
Gravity.Center = Gravity.origin.center();
Gravity.CenterX = Gravity.origin.centerX();
Gravity.CenterY = Gravity.origin.centerY();
Gravity.Left = Gravity.origin.left();
Gravity.Right = Gravity.origin.right();
Gravity.Top = Gravity.origin.top();
Gravity.Bottom = Gravity.origin.bottom();
Gravity.origin = new Gravity;
Gravity.Center = Gravity.origin.center();
Gravity.CenterX = Gravity.origin.centerX();
Gravity.CenterY = Gravity.origin.centerY();
Gravity.Left = Gravity.origin.left();
Gravity.Right = Gravity.origin.right();
Gravity.Top = Gravity.origin.top();
Gravity.Bottom = Gravity.origin.bottom();
return Gravity;
})();
export { Gravity };
export function gravity() {
return new Gravity;
}

View File

@ -25,12 +25,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
import { Property, View } from "../ui/view";
import { Stack } from "../widget/layouts";
import { layoutConfig } from "../util/layoutconfig";
export class Draggable extends Stack {
}
__decorate([
Property,
__metadata("design:type", Function)
], Draggable.prototype, "onDrag", void 0);
let Draggable = /** @class */ (() => {
class Draggable extends Stack {
}
__decorate([
Property,
__metadata("design:type", Function)
], Draggable.prototype, "onDrag", void 0);
return Draggable;
})();
export { Draggable };
export function draggable(views, config) {
const ret = new Draggable;
ret.layoutConfig = layoutConfig().fit();

View File

@ -25,105 +25,113 @@ var __metadata = (this && this.__metadata) || function (k, v) {
import { Stack } from './layouts';
import { Property, Superview, View } from '../ui/view';
import { layoutConfig } from '../util/index.util';
export class FlowLayoutItem extends Stack {
}
__decorate([
Property,
__metadata("design:type", String)
], FlowLayoutItem.prototype, "identifier", void 0);
export class FlowLayout extends Superview {
constructor() {
super(...arguments);
this.cachedViews = new Map;
this.ignoreDirtyCallOnce = false;
this.columnCount = 2;
this.itemCount = 0;
this.batchCount = 15;
let FlowLayoutItem = /** @class */ (() => {
class FlowLayoutItem extends Stack {
}
allSubviews() {
if (this.loadMoreView) {
return [...this.cachedViews.values(), this.loadMoreView];
}
else {
return this.cachedViews.values();
}
}
reset() {
this.cachedViews.clear();
this.itemCount = 0;
}
getItem(itemIdx) {
let view = this.renderItem(itemIdx);
view.superview = this;
this.cachedViews.set(`${itemIdx}`, view);
return view;
}
isDirty() {
if (this.ignoreDirtyCallOnce) {
__decorate([
Property,
__metadata("design:type", String)
], FlowLayoutItem.prototype, "identifier", void 0);
return FlowLayoutItem;
})();
export { FlowLayoutItem };
let FlowLayout = /** @class */ (() => {
class FlowLayout extends Superview {
constructor() {
super(...arguments);
this.cachedViews = new Map;
this.ignoreDirtyCallOnce = false;
//Ignore the dirty call once.
return false;
this.columnCount = 2;
this.itemCount = 0;
this.batchCount = 15;
}
return super.isDirty();
}
renderBunchedItems(start, length) {
this.ignoreDirtyCallOnce = true;
return new Array(Math.min(length, this.itemCount - start)).fill(0).map((_, idx) => {
const listItem = this.getItem(start + idx);
return listItem.toModel();
});
}
toModel() {
if (this.loadMoreView) {
this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId;
allSubviews() {
if (this.loadMoreView) {
return [...this.cachedViews.values(), this.loadMoreView];
}
else {
return this.cachedViews.values();
}
}
reset() {
this.cachedViews.clear();
this.itemCount = 0;
}
getItem(itemIdx) {
let view = this.renderItem(itemIdx);
view.superview = this;
this.cachedViews.set(`${itemIdx}`, view);
return view;
}
isDirty() {
if (this.ignoreDirtyCallOnce) {
this.ignoreDirtyCallOnce = false;
//Ignore the dirty call once.
return false;
}
return super.isDirty();
}
renderBunchedItems(start, length) {
this.ignoreDirtyCallOnce = true;
return new Array(Math.min(length, this.itemCount - start)).fill(0).map((_, idx) => {
const listItem = this.getItem(start + idx);
return listItem.toModel();
});
}
toModel() {
if (this.loadMoreView) {
this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId;
}
return super.toModel();
}
return super.toModel();
}
}
__decorate([
Property,
__metadata("design:type", Object)
], FlowLayout.prototype, "columnCount", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], FlowLayout.prototype, "columnSpace", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], FlowLayout.prototype, "rowSpace", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], FlowLayout.prototype, "itemCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "renderItem", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], FlowLayout.prototype, "batchCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "onLoadMore", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], FlowLayout.prototype, "loadMore", void 0);
__decorate([
Property,
__metadata("design:type", FlowLayoutItem)
], FlowLayout.prototype, "loadMoreView", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "onScroll", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "onScrollEnd", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], FlowLayout.prototype, "columnCount", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], FlowLayout.prototype, "columnSpace", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], FlowLayout.prototype, "rowSpace", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], FlowLayout.prototype, "itemCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "renderItem", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], FlowLayout.prototype, "batchCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "onLoadMore", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], FlowLayout.prototype, "loadMore", void 0);
__decorate([
Property,
__metadata("design:type", FlowLayoutItem)
], FlowLayout.prototype, "loadMoreView", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "onScroll", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], FlowLayout.prototype, "onScrollEnd", void 0);
return FlowLayout;
})();
export { FlowLayout };
export function flowlayout(config) {
const ret = new FlowLayout;
for (let key in config) {

View File

@ -31,73 +31,77 @@ export var ScaleType;
ScaleType[ScaleType["ScaleAspectFit"] = 1] = "ScaleAspectFit";
ScaleType[ScaleType["ScaleAspectFill"] = 2] = "ScaleAspectFill";
})(ScaleType || (ScaleType = {}));
export class Image extends View {
}
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imageUrl", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imagePath", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imageRes", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imageBase64", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Image.prototype, "scaleType", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Image.prototype, "isBlur", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "placeHolderImage", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "placeHolderImageBase64", void 0);
__decorate([
Property,
__metadata("design:type", Color
/**
* Display while image is failed to load
* It can be file name in local path
*/
)
], Image.prototype, "placeHolderColor", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "errorImage", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "errorImageBase64", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Image.prototype, "errorColor", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Image.prototype, "loadCallback", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Image.prototype, "imageScale", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], Image.prototype, "stretchInset", void 0);
let Image = /** @class */ (() => {
class Image extends View {
}
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imageUrl", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imagePath", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imageRes", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "imageBase64", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Image.prototype, "scaleType", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Image.prototype, "isBlur", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "placeHolderImage", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "placeHolderImageBase64", void 0);
__decorate([
Property,
__metadata("design:type", Color
/**
* Display while image is failed to load
* It can be file name in local path
*/
)
], Image.prototype, "placeHolderColor", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "errorImage", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Image.prototype, "errorImageBase64", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Image.prototype, "errorColor", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Image.prototype, "loadCallback", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Image.prototype, "imageScale", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], Image.prototype, "stretchInset", void 0);
return Image;
})();
export { Image };
export function image(config) {
const ret = new Image;
ret.layoutConfig = layoutConfig().fit();

View File

@ -26,63 +26,67 @@ import { View, Property } from "../ui/view";
import { Color } from "../util/color";
import { Gravity } from "../util/gravity";
import { layoutConfig } from "../util/index.util";
export class Input extends View {
getText(context) {
return this.nativeChannel(context, 'getText')();
let Input = /** @class */ (() => {
class Input extends View {
getText(context) {
return this.nativeChannel(context, 'getText')();
}
setSelection(context, start, end = start) {
return this.nativeChannel(context, 'setSelection')({
start,
end,
});
}
requestFocus(context) {
return this.nativeChannel(context, 'requestFocus')();
}
releaseFocus(context) {
return this.nativeChannel(context, 'releaseFocus')();
}
}
setSelection(context, start, end = start) {
return this.nativeChannel(context, 'setSelection')({
start,
end,
});
}
requestFocus(context) {
return this.nativeChannel(context, 'requestFocus')();
}
releaseFocus(context) {
return this.nativeChannel(context, 'releaseFocus')();
}
}
__decorate([
Property,
__metadata("design:type", String)
], Input.prototype, "text", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Input.prototype, "textColor", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Input.prototype, "textSize", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Input.prototype, "hintText", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Input.prototype, "hintTextColor", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Input.prototype, "multiline", void 0);
__decorate([
Property,
__metadata("design:type", Gravity)
], Input.prototype, "textAlignment", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Input.prototype, "onTextChange", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Input.prototype, "onFocusChange", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Input.prototype, "maxLength", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Input.prototype, "text", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Input.prototype, "textColor", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Input.prototype, "textSize", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Input.prototype, "hintText", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Input.prototype, "hintTextColor", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Input.prototype, "multiline", void 0);
__decorate([
Property,
__metadata("design:type", Gravity)
], Input.prototype, "textAlignment", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Input.prototype, "onTextChange", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Input.prototype, "onFocusChange", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Input.prototype, "maxLength", void 0);
return Input;
})();
export { Input };
export function input(config) {
const ret = new Input;
ret.layoutConfig = layoutConfig().just();

View File

@ -29,16 +29,19 @@ export class Stack extends Group {
}
export class Root extends Stack {
}
class LinearLayout extends Group {
}
__decorate([
Property,
__metadata("design:type", Number)
], LinearLayout.prototype, "space", void 0);
__decorate([
Property,
__metadata("design:type", Gravity)
], LinearLayout.prototype, "gravity", void 0);
let LinearLayout = /** @class */ (() => {
class LinearLayout extends Group {
}
__decorate([
Property,
__metadata("design:type", Number)
], LinearLayout.prototype, "space", void 0);
__decorate([
Property,
__metadata("design:type", Gravity)
], LinearLayout.prototype, "gravity", void 0);
return LinearLayout;
})();
export class VLayout extends LinearLayout {
}
export class HLayout extends LinearLayout {

View File

@ -25,101 +25,108 @@ var __metadata = (this && this.__metadata) || function (k, v) {
import { View, Property, Superview } from "../ui/view";
import { Stack } from "./layouts";
import { layoutConfig } from "../util/layoutconfig";
export class ListItem extends Stack {
}
__decorate([
Property,
__metadata("design:type", String)
], ListItem.prototype, "identifier", void 0);
export class List extends Superview {
constructor() {
super(...arguments);
this.cachedViews = new Map;
this.ignoreDirtyCallOnce = false;
this.itemCount = 0;
this.batchCount = 15;
let ListItem = /** @class */ (() => {
class ListItem extends Stack {
}
allSubviews() {
if (this.loadMoreView) {
return [...this.cachedViews.values(), this.loadMoreView];
}
else {
return this.cachedViews.values();
}
}
scrollToItem(context, index, config) {
var _a;
const animated = (_a = config) === null || _a === void 0 ? void 0 : _a.animated;
return this.nativeChannel(context, 'scrollToItem')({ index, animated, });
}
reset() {
this.cachedViews.clear();
this.itemCount = 0;
}
getItem(itemIdx) {
let view = this.renderItem(itemIdx);
view.superview = this;
this.cachedViews.set(`${itemIdx}`, view);
return view;
}
isDirty() {
if (this.ignoreDirtyCallOnce) {
__decorate([
Property,
__metadata("design:type", String)
], ListItem.prototype, "identifier", void 0);
return ListItem;
})();
export { ListItem };
let List = /** @class */ (() => {
class List extends Superview {
constructor() {
super(...arguments);
this.cachedViews = new Map;
this.ignoreDirtyCallOnce = false;
//Ignore the dirty call once.
return false;
this.itemCount = 0;
this.batchCount = 15;
}
return super.isDirty();
}
renderBunchedItems(start, length) {
this.ignoreDirtyCallOnce = true;
return new Array(Math.max(0, Math.min(length, this.itemCount - start))).fill(0).map((_, idx) => {
const listItem = this.getItem(start + idx);
return listItem.toModel();
});
}
toModel() {
if (this.loadMoreView) {
this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId;
allSubviews() {
if (this.loadMoreView) {
return [...this.cachedViews.values(), this.loadMoreView];
}
else {
return this.cachedViews.values();
}
}
scrollToItem(context, index, config) {
const animated = config === null || config === void 0 ? void 0 : config.animated;
return this.nativeChannel(context, 'scrollToItem')({ index, animated, });
}
reset() {
this.cachedViews.clear();
this.itemCount = 0;
}
getItem(itemIdx) {
let view = this.renderItem(itemIdx);
view.superview = this;
this.cachedViews.set(`${itemIdx}`, view);
return view;
}
isDirty() {
if (this.ignoreDirtyCallOnce) {
this.ignoreDirtyCallOnce = false;
//Ignore the dirty call once.
return false;
}
return super.isDirty();
}
renderBunchedItems(start, length) {
this.ignoreDirtyCallOnce = true;
return new Array(Math.max(0, Math.min(length, this.itemCount - start))).fill(0).map((_, idx) => {
const listItem = this.getItem(start + idx);
return listItem.toModel();
});
}
toModel() {
if (this.loadMoreView) {
this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId;
}
return super.toModel();
}
return super.toModel();
}
}
__decorate([
Property,
__metadata("design:type", Object)
], List.prototype, "itemCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "renderItem", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], List.prototype, "batchCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onLoadMore", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], List.prototype, "loadMore", void 0);
__decorate([
Property,
__metadata("design:type", ListItem)
], List.prototype, "loadMoreView", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onScroll", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onScrollEnd", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], List.prototype, "scrolledPosition", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], List.prototype, "itemCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "renderItem", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], List.prototype, "batchCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onLoadMore", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], List.prototype, "loadMore", void 0);
__decorate([
Property,
__metadata("design:type", ListItem)
], List.prototype, "loadMoreView", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onScroll", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], List.prototype, "onScrollEnd", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], List.prototype, "scrolledPosition", void 0);
return List;
})();
export { List };
export function list(config) {
const ret = new List;
for (let key in config) {

View File

@ -23,18 +23,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
* limitations under the License.
*/
import { Group, Property } from '../ui/view';
export class NestedSlider extends Group {
addSlideItem(view) {
this.addChild(view);
let NestedSlider = /** @class */ (() => {
class NestedSlider extends Group {
addSlideItem(view) {
this.addChild(view);
}
slidePage(context, page, smooth = false) {
return this.nativeChannel(context, "slidePage")({ page, smooth });
}
getSlidedPage(context) {
return this.nativeChannel(context, "getSlidedPage")();
}
}
slidePage(context, page, smooth = false) {
return this.nativeChannel(context, "slidePage")({ page, smooth });
}
getSlidedPage(context) {
return this.nativeChannel(context, "getSlidedPage")();
}
}
__decorate([
Property,
__metadata("design:type", Function)
], NestedSlider.prototype, "onPageSlided", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], NestedSlider.prototype, "onPageSlided", void 0);
return NestedSlider;
})();
export { NestedSlider };

View File

@ -9,36 +9,40 @@ var __metadata = (this && this.__metadata) || function (k, v) {
};
import { Property, Superview } from "../ui/view";
import { layoutConfig } from "../util/layoutconfig";
export class Refreshable extends Superview {
allSubviews() {
const ret = [this.content];
if (this.header) {
ret.push(this.header);
let Refreshable = /** @class */ (() => {
class Refreshable extends Superview {
allSubviews() {
const ret = [this.content];
if (this.header) {
ret.push(this.header);
}
return ret;
}
setRefreshable(context, refreshable) {
return this.nativeChannel(context, 'setRefreshable')(refreshable);
}
setRefreshing(context, refreshing) {
return this.nativeChannel(context, 'setRefreshing')(refreshing);
}
isRefreshable(context) {
return this.nativeChannel(context, 'isRefreshable')();
}
isRefreshing(context) {
return this.nativeChannel(context, 'isRefreshing')();
}
toModel() {
this.dirtyProps.content = this.content.viewId;
this.dirtyProps.header = (this.header || {}).viewId;
return super.toModel();
}
return ret;
}
setRefreshable(context, refreshable) {
return this.nativeChannel(context, 'setRefreshable')(refreshable);
}
setRefreshing(context, refreshing) {
return this.nativeChannel(context, 'setRefreshing')(refreshing);
}
isRefreshable(context) {
return this.nativeChannel(context, 'isRefreshable')();
}
isRefreshing(context) {
return this.nativeChannel(context, 'isRefreshing')();
}
toModel() {
this.dirtyProps.content = this.content.viewId;
this.dirtyProps.header = (this.header || {}).viewId;
return super.toModel();
}
}
__decorate([
Property,
__metadata("design:type", Function)
], Refreshable.prototype, "onRefresh", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Refreshable.prototype, "onRefresh", void 0);
return Refreshable;
})();
export { Refreshable };
export function refreshable(config) {
const ret = new Refreshable;
ret.layoutConfig = layoutConfig().fit();

View File

@ -35,30 +35,34 @@ export function scroller(content, config) {
v.content = content;
});
}
export class Scroller extends Superview {
allSubviews() {
return [this.content];
let Scroller = /** @class */ (() => {
class Scroller extends Superview {
allSubviews() {
return [this.content];
}
toModel() {
this.dirtyProps.content = this.content.viewId;
return super.toModel();
}
scrollTo(context, offset, animated) {
return this.nativeChannel(context, "scrollTo")({ offset, animated });
}
scrollBy(context, offset, animated) {
return this.nativeChannel(context, "scrollBy")({ offset, animated });
}
}
toModel() {
this.dirtyProps.content = this.content.viewId;
return super.toModel();
}
scrollTo(context, offset, animated) {
return this.nativeChannel(context, "scrollTo")({ offset, animated });
}
scrollBy(context, offset, animated) {
return this.nativeChannel(context, "scrollBy")({ offset, animated });
}
}
__decorate([
Property,
__metadata("design:type", Object)
], Scroller.prototype, "contentOffset", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Scroller.prototype, "onScroll", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Scroller.prototype, "onScrollEnd", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], Scroller.prototype, "contentOffset", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Scroller.prototype, "onScroll", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Scroller.prototype, "onScrollEnd", void 0);
return Scroller;
})();
export { Scroller };

View File

@ -25,71 +25,79 @@ var __metadata = (this && this.__metadata) || function (k, v) {
import { Superview, View, Property } from "../ui/view";
import { Stack } from "./layouts";
import { layoutConfig } from "../util/layoutconfig";
export class SlideItem extends Stack {
}
__decorate([
Property,
__metadata("design:type", String)
], SlideItem.prototype, "identifier", void 0);
export class Slider extends Superview {
constructor() {
super(...arguments);
this.cachedViews = new Map;
this.ignoreDirtyCallOnce = false;
this.itemCount = 0;
this.batchCount = 3;
let SlideItem = /** @class */ (() => {
class SlideItem extends Stack {
}
allSubviews() {
return this.cachedViews.values();
}
getItem(itemIdx) {
let view = this.renderPage(itemIdx);
view.superview = this;
this.cachedViews.set(`${itemIdx}`, view);
return view;
}
isDirty() {
if (this.ignoreDirtyCallOnce) {
__decorate([
Property,
__metadata("design:type", String)
], SlideItem.prototype, "identifier", void 0);
return SlideItem;
})();
export { SlideItem };
let Slider = /** @class */ (() => {
class Slider extends Superview {
constructor() {
super(...arguments);
this.cachedViews = new Map;
this.ignoreDirtyCallOnce = false;
//Ignore the dirty call once.
return false;
this.itemCount = 0;
this.batchCount = 3;
}
allSubviews() {
return this.cachedViews.values();
}
getItem(itemIdx) {
let view = this.renderPage(itemIdx);
view.superview = this;
this.cachedViews.set(`${itemIdx}`, view);
return view;
}
isDirty() {
if (this.ignoreDirtyCallOnce) {
this.ignoreDirtyCallOnce = false;
//Ignore the dirty call once.
return false;
}
return super.isDirty();
}
renderBunchedItems(start, length) {
this.ignoreDirtyCallOnce = true;
return new Array(Math.min(length, this.itemCount - start)).fill(0).map((_, idx) => {
const slideItem = this.getItem(start + idx);
return slideItem.toModel();
});
}
slidePage(context, page, smooth = false) {
return this.nativeChannel(context, "slidePage")({ page, smooth });
}
getSlidedPage(context) {
return this.nativeChannel(context, "getSlidedPage")();
}
return super.isDirty();
}
renderBunchedItems(start, length) {
this.ignoreDirtyCallOnce = true;
return new Array(Math.min(length, this.itemCount - start)).fill(0).map((_, idx) => {
const slideItem = this.getItem(start + idx);
return slideItem.toModel();
});
}
slidePage(context, page, smooth = false) {
return this.nativeChannel(context, "slidePage")({ page, smooth });
}
getSlidedPage(context) {
return this.nativeChannel(context, "getSlidedPage")();
}
}
__decorate([
Property,
__metadata("design:type", Object)
], Slider.prototype, "itemCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Slider.prototype, "renderPage", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], Slider.prototype, "batchCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Slider.prototype, "onPageSlided", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Slider.prototype, "loop", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], Slider.prototype, "itemCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Slider.prototype, "renderPage", void 0);
__decorate([
Property,
__metadata("design:type", Object)
], Slider.prototype, "batchCount", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Slider.prototype, "onPageSlided", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Slider.prototype, "loop", void 0);
return Slider;
})();
export { Slider };
export function slider(config) {
const ret = new Slider;
for (let key in config) {

View File

@ -25,28 +25,32 @@ var __metadata = (this && this.__metadata) || function (k, v) {
import { View, Property } from "../ui/view";
import { Color } from "../util/color";
import { layoutConfig } from "../util/index.util";
export class Switch extends View {
}
__decorate([
Property,
__metadata("design:type", Boolean)
], Switch.prototype, "state", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Switch.prototype, "onSwitch", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Switch.prototype, "offTintColor", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Switch.prototype, "onTintColor", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Switch.prototype, "thumbTintColor", void 0);
let Switch = /** @class */ (() => {
class Switch extends View {
}
__decorate([
Property,
__metadata("design:type", Boolean)
], Switch.prototype, "state", void 0);
__decorate([
Property,
__metadata("design:type", Function)
], Switch.prototype, "onSwitch", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Switch.prototype, "offTintColor", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Switch.prototype, "onTintColor", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Switch.prototype, "thumbTintColor", void 0);
return Switch;
})();
export { Switch };
export function switchView(config) {
const ret = new Switch;
ret.layoutConfig = layoutConfig().just();

View File

@ -33,64 +33,68 @@ export var TruncateAt;
TruncateAt[TruncateAt["Start"] = 2] = "Start";
TruncateAt[TruncateAt["Clip"] = 3] = "Clip";
})(TruncateAt || (TruncateAt = {}));
export class Text extends View {
}
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "text", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Text.prototype, "textColor", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "textSize", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "maxLines", void 0);
__decorate([
Property,
__metadata("design:type", Gravity)
], Text.prototype, "textAlignment", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "fontStyle", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "font", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "maxWidth", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "maxHeight", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "lineSpacing", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Text.prototype, "strikethrough", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Text.prototype, "underline", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "htmlText", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "truncateAt", void 0);
let Text = /** @class */ (() => {
class Text extends View {
}
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "text", void 0);
__decorate([
Property,
__metadata("design:type", Color)
], Text.prototype, "textColor", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "textSize", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "maxLines", void 0);
__decorate([
Property,
__metadata("design:type", Gravity)
], Text.prototype, "textAlignment", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "fontStyle", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "font", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "maxWidth", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "maxHeight", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "lineSpacing", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Text.prototype, "strikethrough", void 0);
__decorate([
Property,
__metadata("design:type", Boolean)
], Text.prototype, "underline", void 0);
__decorate([
Property,
__metadata("design:type", String)
], Text.prototype, "htmlText", void 0);
__decorate([
Property,
__metadata("design:type", Number)
], Text.prototype, "truncateAt", void 0);
return Text;
})();
export { Text };
export function text(config) {
const ret = new Text;
ret.layoutConfig = layoutConfig().fit();

View File

@ -29,7 +29,7 @@
"reflect-metadata": "^0.1.13",
"rollup": "^1.29.0",
"tslib": "^1.10.0",
"typescript": "^3.7.4",
"typescript": "^3.9.2",
"ws": "^7.2.1"
},
"publishConfig": {

View File

@ -27,7 +27,6 @@ export default [
plugins: [
resolve({ mainFields: ["jsnext"] }),
],
external: ['reflect-metadata'],
onwarn: function (warning) {
if (warning.code === 'THIS_IS_UNDEFINED') { return; }
console.warn(warning.message);
@ -80,7 +79,6 @@ export default [
transforms: { dangerousForOf: true }
}),
],
external: ['reflect-metadata'],
onwarn: function (warning) {
if (warning.code === 'THIS_IS_UNDEFINED') { return; }
console.warn(warning.message);

View File

@ -13,8 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from 'reflect-metadata'
export type BridgeContext = {
/**
* The identify of current context