variants.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Animations
  2. var variantBar = document.getElementById("variantBar");
  3. var variantDropdownBtn = document.getElementById("dropdownBtn-variants");
  4. var variantChevronUp = document.getElementById("chevronUp-variants");
  5. var variantChevronDown = document.getElementById("chevronDown-variants");
  6. var variantDropdownLabel = document.getElementById("dropdownLabel-variants");
  7. var variantDropdownContent = document.getElementById("dropdownContent-variants");
  8. var clickInterceptor = document.getElementById("click-interceptor");
  9. function displayVariantDropdownContent(display) {
  10. if (display) {
  11. variantDropdownContent.style.display = "block";
  12. variantChevronDown.style.display = "inline";
  13. variantChevronUp.style.display = "none";
  14. variantDropdownBtn.classList.add("open");
  15. clickInterceptor.classList.remove("hidden");
  16. }
  17. else {
  18. variantDropdownContent.style.display = "none";
  19. variantChevronDown.style.display = "none";
  20. variantChevronUp.style.display = "inline";
  21. variantDropdownBtn.classList.remove("open");
  22. clickInterceptor.classList.add("hidden");
  23. }
  24. }
  25. variantDropdownBtn.addEventListener("click", function() {
  26. if (variantDropdownContent.style.display === "block") {
  27. displayVariantDropdownContent(false);
  28. }
  29. else {
  30. displayVariantDropdownContent(true);
  31. }
  32. });
  33. function createVariantDropdownLink(variantName, target) {
  34. var variant = document.createElement("a");
  35. var displayName = variantName;
  36. if (displayName === BABYLON.GLTF2.Loader.Extensions.KHR_materials_variants.DEFAULT) {
  37. displayName = "Default";
  38. }
  39. variant.innerHTML = displayName;
  40. variant.title = displayName;
  41. variant.addEventListener("click", function() {
  42. BABYLON.GLTF2.Loader.Extensions.KHR_materials_variants.SelectVariant(target, variantName);
  43. variantDropdownLabel.innerHTML = displayName;
  44. variantDropdownLabel.title = displayName;
  45. });
  46. variantDropdownContent.appendChild(variant);
  47. }