• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// @declaration: true
2
3declare module templa.mvc {
4    interface IModel {
5    }
6}
7declare module templa.mvc {
8    interface IController<ModelType extends templa.mvc.IModel> {
9    }
10}
11declare module templa.mvc {
12    class AbstractController<ModelType extends templa.mvc.IModel> implements mvc.IController<ModelType> {
13    }
14}
15declare module templa.mvc.composite {
16    interface ICompositeControllerModel extends mvc.IModel {
17        getControllers(): mvc.IController<mvc.IModel>[];
18    }
19}
20module templa.dom.mvc {
21    export interface IElementController<ModelType extends templa.mvc.IModel> extends templa.mvc.IController<ModelType> {
22    }
23}
24// Module
25module templa.dom.mvc {
26
27    export class AbstractElementController<ModelType extends templa.mvc.IModel> extends templa.mvc.AbstractController<ModelType> implements IElementController<ModelType> {
28        constructor() {
29            super();
30        }
31    }
32}
33// Module
34module templa.dom.mvc.composite {
35    export class AbstractCompositeElementController<ModelType extends templa.mvc.composite.ICompositeControllerModel> extends templa.dom.mvc.AbstractElementController<ModelType> {
36        public _controllers: templa.mvc.IController<templa.mvc.IModel>[];
37        constructor() {
38            super();
39            this._controllers = [];
40        }
41    }
42}
43