Merge branch 'feature/slider' into 'master'

Feature/slider



See merge request !19
This commit is contained in:
pengfeizhou
2019-11-20 19:17:57 +08:00
12 changed files with 203 additions and 44 deletions

View File

@@ -28,3 +28,4 @@ export * from './src/util/gravity'
export * from './src/util/candies'
export * from './src/vm/mvvm'
export * from './src/runtime/global'
export * from './src/util/modal'

View File

@@ -15,8 +15,10 @@
*/
export * from 'reflect-metadata'
export type BridgeContext = { [index: string]: { [index: string]: (args?: any) => Promise<any> } }
declare global {
const context: { [index: string]: { [index: string]: (args?: any) => Promise<any> } };
const context: BridgeContext
function Entry(constructor: { new(...args: any[]): {} }): any
}
export { }

View File

@@ -37,45 +37,65 @@ export class Gravity implements Modeling {
val = 0
left() {
this.val |= LEFT
return this
const val = this.val | LEFT
const ret = new Gravity
ret.val = val
return ret
}
right() {
this.val |= RIGHT
return this
const val = this.val | RIGHT
const ret = new Gravity
ret.val = val
return ret
}
top() {
this.val |= TOP
return this
const val = this.val | TOP
const ret = new Gravity
ret.val = val
return ret
}
bottom() {
this.val |= BOTTOM
return this
const val = this.val | BOTTOM
const ret = new Gravity
ret.val = val
return ret
}
center() {
this.val |= CENTER
return this
const val = this.val | CENTER
const ret = new Gravity
ret.val = val
return ret
}
centerX() {
this.val |= CENTER_X
return this
const val = this.val | CENTER_X
const ret = new Gravity
ret.val = val
return ret
}
centerY() {
this.val |= CENTER_Y
return this
const val = this.val | CENTER_Y
const ret = new Gravity
ret.val = val
return ret
}
toModel() {
return this.val
}
private static origin = new Gravity
static Center = Gravity.origin.center()
static Left = Gravity.origin.left()
static Right = Gravity.origin.right()
static Top = Gravity.origin.top()
static Bottom = Gravity.origin.bottom()
}
export function gravity() {
return new Gravity

View File

@@ -0,0 +1,15 @@
import { BridgeContext } from "../runtime/global";
import { Gravity } from "./gravity";
export function modal(context: BridgeContext) {
return {
toast: (msg: string, gravity: Gravity = Gravity.Bottom) => {
context.modal.toast({
msg,
gravity: gravity.toModel(),
})
},
}
}