From 2c1c768c6451f002a060695717e3c0ba95e0daf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A9?= Date: Mon, 6 Sep 2021 16:55:17 +0200 Subject: [PATCH] bugfix show/hide details --- app/views/admin/buy_lists/index.html.haml | 44 +++++++++++++++++++---- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/app/views/admin/buy_lists/index.html.haml b/app/views/admin/buy_lists/index.html.haml index 8741a43..37beefd 100644 --- a/app/views/admin/buy_lists/index.html.haml +++ b/app/views/admin/buy_lists/index.html.haml @@ -273,17 +273,47 @@ :javascript $('.detail').hide() $('.col-detail').hide() + let state = 0 $('.plus').click(function(event){ - $('.col-detail').toggle() - console.log(event.currentTarget); - $(event.currentTarget).parent().parent().next('tbody.detail').toggle(); + if( event.currentTarget.className == "plus") { + $(event.currentTarget).removeClass('plus').addClass('minus') + state += 1 + $('.col-detail').show() + $(event.currentTarget).parent().parent().next('tbody.detail').toggle(); + }else{ + $(event.currentTarget).removeClass('minus').addClass('plus') + state -= 1 + $(event.currentTarget).parent().parent().next('tbody.detail').toggle(); + } $(event.currentTarget).find('i').toggleClass('fa fa-plus-square-o').toggleClass('fa fa-minus-square-o') + if(state == 0){ + $('.col-detail').hide() + }else{ + $('.col-detail').show() + } }); $('.plus-all').click(function(event){ - $('.col-detail').toggle() - $('tbody.detail').toggle(); - $(event.currentTarget).find('i').toggleClass('fa fa-plus-square-o').toggleClass('fa fa-minus-square-o') - $('.plus').find('i').toggleClass('fa fa-plus-square-o').toggleClass('fa fa-minus-square-o') + if( event.currentTarget.className == "mask plus-all") { + state += $('.plus').length + $(event.currentTarget).removeClass('plus-all').addClass('minus-all') + $('tbody.detail').show(); + $('.plus').find('i').toggleClass('fa fa-plus-square-o').toggleClass('fa fa-minus-square-o') + $('.plus').removeClass('plus').addClass('minus') + $(event.currentTarget).find('i').removeClass('fa fa-plus-square-o').addClass('fa fa-minus-square-o') + }else{ + state -= $('.minus').length + $(event.currentTarget).removeClass('minus-all').addClass('plus-all') + $('.minus').find('i').removeClass('fa fa-minus-square-o').addClass('fa fa-plus-square-o') + $('.minus').removeClass('minus').addClass('plus') + + $('tbody.detail').hide(); + $(event.currentTarget).find('i').removeClass('fa fa-minus-square-o').addClass('fa fa-plus-square-o') + } + if(state == 0){ + $('.col-detail').hide() + }else{ + $('.col-detail').show() + } });