mirror of
https://github.com/jasny/bootstrap.git
synced 2026-01-20 20:08:03 -05:00
Added the row link javascript plugin
This commit is contained in:
71
js/bootstrap-rowlink.js
vendored
Normal file
71
js/bootstrap-rowlink.js
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
/* ============================================================
|
||||
* bootstrap-rowlink.js j1
|
||||
* http://jasny.github.com/bootstrap/javascript.html#rowlink
|
||||
* ============================================================
|
||||
* Copyright 2011 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"; // jshint ;_;
|
||||
|
||||
var Rowlink = function (element, options) {
|
||||
options = $.extend({}, $.fn.rowlink.defaults, options)
|
||||
var tr = element.nodeName == 'tr' ? $(element) : $(element).find('tr:has(td)')
|
||||
|
||||
tr.each(function() {
|
||||
var link = $(this).find(options.target).first()
|
||||
if (!link.length) return
|
||||
|
||||
var href = link.attr('href')
|
||||
|
||||
$(this).find('td').not('.nolink').click(function() {
|
||||
window.location = href;
|
||||
})
|
||||
|
||||
$(this).addClass('rowlink')
|
||||
link.replaceWith(link.html())
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/* ROWLINK PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
$.fn.rowlink = function (options) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('rowlink')
|
||||
if (!data) $this.data('rowlink', (data = new Rowlink(this, options)))
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.rowlink.defaults = {
|
||||
target: "a"
|
||||
}
|
||||
|
||||
$.fn.rowlink.Constructor = Rowlink
|
||||
|
||||
|
||||
/* ROWLINK DATA-API
|
||||
* ================== */
|
||||
|
||||
$(function () {
|
||||
$('[data-provides="rowlink"]').each(function () {
|
||||
$(this).rowlink($(this).data())
|
||||
})
|
||||
})
|
||||
|
||||
}(window.jQuery)
|
||||
20
less/jasny/rowlink.less
Normal file
20
less/jasny/rowlink.less
Normal file
@@ -0,0 +1,20 @@
|
||||
// Rowlink.less
|
||||
// CSS for rowlink plugin
|
||||
// ----------------------
|
||||
|
||||
tr.rowlink td {
|
||||
cursor: pointer;
|
||||
&.nolink {
|
||||
cursor: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.table tbody tr.rowlink:hover td {
|
||||
background-color: darken(@tableBackgroundHover, 15%);
|
||||
}
|
||||
|
||||
a.rowlink {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
Reference in New Issue
Block a user