From 89204d74d2a5014b4e241973b1bdb8461ed4f78c Mon Sep 17 00:00:00 2001 From: Tyler Schicke Date: Tue, 15 Jan 2019 22:31:57 -0500 Subject: More stuff set up --- src/controllers/BasicFieldController.ts | 38 ----------- src/controllers/DocumentController.ts | 90 -------------------------- src/controllers/DocumentReferenceController.ts | 46 ------------- src/controllers/FieldController.ts | 54 ---------------- src/controllers/FieldUpdatedArgs.ts | 27 -------- src/controllers/KeyController.ts | 36 ----------- src/controllers/ListController.ts | 30 --------- src/controllers/NumberController.ts | 14 ---- src/controllers/TextController.ts | 14 ---- 9 files changed, 349 deletions(-) delete mode 100644 src/controllers/BasicFieldController.ts delete mode 100644 src/controllers/DocumentController.ts delete mode 100644 src/controllers/DocumentReferenceController.ts delete mode 100644 src/controllers/FieldController.ts delete mode 100644 src/controllers/FieldUpdatedArgs.ts delete mode 100644 src/controllers/KeyController.ts delete mode 100644 src/controllers/ListController.ts delete mode 100644 src/controllers/NumberController.ts delete mode 100644 src/controllers/TextController.ts (limited to 'src/controllers') diff --git a/src/controllers/BasicFieldController.ts b/src/controllers/BasicFieldController.ts deleted file mode 100644 index 923bc335c..000000000 --- a/src/controllers/BasicFieldController.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { FieldController } from "./FieldController" -import { observable, computed, action } from "mobx"; - -export abstract class BasicFieldController extends FieldController { - constructor(data: T) { - super(); - - this.data = data; - } - - @observable - private data:T; - - @computed - get Data(): T { - return this.data; - } - - set Data(value: T) { - if(this.data === value) { - return; - } - this.data = value; - } - - @action - TrySetValue(value: any): boolean { - if (typeof value == typeof this.data) { - this.Data = value; - return true; - } - return false; - } - - GetValue(): any { - return this.Data; - } -} diff --git a/src/controllers/DocumentController.ts b/src/controllers/DocumentController.ts deleted file mode 100644 index 0627f9717..000000000 --- a/src/controllers/DocumentController.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { FieldController, Cast, Opt } from "./FieldController" -import { KeyController, KeyStore } from "./KeyController" -import { TypedEvent, Listener, Disposable } from "../util/TypedEvent"; -import { DocumentUpdatedArgs, FieldUpdatedAction } from "./FieldUpdatedArgs"; -import { ObservableMap } from "mobx"; - -export class DocumentController extends FieldController { - private fields: ObservableMap = new ObservableMap(); - - GetField(key: KeyController, ignoreProto?: boolean): Opt { - let field: Opt; - if (ignoreProto) { - if (this.fields.has(key)) { - field = this.fields.get(key); - } - } else { - let doc: Opt = this; - while (doc && !(doc.fields.has(key))) { - doc = doc.GetPrototype(); - } - - if (doc) { - field = doc.fields.get(key); - } - } - - return field; - } - - GetFieldT(key: KeyController, ctor: { new(): T }, ignoreProto?: boolean): Opt { - return Cast(this.GetField(key, ignoreProto), ctor); - } - - SetField(key: KeyController, field: Opt): void { - if (field) { - this.fields.set(key, field); - } else { - this.fields.delete(key); - } - } - - SetFieldValue(key: KeyController, value: any, ctor: { new(): T }): boolean { - let field = this.GetField(key); - if (field != null) { - return field.TrySetValue(value); - } else { - field = new ctor(); - if (field.TrySetValue(value)) { - this.SetField(key, field); - return true; - } else { - return false; - } - } - } - - GetPrototype(): Opt { - return this.GetFieldT(KeyStore.Prototype, DocumentController, true); - } - - GetAllPrototypes(): DocumentController[] { - let protos: DocumentController[] = []; - let doc: Opt = this; - while (doc != null) { - protos.push(doc); - doc = doc.GetPrototype(); - } - return protos; - } - - MakeDelegate(): DocumentController { - let delegate = new DocumentController(); - - delegate.SetField(KeyStore.Prototype, this); - - return delegate; - } - - TrySetValue(value: any): boolean { - throw new Error("Method not implemented."); - } - GetValue() { - throw new Error("Method not implemented."); - } - Copy(): FieldController { - throw new Error("Method not implemented."); - } - - -} \ No newline at end of file diff --git a/src/controllers/DocumentReferenceController.ts b/src/controllers/DocumentReferenceController.ts deleted file mode 100644 index 8e0aaf0e9..000000000 --- a/src/controllers/DocumentReferenceController.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { FieldController, Opt } from "./FieldController"; -import { DocumentController } from "./DocumentController"; -import { KeyController } from "./KeyController"; -import { DocumentUpdatedArgs } from "./FieldUpdatedArgs"; - -export class DocumentReferenceController extends FieldController { - get Key(): KeyController{ - return this.key; - } - - get Document(): DocumentController { - return this.document; - } - - constructor(private document: DocumentController, private key: KeyController) { - super(); - } - - private DocFieldUpdated(args: DocumentUpdatedArgs):void{ - // this.FieldUpdated.emit(args.fieldArgs); - } - - Dereference() : Opt { - return this.document.GetField(this.key); - } - - DereferenceToRoot(): Opt { - let field: Opt = this; - while (field instanceof DocumentReferenceController) { - field = field.Dereference(); - } - return field; - } - - TrySetValue(value: any): boolean { - throw new Error("Method not implemented."); - } - GetValue() { - throw new Error("Method not implemented."); - } - Copy(): FieldController { - throw new Error("Method not implemented."); - } - - -} \ No newline at end of file diff --git a/src/controllers/FieldController.ts b/src/controllers/FieldController.ts deleted file mode 100644 index ec59f53e8..000000000 --- a/src/controllers/FieldController.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { TypedEvent } from "../util/TypedEvent"; -import { FieldUpdatedArgs } from "./FieldUpdatedArgs"; -import { DocumentReferenceController } from "./DocumentReferenceController"; -import { Utils } from "../Utils"; - -export function Cast(field: Opt, ctor: { new(): T }): Opt { - if (field) { - if (ctor && field instanceof ctor) { - return field; - } - } - return undefined; -} - -export type Opt = T | undefined; - -export abstract class FieldController { - //FieldUpdated: TypedEvent> = new TypedEvent>(); - - private id: string; - get Id(): string { - return this.id; - } - - constructor(id: Opt = undefined) { - this.id = id || Utils.GenerateGuid(); - } - - Dereference(): Opt { - return this; - } - DereferenceToRoot(): Opt { - return this; - } - - DereferenceT(ctor: { new(): T }): Opt { - return Cast(this.Dereference(), ctor); - } - - DereferenceToRootT(ctor: { new(): T }): Opt { - return Cast(this.DereferenceToRoot(), ctor); - } - - Equals(other: FieldController): boolean { - return this.id === other.id; - } - - abstract TrySetValue(value: any): boolean; - - abstract GetValue(): any; - - abstract Copy(): FieldController; - -} \ No newline at end of file diff --git a/src/controllers/FieldUpdatedArgs.ts b/src/controllers/FieldUpdatedArgs.ts deleted file mode 100644 index f258c53e2..000000000 --- a/src/controllers/FieldUpdatedArgs.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { FieldController, Opt } from "./FieldController"; -import { DocumentController } from "./DocumentController"; -import { KeyController } from "./KeyController"; - -export enum FieldUpdatedAction { - Add, - Remove, - Replace, - Update -} - -export interface FieldUpdatedArgs { - field: FieldController; - action: FieldUpdatedAction; -} - -export interface DocumentUpdatedArgs { - field: DocumentController; - key: KeyController; - - oldValue: Opt; - newValue: Opt; - - fieldArgs?: FieldUpdatedArgs; - - action: FieldUpdatedAction; -} diff --git a/src/controllers/KeyController.ts b/src/controllers/KeyController.ts deleted file mode 100644 index 68eed3961..000000000 --- a/src/controllers/KeyController.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { FieldController } from "./FieldController" -import { Utils } from "../Utils"; - -export class KeyController extends FieldController { - get Name():string { - return this.name; - } - - constructor(private name:string){ - super(Utils.GenerateDeterministicGuid(name)); - } - - TrySetValue(value: any): boolean { - throw new Error("Method not implemented."); - } - - GetValue() { - return this.Name; - } - - Copy(): FieldController { - return this; - } - - -} - -export namespace KeyStore { - export let Prototype = new KeyController("Prototype"); - export let X = new KeyController("Y"); - export let Y = new KeyController("Y"); - export let Width = new KeyController("Width"); - export let Height = new KeyController("Height"); - export let Data = new KeyController("Data"); - export let View = new KeyController("View"); -} \ No newline at end of file diff --git a/src/controllers/ListController.ts b/src/controllers/ListController.ts deleted file mode 100644 index 94a4ae828..000000000 --- a/src/controllers/ListController.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { FieldController } from "./FieldController"; -import { BasicFieldController } from "./BasicFieldController"; -import { NumberController } from "./NumberController"; -import { TextController } from "./TextController"; - -export class ListController extends BasicFieldController { - constructor(data: T[] = []) { - super(data.slice()); - - let arr:TextController[] = []; - this.Test(arr); - } - - Test(test: FieldController[]){ - test.push(new NumberController()); - } - - Get(index:number) : T{ - return this.Data[index]; - } - - Set(index:number, value:T):void { - this.Data[index] = value; - } - - Copy(): FieldController { - return new ListController(this.Data); - } - -} \ No newline at end of file diff --git a/src/controllers/NumberController.ts b/src/controllers/NumberController.ts deleted file mode 100644 index aeedf025b..000000000 --- a/src/controllers/NumberController.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BasicFieldController } from "./BasicFieldController" -import { FieldUpdatedAction } from "./FieldUpdatedArgs"; - -export class NumberController extends BasicFieldController { - constructor(data: number = 0) { - super(data); - } - - Copy() { - return new NumberController(this.Data); - } - - -} \ No newline at end of file diff --git a/src/controllers/TextController.ts b/src/controllers/TextController.ts deleted file mode 100644 index 5d4b43170..000000000 --- a/src/controllers/TextController.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BasicFieldController } from "./BasicFieldController" -import { FieldUpdatedAction } from "./FieldUpdatedArgs"; - -export class TextController extends BasicFieldController { - constructor(data: string = "") { - super(data); - } - - Copy() { - return new TextController(this.Data); - } - - -} -- cgit v1.2.3-70-g09d2