{"version":3,"sources":["page/info.js"],"names":["VerifyHrefContent","params","sanitizedParams","URLSearchParams","key","value","IsValidInput","append","input","test","VerifyHtml","str","div","document","createElement","textContent","innerHTML","map","places_changed","lists","IndustryList","TownList","AirArea","id","name","RiverBasinList","area","river","filter","a","PARENT_ID","Id","ID","Name","TEXT","categories","filter_type","filter_obj","type","Keyword","PollutionType","Town","location","placeId","IsPenalty","IsGreenhouse","Lat","Lng","IndustryGroup","Distance","FactOrder","ReportItem","ReportValue","ReportStartDate","ReportEndDate","RiverBasin","Column","PageNumber","PageSize","fetchData","StartDate","EndDate","pageData","pageDataRaw","paginationList","singlePageSize","currentPageNo","isShowMap","PageInit","FilterInputInit","PollutionTypeFilterInit","PaginationSelectInit","MobileInit","$","click","li","this","parent","hasClass","removeClass","addClass","localStorage","setItem","JSON","stringify","selected_items","parse","getItem","map_data","forEach","selected","d","RegistrationNo","length","push","show","css","text","ShowMap","show_map","getJSON","fileHost","then","res","fail","error","status","e","stopPropagation","preventDefault","fadeOut","val","sendMail","href","data","download","find","fadeIn","form","getElementById","action","host","addEventListener","event","window","open","submit","focus","Search","page_loader","ajax","url","GetUrlParams","headers","Accept","success","Result","Data","RefreshTable","slice","CreatePagination","titleElement","querySelector","Error","slideUp","tabletMediaQuery","matches","resultNumElement","className","appendChild","createTextNode","slideDown","ChangeUrlSearch","isNaN","URL","origin","pathname","Object","keys","searchParams","set","RefreshUrlParams","search","get","toLowerCase","newSearch","obj","dataCheckList","fragment","createDocumentFragment","item","liElement","checkButtonDiv","labelElement","inputElement","SearchItemClick","spanElement","linkElement","toString","title","FacilityName","target","dataIdDiv","titleDiv","sanitizedTitle","replaceAll","descDiv","IndustryAreaName","IndustryName","FacilityAddress","labelGroupsUl","IsAir","isAirLi","IsWater","isWaterLi","IsWaste","isWasteLi","IsToxic","isToxicLi","isPenaltyLi","Array","from","querySelectorAll","button","checked","el","index","indexOf","splice","SearchItemClickAll","dataList","children","child","classList","contains","no","getAttribute","parseInt","RefreshPagination","itemCount","html","maxPageNo","Math","ceil","nextBtn","i","numBtn","ChangePage","innerText","startIndex","endIndex","data_block","scrollY","offsetTop","scrollTo","currentPaginationList","each","idx","jqEl","add","remove","childElementCount","filterCheckeds","checkedCount","checkbox","result","RefreshPollutionTypeTag","filterList","empty","svg_to_xml","ClosePollutionTypeTag","trigger","attr","filterType","orderType","distance","place_id","geometry","lat","lng","Class","keyup","ReportObj","urlParams","change","customCalendar","mobileMediaQuery","delegate","parents","selectedValue","keyCode","next","path","class","list","parent_category","ParentId","p","category","cat","parent_name","checkExpandList","checked_status","findIndex","r","this_","all_li","prev","replace","on","pollutionType","marker_toggle","split","searchBox","google","maps","places","SearchBox","addListener","getPlaces","parentElement","MobileSearch","CheckAllExpandLsit","input_class","check_status","strToBool","ClassName","check_arr","l","parent_id","substring","filter_check","c","parentId","check","checked_no","$this","new_data","map_show","btn_html","moment","format","marker_obj","baseEMAP","L","tileLayer","minZoom","layers","attributionControl","center","zoom","eachLayer","layer","console","log","options","radius","removeLayer","MarkerClusterGroup","circleA","circle","parseFloat","color","fillColor","fillOpacity","addTo","fitBounds","getBounds","markers","pollution_type","t","icon","iconUrl","icons","marker","includes","addLayer","markerCircle","sortItemList","sortType","MobileFilterClear","reportItem","filterKeyword","keyword","alert","insutryType","townType","riverArea","onload"],"mappings":"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","file":"info.js","sourcesContent":["function VerifyHrefContent(params) {\r\n // 創建一個新的 URLSearchParams 來保存驗證後的參數\r\n const sanitizedParams = new URLSearchParams();\r\n\r\n // 迭代所有參數並進行驗證\r\n for (const [key, value] of params) {\r\n // 檢查鍵和值是否包含合法字符\r\n if (IsValidInput(key) && IsValidInput(value)) {\r\n // 將合法的參數加入到驗證後的參數中\r\n sanitizedParams.append(key, value);\r\n }\r\n }\r\n\r\n return sanitizedParams;\r\n}\r\n\r\n// 驗證輸入是否包含合法字符\r\nfunction IsValidInput(input) {\r\n // 排除特定字符,允許英文日文中文等其他符號,for路標名稱\r\n const disallowedCharsRegex = /[<>\\\"']/;\r\n return !disallowedCharsRegex.test(input);\r\n}\r\n\r\n// 將特殊字符進行 HTML 轉義,防止 XSS 攻擊\r\nfunction VerifyHtml(str) {\r\n // 使用 textContent 處理 HTML 特殊字符\r\n const div = document.createElement(\"div\");\r\n div.textContent = str;\r\n return div.innerHTML;\r\n}\r\n\r\nlet map;\r\nlet lists = {\r\n IndustryList: null,\r\n TownList: null,\r\n AirArea: [\r\n {\r\n id: \"65000,63000,10003,10017\",\r\n name: \"北部空品區\",\r\n },\r\n {\r\n id: \"10018,10004,10005\",\r\n name: \"竹苗空品區\",\r\n },\r\n {\r\n id: \"66000,10007,10008\",\r\n name: \"中部空品區\",\r\n },\r\n {\r\n id: \"67000,10009,10010,10020\",\r\n name: \"雲嘉南空品區\",\r\n },\r\n {\r\n id: \"64000,10013\",\r\n name: \"高屏空品區\",\r\n },\r\n {\r\n id: \"10002\",\r\n name: \"宜蘭空品區\",\r\n },\r\n {\r\n id: \"10014,10015\",\r\n name: \"花東空品區\",\r\n },\r\n {\r\n id: \"10016,09020,09007\",\r\n name: \"離島地區\",\r\n },\r\n ],\r\n RiverBasinList: area,\r\n};\r\nlet places_changed;\r\nlet river = area.filter((a) => a.PARENT_ID === 0).map((a) => ({ Id: a.ID, Name: a.TEXT, categories: [] }));\r\nlet filter_type = 1;\r\nlet filter_obj = {\r\n type: \"\",\r\n Keyword: \"\",\r\n PollutionType: \"WAT,WAS,TOX,AIR\",\r\n Town: \"\",\r\n AirArea: \"\",\r\n location: \"\",\r\n placeId: \"\",\r\n IsPenalty: \"\",\r\n IsGreenhouse: \"\",\r\n Lat: \"\",\r\n Lng: \"\",\r\n IndustryGroup: \"\",\r\n Distance: \"1\",\r\n FactOrder: \"\",\r\n ReportItem: \"\",\r\n ReportValue: \"\",\r\n ReportStartDate: \"\",\r\n ReportEndDate: \"\",\r\n RiverBasin: \"\",\r\n Column: \"All\",\r\n PageNumber: 1,\r\n PageSize: 0,\r\n};\r\n\r\nlet fetchData = {\r\n StartDate: \"\",\r\n EndDate: \"\",\r\n};\r\n\r\nlet pageData = [];\r\nlet pageDataRaw = [];\r\nlet paginationList = [];\r\nlet singlePageSize = 5;\r\nlet currentPageNo = 1;\r\nlet isShowMap = false;\r\n\r\nwindow.onload = function () {\r\n // if (window.innerWidth <= 1024) {\r\n // location.href = new URL(location.origin + \"/info.html\" + location.search);\r\n // }\r\n page_loader(true);\r\n RefreshUrlParams();\r\n PageInit();\r\n Search();\r\n addEventListener(\"beforeprint\", (event) => {\r\n $(\".print_date span\").text(moment().format(\"YYYY/MM/DD HH:mm:ss\"));\r\n });\r\n};\r\n\r\nfunction PageInit() {\r\n FilterInputInit();\r\n PollutionTypeFilterInit();\r\n PaginationSelectInit();\r\n MobileInit();\r\n\r\n $(\".dropdown_option > li > a\").click(function () {\r\n let li = $(this).parent(\"li\");\r\n if (li.hasClass(\"open\")) {\r\n $(li).removeClass(\"open\");\r\n } else {\r\n $(li).addClass(\"open\");\r\n }\r\n });\r\n\r\n localStorage.setItem(\"selected_items\", JSON.stringify([]));\r\n\r\n $(\".map_btn\").click(function () {\r\n selected_items = JSON.parse(localStorage.getItem(\"selected_items\"));\r\n let map_data = [];\r\n selected_items.forEach((selected) => {\r\n let filter = pageData.filter((d) => d.RegistrationNo === selected);\r\n if (filter.length > 0) map_data.push(filter[0]);\r\n });\r\n let show = $(this).hasClass(\"map_show\");\r\n if (filter_obj.Column === \"WasteItem\" && map_data.length === 0 && !show) {\r\n $.getJSON(`${fileHost}/${filter_obj.Keyword}.json`)\r\n .then((res) => {\r\n ShowMap = show_map($(this), res, res, \"\");\r\n })\r\n .fail((error) => {\r\n if (error.status === 404) {\r\n $(\".modal_map_error\").css(\"display\", \"flex\");\r\n $(\".modal_map_error .title\").text(\"請至少勾選一筆列管事業。\");\r\n $(\".modal_map_error .text\").text(\"\");\r\n }\r\n });\r\n } else {\r\n if (map_data.length === 0 && filter_obj.Column !== \"WasteItem\") {\r\n $(\".modal_map_error\").css(\"display\", \"flex\");\r\n $(\".modal_map_error .title\").text(\"請至少勾選一筆列管事業。\");\r\n $(\".modal_map_error .text\").text(\"\");\r\n } else {\r\n ShowMap = show ? show_map($(this), pageData, pageData, \"\") : show_map($(this), map_data, map_data, \"\");\r\n }\r\n }\r\n });\r\n\r\n $(\".modal_confirm, .close_btn\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n $(\".modal_notification\").fadeOut();\r\n $(\".input > input, .input > textarea\").val(\"\");\r\n sendMail = {};\r\n });\r\n\r\n $(\".open_tab\").click(function (e) {\r\n e.preventDefault();\r\n let href = $(this).data(\"href\");\r\n let download = $(this).hasClass(\"download_button\");\r\n let selected_items = JSON.parse(localStorage.getItem(\"selected_items\"));\r\n if (selected_items.length === 0) {\r\n $(this).find(\".modal_notification\").fadeIn();\r\n $(this).find(\".modal_notification\").css(\"display\", \"flex\");\r\n } else {\r\n if (download) {\r\n if (selected_items.length > 50) {\r\n $(this).parent().find(\".modal_notification\").fadeIn();\r\n $(this).parent().find(\".modal_notification\").css(\"display\", \"flex\");\r\n } else {\r\n let form = document.getElementById(\"info_download_form\");\r\n form.action = `${host}api/v1/Factory/ExportList`;\r\n let registrationNoList = document.getElementById(\"info_download_registrationno_list\");\r\n registrationNoList.value = selected_items;\r\n form.addEventListener(\"submit\", function (event) {\r\n event.preventDefault();\r\n window.open(form.action);\r\n });\r\n form.submit();\r\n }\r\n } else {\r\n window.open(href, \"_blank\").focus();\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction Search() {\r\n page_loader(true);\r\n $.ajax({\r\n url: `${host}/api/v1/Factory?${GetUrlParams()}`,\r\n type: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n },\r\n success: function (res) {\r\n pageData = res.Result.Data;\r\n pageDataRaw = res.Result.Data;\r\n RefreshTable(pageData.slice(0, 5));\r\n CreatePagination(pageDataRaw.length);\r\n\r\n const titleElement = document.querySelector(\".search_result_block > .title\");\r\n titleElement.innerHTML = \"\";\r\n\r\n if (!!!res.Error) {\r\n if (res.Result.Data.length > 0) {\r\n const resultNumElement = document.createElement(\"span\");\r\n resultNumElement.className = \"result_num\";\r\n resultNumElement.textContent = pageDataRaw.length;\r\n\r\n titleElement.textContent = \"找到 \";\r\n titleElement.appendChild(resultNumElement);\r\n titleElement.appendChild(document.createTextNode(\" 筆列管事業\"));\r\n\r\n $(\".result_block .data_block\").slideDown();\r\n } else {\r\n titleElement.textContent = `找到 ${pageDataRaw.length} 筆列管事業`;\r\n $(\".result_block .data_block\").slideUp();\r\n }\r\n } else {\r\n $(\".page_search_block .search_result_block > .desc\").slideUp();\r\n $(\".flex_block .result_block .data_block\").slideUp();\r\n if (!tabletMediaQuery.matches) {\r\n $(\".page_search_block .search_result_block > .btn_group\").slideUp();\r\n }\r\n $(\".page_search_block .search_result_block > .no_data\").fadeIn();\r\n }\r\n\r\n page_loader(false);\r\n },\r\n });\r\n}\r\n\r\nfunction ChangeUrlSearch() {\r\n if (!isNaN(filter_obj.ReportValue)) {\r\n let url = new URL(window.location.origin + window.location.pathname);\r\n Object.keys(filter_obj).forEach(function (key) {\r\n if (!!filter_obj[key]) {\r\n url.searchParams.set(key, filter_obj[key]);\r\n }\r\n });\r\n window.location = url;\r\n } else {\r\n $(\".modal_notification .title\").text(\"申報量欄位僅接受半形數字輸入,可包含小數點。請勿使用中文字符,請重新輸入。\");\r\n $(\".modal_notification\").fadeIn();\r\n $(\".modal_notification\").css(\"display\", \"flex\");\r\n }\r\n}\r\n\r\n// 更新搜尋元素\r\nfunction RefreshUrlParams() {\r\n let params = new URLSearchParams(document.location.search);\r\n Object.keys(filter_obj).forEach(function (key) {\r\n if (!!params.get(key.toLowerCase())) {\r\n filter_obj[key] = params.get(key.toLowerCase());\r\n }\r\n if (!!params.get(key)) {\r\n filter_obj[key] = params.get(key);\r\n }\r\n if (!!params.get(key.slice(0, 1).toLowerCase() + key.slice(1))) {\r\n filter_obj[key] = params.get(key.slice(0, 1).toLowerCase() + key.slice(1));\r\n }\r\n });\r\n filter_obj.PageSize = 0;\r\n if (!!!filter_obj.PollutionType) filter_obj.PollutionType = \"WAT,WAS,TOX,AIR\";\r\n if (!!!filter_obj.FactOrder) filter_obj.FactOrder = \"RegistrationNo\";\r\n}\r\n\r\n// 取得搜尋URL\r\nfunction GetUrlParams() {\r\n let newSearch = \"\";\r\n Object.keys(filter_obj).forEach(function (key) {\r\n if (!!filter_obj[key]) {\r\n newSearch += `${key}=${filter_obj[key]}&`;\r\n }\r\n });\r\n return newSearch;\r\n}\r\n\r\n// 刷新Table\r\nfunction RefreshTable(obj) {\r\n const dataCheckList = document.querySelector(\".data_check_list\");\r\n dataCheckList.innerHTML = \"\"; // Clear existing content\r\n let fragment = document.createDocumentFragment();\r\n\r\n obj.forEach(function (item) {\r\n let liElement = document.createElement(\"li\");\r\n\r\n let checkButtonDiv = document.createElement(\"div\");\r\n checkButtonDiv.className = \"check_button\";\r\n\r\n let labelElement = document.createElement(\"label\");\r\n labelElement.className = \"script\";\r\n\r\n let inputElement = document.createElement(\"input\");\r\n inputElement.type = \"checkbox\";\r\n inputElement.name = \"\";\r\n inputElement.value = item.RegistrationNo;\r\n inputElement.addEventListener(\"click\", function () {\r\n SearchItemClick(this);\r\n });\r\n\r\n let spanElement = document.createElement(\"span\");\r\n spanElement.className = \"geekmark\";\r\n\r\n labelElement.appendChild(inputElement);\r\n labelElement.appendChild(spanElement);\r\n\r\n checkButtonDiv.appendChild(labelElement);\r\n\r\n let linkElement = document.createElement(\"a\");\r\n const sanitizedParams = VerifyHrefContent([[\"id\", item.RegistrationNo]]);\r\n linkElement.href = `detail.html?${sanitizedParams.toString()}`;\r\n linkElement.title = `另開新視窗,至「${item.FacilityName}」`;\r\n linkElement.target = \"_blank\";\r\n\r\n let dataIdDiv = document.createElement(\"div\");\r\n dataIdDiv.className = \"data_id\";\r\n dataIdDiv.textContent = item.RegistrationNo;\r\n\r\n let titleDiv = document.createElement(\"div\");\r\n const sanitizedTitle = VerifyHtml(item.FacilityName).toString();\r\n titleDiv.className = \"title\";\r\n titleDiv.innerHTML = `${sanitizedTitle.replaceAll(VerifyHtml(filter_obj.Keyword), `${VerifyHtml(filter_obj.Keyword)}`)} `;\r\n\r\n let descDiv = document.createElement(\"div\");\r\n descDiv.className = \"desc\";\r\n descDiv.textContent = `${item.IndustryAreaName} / ${item.IndustryName} / ${item.FacilityAddress}`;\r\n\r\n let labelGroupsUl = document.createElement(\"ul\");\r\n labelGroupsUl.className = \"label_groups\";\r\n if (item.IsAir) {\r\n let isAirLi = document.createElement(\"li\");\r\n isAirLi.className = \"isAir\";\r\n isAirLi.textContent = \"空\";\r\n labelGroupsUl.appendChild(isAirLi);\r\n }\r\n if (item.IsWater) {\r\n let isWaterLi = document.createElement(\"li\");\r\n isWaterLi.className = \"isWater\";\r\n isWaterLi.textContent = \"水\";\r\n labelGroupsUl.appendChild(isWaterLi);\r\n }\r\n if (item.IsWaste) {\r\n let isWasteLi = document.createElement(\"li\");\r\n isWasteLi.className = \"isWaste\";\r\n isWasteLi.textContent = \"廢\";\r\n labelGroupsUl.appendChild(isWasteLi);\r\n }\r\n if (item.IsToxic) {\r\n let isToxicLi = document.createElement(\"li\");\r\n isToxicLi.className = \"isToxic\";\r\n isToxicLi.textContent = \"毒\";\r\n labelGroupsUl.appendChild(isToxicLi);\r\n }\r\n if (item.IsPenalty) {\r\n let isPenaltyLi = document.createElement(\"li\");\r\n isPenaltyLi.className = \"isPenalty\";\r\n isPenaltyLi.textContent = \"裁\";\r\n labelGroupsUl.appendChild(isPenaltyLi);\r\n }\r\n\r\n linkElement.appendChild(dataIdDiv);\r\n linkElement.appendChild(titleDiv);\r\n linkElement.appendChild(descDiv);\r\n linkElement.appendChild(labelGroupsUl);\r\n\r\n liElement.appendChild(checkButtonDiv);\r\n liElement.appendChild(linkElement);\r\n\r\n fragment.appendChild(liElement);\r\n });\r\n\r\n dataCheckList.appendChild(fragment);\r\n\r\n const titleElement = document.querySelector(\".search_result_block > .title\");\r\n titleElement.innerHTML = \"\";\r\n titleElement.innerHTML = `找到 ${pageData.length} 筆列管事業`;\r\n\r\n Array.from(document.querySelectorAll(\".check_button.select_all input\")).forEach(function (button) {\r\n button.checked = false;\r\n localStorage.setItem(\"selected_items\", JSON.stringify([]));\r\n });\r\n}\r\n\r\n// 選擇項目\r\nfunction SearchItemClick(el) {\r\n selected_items = JSON.parse(localStorage.getItem(\"selected_items\"));\r\n if (el.checked) {\r\n selected_items.push(el.value);\r\n } else {\r\n let index = selected_items.indexOf(el.value);\r\n selected_items.splice(index, 1);\r\n }\r\n localStorage.setItem(\"selected_items\", JSON.stringify(selected_items));\r\n}\r\n\r\n// 全選項目\r\nfunction SearchItemClickAll(el) {\r\n let dataList = Array.from(document.querySelectorAll(\".data_check_list input\"));\r\n\r\n dataList.forEach(function (item) {\r\n item.checked = el.checked;\r\n if (el.checked) {\r\n localStorage.setItem(\r\n \"selected_items\",\r\n JSON.stringify(\r\n dataList.map(function (input) {\r\n return input.value;\r\n })\r\n )\r\n );\r\n } else {\r\n localStorage.setItem(\"selected_items\", JSON.stringify([]));\r\n }\r\n });\r\n\r\n Array.from(document.querySelectorAll(\".check_button.select_all input\")).forEach(function (button) {\r\n button.checked = el.checked;\r\n });\r\n}\r\n\r\nfunction PaginationSelectInit() {\r\n document.querySelectorAll(\".pagination_select .select_dropbox\").forEach(function (parent) {\r\n Array.from(parent.children).forEach(function (child) {\r\n if (!child.classList.contains(\"disabled\")) {\r\n let no = child.getAttribute(\"data-no\");\r\n child.children[0].addEventListener(\"click\", function () {\r\n singlePageSize = no === \"0\" ? pageData.length : parseInt(no);\r\n currentPageNo = 1;\r\n RefreshTable(pageData.slice(0, singlePageSize));\r\n CreatePagination(pageData.length);\r\n RefreshPagination();\r\n });\r\n }\r\n });\r\n });\r\n}\r\n\r\n// 建立換頁標籤\r\nfunction CreatePagination(itemCount) {\r\n $(\".pagination\").html(\"\");\r\n let maxPageNo = Math.ceil(itemCount / singlePageSize);\r\n paginationList = Array.from({ length: maxPageNo }, (value, index) => index + 1);\r\n\r\n let window = maxPageNo > 5 ? 5 : maxPageNo;\r\n let prevBtn = `
  • `;\r\n let nextBtn = `
  • `;\r\n\r\n $(\".pagination\").append(prevBtn);\r\n for (let i = 0; i < window; i++) {\r\n let numBtn = `
  • `;\r\n $(\".pagination\").append(numBtn);\r\n }\r\n $(\".pagination\").append(nextBtn);\r\n}\r\n\r\nfunction ChangePage(type) {\r\n switch (type) {\r\n case \"prev\":\r\n if (currentPageNo > 1) {\r\n currentPageNo--;\r\n }\r\n break;\r\n case \"next\":\r\n if (currentPageNo < paginationList[paginationList.length - 1]) {\r\n currentPageNo++;\r\n }\r\n break;\r\n default:\r\n currentPageNo = parseInt(type.innerText);\r\n break;\r\n }\r\n RefreshPagination();\r\n let startIndex = (currentPageNo - 1) * singlePageSize;\r\n let endIndex = (currentPageNo - 1) * singlePageSize + singlePageSize;\r\n RefreshTable(pageData.slice(startIndex, endIndex));\r\n const data_block = document.querySelector(\".data_block\");\r\n if (window.scrollY > data_block.offsetTop - 16) scrollTo(0, data_block.offsetTop - 16);\r\n}\r\n\r\n// 更新換頁標籤\r\nfunction RefreshPagination() {\r\n let currentPaginationList = [];\r\n if (paginationList.length > 5) {\r\n if (currentPageNo <= 3) {\r\n currentPaginationList = Array.from({ length: 5 }, (value, index) => index + 1);\r\n } else {\r\n if (paginationList.slice(currentPageNo - 1).length >= 3) {\r\n currentPaginationList = paginationList.slice(currentPageNo - 3, currentPageNo + 2);\r\n } else {\r\n currentPaginationList = paginationList.slice(-5);\r\n }\r\n }\r\n } else {\r\n currentPaginationList = paginationList;\r\n }\r\n $(\".pagination\").each(function (idx, jqEl) {\r\n if (currentPageNo == 1) {\r\n jqEl.children[0].classList.add(\"disabled\");\r\n } else {\r\n jqEl.children[0].classList.remove(\"disabled\");\r\n }\r\n\r\n if (currentPageNo == paginationList.length) {\r\n jqEl.children[jqEl.childElementCount - 1].classList.add(\"disabled\");\r\n } else {\r\n jqEl.children[jqEl.childElementCount - 1].classList.remove(\"disabled\");\r\n }\r\n Array.from(jqEl.children).forEach(function (el, i) {\r\n if (i > 0 && i < jqEl.childElementCount - 1) {\r\n el.classList.remove(\"active\");\r\n el.children[0].innerText = currentPaginationList[i - 1];\r\n if (parseInt(el.children[0].innerText) == currentPageNo) {\r\n el.classList.add(\"active\");\r\n }\r\n }\r\n });\r\n });\r\n}\r\n\r\n// 列管類別篩選初始化\r\nfunction PollutionTypeFilterInit() {\r\n $(\".pollution_type\").each(function (idx, jqEl) {\r\n Array.from(jqEl.children).forEach(function (el, i) {\r\n el.children[0].querySelector(\"input\").addEventListener(\"change\", function () {\r\n let filterCheckeds = {\r\n IsAir: false,\r\n IsWater: false,\r\n IsWaste: false,\r\n IsToxic: false,\r\n };\r\n let checkedCount = 0;\r\n Array.from(jqEl.children).forEach((obj) => {\r\n let checkbox = obj.querySelector(\"input\");\r\n filterCheckeds[`${checkbox.value}`] = checkbox.checked;\r\n checkbox.checked ? checkedCount++ : checkedCount + 0;\r\n });\r\n document.querySelectorAll(\".tubulation_type_no\").forEach((obj) => {\r\n obj.innerText = checkedCount;\r\n });\r\n\r\n if (!!checkedCount) {\r\n pageData = pageDataRaw.filter((item) => {\r\n let result = false;\r\n Object.keys(filterCheckeds).forEach((key) => {\r\n if (item[key] && filterCheckeds[key]) {\r\n result = true;\r\n }\r\n });\r\n return result;\r\n });\r\n $(\".result_block .data_block\").slideDown();\r\n } else {\r\n pageData = [];\r\n $(\".result_block .data_block\").slideUp();\r\n }\r\n\r\n RefreshPollutionTypeTag(filterCheckeds);\r\n currentPageNo = 1;\r\n RefreshTable(pageData.slice(0, singlePageSize));\r\n CreatePagination(pageData.length);\r\n RefreshPagination();\r\n });\r\n });\r\n });\r\n RefreshPollutionTypeTag({\r\n IsAir: true,\r\n IsWater: true,\r\n IsWaste: true,\r\n IsToxic: true,\r\n });\r\n}\r\n\r\n// 刷新列管類別標籤\r\nfunction RefreshPollutionTypeTag(filterList) {\r\n $(\".label_group\").empty();\r\n Object.keys(filterList).forEach((key) => {\r\n if (filterList[key]) {\r\n let html = \"\";\r\n let text = \"\";\r\n if (key === \"IsAir\") {\r\n text = \"空氣污染\";\r\n } else if (key === \"IsWater\") {\r\n text = \"水污染\";\r\n } else if (key === \"IsWaste\") {\r\n text = \"廢棄物\";\r\n } else if (key === \"IsToxic\") {\r\n text = \"毒性化學物質\";\r\n }\r\n html += `
  • \r\n \r\n
  • `;\r\n $(\".label_group\").append(html);\r\n svg_to_xml();\r\n }\r\n });\r\n}\r\n\r\n// 關閉列管類別標籤\r\nfunction ClosePollutionTypeTag(type) {\r\n let inputList = document.querySelectorAll(`.pollution_type input[value=\"${type}\"]`);\r\n inputList.forEach(function (input, key) {\r\n if (!!key) {\r\n $(input).trigger(\"click\");\r\n } else {\r\n $(input).attr(\"checked\", false);\r\n }\r\n });\r\n}\r\n\r\n// 篩選器初始化\r\nfunction FilterInputInit() {\r\n let params = new URLSearchParams(document.location.search);\r\n let filterType = params.get(\"type\");\r\n\r\n if (filterType == 2) {\r\n if (!tabletMediaQuery.matches) {\r\n $(\".filter_location_input\").css(\"display\", \"block\");\r\n $(\".filter_keyword_input\").css(\"display\", \"none\");\r\n } else {\r\n $(\".filter_location\").css(\"display\", \"block\");\r\n $(\".filter_keyword_input .dropdown\").css(\"display\", \"none\");\r\n $(\".filter_keyword\").css(\"display\", \"none\");\r\n }\r\n\r\n $(\".filter_type\").text(\"地點\");\r\n $(\"#filter_location\").val(filter_obj.location);\r\n $(\".filter_location\").val(filter_obj.location);\r\n } else {\r\n if (!tabletMediaQuery.matches) {\r\n $(\".filter_location_input\").css(\"display\", \"none\");\r\n $(\".filter_keyword_input\").css(\"display\", \"flex\");\r\n $(\".filter_keyword_input .dropdown\").css(\"display\", \"block\");\r\n $(\".select_dropbox.filter_distance\").parent(\"li\").css(\"display\", \"none\");\r\n } else {\r\n $(\".filter_location\").css(\"display\", \"none\");\r\n $(\".filter_keyword\").css(\"display\", \"block\");\r\n }\r\n if (filterType == 1) {\r\n $(\".filter_type\").text(\"關鍵字\");\r\n $(\".filter_keyword\").val(filter_obj.Keyword);\r\n $(\".filter_keyword_input .dropdown\").css(\"display\", \"block\");\r\n } else {\r\n $(\".filter_type\").text(\"申報量\");\r\n $(\".filter_keyword\").val(filter_obj.ReportItem);\r\n $(\".filter_keyword_input .dropdown\").css(\"display\", \"none\");\r\n $(\".report_notify\").text(\"可於關鍵字之間加空格限縮查詢範圍,例:「廢棄物及再利用資源代碼 列管事業名稱」\");\r\n }\r\n }\r\n\r\n $(\".select_input_block .list_dropdown >li \").each(function () {\r\n let type = $(this).children(\"button\").data(\"column\");\r\n let val = $(this).children(\"button\").text();\r\n if (type === filter_obj.Column) {\r\n $(\".select_input_block .title\").text(val);\r\n $(this).parent(\"li\").addClass(\"selected\");\r\n }\r\n });\r\n\r\n $(\".select_input_block .dropdown >button\").click(function (e) {\r\n e.stopPropagation();\r\n let show = $(\".select_input_block .list_dropdown\").css(\"display\");\r\n\r\n if (show === \"none\") {\r\n $(\".select_input_block .list_dropdown\").fadeIn();\r\n } else {\r\n $(\".select_input_block .list_dropdown\").fadeOut();\r\n }\r\n });\r\n\r\n $(\".select_input_block .list_dropdown li>button\").click(function (e) {\r\n e.stopPropagation();\r\n let text = $(this).text();\r\n let type = $(this).data(\"column\");\r\n $(\".select_input_block .list_dropdown li\").removeClass(\"selected\");\r\n $(this).parent(\"li\").addClass(\"selected\");\r\n $(\".select_input_block .dropdown .title\").text(text);\r\n $(\".select_input_block .list_dropdown\").fadeOut();\r\n $(\".select_input_block .filter_keyword\").attr(\"placeholder\", text);\r\n filter_obj.Column = type;\r\n });\r\n\r\n let orderType = !!filter_obj.FactOrder ? filter_obj.FactOrder : \"RegistrationNo\";\r\n $(\".btn_group>li:nth-child(2) .title\").text($(`.btn_group>li:nth-child(2) li[data-value='${orderType}']>button`).text());\r\n $(`.btn_group>li:nth-child(2) li[data-value='${orderType}']`).addClass(\"selected\");\r\n\r\n let distance = !!filter_obj.Distance ? filter_obj.Distance : \"1\";\r\n $(\".btn_group>li:nth-child(1) .title\").text($(`.btn_group>li:nth-child(1) li[data-distance='${distance}']>button`).text());\r\n $(`.btn_group>li:nth-child(1) li[data-distance='${distance}']`).addClass(\"selected\");\r\n\r\n $(\".filter_keyword_button\").click(function () {\r\n document.querySelectorAll(\".filter_keyword\").forEach(function (el) {\r\n if (!!el.value) {\r\n if (filter_obj.type == 3) {\r\n filter_obj.ReportItem = el.value;\r\n } else {\r\n filter_obj.Keyword = el.value;\r\n }\r\n }\r\n });\r\n Search();\r\n });\r\n\r\n $(\".filter_location.pac-target-input\").click(function () {\r\n let location = document.getElementById(\"filter_location\").value;\r\n if (!!location) {\r\n if (filter_obj.location !== location) {\r\n filter_obj.location = location;\r\n filter_obj.placeId = places_changed[0].place_id;\r\n filter_obj.Lat = places_changed[0].geometry.location.lat();\r\n filter_obj.Lng = places_changed[0].geometry.location.lng();\r\n\r\n }\r\n }\r\n ChangeUrlSearch();\r\n });\r\n\r\n //申報量資訊\r\n $(\".dropdown_form .input_block\").each(function () {\r\n let Class = $(this).find(\"input\").attr(\"class\");\r\n if (filter_obj.ReportItem !== \"\" || filter_obj.ReportItem !== \"\") {\r\n $(\".reportData\").addClass(\"open\");\r\n }\r\n $(this).find(\"input\").val(filter_obj[Class]);\r\n });\r\n if (filter_obj.ReportStartDate !== \"\") {\r\n $(\".reportDateData\").addClass(\"open\");\r\n $(\".reportDate\").val(`${filter_obj.ReportStartDate} ─ ${filter_obj.ReportEndDate}`);\r\n }\r\n $(\".input_block input\").keyup(function () {\r\n let Class = $(this).attr(\"class\");\r\n let val = $(this).val();\r\n if (Class !== \"filter_keyword\") {\r\n filter_obj[Class] = val;\r\n }\r\n });\r\n let ReportObj = {\r\n ReportItem: urlParams.get(\"ReportItem\") ? urlParams.get(\"ReportItem\") : \"\",\r\n ReportValue: urlParams.get(\"ReportValue\") ? urlParams.get(\"ReportValue\") : \"\",\r\n };\r\n $(\".ReportItem, .ReportValue\").change(function () {\r\n let val = $(this).val();\r\n let id = $(this).attr(\"id\");\r\n ReportObj[id] = val;\r\n });\r\n $(\".submit_btn.reportData\").click(function () {\r\n ChangeUrlSearch();\r\n });\r\n customCalendar(filter_obj.ReportStartDate, filter_obj.ReportEndDate);\r\n if (mobileMediaQuery.matches) {\r\n $(\".reportDate\").attr(\"placeholder\", \"起 - 迄\");\r\n $(\".declaration_amt\").attr(\"placeholder\", \"半形數字可含小數點\");\r\n }\r\n\r\n // 申報日期\r\n $(\".input_calendar_range > .calendar_input\").each(function (e) {\r\n let type = $(this).find(\"input\").data(\"type\");\r\n $(this).find(\"input\").val(filter_obj[type]);\r\n });\r\n $(\".calendar\").delegate(\"table td>button\", \"click\", function (e) {\r\n let type = $(this).parents(\".calendar_input\").children(\"input\").data(\"type\");\r\n let value = $(this).parent(\"td\").data(\"date\");\r\n let selectedValue = filter_obj[type] && filter_obj[type] === value ? \"\" : value;\r\n\r\n $(this).parents(\".calendar\").slideUp(100);\r\n $(this).parents(\".calendar\").removeClass(\"open\");\r\n filter_obj[type] = selectedValue;\r\n $(this).parents(\".calendar_input\").children(\"input\").val(selectedValue);\r\n if (type === \"ReportStartDate\") {\r\n filter_obj.ReportEndDate = \"\";\r\n customCalendar(selectedValue, filter_obj.ReportEndDate ? filter_obj.ReportEndDate : \"\", selectedValue);\r\n }\r\n $(\".input_calendar_range > .calendar_input\").each(function (e) {\r\n let type = $(this).find(\"input\").data(\"type\");\r\n $(this).find(\"input\").val(filter_obj[type]);\r\n });\r\n if (filter_obj.ReportStartDate && filter_obj.ReportEndDate) {\r\n ChangeUrlSearch();\r\n }\r\n });\r\n $(\".calendar_input > input\").keyup(function (e) {\r\n let value = $(this).val();\r\n let type = $(this).data(\"type\");\r\n if (e.keyCode === 13) {\r\n filter_obj[type] = value;\r\n $(this).next(\".calendar\").removeClass(\"open\");\r\n $(this).next(\".calendar\").slideUp();\r\n if (filter_obj.ReportStartDate && filter_obj.ReportEndDate) {\r\n ChangeUrlSearch();\r\n }\r\n }\r\n });\r\n\r\n // 取得清單資料\r\n let fetchList = [\r\n {\r\n id: \"取得行業別清單\",\r\n path: \"/api/v1/Code/IndustryList\",\r\n class: \".insutry_type\",\r\n lists: \"IndustryList\",\r\n },\r\n {\r\n id: \"取得城市清單\",\r\n path: \"/api/v1/Code/CountyTownList\",\r\n class: \".town_type\",\r\n lists: \"TownList\",\r\n },\r\n ];\r\n fetchList.forEach((obj) => {\r\n let list = obj.lists;\r\n $.ajax({\r\n url: `${host}${obj.path}`,\r\n type: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n },\r\n success: function (data) {\r\n if (data.Result !== null && data.Error === null) {\r\n let parent_category = data.Result.filter((d) => d.ParentId === \"0\");\r\n parent_category.map((p) => {\r\n let id = p.Id;\r\n let category = data.Result.filter((d) => d.ParentId === id);\r\n p.categories = category;\r\n return p;\r\n });\r\n\r\n lists[list] = parent_category;\r\n parent_category.forEach((cat) => {\r\n let id = cat.Id;\r\n let parent_name = cat.Name;\r\n html = `
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • `;\r\n $(obj.class).append(html);\r\n });\r\n checkExpandList();\r\n checked_status();\r\n }\r\n },\r\n });\r\n });\r\n\r\n area.forEach((a) => {\r\n if (a.PARENT_ID !== 0) {\r\n let filter = river.findIndex((r) => r.Id === a.PARENT_ID);\r\n river[filter][\"categories\"].push({ Id: a.ID, Name: a.TEXT, PARENT_ID: a.PARENT_ID });\r\n }\r\n });\r\n river.forEach((cat) => {\r\n let id = cat.Id;\r\n let parent_name = cat.Name;\r\n html = `
  • \r\n \r\n \r\n \r\n \r\n
  • `;\r\n $(\".river_area\").append(html);\r\n });\r\n\r\n //展開全部; 收合全部\r\n $(\".expand_control_btn\").click(function () {\r\n let this_ = $(this);\r\n let all_li = this_.prev(\"ul\").children(\"li\");\r\n let li_no = all_li.length;\r\n\r\n if (li_no > 4) {\r\n if (this_.prev(\"ul\").hasClass(\"expanded\")) {\r\n this_.prev(\"ul\").removeClass(\"expanded\");\r\n this_.text(\"展開全部\");\r\n all_li.each(function (i) {\r\n let a = $(this).children(\"a\").html();\r\n if (i + 1 > 4) {\r\n $(this).css(\"display\", \"none\");\r\n }\r\n });\r\n } else {\r\n this_.prev(\"ul\").addClass(\"expanded\");\r\n this_.text(\"收合全部\");\r\n all_li.each(function (i) {\r\n let a = $(this).children(\"a\").html();\r\n if (i + 1 > 4) {\r\n $(this).css(\"display\", \"flex\");\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // 展開子選項按鈕\r\n $(\".dropdown\").delegate(\"li > a\", \"click\", function (e) {\r\n let dropdown = $(this).next(\"ul\").hasClass(\"sub_dropdown\");\r\n if (dropdown) {\r\n if ($(this).parent(\"li\").hasClass(\"open\")) {\r\n $(this).parent(\"li\").removeClass(\"open\");\r\n } else {\r\n $(this).parent(\"li\").addClass(\"open\");\r\n }\r\n }\r\n });\r\n\r\n // 行業類別\r\n $(\".submit_btn.IndustryGroup\").click(function () {\r\n let result = \"\";\r\n document.querySelectorAll(\".insutry_type\").forEach(function (parent, key) {\r\n if (key == 1) {\r\n Array.from(parent.children).forEach(function (child) {\r\n Array.from(child.querySelector(\".sub_dropdown\").children).forEach(function (el) {\r\n let input = el.querySelector(\"input\");\r\n if (input.checked) {\r\n result += \",\" + input.value;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n filter_obj.IndustryGroup = result.replace(\",\", \"\");\r\n ChangeUrlSearch();\r\n });\r\n\r\n // 縣市鄉鎮\r\n $(\".submit_btn.Town\").click(function () {\r\n let result = \"\";\r\n document.querySelectorAll(\".town_type\").forEach(function (parent, key) {\r\n if (key == 1) {\r\n Array.from(parent.children).forEach(function (child) {\r\n Array.from(child.querySelector(\".sub_dropdown\").children).forEach(function (el) {\r\n let input = el.querySelector(\"input\");\r\n if (input.checked) {\r\n result += \",\" + input.value;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n filter_obj.Town = result.replace(\",\", \"\");\r\n ChangeUrlSearch();\r\n });\r\n\r\n // 流域\r\n $(\".submit_btn.RiverBasin\").click(function () {\r\n let result = \"\";\r\n document.querySelectorAll(\".river_area\").forEach(function (parent, key) {\r\n if (key == 1) {\r\n Array.from(parent.children).forEach(function (child) {\r\n Array.from(child.querySelector(\".sub_dropdown\").children).forEach(function (el) {\r\n let input = el.querySelector(\"input\");\r\n if (input.checked) {\r\n result += \",\" + input.value;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n filter_obj.RiverBasin = result.replace(\",\", \"\");\r\n ChangeUrlSearch();\r\n });\r\n\r\n // 其他\r\n $(\".submit_btn.OtherType\").click(function () {\r\n let IsPenalty = false,\r\n IsGreenhouse = false;\r\n document.querySelectorAll(\".other_type\").forEach(function (parent, key) {\r\n if (key == 1) {\r\n IsPenalty = parent.querySelector(\".IsPenalty\").checked;\r\n IsGreenhouse = parent.querySelector(\".IsGreenhouse\").checked;\r\n }\r\n });\r\n filter_obj.IsPenalty = IsPenalty ? IsPenalty : \"\";\r\n filter_obj.IsGreenhouse = IsGreenhouse ? IsGreenhouse : \"\";\r\n ChangeUrlSearch();\r\n });\r\n\r\n // 地圖圖例\r\n $(\".map_info>li .switch\").on(\"keyup\", function (e) {\r\n if (e.keyCode === 13) {\r\n let pollutionType = \"\";\r\n Array.from(document.querySelectorAll(\".map_info>li .switch\")).forEach(function (item) {\r\n let type = item.getAttribute(\"data-title\");\r\n if (!!type) {\r\n pollutionType += `,${type}`;\r\n }\r\n });\r\n marker_toggle($(this), pollutionType.replace(\",\", \"\").split(\",\"));\r\n }\r\n });\r\n $(\".map_info>li .switch\").on(\"click\", function (e) {\r\n let pollutionType = \"\";\r\n Array.from(document.querySelectorAll(\".map_info>li .switch\")).forEach(function (item) {\r\n let type = item.getAttribute(\"data-title\");\r\n if (!!type) {\r\n pollutionType += `,${type}`;\r\n }\r\n });\r\n marker_toggle($(this), pollutionType.replace(\",\", \"\").split(\",\"));\r\n });\r\n\r\n const input = !tabletMediaQuery.matches ? document.getElementById(\"filter_location\") : document.getElementById(\"filter_location_input\");\r\n const searchBox = new google.maps.places.SearchBox(input);\r\n\r\n searchBox.addListener(\"places_changed\", () => {\r\n places_changed = searchBox.getPlaces();\r\n });\r\n\r\n $(\".filter_keyword\").on(\"keyup\", function (e) {\r\n if (e.keyCode == 13) {\r\n if (this.parentElement.parentElement.parentElement.classList.contains(\"outter_input_block\")) {\r\n document.querySelectorAll(\".filter_keyword\").forEach(function (el) {\r\n if (!!el.value) {\r\n if (filter_obj.type == 3) {\r\n filter_obj.ReportItem = el.value;\r\n } else {\r\n filter_obj.Keyword = el.value;\r\n }\r\n }\r\n });\r\n Search();\r\n } else {\r\n MobileSearch();\r\n }\r\n }\r\n });\r\n\r\n $(\".filter_location\").on(\"keyup\", function (e) {\r\n if (e.keyCode === 13) {\r\n MobileSearch();\r\n }\r\n });\r\n $(\"#filter_location\").on(\"keyup\", function (e) {\r\n if (e.keyCode === 13) {\r\n let location = document.getElementById(\"filter_location\").value;\r\n if (!!location) {\r\n if (filter_obj.location !== location) {\r\n filter_obj.location = location;\r\n filter_obj.placeId = places_changed[0].place_id;\r\n filter_obj.Lat = places_changed[0].geometry.location.lat();\r\n filter_obj.Lng = places_changed[0].geometry.location.lng();\r\n }\r\n }\r\n ChangeUrlSearch();\r\n }\r\n });\r\n}\r\n\r\nfunction CheckAllExpandLsit(el) {\r\n // console.log(el.parentElement);\r\n let checked = el.querySelector(\"input\").checked;\r\n Array.from(el.parentElement.querySelector(\".sub_dropdown\").children).forEach(function (item) {\r\n $(item.querySelector(\"input\")).attr(\"checked\", checked);\r\n });\r\n}\r\n\r\n//檢查下拉選項是否對於4項;第五項後之選項將會被收合\r\nfunction checkExpandList() {\r\n $(\".dropdown\").each(function () {\r\n let this_ = $(this);\r\n let li_no = $(this_).children(\"li\").length;\r\n if (li_no > 4) {\r\n $(this_)\r\n .children(\"li\")\r\n .each(function (i) {\r\n if (i + 1 > 4) {\r\n $(this).css(\"display\", \"none\");\r\n }\r\n });\r\n } else {\r\n //檢查其他篩選條件☑️狀態\r\n $(this_)\r\n .children(\"li\")\r\n .each(function (i) {\r\n let input = $(this).children(\"a\").children(\".script\").children(\"input\");\r\n let input_class = $(input).attr(\"class\");\r\n if (input_class) {\r\n let check_status = urlParams.get(input_class) ? strToBool(urlParams.get(input_class)) : false;\r\n $(`.${input_class}`).attr(\"checked\", check_status);\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\n//檢查列管類別☑️狀態\r\nfunction checked_status() {\r\n for (let i in filter_obj) {\r\n let key = i[0].toLowerCase() + i.slice(1);\r\n if (filter_obj[i] !== null) {\r\n if (i == \"IndustryGroup\" || i == \"Town\" || i === \"RiverBasin\") {\r\n let ClassName = i === \"IndustryGroup\" ? \".insutry_type\" : i == \"Town\" ? \".town_type\" : \".river_area\";\r\n if (filter_obj[i] !== \"\") {\r\n let check_list = filter_obj[i].split(\",\");\r\n let check_arr = [];\r\n check_list.forEach((l) => {\r\n if (l !== \"\") {\r\n let parent_id = i === \"IndustryGroup\" ? l.substring(0, 2) : i == \"Town\" ? l.substring(0, 5) : l;\r\n if (i === \"RiverBasin\") {\r\n let filter = area.filter((a) => a.ID.toString() === l);\r\n if (filter.length > 0) parent_id = filter[0][\"PARENT_ID\"].toString();\r\n }\r\n let filter_check = check_arr.filter((c) => c.parentId === parent_id);\r\n if (filter_check.length === 0) {\r\n let obj = {\r\n parentId: parent_id,\r\n categories: [l],\r\n };\r\n check_arr.push(obj);\r\n } else {\r\n filter_check[0][\"categories\"].push(l);\r\n }\r\n $(`${ClassName} > .${parent_id} > .sub_dropdown > li`).each(function (index) {\r\n let input = $(this).children(\"button\").children(\".script\").children(\"input\");\r\n let val = $(input).val();\r\n if (l === val) {\r\n $(input).attr(\"checked\", true);\r\n }\r\n });\r\n }\r\n });\r\n check_arr = check_arr.map((check) => {\r\n let parent_id = check.parentId;\r\n //包含手機版/電腦版Menu\r\n check.length = $(`${ClassName} > .${parent_id} > .sub_dropdown > li`).length / 2;\r\n return check;\r\n });\r\n if (check_arr.length > 0) {\r\n $(ClassName).parent(\"li\").addClass(\"open\");\r\n }\r\n check_arr.forEach((check) => {\r\n if (check.categories.length > 0) {\r\n $(`${ClassName} >.${check.parentId} `).addClass(\"open\");\r\n }\r\n\r\n if (check.length === check.categories.length) {\r\n $(`${ClassName} > .${check.parentId} > button >.script> input`).attr(\"checked\", true);\r\n }\r\n });\r\n }\r\n } else if (filter_obj[i] == \"true\" || filter_obj[i] == \"false\") {\r\n $(`.${i}`).attr(\"checked\", !!filter_obj[i]);\r\n if (filter_obj[i] == \"true\") {\r\n let parent = $(`.${i}`).parent(\".script\").parent(\"button\").parent(\"li\").parent(\".dropdown\").parent(\"li\");\r\n let isOpen = $(parent).hasClass(\"open\");\r\n if (!isOpen) {\r\n $(parent).addClass(\"open\");\r\n }\r\n }\r\n } else if (i === \"AirArea\" || i === \"PollutionType\") {\r\n let ClassName = i === \"AirArea\" ? \".air_area\" : \".pollution_type\";\r\n let checked_no = 0;\r\n $(`${ClassName} input`).each(function () {\r\n if (filter_obj[i].indexOf($(this).val()) > -1) {\r\n $(this).attr(\"checked\", true);\r\n checked_no += 1;\r\n }\r\n });\r\n if (checked_no > 0) {\r\n $(ClassName).parent(\"li\").addClass(\"open\");\r\n }\r\n if (i === \"PollutionType\") {\r\n //檢查圖例☑️狀態\r\n // $(\".tubulation_type_no\").text(checked_no / 2);\r\n $(\".map_info>li .switch\").each(function () {\r\n let type = $(this).data(\"type\");\r\n let title = $(this).data(\"title\");\r\n let open = $(this).hasClass(\"open\");\r\n if (type == 1) {\r\n if (filter_obj[i].indexOf(title) > -1) {\r\n $(this).addClass(\"open\");\r\n } else {\r\n $(this).removeClass(\"open\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction show_map($this, new_data, data, Class, pollutionType = undefined) {\r\n let map_show = Class === \"\" ? $($this).hasClass(\"map_show\") : Class;\r\n if (!map_show) {\r\n $($this).addClass(\"map_show\");\r\n $(\".map_block\").slideDown();\r\n $(\".data_block\").fadeOut();\r\n if (!map) {\r\n const baseEMAP = L.tileLayer(\"https://wmts.nlsc.gov.tw/wmts/EMAP/default/GoogleMapsCompatible/{z}/{y}/{x}\", { minZoom: 7 });\r\n map = L.map(\"mapid\", {\r\n layers: [baseEMAP],\r\n attributionControl: false,\r\n center: [23.604799, 120.7976256], // 台灣中心點\r\n zoom: 7,\r\n });\r\n } else {\r\n Object.keys(marker_obj).forEach(function (key) {\r\n marker_obj[key] = [];\r\n });\r\n }\r\n map.eachLayer(function (layer) {\r\n console.log(layer);\r\n if (!!layer.options.radius) {\r\n map.removeLayer(layer);\r\n }\r\n if (layer instanceof L.MarkerClusterGroup) {\r\n map.removeLayer(layer);\r\n }\r\n });\r\n if (filter_obj.Lat && filter_obj.Lng) {\r\n let radius = (!!filter_obj.Distance ? filter_obj.Distance : 1) * 1000;\r\n let circleA = L.circle([parseFloat(filter_obj.Lat), parseFloat(filter_obj.Lng)], {\r\n color: \"#E11D21\",\r\n fillColor: \"#E11D21\",\r\n fillOpacity: 0.1,\r\n radius: radius,\r\n }).addTo(map);\r\n map.fitBounds(circleA.getBounds());\r\n }\r\n let markers = new L.MarkerClusterGroup();\r\n for (let i = 0; i < data.length; i++) {\r\n let type = [];\r\n let pollution_type;\r\n let type_arr = [\"IsAir\", \"IsWater\", \"IsWaste\", \"IsToxic\", \"MoreType\"];\r\n type_arr.forEach((t) => {\r\n if (data[i][t]) {\r\n type.push(t);\r\n }\r\n });\r\n if (type.length > 1) {\r\n pollution_type = type.length;\r\n } else {\r\n pollution_type = type[0];\r\n }\r\n // if (typeof pollution_type === \"number\") {\r\n // marker_obj[\"MoreType\"].push(data[i]);\r\n // } else {\r\n // marker_obj[pollution_type].push(data[i]);\r\n // }\r\n let icon = L.icon({\r\n iconUrl: typeof pollution_type === \"number\" ? icons[\"MoreType\"].icon : icons[pollution_type].icon,\r\n });\r\n let marker = L.marker([data[i][\"Lat\"], data[i][\"Lng\"]], { icon: icon }).on(\"click\", () => {\r\n let html = `
    \r\n
    ${data[i].RegistrationNo}
    \r\n
    ${data[i].FacilityName}
    \r\n
    ${data[i].IndustryAreaName} / ${data[i].IndustryName} / ${data[i].FacilityAddress}
    \r\n