From e1ed82ff684877b56925016282a0e4d5bb4e1b4b Mon Sep 17 00:00:00 2001 From: Tyler Schicke Date: Sun, 13 Jan 2019 06:16:11 -0500 Subject: More controller stuff --- src/controllers/DocumentReferenceController.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/controllers/DocumentReferenceController.ts') diff --git a/src/controllers/DocumentReferenceController.ts b/src/controllers/DocumentReferenceController.ts index 9d5bb7af2..9cf128614 100644 --- a/src/controllers/DocumentReferenceController.ts +++ b/src/controllers/DocumentReferenceController.ts @@ -1,4 +1,4 @@ -import { FieldController } from "./FieldController"; +import { FieldController, Opt } from "./FieldController"; import { DocumentController } from "./DocumentController"; import { KeyController } from "./KeyController"; import { DocumentUpdatedArgs } from "./FieldUpdatedArgs"; @@ -22,6 +22,18 @@ export class DocumentReferenceController extends FieldController { this.FieldUpdated.emit(args.fieldArgs); } + protected DereferenceImpl() : Opt { + return this.document.GetField(this.key); + } + + protected DereferenceToRootImpl(): Opt { + let field: Opt = this; + while (field instanceof DocumentReferenceController) { + field = field.Dereference(); + } + return field; + } + TrySetValue(value: any): boolean { throw new Error("Method not implemented."); } -- cgit v1.2.3-70-g09d2