forked from railsadminteam/rails_admin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ra.sidescroll.js
31 lines (27 loc) · 876 Bytes
/
ra.sidescroll.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(function($) {
function setFrozenColPositions() {
var $listForm, frozenColumns;
$listForm = $('#bulk_form');
if (!$listForm.is('.ra-sidescroll')) {
return;
}
frozenColumns = $listForm.data('ra-sidescroll');
$listForm.find('table tr').each(function(index, tr) {
var firstPosition = 0;
$(tr).children().slice(0, frozenColumns).each(function(idx, td) {
var tdLeft;
$(td).addClass('ra-sidescroll-frozen');
if (idx === frozenColumns - 1) {
$(td).addClass('last-of-frozen');
}
tdLeft = $(td).position().left;
if (idx === 0) {
firstPosition = tdLeft;
}
td.style.left = (tdLeft - firstPosition) + "px";
});
});
};
$(window).on('load', setFrozenColPositions);
$(document).on('rails_admin.dom_ready', setFrozenColPositions);
})(jQuery);