{"version":3,"sources":["contact.js"],"names":["window","document","html","documentElement","body","querySelector","innerWidth","innerHeight","getScrollTop","arguments","length","undefined","pageYOffset","scrollTop","clientTop","getWinSet","addEventListener","throttle","isiOS","navigator","userAgent","toLowerCase","match","titleEls","$","find","calcHeightThrottle","calcHeight","max","each","index","el","height","jobBreakpoint","matchMedia","jobBreakpointChecker","matches","removeEventListener","matchCustom","params","data","trim","term","text","id","toUpperCase","indexOf","element","dataset","keywords","addListener","select2LangDefined","es","de","fr","it","nl","zh-Hant-TW","zh","getAttribute","select2AddId","$this","parent","parents","input","concat","attr","item","searchInput","select2","matcher","language","placeholder","allowClear","width","dropdownParent","multiple","on","e","removeAttr","val","addClass","trigger","blur","removeClass","setTimeout","focus","selectPdEl","selectPDBuilded","buildSelectPd","formatRepo","repo","loading","pdDesc","desc","img","formatRepoSelection","full_name","this","msg","inputTooShort","noResults","_defineProperty","minimumInputLength","minimumResultsForSearch","maximumSelectionLength","templateResult","templateSelection","pickDateEls","l10nData","file","property","pickDateInit","path","callback","script","lang","currentLang","fileName","propertyName","currentScriptPath","flatpickr","localize","l10ns","pickDateBuild","createElement","onload","src","head","appendChild","forEach","format","replace","minDate","dateFormat","onReady","flatpickrOpt","dispatchEvent","CustomEvent","querySelectorAll","setAttribute","removeAttribute","foundation"],"mappings":"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","file":"../contact.min.js","sourcesContent":["// 其它單元也要使用,搬移到all-main.js\r\n// /* ---------------------------------------- [START] 輸入 Filter */\r\n// (function (window, document) {\r\n// \t/* 只能輸入數字 */\r\n// \t// setInputFilter(document.querySelectorAll('.js-input-num'), function (value) {\r\n// \t// \treturn /^\\d*$/.test(value);\r\n// \t// });\r\n\r\n// \t/* 只能輸入數字 + 英文 */\r\n// \t// setInputFilter(document.querySelectorAll('.js-input-num-a-z'), function (value) {\r\n// \t// \treturn /^[a-zA-Z0-9]*$/.test(value);\r\n// \t// });\r\n\r\n// \t/* 只能輸入電話相關 */\r\n// \tsetInputFilter(document.querySelectorAll('.js-input-tel'), function (value) {\r\n// \t\treturn /^[\\d-+\\s()#]*$/.test(value);\r\n// \t});\r\n// })(window, document);\r\n\r\n// /* Ref (Richart): https://richart.tw/TSDIB_RichartWeb/static/revamp/js/InputFilter.js\r\n// * Restricts input for the given textbox to the given inputFilter.\r\n// */\r\n// function setInputFilter(x, inputFilter) {\r\n// \tif (x.length > 0) {\r\n// \t\t['focus', 'input', 'keydown', 'keyup', 'mousedown', 'mouseup', 'select', 'contextmenu', 'drop'].forEach(\r\n// \t\t\tfunction (event) {\r\n// \t\t\t\tfor (var i = 0; i < x.length; i++) {\r\n// \t\t\t\t\tx[i].addEventListener(event, function () {\r\n// \t\t\t\t\t\tif (inputFilter(this.value)) {\r\n// \t\t\t\t\t\t\tthis.oldValue = this.value;\r\n// \t\t\t\t\t\t\tthis.oldSelectionStart = this.selectionStart;\r\n// \t\t\t\t\t\t\tthis.oldSelectionEnd = this.selectionEnd;\r\n// \t\t\t\t\t\t} else if (this.hasOwnProperty('oldValue')) {\r\n// \t\t\t\t\t\t\tthis.value = this.oldValue;\r\n// \t\t\t\t\t\t\tthis.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);\r\n// \t\t\t\t\t\t} else {\r\n// \t\t\t\t\t\t\tthis.value = '';\r\n// \t\t\t\t\t\t}\r\n// \t\t\t\t\t});\r\n// \t\t\t\t}\r\n// \t\t\t}\r\n// \t\t);\r\n// \t}\r\n// }\r\n// /* ---------------------------------------- [END] 輸入 Filter */\r\n\r\n(function (window, document) {\r\n\t/* ---------------------------------------- [START] Windows Setting */\r\n\tconst html = document.documentElement;\r\n\tconst body = document.body || document.querySelector('body');\r\n\tlet ww = window.innerWidth;\r\n\tlet wh = window.innerHeight;\r\n\tlet ws = 0;\r\n\tfunction getScrollTop(target = window) {\r\n\t\treturn (target.pageYOffset || html.scrollTop) - (html.clientTop || 0);\r\n\t}\r\n\tfunction getWinSet() {\r\n\t\tww = window.innerWidth;\r\n\t\twh = window.innerHeight;\r\n\t\tws = getScrollTop();\r\n\t}\r\n\tfunction scrollHandler() {\r\n\t\tws = getScrollTop();\r\n\t}\r\n\twindow.addEventListener('load', getWinSet);\r\n\twindow.addEventListener('scroll', scrollHandler);\r\n\twindow.addEventListener('resize', throttle(getWinSet, 50, 100));\r\n\t// ----------------------------\r\n\t// 判斷 裝置\r\n\t// iOS\r\n\tvar ua = navigator.userAgent;\r\n\tvar isiOS = ua.toLowerCase().match(/(iphone|ipod|ipad)/);\r\n\t/* ---------------------------------------- [END] Windows Setting */\r\n\r\n\t/* ---------------------------------------- [START] Match Height */\r\n\tconst titleEls = $('.js-match-title').find('.form__group-title');\r\n\tconst calcHeightThrottle = throttle(calcHeight, 50, 100);\r\n\tfunction calcHeight() {\r\n\t\tlet max = 0;\r\n\t\ttitleEls.each((index, el) => {\r\n\t\t\t$(el).height('');\r\n\t\t\tif ( max < $(el).innerHeight()) {\r\n\t\t\t\tmax = $(el).innerHeight();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\ttitleEls.height(max);\r\n\t}\r\n\tconst jobBreakpoint = window.matchMedia('(min-width: 1024px)');\r\n\tconst jobBreakpointChecker = function() {\r\n\t\tif (jobBreakpoint.matches) {\r\n\t\t\t// Medium + Large\r\n\t\t\tcalcHeight();\r\n\t\t\twindow.addEventListener('resize', calcHeightThrottle);\r\n\t\t} else {\r\n\t\t\t// Small\r\n\t\t\ttitleEls.height('');\r\n\t\t\twindow.removeEventListener('resize', calcHeightThrottle);\r\n\t\t}\r\n\t}\r\n\twindow.addEventListener('load', function() {\r\n\t\tif (titleEls.length) {\r\n\t\t\tjobBreakpointChecker();\r\n\t\t\tjobBreakpoint.addListener(jobBreakpointChecker);\r\n\t\t}\r\n\t});\r\n\t/* ---------------------------------------- [END] Match Height */\r\n\r\n\t/* ---------------------------------------- [START] Select2 Tool */\r\n\t// 尋找對應的關鍵字\r\n\t// Ref: https://stackoverflow.com/a/58218967/11240898\r\n\tfunction matchCustom(params, data) {\r\n\t\t// If there are no search terms, return all of the data\r\n\t\tif ($.trim(params.term) === '') {\r\n\t\t\treturn data;\r\n\t\t}\r\n\r\n\t\t// Do not display the item if there is no 'text' property\r\n\t\tif (typeof data.text === 'undefined' || data.id === 'null') {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\t// `params.term` should be the term that is used for searching\r\n\t\t// `data.text` is the text that is displayed for the data object\r\n\t\tif (data.text.toUpperCase().indexOf(params.term.toUpperCase()) > -1) {\r\n\t\t\treturn data;\r\n\t\t}\r\n\r\n\t\t// custom search using lookup data\r\n\t\t// 尋找對應的關鍵字\r\n\t\tif (\r\n\t\t\tdata.element.dataset.keywords &&\r\n\t\t\tdata.element.dataset.keywords.toUpperCase().indexOf(params.term.toUpperCase()) > -1\r\n\t\t) {\r\n\t\t\treturn data;\r\n\t\t}\r\n\r\n\t\t// Return `null` if the term should not be displayed\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// 篩選首字符合\r\n\t// function matchStart(params, data) {\r\n\t// \tparams.term = params.term || '';\r\n\t// \tif (data.text.toUpperCase().indexOf(params.term.toUpperCase()) === 0) {\r\n\t// \t\treturn data;\r\n\t// \t}\r\n\t// \treturn false;\r\n\t// }\r\n\r\n\tconst lang = document.documentElement.getAttribute('lang');\r\n\tconst select2Lang = {\r\n\t\tes: 'es', // 西班牙\r\n\t\tde: 'de', // 德文\r\n\t\tfr: 'fr', // 法文\r\n\t\tit: 'it', // 義大利文\r\n\t\tnl: 'nl', // 義大利文\r\n\t\t'zh-Hant-TW': 'zh-TW', // 義大利文\r\n\t\t'zh': 'zh-TW', // 義大利文\r\n\t}\r\n\r\n\tfunction select2LangGet() {\r\n\t\treturn select2Lang[lang] || 'en';\r\n\t}\r\n\r\n\tconst select2LangDefined = select2LangGet();\r\n\r\n\t// SIT 100 - 110 - F_6.1. 聯絡我們 - 修正 iOS 點擊 Select2 相關產生的欄位產生的 Bug\r\n\t// 因為結構關係,導致