forked from CITKParus/P8-Panels
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
|     Парус 8 - Панели мониторинга - ТОиР - Выполнение работ
 | |
|     Пользовательские хуки
 | |
| */
 | |
| 
 | |
| //---------------------
 | |
| //Подключение библиотек
 | |
| //---------------------
 | |
| 
 | |
| import { useState, useLayoutEffect } from "react"; //Классы React
 | |
| 
 | |
| //-----------
 | |
| //Тело модуля
 | |
| //-----------
 | |
| 
 | |
| //Хук для отработки изменений ширины и высоты рабочей области окна
 | |
| const useWindowResize = () => {
 | |
|     //Состояние размера рабочей области
 | |
|     const [size, setSize] = useState([0, 0]);
 | |
|     //При изменении размера
 | |
|     useLayoutEffect(() => {
 | |
|         function updateSize() {
 | |
|             setSize([document.documentElement.clientWidth, document.documentElement.clientHeight]);
 | |
|         }
 | |
|         window.addEventListener("resize", updateSize);
 | |
|         updateSize();
 | |
|         return () => window.removeEventListener("resize", updateSize);
 | |
|     }, []);
 | |
|     return size;
 | |
| };
 | |
| 
 | |
| //--------------
 | |
| //Интерфейс хука
 | |
| //--------------
 | |
| 
 | |
| export { useWindowResize };
 |