Mam za zadnaie zamienic istniejacy kod jQuery na JavaScript w pliku TypeScript. Problem polega na tym ze <collapse-link> jest komponentem zagniezdzonym w innych plikach. Musze odnalezc el.parentElement od buttona zeby kontrolowac funkcje toggle() ktora ma za zadanie rozwijac i ukrywac ibox-content.
Oto caly kod:
collapse-link.html
<a click.delegate="toggle()" class="collapse-link" title="Collapse">
<i class="fa fa-chevron-up"></i>
</a>
Plik z zagniezdzonym <collapse-link>
<div class="ibox">
<div class="ibox-title">
<h5>Data Entry</h5>
<div class="ibox-tools">
<collapse-link></collapse-link>
</div>
</div>
<div class="ibox-content">
<h5>Report Data Entry</h5>
</div>
</div>
collapse-link.ts - TUTAJ musze zamienic jQuery na TypeScript
toggle(){
$('.collapse-link').on('click', function (e) {
e.preventDefault();
var ibox = $(this).closest('div.ibox');
var button = $(this).find('i');
var content = ibox.children('.ibox-content');
content.slideToggle(200);
button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');
ibox.toggleClass('').toggleClass('border-bottom');
setTimeout(function () {
ibox.resize();
ibox.find('[id^=map-]').resize();
}, 50);
});
// Close ibox function
$('.close-link').on('click', function (e) {
e.preventDefault();
var content = $(this).closest('div.ibox');
content.remove();
});
}