cms/app-client/app/components/visu-chrono.js
author nowmad@23.1.168.192.in-addr.arpa
Fri, 22 Jan 2016 13:15:47 +0100
changeset 98 2e6bfce6f99c
parent 92 3437f5191645
child 120 e5e15547ffb1
permissions -rw-r--r--
add details tab for perma-link to documents

import Ember from 'ember';

export default Ember.Component.extend({
  didInsertElement: function(){
    var _this = this;

    if (this.get('container').lookup('controller:application').date !== null){
      this.highlightQuery(this.get('container').lookup('controller:application').date);
    }

    var isMouseDown = false,
      isHighlighted;
    Ember.$("#chrono-table li").mousedown(function () {
      isMouseDown = true;
      Ember.$(this).toggleClass("highlighted");
      isHighlighted = Ember.$(this).hasClass("highlighted");
      _this.sendUpdate();
      return false; // prevent text selection
    }).mouseover(function () {
      if (isMouseDown) {
        Ember.$(this).toggleClass("highlighted", isHighlighted);
        _this.sendUpdate();
      }
    }).bind("selectstart", function () {
      return false;
    });

    Ember.$(document).mouseup(function () {
      isMouseDown = false;
    });
  },
  sendUpdate: function(){
    var dateQuery = [];
    Ember.$('.highlighted').map(function(index, elt) {
      dateQuery.push(parseInt(Ember.$(elt).parent().attr('id')) + parseInt(Ember.$(elt).html()));
    });
    this.sendAction('action', dateQuery);
  },
  highlightQuery: function(list){
    list.map(function(elt){
      var year = Math.floor(parseInt(elt)/10)*10;
      Ember.$("#"+year+" ."+(parseInt(elt)-year)).toggleClass("highlighted", true);
    });
  }
});