useExtensionPanel.ts 595 B

12345678910111213141516171819202122232425
  1. import {Ref} from "@vue/reactivity";
  2. /**
  3. * @category composables/form
  4. * Composable pour gérer les expansions des accordions
  5. */
  6. export function useExtensionPanel(route: Ref) {
  7. const panel: Ref<number> = ref(0)
  8. const activeAccordionId = route.value.query.accordion
  9. onMounted(() => {
  10. setTimeout(function () {
  11. useEach(document.getElementsByClassName('v-expansion-panel'), (element, index) => {
  12. if (element.id == activeAccordionId) {
  13. panel.value = index
  14. }
  15. })
  16. if (!panel.value) { panel.value = 0 }
  17. }, 0)
  18. })
  19. return {
  20. panel
  21. }
  22. }