{I" class:ETI"ProcessedAsset;FI"logical_path;TI"jquery-ui/selectable.js;FI" pathname;TI"q/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/selectable.js;FI"content_type;TI"application/javascript;TI" mtime;Tl+\•ËTI" length;TiêI" digest;TI"%c961afb54413c43e0e17a6bdc7a374d2;FI" source;TI"ê /*! * jQuery UI Selectable 1.11.2 * http://jqueryui.com * * Copyright 2014 jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * http://api.jqueryui.com/selectable/ */ (function( factory ) { if ( typeof define === "function" && define.amd ) { // AMD. Register as an anonymous module. define([ "jquery", "./core", "./mouse", "./widget" ], factory ); } else { // Browser globals factory( jQuery ); } }(function( $ ) { return $.widget("ui.selectable", $.ui.mouse, { version: "1.11.2", options: { appendTo: "body", autoRefresh: true, distance: 0, filter: "*", tolerance: "touch", // callbacks selected: null, selecting: null, start: null, stop: null, unselected: null, unselecting: null }, _create: function() { var selectees, that = this; this.element.addClass("ui-selectable"); this.dragged = false; // cache selectee children based on filter this.refresh = function() { selectees = $(that.options.filter, that.element[0]); selectees.addClass("ui-selectee"); selectees.each(function() { var $this = $(this), pos = $this.offset(); $.data(this, "selectable-item", { element: this, $element: $this, left: pos.left, top: pos.top, right: pos.left + $this.outerWidth(), bottom: pos.top + $this.outerHeight(), startselected: false, selected: $this.hasClass("ui-selected"), selecting: $this.hasClass("ui-selecting"), unselecting: $this.hasClass("ui-unselecting") }); }); }; this.refresh(); this.selectees = selectees.addClass("ui-selectee"); this._mouseInit(); this.helper = $("
"); }, _destroy: function() { this.selectees .removeClass("ui-selectee") .removeData("selectable-item"); this.element .removeClass("ui-selectable ui-selectable-disabled"); this._mouseDestroy(); }, _mouseStart: function(event) { var that = this, options = this.options; this.opos = [ event.pageX, event.pageY ]; if (this.options.disabled) { return; } this.selectees = $(options.filter, this.element[0]); this._trigger("start", event); $(options.appendTo).append(this.helper); // position helper (lasso) this.helper.css({ "left": event.pageX, "top": event.pageY, "width": 0, "height": 0 }); if (options.autoRefresh) { this.refresh(); } this.selectees.filter(".ui-selected").each(function() { var selectee = $.data(this, "selectable-item"); selectee.startselected = true; if (!event.metaKey && !event.ctrlKey) { selectee.$element.removeClass("ui-selected"); selectee.selected = false; selectee.$element.addClass("ui-unselecting"); selectee.unselecting = true; // selectable UNSELECTING callback that._trigger("unselecting", event, { unselecting: selectee.element }); } }); $(event.target).parents().addBack().each(function() { var doSelect, selectee = $.data(this, "selectable-item"); if (selectee) { doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected"); selectee.$element .removeClass(doSelect ? "ui-unselecting" : "ui-selected") .addClass(doSelect ? "ui-selecting" : "ui-unselecting"); selectee.unselecting = !doSelect; selectee.selecting = doSelect; selectee.selected = doSelect; // selectable (UN)SELECTING callback if (doSelect) { that._trigger("selecting", event, { selecting: selectee.element }); } else { that._trigger("unselecting", event, { unselecting: selectee.element }); } return false; } }); }, _mouseDrag: function(event) { this.dragged = true; if (this.options.disabled) { return; } var tmp, that = this, options = this.options, x1 = this.opos[0], y1 = this.opos[1], x2 = event.pageX, y2 = event.pageY; if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; } if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; } this.helper.css({ left: x1, top: y1, width: x2 - x1, height: y2 - y1 }); this.selectees.each(function() { var selectee = $.data(this, "selectable-item"), hit = false; //prevent helper from being selected if appendTo: selectable if (!selectee || selectee.element === that.element[0]) { return; } if (options.tolerance === "touch") { hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) ); } else if (options.tolerance === "fit") { hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2); } if (hit) { // SELECT if (selectee.selected) { selectee.$element.removeClass("ui-selected"); selectee.selected = false; } if (selectee.unselecting) { selectee.$element.removeClass("ui-unselecting"); selectee.unselecting = false; } if (!selectee.selecting) { selectee.$element.addClass("ui-selecting"); selectee.selecting = true; // selectable SELECTING callback that._trigger("selecting", event, { selecting: selectee.element }); } } else { // UNSELECT if (selectee.selecting) { if ((event.metaKey || event.ctrlKey) && selectee.startselected) { selectee.$element.removeClass("ui-selecting"); selectee.selecting = false; selectee.$element.addClass("ui-selected"); selectee.selected = true; } else { selectee.$element.removeClass("ui-selecting"); selectee.selecting = false; if (selectee.startselected) { selectee.$element.addClass("ui-unselecting"); selectee.unselecting = true; } // selectable UNSELECTING callback that._trigger("unselecting", event, { unselecting: selectee.element }); } } if (selectee.selected) { if (!event.metaKey && !event.ctrlKey && !selectee.startselected) { selectee.$element.removeClass("ui-selected"); selectee.selected = false; selectee.$element.addClass("ui-unselecting"); selectee.unselecting = true; // selectable UNSELECTING callback that._trigger("unselecting", event, { unselecting: selectee.element }); } } } }); return false; }, _mouseStop: function(event) { var that = this; this.dragged = false; $(".ui-unselecting", this.element[0]).each(function() { var selectee = $.data(this, "selectable-item"); selectee.$element.removeClass("ui-unselecting"); selectee.unselecting = false; selectee.startselected = false; that._trigger("unselected", event, { unselected: selectee.element }); }); $(".ui-selecting", this.element[0]).each(function() { var selectee = $.data(this, "selectable-item"); selectee.$element.removeClass("ui-selecting").addClass("ui-selected"); selectee.selecting = false; selectee.selected = true; selectee.startselected = true; that._trigger("selected", event, { selected: selectee.element }); }); this._trigger("stop", event); this.helper.remove(); return false; } }); })); ;TI"dependency_digest;TI"%d2dec48264b1c64c1e7b381a1360d083;FI"required_paths;T[ I"k/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/core.js;FI"m/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/widget.js;FI"l/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/mouse.js;FI"q/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/selectable.js;FI"dependency_paths;T[ {I" path;TI"q/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/selectable.js;FI" mtime;TI"2015-01-30T15:29:48+01:00;TI" digest;TI"%00db1b9791b309db0978e29267106414;F{@ I"k/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/core.js;F@"I"2015-01-30T15:29:48+01:00;T@$I"%c17d793c34359326fe28ecdf37157d68;F{@ I"m/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/widget.js;F@"I"2015-01-30T15:29:48+01:00;T@$I"%ca8374c6fbf5c1b56881311365e2c7af;F{@ I"l/Users/austin/.rvm/gems/ruby-2.1.1/gems/jquery-ui-rails-5.0.3/app/assets/javascripts/jquery-ui/mouse.js;F@"I"2015-01-30T15:29:48+01:00;T@$I"%22c9f6f58efee7b3509ac03b1d5931f9;FI" _version;TI"%64e62ddc273c2f5847f30d698ca14b67;F