demarches-normaliennes/app/javascript/controllers/expand_controller.ts

23 lines
688 B
TypeScript
Raw Normal View History

2022-10-24 16:43:18 +02:00
import { ApplicationController } from './application_controller';
import { toggle, toggleExpandIcon } from '@utils';
export class ExpandController extends ApplicationController {
static targets = ['content', 'icon'];
declare readonly contentTarget: HTMLElement;
declare readonly iconTarget: HTMLElement;
toggle(event: Event) {
const target = event.currentTarget as HTMLButtonElement;
2022-10-24 16:43:18 +02:00
event.preventDefault();
toggle(this.contentTarget);
toggleExpandIcon(this.iconTarget);
if (this.contentTarget.classList.contains('hidden')) {
target.setAttribute('aria-expanded', 'false');
} else {
target.setAttribute('aria-expanded', 'true');
}
2022-10-24 16:43:18 +02:00
}
}