{"version":3,"file":"static/js/7496.ee8c2329.chunk.js","mappings":"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","sources":["components/base/floatingMenu/FloatingMenu.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport { LanguageService } from \"../../../services/LanguageService\";\r\nimport Utils from \"../../../services/Utils\";\r\nimport { template } from '../../../constants/Configs';\r\n\r\nconst FloatingMenu = () => {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const { menuContent } = useSelector(state => state.ui.controls);\r\n const { ismenuContentinprocess } = useSelector(state => state.ui.controls.ismenuContentinprocess || false);\r\n const floatingMenu = menuContent?.nestedControls?.find(item => item.name === \"FloatingMenu\")\r\n const [activeMenu, setActiveMenu] = useState(false)\r\n const showItemCount = parseInt(floatingMenu?.properties?.showItemCount || floatingMenu?.nestedControls?.length)\r\n const [showMoreItem, setShowMoreItem] = useState(false)\r\n const floatingMenuRef = useRef()\r\n const floatingMenuListRef = useRef()\r\n const [menuMaxHeight, setMenuMaxHeight] = useState(null)\r\n const [scrollTop, setScrollTop] = useState(false)\r\n const [scrollBottom, setScrollBottom] = useState(false)\r\n const headerHeight = template === 5 ? 56 : 104\r\n const [isMobile, setDeviceType] = useState(Utils.isTablet());\r\n\r\n useEffect(() => {\r\n selectMenuOnRoutChange()\r\n },[ismenuContentinprocess])\r\n\r\n\r\n const handleShowMoreItem = () => {\r\n setShowMoreItem(!showMoreItem)\r\n }\r\n\r\n const onActiveMenu = (id) => {\r\n setActiveMenu(id)\r\n }\r\n\r\n const selectMenuOnRoutChange = (floatingMenu) => {\r\n if (floatingMenu && floatingMenu.nestedControls) {\r\n floatingMenu.nestedControls.forEach(menu => {\r\n if (Utils.checkUrlMatch(menu.properties.url)) {\r\n onActiveMenu(menu.id)\r\n }\r\n })\r\n }\r\n }\r\n\r\n const handleMaxHeight = () => {\r\n if(floatingMenuListRef?.current?.offsetHeight > window.innerHeight - 2*headerHeight - 76) {\r\n setMenuMaxHeight(window.innerHeight - 2*headerHeight - 76)\r\n setScrollBottom(true)\r\n } \r\n }\r\n\r\n const handleScroll = () => { \r\n if(floatingMenuListRef?.current?.offsetHeight > window.innerHeight - 2*headerHeight - 76 || floatingMenuListRef?.current?.offsetHeight > 480) {\r\n setScrollBottom(true)\r\n floatingMenuRef?.current?.scrollTop > 8 ? setScrollTop(true) : setScrollTop(false)\r\n floatingMenuRef?.current?.offsetHeight + floatingMenuRef?.current?.scrollTop < floatingMenuListRef?.current?.offsetHeight ? setScrollBottom(true) : setScrollBottom(false) \r\n } \r\n\r\n if(floatingMenuListRef?.current?.offsetHeight < 480 && floatingMenuListRef?.current?.offsetHeight < window.innerHeight - 2*headerHeight -76) {\r\n setScrollBottom(false)\r\n }\r\n \r\n }\r\n\r\n useEffect(() => {\r\n handleShowMoreItem()\r\n }, [])\r\n\r\n useEffect (() => {\r\n handleScroll()\r\n handleMaxHeight()\r\n },[window.innerHeight,floatingMenuListRef?.current?.offsetHeight,showMoreItem])\r\n\r\n \r\n useEffect(() => {\r\n floatingMenuRef?.current?.addEventListener('scroll',handleScroll)\r\n return () => {\r\n floatingMenuRef?.current?.removeEventListener('scroll', handleScroll)\r\n }\r\n \r\n }, [floatingMenuRef, floatingMenuListRef, floatingMenuRef?.current?.scrollTop, showMoreItem, window.innerHeight])\r\n\r\n const getItem = (item) => {\r\n return Utils.checkAbsolutePath(item.properties?.url) ?
  • \r\n onActiveMenu(item.id)}\r\n target={item.properties && item.properties.target ? `_${item.properties.target}` : \"\"}\r\n href={`${item.properties && item.properties.url ? Utils.fixAbsoluteUrl(item.properties.url) : ''}`}>\r\n \r\n \r\n {item.properties.text}\r\n
  • :
  • \r\n {item.properties && item.properties.url ? onActiveMenu(item.id)}\r\n target={item.properties && item.properties.target ? `_${item.properties.target}` : \"\"}\r\n to={`${ `/${LanguageService.getSelectedLanguage()}${item.properties.url}`}`}>\r\n \r\n :
    \r\n \r\n
    }\r\n {item.properties.text}\r\n
  • \r\n }\r\n\r\n return (\r\n <> \r\n {floatingMenu?.nestedControls?.length ?
    0 ? '' : 'tb--no-more'}`}>
    0 ? showMoreItem ? 'tb--show-more-item' : 'tb--less-more-item' : ''}`}>\r\n \r\n
    480 ? 480 : menuMaxHeight}}>\r\n
      \r\n {floatingMenu.nestedControls.slice(0,showItemCount).map(item => getItem(item))}\r\n {floatingMenu.nestedControls.slice(showItemCount).length ?
      • \r\n {floatingMenu.nestedControls.slice(showItemCount).map(item => getItem(item))}\r\n
    • : null}\r\n
    \r\n
    \r\n {floatingMenu.nestedControls.length - showItemCount > 0 &&
    handleShowMoreItem()}>{showMoreItem ? +{floatingMenu.nestedControls.length - showItemCount}: }
    }\r\n
    : null} \r\n \r\n )\r\n}\r\nexport default FloatingMenu"],"names":["FloatingMenu","_menuContent$nestedCo","_floatingMenu$propert","_floatingMenu$nestedC","_floatingMenuListRef$7","_floatingMenuRef$curr6","_floatingMenu$nestedC2","useDispatch","useLocation","menuContent","useSelector","state","ui","controls","ismenuContentinprocess","floatingMenu","nestedControls","find","item","name","activeMenu","setActiveMenu","useState","showItemCount","parseInt","properties","length","showMoreItem","setShowMoreItem","floatingMenuRef","useRef","floatingMenuListRef","menuMaxHeight","setMenuMaxHeight","scrollTop","setScrollTop","scrollBottom","setScrollBottom","headerHeight","template","isMobile","setDeviceType","Utils","isTablet","useEffect","selectMenuOnRoutChange","handleShowMoreItem","onActiveMenu","id","forEach","menu","checkUrlMatch","url","handleScroll","_floatingMenuListRef$2","_floatingMenuListRef$3","_floatingMenuListRef$5","_floatingMenuListRef$6","_floatingMenuRef$curr","_floatingMenuRef$curr2","_floatingMenuRef$curr3","_floatingMenuListRef$4","current","offsetHeight","window","innerHeight","handleMaxHeight","_floatingMenuListRef$","_floatingMenuRef$curr4","addEventListener","_floatingMenuRef$curr5","removeEventListener","getItem","_item$properties","checkAbsolutePath","_jsxs","className","concat","children","_jsx","onClick","target","href","fixAbsoluteUrl","icon","text","Link","to","LanguageService","getSelectedLanguage","_Fragment","ref","style","maxHeight","slice","map"],"sourceRoot":""}