Changeset 159
- Timestamp:
- 08/19/08 17:07:59 (5 months ago)
- Files:
-
- trunk/microfacts/public/behaviour/app/controllers/threadfactlets_controller.js (modified) (1 diff)
- trunk/microfacts/public/behaviour/app/controllers/threadpage_controller.js (modified) (1 diff)
- trunk/microfacts/public/behaviour/app/models/thread.js (added)
- trunk/microfacts/public/behaviour/load.js (modified) (3 diffs)
- trunk/microfacts/templates/thread/update.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/microfacts/public/behaviour/app/controllers/threadfactlets_controller.js
r158 r159 8 8 // this.views.push(new PageTitleView('Factlets')); 9 9 // this.addDefaultListeners(); 10 this.factlets = []; 11 }, 12 13 onFactletSelect: function (factlet) { 14 console.log("ThreadFactletsController saw factletSelect event"); 15 console.log(factlet); 16 // Todo: Indicate selected factlet. 17 // el = findElement(factlet); 18 // el.highLight(); 19 }, 20 21 onNewData: function(data) { 22 // if data is relevant to us: 23 // this.factlets.append ... 10 24 }, 11 25 12 26 controls: { 13 '.factlet click': function (el) { 27 '.factlet click': function (e) { 28 var evt = new Event(e); 14 29 console.log('Factlet in ThreadFactlets clicked.'); 15 console.log(el); 16 this.fireEvent('factletSelect', el); 30 console.log(evt.target.id); 31 var divId = evt.target.id; 32 // Todo: Acquire factlet from div id value. 33 var factlet = {'title': 'MyFactlet', 'id': divId}; 34 this.fireEvent('factletSelect', factlet); 17 35 // this.model.data.title = "Virgin Wolf"; 18 36 // this.model.save(); trunk/microfacts/public/behaviour/app/controllers/threadpage_controller.js
r158 r159 2 2 Extends: Controller, 3 3 4 onFactletSelect: function( el) {4 onFactletSelect: function(factlet) { 5 5 console.log('ThreadPageController: saw factletSelect event'); 6 console.log(el); 6 console.log(factlet); 7 this.fireEvent('factletSelect', factlet); 7 8 }, 8 9 9 10 initialize: function (element) { 11 this.controllers = []; 10 12 console.log('ThreadPageController: initialize'); 11 13 element.getElements('.thread-factlets').each(function (el) { 12 var con = new ThreadFactletsController(el); 13 con.addEvent('factletSelect', this.onFactletSelect.bind(this)); 14 this.addController(new ThreadFactletsController(el)); 14 15 }, this); 16 console.log(threadId); 17 this.model = Model.Resource('Thread', threadId); 18 console.log('Model is'); 19 console.log(this.model); 20 }, 21 22 addController: function(controller) { 23 this.controllers.push(controller); 24 controller.addEvent('factletSelect', this.onFactletSelect.bind(this)); 25 this.addEvent('factletSelect', controller.onFactletSelect.bind(controller)); 15 26 } 16 27 }); trunk/microfacts/public/behaviour/load.js
r158 r159 77 77 }); 78 78 79 loader.addModule({ 80 name: "thread", 81 type: "js", 82 path: "app/models/thread.js?" + Math.random(), 83 requires: ['model'], 84 varName: "Thread" 85 }); 86 79 87 // ========= 80 88 // = Views = … … 114 122 type: "js", 115 123 path: "app/controllers/threadfactlets_controller.js?" + Math.random(), 116 requires: ['controller' ],124 requires: ['controller', 'thread'], 117 125 varName: "ThreadFactletsController" 118 126 }); … … 165 173 type: "js", 166 174 path: "app/controllers/threadpage_controller.js?" + Math.random(), 167 requires: ['model', 'view', 'controller', 'thread factletscontroller'],175 requires: ['model', 'view', 'controller', 'thread', 'threadfactletscontroller'], 168 176 varName: "TheadPageController" 169 177 }); trunk/microfacts/templates/thread/update.html
r158 r159 15 15 </head> 16 16 17 <script type="text/javascript" charset="utf-8"> 18 var threadId = ${c.thread.id}; 19 </script> 20 17 21 <body> 18 22 <aside id="thread-control-${c.thread.id}" py:if="len(c.thread.factlets) > 0">
