anchor.diff:  });
   
   
  +
  +function main() {
  +  // students
  +  // var serializedData = <%= @serialized_data.to_json.html_safe %>;
  +  var students = <%= IO.read('/Users/krobinson/Desktop/exploratory/cleaned_all_ss.json').html_safe %>;
  +  window.students = students;
  +
  +  // intervention types
  +  var interventionTypes = [{"id":20,"name":"After-School Tutoring (ATP)","created_at":"2015-10-20T20:32:26.191Z","updated_at":"2015-10-20T20:32:26.191Z"},{"id":21,"name":"Attendance Officer","created_at":"2015-10-20T20:32:26.198Z","updated_at":"2015-10-20T20:32:26.198Z"},{"id":22,"name":"Attendance Contract","created_at":"2015-10-20T20:32:26.207Z","updated_at":"2015-10-20T20:32:26.207Z"},{"id":23,"name":"Behavior Contract","created_at":"2015-10-20T20:32:26.212Z","updated_at":"2015-10-20T20:32:26.212Z"},{"id":24,"name":"Behavior Plan","created_at":"2015-10-20T20:32:26.219Z","updated_at":"2015-10-20T20:32:26.219Z"},{"id":25,"name":"Boys \u0026 Girls Club","created_at":"2015-10-20T20:32:26.225Z","updated_at":"2015-10-20T20:32:26.225Z"},{"id":26,"name":"Classroom Academic Intervention","created_at":"2015-10-20T20:32:26.229Z","updated_at":"2015-10-20T20:32:26.229Z"},{"id":27,"name":"Classroom Behavior Intervention","created_at":"2015-10-20T20:32:26.234Z","updated_at":"2015-10-20T20:32:26.234Z"},{"id":28,"name":"Community Schools","created_at":"2015-10-20T20:32:26.241Z","updated_at":"2015-10-20T20:32:26.241Z"},{"id":29,"name":"Counseling: In-House","created_at":"2015-10-20T20:32:26.246Z","updated_at":"2015-10-20T20:32:26.246Z"},{"id":30,"name":"Counseling: Outside/Physician Referral","created_at":"2015-10-20T20:32:26.254Z","updated_at":"2015-10-20T20:32:26.254Z"},{"id":31,"name":"ER Referral (Mental Health)","created_at":"2015-10-20T20:32:26.265Z","updated_at":"2015-10-20T20:32:26.265Z"},{"id":32,"name":"Math Tutor","created_at":"2015-10-20T20:32:26.270Z","updated_at":"2015-10-20T20:32:26.270Z"},{"id":33,"name":"Mobile Crisis Referral","created_at":"2015-10-20T20:32:26.284Z","updated_at":"2015-10-20T20:32:26.284Z"},{"id":34,"name":"MTSS Referral","created_at":"2015-10-20T20:32:26.293Z","updated_at":"2015-10-20T20:32:26.293Z"},{"id":35,"name":"OT/PT Consult","created_at":"2015-10-20T20:32:26.297Z","updated_at":"2015-10-20T20:32:26.297Z"},{"id":36,"name":"Parent Communication","created_at":"2015-10-20T20:32:26.309Z","updated_at":"2015-10-20T20:32:26.309Z"},{"id":37,"name":"Parent Conference/Meeting","created_at":"2015-10-20T20:32:26.320Z","updated_at":"2015-10-20T20:32:26.320Z"},{"id":39,"name":"Peer Mediation","created_at":"2015-10-20T20:32:26.342Z","updated_at":"2015-10-20T20:32:26.342Z"},{"id":40,"name":"Reading Specialist","created_at":"2015-10-20T20:32:26.364Z","updated_at":"2015-10-20T20:32:26.364Z"},{"id":41,"name":"Reading Tutor","created_at":"2015-10-20T20:32:26.375Z","updated_at":"2015-10-20T20:32:26.375Z"},{"id":42,"name":"SST Referral","created_at":"2015-10-20T20:32:26.379Z","updated_at":"2015-10-20T20:32:26.379Z"},{"id":43,"name":"Weekly Call/Email Home","created_at":"2015-10-20T20:32:26.389Z","updated_at":"2015-10-20T20:32:26.389Z"},{"id":44,"name":"X Block Tutor","created_at":"2015-10-20T20:32:26.393Z","updated_at":"2015-10-20T20:32:26.393Z"},{"id":45,"name":"51a Filing","created_at":"2015-10-20T20:32:26.399Z","updated_at":"2015-10-20T20:32:26.399Z"},{"id":46,"name":"Other","created_at":"2015-10-20T20:32:26.405Z","updated_at":"2015-10-20T20:32:26.405Z"}];
  +  var InterventionTypes = interventionTypes.reduce(function(map, interventionType) {
  +    map[interventionType.id] = interventionType;
  +    return map;
  +  }, {});
  +
  +  // TODO(kr) homeroom names
  +
  +  ReactDOM.render(createEl(SchoolOverviewPage, {
  +    allStudents: students,
  +    InterventionTypes: InterventionTypes,
  +    initialFilters: parseFiltersHash(window.location.hash)
  +  }), document.getElementById('main'));
  +}
  +
   // Returns a list of Filters
   function parseFiltersHash(hash) {
     var pieces = _.compact(hash.slice(1).split('&'));
  
positive.code:   homeroom: function(id) {
      return baseUrl + '/homerooms/' + id;
    }
  };
  
  
  
  // React helper fns
  var dom = React.DOM;
  var createEl = React.createElement.bind(React);
  var merge = function(a, b) {
    var out = {};
    Object.keys(a).concat(Object.keys(b)).forEach(function(key) {
      out[key] = b[key] || a[key];
    });
    return out;
  };
  
  
  
negative.code: 
  <script type="text/javascript">
  
  // React helper fns
  var ReactHelpers = {
    dom: React.DOM,
    createEl: React.createElement.bind(React),
    merge: function(a, b) {
      var out = {};
      Object.keys(a).concat(Object.keys(b)).forEach(function(key) {
        out[key] = b[key] || a[key];
      });
      return out;
    }
  };
  var dom = ReactHelpers.dom;
  var createEl = ReactHelpers.createEl;
  var merge = ReactHelpers.merge;
  
  
  
  // Routing functions
  