Skip to content

Commit 098f9eb

Browse files
Merge render events to a single module
1 parent ba2d49a commit 098f9eb

40 files changed

+353
-408
lines changed

lib/application.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ var loggers_1 = require("./utils/loggers");
2929
var fs_1 = require("./utils/fs");
3030
var index_1 = require("./models/index");
3131
var index_2 = require("./converter/index");
32-
var Renderer_1 = require("./output/Renderer");
32+
var renderer_1 = require("./output/renderer");
3333
var component_1 = require("./utils/component");
3434
var index_3 = require("./utils/options/index");
3535
var declaration_1 = require("./utils/options/declaration");
@@ -40,7 +40,7 @@ var Application = (function (_super) {
4040
_super.call(this, null);
4141
this.logger = new loggers_1.ConsoleLogger();
4242
this.converter = this.addComponent('converter', index_2.Converter);
43-
this.renderer = this.addComponent('renderer', Renderer_1.Renderer);
43+
this.renderer = this.addComponent('renderer', renderer_1.Renderer);
4444
this.plugins = this.addComponent('plugins', plugins_1.Plugins);
4545
this.options = this.addComponent('options', index_3.Options);
4646
this.bootstrap(options);

lib/output/Renderer.js renamed to lib/output/_renderer.js

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* The [[Renderer]] class is the central controller within this namespace. When invoked it creates
55
* an instance of [[BaseTheme]] which defines the layout of the documentation and fires a
6-
* series of [[OutputEvent]] events. Instances of [[BasePlugin]] can listen to these events and
6+
* series of [[RendererEvent]] events. Instances of [[BasePlugin]] can listen to these events and
77
* alter the generated output.
88
*/
99
var __extends = (this && this.__extends) || function (d, b) {
@@ -26,7 +26,7 @@ var Path = require("path");
2626
var FS = require("fs-extra");
2727
var Handlebars = require("handlebars");
2828
var ProgressBar = require("progress");
29-
var OutputEvent_1 = require("./events/OutputEvent");
29+
var events_1 = require("./events");
3030
var fs_1 = require("../utils/fs");
3131
var DefaultTheme_1 = require("./themes/DefaultTheme");
3232
var components_1 = require("./components");
@@ -65,7 +65,7 @@ var Renderer = (function (_super) {
6565
if (!this.prepareTheme() || !this.prepareOutputDirectory(outputDirectory)) {
6666
return;
6767
}
68-
var output = new OutputEvent_1.OutputEvent(Renderer.EVENT_BEGIN);
68+
var output = new events_1.RendererEvent(events_1.RendererEvent.BEGIN);
6969
output.outputDirectory = outputDirectory;
7070
output.project = project;
7171
output.settings = this.application.options.getRawValues();
@@ -80,17 +80,17 @@ var Renderer = (function (_super) {
8080
_this.renderDocument(output.createPageEvent(mapping));
8181
bar.tick();
8282
});
83-
this.trigger(Renderer.EVENT_END, output);
83+
this.trigger(events_1.RendererEvent.END, output);
8484
}
8585
};
8686
Renderer.prototype.renderDocument = function (page) {
87-
this.trigger(Renderer.EVENT_BEGIN_PAGE, page);
87+
this.trigger(events_1.PageEvent.BEGIN, page);
8888
if (page.isDefaultPrevented) {
8989
return false;
9090
}
9191
page.template = page.template || this.getTemplate(Path.join('templates', page.templateName));
9292
page.contents = page.template(page);
93-
this.trigger(Renderer.EVENT_END_PAGE, page);
93+
this.trigger(events_1.PageEvent.END, page);
9494
if (page.isDefaultPrevented) {
9595
return false;
9696
}
@@ -192,10 +192,6 @@ var Renderer = (function (_super) {
192192
}
193193
return buffer.toString("utf8", 0);
194194
};
195-
Renderer.EVENT_BEGIN = 'beginRender';
196-
Renderer.EVENT_END = 'endRender';
197-
Renderer.EVENT_BEGIN_PAGE = 'beginPage';
198-
Renderer.EVENT_END_PAGE = 'endPage';
199195
__decorate([
200196
component_1.Option({
201197
name: 'theme',

lib/output/Theme.js renamed to lib/output/_theme.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
1414
var __metadata = (this && this.__metadata) || function (k, v) {
1515
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1616
};
17-
var Renderer_1 = require("./Renderer");
17+
var renderer_1 = require("./renderer");
1818
var components_1 = require("./components");
1919
var component_1 = require("../utils/component");
2020
var Theme = (function (_super) {
@@ -34,7 +34,7 @@ var Theme = (function (_super) {
3434
};
3535
Theme = __decorate([
3636
component_1.Component({ name: "rendrer:theme", internal: true }),
37-
__metadata('design:paramtypes', [Renderer_1.Renderer, String])
37+
__metadata('design:paramtypes', [renderer_1.Renderer, String])
3838
], Theme);
3939
return Theme;
4040
})(components_1.RendererComponent);

lib/output/components.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var Path = require("path");
77
var component_1 = require("../utils/component");
88
exports.Component = component_1.Component;
99
var index_1 = require("../models/reflections/index");
10-
var Renderer_1 = require("./Renderer");
10+
var events_1 = require("./events");
1111
var RendererComponent = (function (_super) {
1212
__extends(RendererComponent, _super);
1313
function RendererComponent() {
@@ -18,19 +18,25 @@ var RendererComponent = (function (_super) {
1818
exports.RendererComponent = RendererComponent;
1919
var ContextAwareRendererComponent = (function (_super) {
2020
__extends(ContextAwareRendererComponent, _super);
21-
function ContextAwareRendererComponent(renderer) {
22-
_super.call(this, renderer);
23-
renderer.on(Renderer_1.Renderer.EVENT_BEGIN, this.onRendererBegin, this);
24-
renderer.on(Renderer_1.Renderer.EVENT_BEGIN_PAGE, this.onRendererBeginPage, this);
21+
function ContextAwareRendererComponent() {
22+
_super.apply(this, arguments);
2523
}
24+
ContextAwareRendererComponent.prototype.initialize = function () {
25+
this.listenTo(this.owner, (_a = {},
26+
_a[events_1.RendererEvent.BEGIN] = this.onBeginRenderer,
27+
_a[events_1.PageEvent.BEGIN] = this.onBeginPage,
28+
_a
29+
));
30+
var _a;
31+
};
2632
ContextAwareRendererComponent.prototype.getRelativeUrl = function (absolute) {
2733
var relative = Path.relative(Path.dirname(this.location), Path.dirname(absolute));
2834
return Path.join(relative, Path.basename(absolute)).replace(/\\/g, '/');
2935
};
30-
ContextAwareRendererComponent.prototype.onRendererBegin = function (event) {
36+
ContextAwareRendererComponent.prototype.onBeginRenderer = function (event) {
3137
this.project = event.project;
3238
};
33-
ContextAwareRendererComponent.prototype.onRendererBeginPage = function (page) {
39+
ContextAwareRendererComponent.prototype.onBeginPage = function (page) {
3440
this.location = page.url;
3541
this.reflection = page.model instanceof index_1.DeclarationReflection ? page.model : null;
3642
};

lib/output/events.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
var __extends = (this && this.__extends) || function (d, b) {
2+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
3+
function __() { this.constructor = d; }
4+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5+
};
6+
var Path = require("path");
7+
var events_1 = require("../utils/events");
8+
var RendererEvent = (function (_super) {
9+
__extends(RendererEvent, _super);
10+
function RendererEvent() {
11+
_super.apply(this, arguments);
12+
}
13+
RendererEvent.prototype.createPageEvent = function (mapping) {
14+
var event = new PageEvent(PageEvent.BEGIN);
15+
event.project = this.project;
16+
event.settings = this.settings;
17+
event.url = mapping.url;
18+
event.model = mapping.model;
19+
event.templateName = mapping.template;
20+
event.filename = Path.join(this.outputDirectory, mapping.url);
21+
return event;
22+
};
23+
RendererEvent.BEGIN = 'beginRender';
24+
RendererEvent.END = 'endRender';
25+
return RendererEvent;
26+
})(events_1.Event);
27+
exports.RendererEvent = RendererEvent;
28+
var PageEvent = (function (_super) {
29+
__extends(PageEvent, _super);
30+
function PageEvent() {
31+
_super.apply(this, arguments);
32+
}
33+
PageEvent.BEGIN = 'beginPage';
34+
PageEvent.END = 'endPage';
35+
return PageEvent;
36+
})(events_1.Event);
37+
exports.PageEvent = PageEvent;
38+
var MarkdownEvent = (function (_super) {
39+
__extends(MarkdownEvent, _super);
40+
function MarkdownEvent() {
41+
_super.apply(this, arguments);
42+
}
43+
MarkdownEvent.PARSE = 'parseMarkdown';
44+
return MarkdownEvent;
45+
})(events_1.Event);
46+
exports.MarkdownEvent = MarkdownEvent;

lib/output/events/MarkdownEvent.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

lib/output/events/OutputEvent.js

Lines changed: 0 additions & 26 deletions
This file was deleted.

lib/output/events/OutputPageEvent.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

lib/output/plugins/AssetsPlugin.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1717
var Path = require("path");
1818
var FS = require("fs-extra");
1919
var components_1 = require("../components");
20-
var Renderer_1 = require("../Renderer");
20+
var events_1 = require("../events");
21+
var renderer_1 = require("../renderer");
2122
var AssetsPlugin = (function (_super) {
2223
__extends(AssetsPlugin, _super);
2324
function AssetsPlugin() {
@@ -26,13 +27,13 @@ var AssetsPlugin = (function (_super) {
2627
}
2728
AssetsPlugin.prototype.initialize = function () {
2829
this.listenTo(this.owner, (_a = {},
29-
_a[Renderer_1.Renderer.EVENT_BEGIN] = this.onRendererBegin,
30+
_a[events_1.RendererEvent.BEGIN] = this.onRendererBegin,
3031
_a
3132
));
3233
var _a;
3334
};
3435
AssetsPlugin.prototype.onRendererBegin = function (event) {
35-
var fromDefault = Path.join(Renderer_1.Renderer.getDefaultTheme(), 'assets');
36+
var fromDefault = Path.join(renderer_1.Renderer.getDefaultTheme(), 'assets');
3637
var to = Path.join(event.outputDirectory, 'assets');
3738
if (this.copyDefaultAssets) {
3839
FS.copySync(fromDefault, to);

lib/output/plugins/JavascriptIndexPlugin.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,14 @@ var index_1 = require("../../models/reflections/index");
1919
var GroupPlugin_1 = require("../../converter/plugins/GroupPlugin");
2020
var components_1 = require("../components");
2121
var fs_1 = require("../../utils/fs");
22-
var Renderer_1 = require("../Renderer");
22+
var events_1 = require("../events");
2323
var JavascriptIndexPlugin = (function (_super) {
2424
__extends(JavascriptIndexPlugin, _super);
2525
function JavascriptIndexPlugin() {
2626
_super.apply(this, arguments);
2727
}
2828
JavascriptIndexPlugin.prototype.initialize = function () {
29-
this.listenTo(this.owner, (_a = {},
30-
_a[Renderer_1.Renderer.EVENT_BEGIN] = this.onRendererBegin,
31-
_a
32-
));
33-
var _a;
29+
this.listenTo(this.owner, events_1.RendererEvent.BEGIN, this.onRendererBegin);
3430
};
3531
JavascriptIndexPlugin.prototype.onRendererBegin = function (event) {
3632
var rows = [];

0 commit comments

Comments
 (0)