UNPKG

1.75 kBJavaScriptView Raw
1var util = require("./util"),
2 _ = require("underscore"),
3 Binding = require("./binding");
4
5exports.forceUpdate = function() {
6 if (this.binding != null) this.binding.render(this);
7 return this;
8}
9
10exports.paint = function(parent, beforeNode) {
11 if (this.binding == null) {
12 this.binding = this.render();
13 this.forceUpdate();
14 this.emit("render", this.binding);
15 }
16
17 if (_.isString(parent)) parent = document.querySelector(parent);
18 if (_.isString(beforeNode)) beforeNode = parent.querySelector(beforeNode);
19 if (parent == null) parent = document.createDocumentFragment();
20
21 this.binding.appendTo(parent, beforeNode);
22 this.emit("paint", parent, beforeNode);
23
24 return this;
25}
26
27exports.render = function() {
28 throw new Error("Missing render method.");
29}
30
31exports.erase = function() {
32 if (this.binding != null) {
33 this.binding.destroy();
34 delete this.binding;
35 this.emit("erase");
36 }
37
38 return this;
39}
40
41exports.toHTML = function() {
42 var binding, html;
43
44 binding = this.render();
45 html = binding.toString();
46 binding.destroy();
47
48 return html;
49}
50
51exports.find = function(selector) {
52 if (this.binding != null) return this.binding.find(selector);
53 return null;
54}
55
56exports.findAll = function(selector) {
57 if (this.binding != null) return this.binding.findAll(selector);
58 return [];
59}
60
61// exports.setPartial = function(name, partial) {
62// if (_.isObject(name)) {
63// _.each(name, function(p, n) { this.setPartial(n, p); }, this);
64// return this;
65// }
66
67// if (_.isString(partial)) partial = parse(partial);
68// this._partials[name] = partial;
69// this.emit("partial:" + name, partial);
70
71// return this;
72// }
73
74// exports.removePartial = function(name) {
75// delete this._partials[name];
76// this.emit("partial:" + name);
77// return this;
78// }
\No newline at end of file