From d2e9f14340181ef3ab9698a868df72c5170ffb64 Mon Sep 17 00:00:00 2001 From: andrewdkim Date: Mon, 29 Jul 2019 17:34:44 -0400 Subject: testing interpolation types --- src/client/views/nodes/Keyframe.tsx | 66 +++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'src/client/views/nodes/Keyframe.tsx') diff --git a/src/client/views/nodes/Keyframe.tsx b/src/client/views/nodes/Keyframe.tsx index 6ff925cb5..880c5aee5 100644 --- a/src/client/views/nodes/Keyframe.tsx +++ b/src/client/views/nodes/Keyframe.tsx @@ -10,6 +10,9 @@ import { List } from "../../../new_fields/List"; import { createSchema, defaultSpec, makeInterface, listSpec } from "../../../new_fields/Schema"; import { FlyoutProps } from "./Timeline"; import { Transform } from "../../util/Transform"; +import { DocumentManager } from "../../util/DocumentManager"; +import { CollectionView } from "../collections/CollectionView"; +import { InkField } from "../../../new_fields/InkField"; export namespace KeyframeFunc { export enum KeyframeType { @@ -48,6 +51,7 @@ export namespace KeyframeFunc { regiondata.position = 0; regiondata.fadeIn = 20; regiondata.fadeOut = 20; + regiondata.fadeInX = new List([1, 100]); return regiondata; }; } @@ -65,6 +69,7 @@ export const RegionData = makeInterface(RegionDataSchema); interface IProps { node: Doc; RegionData: Doc; + collection:Doc; changeCurrentBarX: (x: number) => void; setFlyout: (props: FlyoutProps) => any; transform: Transform; @@ -74,6 +79,9 @@ interface IProps { export class Keyframe extends React.Component { @observable private _bar = React.createRef(); + @observable private _fadeInContainer = React.createRef(); + @observable private _fadeOutContainer = React.createRef(); + @observable private _bodyContainer = React.createRef(); @computed private get regiondata() { @@ -112,6 +120,17 @@ export class Keyframe extends React.Component { return last; } + @computed + private get inks(){ + if (this.props.collection.data_ext){ + let data_ext = Cast(this.props.collection.data_ext, Doc) as Doc; + let ink = Cast(data_ext.ink, InkField) as InkField; + if (ink){ + return ink.inkData; + } + } + } + async componentWillMount() { if (!this.regiondata.keyframes) { @@ -300,6 +319,13 @@ export class Keyframe extends React.Component { } + @action + onKeyframeOver = (e: React.PointerEvent) => { + e.preventDefault(); + e.stopPropagation(); + this.props.node.backgroundColor = "#000000"; + + } @action private createKeyframeJSX = (kf: Doc, type = KeyframeFunc.KeyframeType.default) => { if (type === KeyframeFunc.KeyframeType.default) { @@ -319,6 +345,34 @@ export class Keyframe extends React.Component { ); } + onContainerOver = (e: React.PointerEvent, ref:React.RefObject) => { + e.preventDefault(); + e.stopPropagation(); + let div = ref.current!; + div.style.opacity = "1"; + } + + onContainerOut = (e: React.PointerEvent, ref: React.RefObject) => { + e.preventDefault(); + e.stopPropagation(); + let div = ref.current!; + div.style.opacity ="0"; + } + + onContainerDown = (e: React.PointerEvent, ref: React.RefObject) => { + e.preventDefault(); + let mouse = e.nativeEvent; + if (mouse.which === 3){ + let reac = reaction(() => { + return this.inks;}, () => { + document.addEventListener("pointerup", () => { + reac(); + console.log("disposed"); + }); + console.log("drawing"); }); + } + + } render() { return (
@@ -337,6 +391,18 @@ export class Keyframe extends React.Component { {this.regiondata.keyframes!.map(kf => { return this.createKeyframeJSX(kf as Doc, (kf! as Doc).type as KeyframeFunc.KeyframeType); })} +
{this.onContainerOver(e, this._fadeOutContainer); }} + onPointerOut ={(e) => {this.onContainerOut(e, this._fadeOutContainer);}} + onPointerDown={(e) => {this.onContainerDown(e, this._fadeOutContainer); }}>
+
{this.onContainerOver(e, this._fadeInContainer); }} + onPointerOut ={(e) => {this.onContainerOut(e, this._fadeInContainer);}} + onPointerDown={(e) => {this.onContainerDown(e, this._fadeInContainer); }}>
+
{this.onContainerOver(e, this._bodyContainer); }} + onPointerOut ={(e) => {this.onContainerOut(e, this._bodyContainer);}} + onPointerDown={(e) => {this.onContainerDown(e, this._bodyContainer); }}>
); -- cgit v1.2.3-70-g09d2