Mojolicious-Plugin-Tables
view release on metacpan or search on metacpan
lib/Mojolicious/Plugin/Tables/resources/public/js/tables.js view on Meta::CPAN
function dtTableEvents() {
$('tbody tr', $dtTable).hover(
function(){$(this).css({cursor:'pointer','font-weight':'normal'}).addClass('ui-state-active')},
function(){$(this).css({cursor:''}).removeClass('ui-state-active')}
).on('click',
function(){document.location = shipped.urlbase + '/tables/' + dtTableTabName + '/' + $(this).attr('id') + '/view'}
);
}
function enable_buts($fldset) {
var cdata = $fldset.data();
var $buts = $fldset.find('div.stats button');
if (cdata.total <= 10) $buts.button('disable');
else {
// strange or'd conditions here can only apply when full(>10) list showing; effect is revert to paged.
$buts.filter('.start').button(cdata.offset>0 || cdata.to==cdata.total ? 'enable': 'disable');
$buts.filter('.prev' ).button(cdata.offset>0 ? 'enable': 'disable');
$buts.filter('.next' ).button(cdata.to<cdata.total ? 'enable': 'disable');
$buts.filter('.end' ).button(cdata.offset==0 || cdata.to<cdata.total ? 'enable': 'disable');
}
// re-enable add-butt unless on delete-verify page
if ($('div#tablesbody.del').length==0) $buts.filter('.add').button('enable');
}
var session = {}, shipped = {};
function init() {
session = JSON.parse($('#session').html());
lib/Mojolicious/Plugin/Tables/resources/public/js/tables.js view on Meta::CPAN
$.each(['prev','start','next','end'], function(i,nav) {
if ($this.hasClass(nav)) more = nav
});
if (more) document.location = newloc + '/navigate?to=' + more;
return false;
});
$('fieldset.group').each(function(){
var $fldset = $(this);
var cdata = $fldset.data();
cdata.offset = 0;
cdata.from = 1;
$fldset.find('div.stats button').click(function() {
var $this = $(this);
if ($this.hasClass('add' )) {
var href = '/tables/' + shipped.table + '/' + shipped.id + '/add_child/' + cdata.collection;
document.location = shipped.urlbase + href;
return false;
}
if ($this.hasClass('prev' )) cdata.offset = cdata.offset<10? 0: cdata.offset-10;
if ($this.hasClass('start')) cdata.offset = 0;
if ($this.hasClass('next' )) cdata.offset += 10;
if ($this.hasClass('end' )) cdata.offset = -1;
if ($this.hasClass('list' )) cdata.offset = -2;
var url = shipped.urlbase + '/tables/' + shipped.table + '/' + shipped.id + '/' + cdata.collection + '.json';
$.post(url, {offset:cdata.offset})
.done(function(rows){
$('table.rows', $fldset).empty().append(
$.map(rows, function(d,i){
var href = shipped.urlbase + '/tables/' + cdata.ctable + '/' + d.id + '/view';
return '<tr><td><a href="' + href + '">'+d.label+'</a></td></tr>'
})
);
if (cdata.offset == -1) { // final page was requested and returned
cdata.to = cdata.total;
cdata.offset = cdata.total - rows.length;
} else if (cdata.offset == -2) { // all rows were returned
cdata.to = cdata.total;
cdata.offset = 0;
} else {
cdata.to = cdata.offset + rows.length;
}
cdata.from = cdata.offset + 1;
var newNumbers = cdata.from + ' to ' + cdata.to + ' of ' + cdata.total;
$('span.numbers', $fldset).text(newNumbers);
enable_buts($fldset);
})
.fail(ajaxerror)
});
enable_buts($fldset);
});
$('fieldset,legend', 'div#tablesbody.del').addClass('ui-state-highlight');
}
lib/Mojolicious/Plugin/Tables/resources/templates/tables/view.html.ep view on Meta::CPAN
% } else {
%= t div => (class=>"ui-helper-clearfix") => begin
% for my $grp (keys %{$tinfo->{has_many}}) {
% my $ginfo = $tinfo->{has_many}{$grp};
% my $ctable = $ginfo->{ctable};
% my $cpkey = $ginfo->{cpkey};
% my $total = $row->$grp->count;
% my @children = $row->$grp({}, {order_by=>{-asc=>$cpkey}, rows=>10});
% my $to = scalar(@children);
% my %cdata = ('data-ctable' => $ctable,
% 'data-collection' => $grp,
% 'data-to' => $to,
% 'data-total' => $total);
%= t fieldset => (class=>"group", %cdata) => begin
% my $nums = @children? sprintf('1 to %d of %d', $to, $total): 'none';
%= t legend => (title=>$grp) => begin
%== qq[$ginfo->{label} — <span class="numbers">$nums</span>]
% end
%= t div => begin
%= $paging_buts2->();
%= t table => (class=>'rows') => begin
% for my $child (@children) {
% my $ckey = $child->compound_ids;
%= t tr => begin
( run in 0.312 second using v1.01-cache-2.11-cpan-454fe037f31 )