Sha256: 550174548e613e55c6df2fe0315d4a279cfd87d64fb4dbc3179872764486b3e0

Contents?: true

Size: 1.38 KB

Versions: 8

Compression:

Stored size: 1.38 KB

Contents

/* global $ */
"use strict";

/* Admin table */

function snapifyTable(snaptable) {

  var tableButtons = snaptable.find(".table_buttons"),
      editButton = tableButtons.find("a[class='edit']"),
      deleteButton = tableButtons.find("a[class='delete']"),
      showButton = tableButtons.find("a[class='show']"),
      path = window.location.pathname + "/";

  // add ajax to the pagination
  snaptable.on("click", ".pagination a", function() {
    $.getScript(this.href);
    return false;
  });

  // line clickable
  snaptable.on("click", "tbody tr", function(e) {
    var id = $(this).data("url") ;
    if ( typeof id !== "undefined" && !$(this).hasClass("selected") ) {
      snaptable.find("tr.selected").removeClass("selected");
      $(this).addClass("selected");
      deleteButton.add(editButton).add(showButton).addClass("on");
      editButton.attr("href", path + id + "/edit");
      deleteButton.attr("href", path + id);
      showButton.attr("href", path + id);
    }
  });

  // Double click
  if(editButton.length) {
    snaptable.on("dblclick", "tbody tr", function() {
      var id = $(this).data("url");
      if ( typeof id !== "undefined" ) {
        window.location = path + id + "/edit";
      }
    });
  }

}

function snapifyTables() {

  $(".snaptable").each(function() {
    snapifyTable($(this));
  })

}

$(document).on("ready turbolinks:load", function() {

  snapifyTables();

});

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
snaptable-2.2.1 app/assets/javascripts/snaptable/table.js
snaptable-2.2.0 app/assets/javascripts/snaptable/table.js
snaptable-2.1.0 app/assets/javascripts/snaptable/table.js
snaptable-2.0.5 app/assets/javascripts/snaptable/table.js
snaptable-2.0.4 app/assets/javascripts/snaptable/table.js
snaptable-2.0.2 app/assets/javascripts/snaptable/table.js
snaptable-2.0.1 app/assets/javascripts/snaptable/table.js
snaptable-2.0 app/assets/javascripts/snaptable/table.js