/* ============================================================ * Bootstrap: rowlink.js v3.0.0-p7 * http://jasny.github.io/bootstrap/javascript.html#rowlink * ============================================================ * Copyright 2012 Jasny BV, Netherlands. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================ */ +function ($) { "use strict"; var Rowlink = function (element, options) { this.$element = $(element) this.options = $.extend({}, Rowlink.DEFAULTS, options) this.$element.on('click.bs.rowlink', 'td:not(.rowlink-skip)', $.proxy(this.click, this)) } Rowlink.DEFAULTS = { target: "a" } Rowlink.prototype.click = function(e) { var target = $(e.currentTarget).closest('tr').find(this.options.target)[0] if ($(e.target)[0] === target) return e.preventDefault(); if (target.click) { target.click() } else if(document.createEvent) { var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); target.dispatchEvent(evt); } } // ROWLINK PLUGIN DEFINITION // =========================== $.fn.rowlink = function (options) { return this.each(function () { var $this = $(this) var data = $this.data('rowlink') if (!data) $this.data('rowlink', (data = new Rowlink(this, options))) }) } $.fn.rowlink.Constructor = Rowlink // ROWLINK NO CONFLICT // ==================== $.fn.rowlink.noConflict = function () { $.fn.inputmask = old return this } // ROWLINK DATA-API // ================== $(document).on('click.bs.rowlink.data-api', '[data-link="row"]', function (e) { var $this = $(this) if ($this.data('rowlink')) return $this.rowlink($this.data()) $(e.target).trigger('click.bs.rowlink') }) }(window.jQuery);