Ok, here's how I use action buttons for tabs...
HTML:
<div class="sheet-buttonbar">
<div class="sheet-navbuttons">
<button type="action" name="act_characterprofile1" class="sheet-topbuttons">U</button>
<input type="checkbox" class="sheet-showVehicles" name="attr_vehicle" style="display: none;" />
<button type="action" name="act_vehicletab3" class="sheet-topbuttons sheet-vehiclesT">T</button>
<button type="action" name="act_journaltab4" class="sheet-topbuttons">n</button>
<button type="action" name="act_configurationtab2" class="sheet-topbuttons">x</button>
</div>
<div class="sheet-functions">
<input type="checkbox" class="sheet-useBenniesXP" name="attr_bennies" value="1" style="display: none;" />
<button class="sheet-benniesxp" type="roll" name="roll_convertBennies" value="&{template:emote} {{name=@{character_name}}} {{does=rolls for XP on ?{Number of Bennies|1} un/spent bennies and gets [[?{Number of Bennies|1}d6>5]] extra experience point(s)!}}">S</button>
<input class="sheet-isWC" type="hidden" name="attr_is_npc" />
<button class="sheet-statblock" type="roll" name="roll_fullstatblock" value="/w gm &{template:statblock} @{chardesc} {{charatts=@{charatts}}} {{charskills=@{charskills}}} {{charderived=@{charderived}}} {{chargear=@{chargear}}} {{charhindrances=@{charhindrances}}} {{charedges=@{charedges}}} {{showspec=@{showspec}}} {{charspecabilities=@{charspecabilities}}} {{powercount=[[1d0+@{powercount}]]}} {{charpowers=@{charpowers}}}"><span class="sheet-showWCicon" name="attr_WCI"></span><img style="height: 28px;" src="http://imgsrv.roll20.net/?src=github.com/finderski/SWT/blob/master/BackgroundImages/statblock_profile.png%3Fraw%3Dtrue"</button>
</div>
<div class="sheet-docbuttons">
<input type="hidden" name="attr_newcontent" value="read" class="sheet-newcontent" />
<button type="action" name="act_releasetab5" class="sheet-topbuttons sheet-releasenotesbutton">N</button>
<input type="hidden" name="attr_newdocumentation" value="read" class="sheet-newdocumentation" />
<button type="action" name="act_documentationtab6" class="sheet-topbuttons sheet-documentationbutton">i</button>
</div>
</div>
<input type='radio' class='sheet-characterT' name='attr_sheetTab' style="display: none;" value='1' checked />
<input type="radio" class="sheet-journalT" name="attr_sheetTab" style="display: none;" value="4" />
<input type='radio' class='sheet-vehiclesT' name='attr_sheetTab' style="display: none;" value='3' />
<input type='radio' class='sheet-configT' name='attr_sheetTab' style="display: none;" value='2' />
<input type='radio' class='sheet-releaseN' name='attr_sheetTab' style="display: none;" value='5' />
<input type='radio' class='sheet-documentatioN' name='attr_sheetTab' style="display: none;" value='6' />
<!--Character Sheet Tab-->
<div class='sheet-character'>
<!--stuff-->
</div>
<div class='sheet-notes'>
<!--stuff-->
</div>
<div class='sheet-vehicles'>
<!--stuff-->
</div>
<div class='sheet-config'>
<!--stuff-->
</div>
<div class="sheet-release">
<!--stuff-->
</div>
<div class='sheet-documentation'>
<!--stuff-->
</div>
CSS:
/* Tab Stuff */
.sheet-character,
.sheet-config,
.sheet-vehicles,
.sheet-notes,
.sheet-release,
.sheet-documentation {
display: none;
}
.sheet-release,
.sheet-documentation {
background: rgba(255,255,255,0.75);
}
.sheet-characterT:checked ~ div.sheet-character,
.sheet-configT:checked ~ .sheet-config,
.sheet-vehiclesT:checked ~ div.sheet-vehicles,
.sheet-journalT:checked ~ div.sheet-notes,
.sheet-releaseN:checked ~ div.sheet-release,
.sheet-documentatioN:checked ~div.sheet-documentation {
display: block;
width: 100%;
margin: 0px;
padding: 0px;
}
/* Button Stuff */
.sheet-topbuttons {
background-color: transparent;
font-family: "Pictos";
font-size: 2em;
border: none;
background-image: none;
font-weight: bold;
box-shadow: none;
text-shadow: none;
height: 28px;
margin: 0px;
padding: 0 5px 0 5px;
}
Sheet Worker:
const buttonlist = ["characterprofile1","vehicletab3","journaltab4","configurationtab2","releasetab5","documentationtab6"];
buttonlist.forEach(buttonlist => {
on(`clicked:${buttonlist}`, function() {
console.log(`${buttonlist} button was clicked!!`);
let radioval = `${buttonlist}`;
radioval = radioval.slice(-1);
console.log(`Value for Radio Button is: ${radioval}`);
setAttrs({ sheetTab: radioval });
if (radioval === "5") {
setAttrs({ newcontent: "read" });
}
if (radioval === "6") {
setAttrs({ newdocumentation: "read" });
}
});
});