import React = require("react"); export enum TemplatePosition { InnerTop, InnerBottom, InnerRight, InnerLeft, TopRight, 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 Caption = new Template("Caption", TemplatePosition.OutterBottom, `
{layout}
` ); export const Title = new Template("Title", TemplatePosition.InnerTop, `
{props.Document.title}
{layout}
` ); export const TitleHover = new Template("TitleHover", TemplatePosition.InnerTop, `
{props.Document.title}
{layout}
` ); export const TemplateList: Template[] = [Title, TitleHover, Caption]; export function sortTemplates(a: Template, b: Template) { if (a.Position < b.Position) { return -1; } if (a.Position > b.Position) { return 1; } return 0; } }