import { App } from 'vue';

export function preventClick(app: App) {
    app.directive('throttle', {
        mounted(el: any, binding: any) {
            el.addEventListener('click', () => {
                if (!el.disabled) {
                    el.disabled = true;
                    setTimeout(() => {
                        el.disabled = false;
                    }, binding.value || 2000);
                }
            });
        }

        // mounted(el, binding) {
        //     let timer : NodeJS.Timeout | null = null
        //     el.addEventListener('click', () => {
        //         debugger
        //         let firstClick: Boolean = !timer;
        //         if(firstClick){
        //             binding.value
        //         }
        //         if(timer){
        //             clearTimeout(timer)
        //         }
        //         timer = setTimeout(() => {
        //             timer = null
        //             if(!firstClick){
        //                 binding.value
        //             }
        //         },3000);
        //     })
        // }
    });
}
