Changeset 196

Show
Ignore:
Timestamp:
09/02/08 21:49:48 (3 months ago)
Author:
rgrp
Message:

[js/factletdetails][m/l]: add support for inpage updating of factlet details in thread view courtesy of a new factletsdetailview and and a new threadreadpagecontroller.

  • factletdetailsview works by pulling templated html directly from server via factlet/read_core. May want to change this to reduce coupling of js and python server side code.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/microfacts/public/behaviour/app/controllers/microfacts_controller.js

    r158 r196  
    11var MicrofactsController = new Class({ 
    22    initialize: function (element) { 
    3         element.getElements('.factlet').each(function (el) { 
    4             new FactletController(el); 
     3        element.getElements('.factlet-details').each(function (el) { 
     4            new FactletDetailsView(el); 
    55        }); 
    66        element.getElements('.thread-factlets').each(function (el) { 
    7             new ThreadFactletsController(el); 
     7            new ThreadFactletsView(el); 
    88        }); 
    99    } 
  • trunk/microfacts/public/behaviour/load.js

    r185 r196  
    137137 
    138138loader.addModule({ 
     139    name: "factletdetailsview", 
     140    type: "js", 
     141    path: "app/views/factletdetailsview.js?" + Math.random(), 
     142    requires: ['view'], 
     143    varName: "FactletDetailsView" 
     144}); 
     145 
     146loader.addModule({ 
    139147    name: "threadfactletsview", 
    140148    type: "js", 
     
    196204    type: "js", 
    197205    path: "app/microfacts.js?" + Math.random(), 
    198     requires: ['domainobject', 'view', 'controller', 'microfactscontroller', 'factletcontroller', 'threadfactletsview', 'mapview', 'timelineview', 'geochronopagecontroller', 'threadpagecontroller'], 
     206    requires: ['domainobject', 'view', 'controller', 'microfactscontroller', 'factletcontroller', 'factletdetailsview', 'threadfactletsview', 'mapview', 'timelineview', 'geochronopagecontroller', 'threadpagecontroller'], 
    199207    varName: "Microfacts" 
     208}); 
     209 
     210loader.addModule({ 
     211    name: "threadreadpagecontroller", 
     212    type: "js", 
     213    path: "app/controllers/threadreadpage_controller.js?" + Math.random(), 
     214    requires: ['model', 'domainobject', 'view', 'controller', 'thread', 'factlet', 'threadfactletsview', 'factletdetailsview'], 
     215    varName: "ThreadReadPageController" 
    200216}); 
    201217 
  • trunk/microfacts/public/test/index.html

    r185 r196  
    5656  <!-- views --> 
    5757  <script type="text/javascript" src="spec/view_spec.js?123"></script> 
     58  <script type="text/javascript" src="spec/factletdetailsview_spec.js?123"></script> 
    5859  <script type="text/javascript" src="spec/threadfactletsview_spec.js?123"></script> 
    5960  <script type="text/javascript" src="spec/factletsearchview_spec.js?123"></script> 
     
    9798  <div id="view"></div> 
    9899 
     100  <div class="factlet-details"> 
     101  </div> 
     102 
    99103  <div class="thread-factlets"> 
    100104    <div id="factlet-101" class="factlet"> 
  • trunk/microfacts/templates/factlet/read_core.html

    r195 r196  
    2424        </dd> 
    2525        <dt>Source</dt> 
    26         <dd><a href="${c.factlet.source}">${c.factlet.source}</a></dd> 
     26        <dd> 
     27          <py:if test="c.factlet.source"> 
     28          <a href="${c.factlet.source}">${c.factlet.source}</a> 
     29          </py:if> 
     30        </dd> 
    2731        <dt>License</dt> 
    2832        <dd>${c.factlet.license}</dd> 
  • trunk/microfacts/templates/thread/read.html

    r113 r196  
    88   
    99  <xi:include href="layout.html" /> 
     10 
     11  <py:def function="pagecontrollername">threadreadpagecontroller</py:def> 
    1012 
    1113  <head>