Sha256: 4dcce0357df295682611715a15846343071e46a85975ffed475fa221ba4e9b2d

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 KB

Contents

CATARSE.Adm.Users = {
  Index: Backbone.View.extend({
    events:{
      'click [data-sort]' : 'sort'
    },

    getSorting: function(){
      var sortField = this.form.find('[name=order_by]')

      // set sorting default if empty
      if(sortField.val().length == 0){
        sortField.val('coalesce(user_totals.sum,0) DESC')
      }
      var sort = sortField.val().split(' ');
      return {field: sort[0], order: sort[1]};
    },

    selectSorting: function(){
      var link = this.$('a[data-sort="' + this.getSorting().field + '"]');
      var sortOrder = link.siblings('span.sort-order');
      // Clean old sort orders
      this.$('[data-sort]').siblings('span.sort-order').html('');

      // Add sorting order to header
      if(this.getSorting().order == 'DESC'){
        sortOrder.html('(desc)');
      }
      else {
        sortOrder.html('(asc)');
      }
    },

    sort: function(event){
      var link = $(event.target);
      var sortField = this.form.find('[name=order_by]');

      // Put sorting data in hidden field and select sorting
      sortField.val(link.data('sort') + ' ' + (this.getSorting().order == 'ASC' ? 'DESC' : 'ASC'));
      this.selectSorting();
      this.form.submit();
      return false;
    },

    initialize: function(){
      this.form = this.$('.bootstrap-form form');
      this.table = this.$('.data-table');
      this.selectSorting();
    }
  })
};

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
catarse_core-1.0.0.beta app/assets/javascripts/app/views/adm/users.js