summaryrefslogtreecommitdiffstats
path: root/examples/infinite-scroll/js/vm.js
diff options
context:
space:
mode:
authorThomas Davis <thomasalwyndavis@gmail.com>2012-04-28 13:01:31 +1000
committerThomas Davis <thomasalwyndavis@gmail.com>2012-04-28 13:01:31 +1000
commit663d44f98d52a8153d1259e90f009d5f0a6d4845 (patch)
tree1fd791d7ddcbfd137b6d9302ccb4f1f0f6e6bb71 /examples/infinite-scroll/js/vm.js
parentab807ffe21c6439f2cdd5f3d3df8cd59f9cb12a6 (diff)
downloadbackbonetutorials-663d44f98d52a8153d1259e90f009d5f0a6d4845.zip
backbonetutorials-663d44f98d52a8153d1259e90f009d5f0a6d4845.tar.gz
backbonetutorials-663d44f98d52a8153d1259e90f009d5f0a6d4845.tar.bz2
infinite scroll
Diffstat (limited to 'examples/infinite-scroll/js/vm.js')
-rw-r--r--examples/infinite-scroll/js/vm.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/infinite-scroll/js/vm.js b/examples/infinite-scroll/js/vm.js
new file mode 100644
index 0000000..0bcf4c1
--- /dev/null
+++ b/examples/infinite-scroll/js/vm.js
@@ -0,0 +1,33 @@
+// Use this as a quick template for future modules
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'events'
+], function($, _, Backbone, Events){
+ var views = {};
+ var create = function (context, name, View, options) {
+ // View clean up isn't actually implemented yet but will simply call .clean, .remove and .unbind
+ if(typeof views[name] !== 'undefined') {
+ views[name].undelegateEvents();
+ if(typeof views[name].clean === 'function') {
+ views[name].clean();
+ }
+ }
+ var view = new View(options);
+ views[name] = view;
+ if(typeof context.children === 'undefined'){
+ context.children = {};
+ context.children[name] = view;
+ } else {
+ context.children[name] = view;
+ }
+ Events.trigger('viewCreated');
+ return view;
+ }
+
+
+ return {
+ create: create
+ };
+});