From 131ba87104203a51c4b456d6b95d327261c6e398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=8A=B2=E9=B9=8F?= Date: Fri, 3 Jan 2020 19:02:41 +0800 Subject: [PATCH] update lib js --- doric-demo/src/DraggableDemo.ts | 2 +- doric-js/index.d.ts | 13 +++++++ doric-js/lib/src/widget/draggable.d.ts | 9 +++++ doric-js/lib/src/widget/draggable.js | 44 +++++++++++++++++++++++ doric-js/lib/src/widget/index.widget.d.ts | 1 + doric-js/lib/src/widget/index.widget.js | 1 + 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 doric-js/lib/src/widget/draggable.d.ts create mode 100644 doric-js/lib/src/widget/draggable.js diff --git a/doric-demo/src/DraggableDemo.ts b/doric-demo/src/DraggableDemo.ts index 15d0f350..6cba7e52 100644 --- a/doric-demo/src/DraggableDemo.ts +++ b/doric-demo/src/DraggableDemo.ts @@ -4,7 +4,7 @@ import { title } from "./utils"; class DraggableDemo extends Panel { build(root: Group) { let text = (new Text).also(it => { - it.layoutConfig = layoutConfig().just().configAlignmnet(Gravity.Center) + it.layoutConfig = layoutConfig().just().configAlignment(Gravity.Center) it.width = 100 it.height = 30 it.textColor = Color.parse('#ff0000') diff --git a/doric-js/index.d.ts b/doric-js/index.d.ts index baa9f316..21084107 100644 --- a/doric-js/index.d.ts +++ b/doric-js/index.d.ts @@ -53,6 +53,7 @@ declare module 'doric/lib/src/widget/index.widget' { export * from 'doric/lib/src/widget/flowlayout'; export * from 'doric/lib/src/widget/input'; export * from 'doric/lib/src/widget/nestedSlider'; + export * from 'doric/lib/src/widget/draggable'; } declare module 'doric/lib/src/native/index.native' { @@ -653,6 +654,18 @@ declare module 'doric/lib/src/widget/nestedSlider' { } } +declare module 'doric/lib/src/widget/draggable' { + import { View } from "doric/lib/src/ui/view"; + import { IStack, Stack } from "doric/lib/src/widget/layouts"; + export interface IDraggable extends IStack { + onDrag?: (x: number, y: number) => void; + } + export class Draggable extends Stack implements IDraggable { + onDrag?: (x: number, y: number) => void; + } + export function draggable(config: IDraggable, views: View[]): Draggable; +} + declare module 'doric/lib/src/native/modal' { import { BridgeContext } from "doric/lib/src/runtime/global"; import { Gravity } from "doric/lib/src/util/gravity"; diff --git a/doric-js/lib/src/widget/draggable.d.ts b/doric-js/lib/src/widget/draggable.d.ts new file mode 100644 index 00000000..14d1506e --- /dev/null +++ b/doric-js/lib/src/widget/draggable.d.ts @@ -0,0 +1,9 @@ +import { View } from "../ui/view"; +import { IStack, Stack } from "../widget/layouts"; +export interface IDraggable extends IStack { + onDrag?: (x: number, y: number) => void; +} +export declare class Draggable extends Stack implements IDraggable { + onDrag?: (x: number, y: number) => void; +} +export declare function draggable(config: IDraggable, views: View[]): Draggable; diff --git a/doric-js/lib/src/widget/draggable.js b/doric-js/lib/src/widget/draggable.js new file mode 100644 index 00000000..ccb64118 --- /dev/null +++ b/doric-js/lib/src/widget/draggable.js @@ -0,0 +1,44 @@ +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +/* + * 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. + */ +import { Property } 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); +export function draggable(config, views) { + const ret = new Draggable; + ret.layoutConfig = layoutConfig().fit(); + for (let key in config) { + Reflect.set(ret, key, Reflect.get(config, key, config), ret); + } + for (let v of views) { + ret.addChild(v); + } + return ret; +} diff --git a/doric-js/lib/src/widget/index.widget.d.ts b/doric-js/lib/src/widget/index.widget.d.ts index db0d5271..95e07520 100644 --- a/doric-js/lib/src/widget/index.widget.d.ts +++ b/doric-js/lib/src/widget/index.widget.d.ts @@ -8,3 +8,4 @@ export * from './refreshable'; export * from './flowlayout'; export * from './input'; export * from './nestedSlider'; +export * from './draggable'; diff --git a/doric-js/lib/src/widget/index.widget.js b/doric-js/lib/src/widget/index.widget.js index 5b137579..ab6b8dfd 100644 --- a/doric-js/lib/src/widget/index.widget.js +++ b/doric-js/lib/src/widget/index.widget.js @@ -23,3 +23,4 @@ export * from './refreshable'; export * from './flowlayout'; export * from './input'; export * from './nestedSlider'; +export * from './draggable';