Sha256: ded126c4f65487ea2976e2dba6fc3722700301e202d889db63316bded16c2f38

Contents?: true

Size: 1.18 KB

Versions: 35

Compression:

Stored size: 1.18 KB

Contents

(function($) {

  isPrinting = false

  var defaults = { print_container: 'x_print_container'},
      settings = {}

  jQuery.fn.outer = function() {
    return $($('<div></div>').html(this.clone().removeClass(this.attr("class")).addClass("x_print_container"))).html();
  }

  $.fn.print_area = function(options){

    $.extend(settings, defaults, options);

    var doc = document,
        win = window,
        container = $(this),
        old_parent = container.parent(),
        origDisplay = [],
        NONE = 'none',
        body = doc.body,
        childNodes = body.childNodes;

    if (isPrinting) { // block the button while in printing mode
      return;
    }

    isPrinting = true;

    // extract print content
    $(body).append(container);

    // run before_filter if present
    if (settings.beforeFilter)
      settings.beforeFilter()

    // print
    win.print();

    // allow the browser to prepare before reverting
    setTimeout(function() {
      // put back print content
      old_parent.prepend(container)

      // run after_filter if present
      if (settings.afterFilter){
        settings.afterFilter();
      }
      isPrinting = false;

    }, 1000);

  }

})(jQuery);

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
quby-5.6.7 app/assets/javascripts/quby/printer.js
quby-5.6.6 app/assets/javascripts/quby/printer.js
quby-5.6.5 app/assets/javascripts/quby/printer.js
quby-5.6.3 app/assets/javascripts/quby/printer.js
quby-5.6.2 app/assets/javascripts/quby/printer.js
quby-5.6.1 app/assets/javascripts/quby/printer.js
quby-5.6.0 app/assets/javascripts/quby/printer.js
quby-5.5.0 app/assets/javascripts/quby/printer.js
quby-5.4.0 app/assets/javascripts/quby/printer.js
quby-5.3.1 app/assets/javascripts/quby/printer.js
quby-5.3.0 app/assets/javascripts/quby/printer.js
quby-5.2.0 app/assets/javascripts/quby/printer.js
quby-5.1.3 app/assets/javascripts/quby/printer.js
quby-5.1.2 app/assets/javascripts/quby/printer.js
quby-5.1.1 app/assets/javascripts/quby/printer.js
quby-5.1.0 app/assets/javascripts/quby/printer.js
quby-5.0.5 app/assets/javascripts/quby/printer.js
quby-5.0.4 app/assets/javascripts/quby/printer.js
quby-5.0.3 app/assets/javascripts/quby/printer.js
quby-5.0.2 app/assets/javascripts/quby/printer.js