I would like to show/hide a table when a font-awesome chevron button is clicked.
The following code comes from http://jsfiddle.net/z0y0hp8o/6/. I would like to do the same thing, but in clojurescript using java interop.
(document).on('click', '.panel-heading span.clickable', function(e){
var $this = $(this);
if(!$this.hasClass('panel-collapsed')) {
$this.parents('.panel').find('.specialCollapse').slideUp();
$this.addClass('panel-collapsed');
$this.find('i').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down');
} else {
$this.parents('.panel').find('.specialCollapse').slideDown();
$this.removeClass('panel-collapsed');
$this.find('i').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up');
} })
Here is my draft attempt in clojurescript.
(if (-> e -target -value
(.getElementsByClassName js/document "panel-collapsed"))
(do
(.slideUp js/document
(.find js/document ".specialCollapse"
(.parentElements js/document ".panel")))
(.addClass "panel-collapsed")
(.addClass "fas fa-chevron-down"
(.removeClass "fas fa-chevron-up"
(.find "i"))))
(do
(.slideDown js/document
(.find js/document ".specialCollapse"
(.parentElements js/document ".panel")))
(.removeClass "panel-collapsed")
(.addClass "fas fa-chevron-up"
(.removeClass "fas fa-chevron-down"
(.find "i")))))