JSFiddle - React, Tailwind, and code Playground
by Jay Blanchard
HTML
<div data-anchor="F1" data-status="laid" data-ahv="null">
<ul class="anchor-controls">
<li class="anchor-control anchor-lay" data-action="anchor-lay">
<div class="anchor-tile"><span class="button-label" style="top: 31%;">Lay</span>
</div>
</li>
<li class="anchor-control anchor-drop" data-action="anchor-drop">
<div class="anchor-tile"><span class="button-label" style="top: 31%;">Drop</span>
</div>
</li>
<li class="anchor-control anchor-fetch" data-action="anchor-fetch">
<div class="anchor-tile"><span class="button-label" style="top: 31%;">Fetch</span>
</div>
</li>
<li class="anchor-control anchor-raise" data-action="anchor-raise">
<div class="anchor-tile"><span class="button-label" style="top: 31%;">Raise</span>
</div>
</li>
<li class="anchor-control anchor-retrieve" data-action="anchor-retrieve">
<div class="anchor-tile"><span class="button-label" style="top: 31%;">Retrieve</span>
</div>
</li>
<li class="anchor-control anchor-rack" data-action="anchor-rack">
<div class="anchor-tile"><span class="button-label" style="top: 31%;">Rack</span>
</div>
</li>
</ul>
</div>
CSS
.anchor-control-hidden {
display: none;
}
JavaScript
var anchor = 'F1';
$('[data-anchor="'+anchor+'"]').find('.anchor-control').hide().show();
setAnchorControlButtons(anchor);
function setAnchorControlButtons(anchor){
state = $('[data-anchor="'+anchor+'"]').attr('data-status');
$('[data-anchor="'+anchor+'"]').find('.anchor-control').addClass('anchor-control-hidden');
if( $('[data-anchor="'+anchor+'"]').attr('data-ahv') == 'null' ) {
var ahvExists = false;
} else {
var ahvExists = true;
}
switch(state) {
case 'laid':
if( ahvExists ) {
$('[data-anchor="'+anchor+'"]').find('.anchor-fetch, .anchor-raise').removeClass('anchor-control-hidden');
} else {
$('[data-anchor="'+anchor+'"]').find('.anchor-rack, .anchor-fetch').removeClass('anchor-control-hidden');
}
break;
}
}