IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an email to s dot adaszewski at gmail dot com. User accounts are meant only to report issues and/or generate pull requests. This is a purpose-specific Git hosting for ADARED projects. Thank you for your understanding!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
899B

  1. import { h, Component } from 'preact';
  2. class WBTabs extends Component {
  3. render({ tabs, onTabChanged }) {
  4. return (
  5. <ul class="nav nav-tabs">
  6. { tabs.map((t, idx) => {
  7. let name, isActive, isDisabled;
  8. if (typeof(t) === 'object') {
  9. name = t.name;
  10. isActive = t.isActive;
  11. isDisabled = t.isDisabled;
  12. } else if (typeof(t) === 'string') {
  13. name = t;
  14. }
  15. let cls = ['nav-link'];
  16. if (isActive)
  17. cls.push('active');
  18. if (isDisabled)
  19. cls.push('disabled');
  20. cls = cls.join(' ');
  21. return (
  22. <li class="nav-item">
  23. <a class={ cls } href="#" onclick={ () => onTabChanged(idx) }>{ name }</a>
  24. </li>
  25. );
  26. }) }
  27. </ul>
  28. );
  29. }
  30. }
  31. export default WBTabs;