diff options
Diffstat (limited to 'src/client/views/DocComponent.tsx')
| -rw-r--r-- | src/client/views/DocComponent.tsx | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/src/client/views/DocComponent.tsx b/src/client/views/DocComponent.tsx index b9772fd57..2e6ea1faa 100644 --- a/src/client/views/DocComponent.tsx +++ b/src/client/views/DocComponent.tsx @@ -20,10 +20,10 @@ export interface DocComponentProps {      LayoutTemplate?: () => Opt<Doc>;      LayoutTemplateString?: string;  } -export function DocComponent<P extends DocComponentProps, T>(schemaCtor: (doc: Doc) => T) { +export function DocComponent<P extends DocComponentProps>() {      class Component extends Touchable<P> {          //TODO This might be pretty inefficient if doc isn't observed, because computed doesn't cache then -        @computed get Document(): T { return schemaCtor(this.props.Document); } +        @computed get Document() { return this.props.Document; }          // This is the "The Document" -- it encapsulates, data, layout, and any templates          @computed get rootDoc() { return Cast(this.props.Document.rootDocument, Doc, null) || this.props.Document; }          // This is the rendering data of a document -- it may be "The Document", or it may be some template document that holds the rendering info @@ -48,7 +48,7 @@ interface ViewBoxBaseProps {      renderDepth: number;      rootSelected: (outsideReaction?: boolean) => boolean;  } -export function ViewBoxBaseComponent<P extends ViewBoxBaseProps, T>(schemaCtor: (doc: Doc) => T) { +export function ViewBoxBaseComponent<P extends ViewBoxBaseProps>() {      class Component extends Touchable<P> {          //TODO This might be pretty inefficient if doc isn't observed, because computed doesn't cache then          //@computed get Document(): T { return schemaCtor(this.props.Document); } @@ -92,17 +92,17 @@ export interface ViewBoxAnnotatableProps {      renderDepth: number;      isAnnotationOverlay?: boolean;  } -export function ViewBoxAnnotatableComponent<P extends ViewBoxAnnotatableProps, T>(schemaCtor: (doc: Doc) => T) { +export function ViewBoxAnnotatableComponent<P extends ViewBoxAnnotatableProps>() {      class Component extends Touchable<P> {          @observable _annotationKeySuffix = () => "annotations";          @observable _isAnyChildContentActive = false;          //TODO This might be pretty inefficient if doc isn't observed, because computed doesn't cache then -        @computed get Document(): T { return schemaCtor(this.props.Document); } +        @computed get Document() { return this.props.Document; }          // This is the "The Document" -- it encapsulates, data, layout, and any templates          @computed get rootDoc() { return Cast(this.props.Document.rootDocument, Doc, null) || this.props.Document; }          // This is the rendering data of a document -- it may be "The Document", or it may be some template document that holds the rendering info -        @computed get layoutDoc() { return schemaCtor(Doc.Layout(this.props.Document)); } +        @computed get layoutDoc() { return Doc.Layout(this.props.Document); }          // This is the data part of a document -- ie, the data that is constant across all views of the document          @computed get dataDoc() { return this.props.DataDoc && (this.props.Document.isTemplateForField || this.props.Document.isTemplateDoc) ? this.props.DataDoc : this.props.Document[DataSym]; } | 
