You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.8 KiB
47 lines
1.8 KiB
<div> |
|
<span class="grid-expand" data-url="{{ $url }}" data-inserted="0" data-id="{{ $key }}" data-key="{{ $dataKey }}" data-toggle="collapse" data-target="#grid-collapse-{{ $dataKey }}"> |
|
<a href="javascript:void(0)"><i class="feather icon-chevrons-right"></i> {!! $button !!}</a> |
|
</span> |
|
<template class="grid-expand-{{ $dataKey }}"> |
|
<div id="grid-collapse-{{ $dataKey }}">{!! $html !!}</div> |
|
</template> |
|
</div> |
|
|
|
<script once> |
|
$('.grid-expand').off('click').on('click', function () { |
|
var _th = $(this), url = _th.data('url'); |
|
|
|
if ($(this).data('inserted') == '0') { |
|
|
|
var key = _th.data('key'); |
|
var row = _th.closest('tr'); |
|
var html = $('template.grid-expand-'+key).html(); |
|
var id = 'expand-'+key+Dcat.helpers.random(10); |
|
var rowKey = _th.data('id'); |
|
|
|
$(this).attr('data-expand', '#'+id); |
|
row.after("<tr id="+id+"><td colspan='"+(row.find('td').length)+"' style='padding:0 !important; border:0;height:0;'>"+html+"</td></tr>"); |
|
|
|
if (url) { |
|
var collapse = $('#grid-collapse-'+key); |
|
collapse.find('div').loading(); |
|
$('.dcat-loading').css({position: 'inherit', 'padding-top': '70px'}); |
|
|
|
Dcat.helpers.asyncRender(url+'&key='+rowKey, function (html) { |
|
collapse.html(html); |
|
}) |
|
} |
|
$(this).data('inserted', 1); |
|
} else { |
|
if ($("i", this).hasClass('icon-chevrons-right')) { |
|
$(_th.data('expand')).show(); |
|
} else { |
|
setTimeout(function() { |
|
$(_th.data('expand')).hide(); |
|
}, 250); |
|
} |
|
} |
|
|
|
$("i", this).toggleClass("icon-chevrons-right icon-chevrons-down"); |
|
}); |
|
</script> |