import React = require("react"); export enum TemplatePosition { InnerTop, InnerBottom, InnerRight, InnerLeft, OutterTop, OutterBottom, OutterRight, OutterLeft, } export class Template { constructor(name: string, position: TemplatePosition, layout: string) { this._name = name; this._position = position; this._layout = layout; } private _name: string; private _position: TemplatePosition; private _layout: string; get Name(): string { return this._name; } get Position(): TemplatePosition { return this._position; } get Layout(): string { return this._layout; } } export namespace Templates { // export const BasicLayout = new Template("Basic layout", "{layout}"); export const OuterCaption = new Template("Outer caption", TemplatePosition.OutterBottom, `
{layout}
` ); export const InnerCaption = new Template("Inner caption", TemplatePosition.InnerBottom, `
{layout}
` ); export const SideCaption = new Template("Side caption", TemplatePosition.OutterRight, `
{layout}
` ); export const Title = new Template("Title", TemplatePosition.InnerTop, `
{layout}
{props.Document.title}
` ); export const Summary = new Template("Title", TemplatePosition.InnerTop, `
{layout}
{props.Document.doc1.title}
` ); // export const Summary = new Template("Title", TemplatePosition.InnerTop, // `
//
// {layout} //
//
// //
//
// //
//
` // ); export const TemplateList: Template[] = [Title, OuterCaption, InnerCaption, SideCaption]; export function sortTemplates(a: Template, b: Template) { if (a.Position < b.Position) { return -1; } if (a.Position > b.Position) { return 1; } return 0; } }