import { Controller } from '@hotwired/stimulus'; /* * The following line makes this controller "lazy": it won't be downloaded until needed * See https://github.com/symfony/stimulus-bridge#lazy-controllers */ /* stimulusFetch: 'lazy' */ export default class extends Controller { static values = { total: Number, count: Number, } static targets = ['icon'] connect() { this.element.hideIcon = this.hideIcon.bind(this); this.element.showIcon = this.showIcon.bind(this); this.element.toggleIcon = this.toggleIcon.bind(this); this.element.isVisibile = this.isVisible.bind(this); } isVisible() { return !this.iconTarget.classList.contains('hidden'); } showIcon() { this.iconTarget.classList.remove('hidden'); } hideIcon() { this.iconTarget.classList.add('hidden'); } toggleIcon() { this.iconTarget.classList.toggle('hidden'); } increaseCount() { this.countValue += 1; if (this.countValue === this.totalValue) { this.toggleIcon(); this.countValue = 0; console.log('filtering') document.getElementById('filter').filterResults(); } } }