//osURIFilter(); $("#upgrade").hide() /* $(document).ready(function(){ $("#upgrade").delay(500).slideDown() }) */ let url = new URL(window.location.toString()) $(document).ready(function(){ sq = url.searchParams.get("q") if(sq){ $("#search-bar").val(sq) } sOS= url.searchParams.get("osfamily") if(sOS){ //$("#search-bar").val(sOS + "#this") } search() }) //$("#upgrade").fadeIn('slow') //Permalink Function function plink(){ l = window.location.href if(!$("#search-bar").val().includes('http:\/\/data.openlinksw.com\/oplweb\/opsys_family\/')){ lf = l.replace(/\?.*/,'') + "?q=" + $("#search-bar").val() window.location.replace(lf) } if($("#search-bar").val().includes('http://data.openlinksw.com/oplweb/opsys_family/')){ lf = l.replace(/\?.*/,'') + "?osfamily=" + $("#search-bar").val() window.location.replace(lf) } } //Main Search Function function search(){ $(".dl-item").show() ct = $("#ct") xp1 = arrFix(['postgresql','mysql','sybase','oracle','informix','progress','db2','ingres','sql server']) xpo = arrFix(['tableau','microsoft powerbi','microsoft power bi','powerbi','power bi', 'access','microsoft access','polybase','python','excel','qlik','unixodbc','iodbc','pyodbc','cypher odbc']) xpoj = ['odbc-jdbc','odbc-jdbc bridge', 'odbc jdbc bridge','odbc to jdbc','athena','aws athena','amazon athena','aws neptune', 'infor', 'infor compass', 'presto','excel neo4j','neo4j excel','neo4j powerbi', 'powerbi neo4j','sap hana excel','sap hana powerbi','powerbi jdbc','excel jdbc','access jdbc','jaydebeapi'] xpj = ['pentaho','yellowfin', 'java','neo4j','jdbc-odbc'] os = arrFix(['mac','macos', 'windows','win','linux']) var input = $("#search-bar").val().replace(/sql server/i,'sqlserver').replace(/power bi/i,'powerbi').toLowerCase() var ix = input.split(' ') drivers = $(".dl-item") osid = osCheck(os,ix) console.log(`input: ${input}`) if(xp1.some(item => input.toLowerCase().includes(item)) ){ searchToggle(match(xp1,ix).replace('sqlserver','sql server')) } if(xpo.some(item => input.toLowerCase().includes(item)) ){ searchToggle('odbc driver for') //osFilter(osid,ix) } if(xpoj.some(item => input.toLowerCase().includes(item)) ){ searchToggle('odbc driver for jdbc') //osFilter(osid,ix) } if(xpj.some(item => input.toLowerCase().includes(item)) ){ searchToggle('jdbc driver for odbc') //osFilter(osid,ix)a } if(os.some(item => input.toLowerCase().includes(item)) ){ //searchToggle(osid) console.log("os search detected...") osFilter(osid,ix) } if(url.searchParams.get("osfamily")){ //console.log("os detected...") osURIFilter(url.searchParams.get("osfamily"),ix) } //if(!url.searchParams.get("osfamily")){ // osFilter(osid) //} ct.remove() $(".main-container").append("

Please use our license generator or contact us for legacy releases (Version 7 and below), and/or drivers for Progress, DB2, and other database options not listed here.

") } //OS Filter function osFilter(sys,input){ vDrivers = $(".dl-item:visible") //console.log("system: " + sys) //console.log('input: ' + input) //console.log(vDrivers) vDrivers.each((inx,x) =>{ //console.log(x.innerText + " vs " + sys) //console.log(x.innerText.toLowerCase().indexOf(sys) > -1) if(x.getAttribute("data-os-family").toLowerCase().indexOf(sys) > -1){ //console.log("show: " + x.innerText) vDrivers.eq(inx).show() } else{ //console.log("hide: " + x.innerText) vDrivers.eq(inx).hide() } }) } //OS Filter by URI function osURIFilter(sys,input){ $("#main-bar").hide() $(".plink").hide() //console.log( sys ) sq = url.searchParams.get("osfamily") + "#this" vDrivers = $(".dl-item") vDrivers.each((inx,x) =>{ if($(".dl-item").eq(inx).attr('data-os-family-uri') == sq.replace(/.*={1}/,"") ){ //console.log("show: " + x.innerText) vDrivers.eq(inx).show() } else{ //console.log($(".dl-item").eq(inx).attr('data-os-family-uri') + " dnt match " + sq.replace(/.*={1}/,"") ) //console.log("hide: " + x.innerText) vDrivers.eq(inx).hide() } }) } //Filter Search Results function searchToggle(crit){ drivers.show() console.log(`criteria: ${crit}`) input=$("#search-bar").val() if(input.length > 0){ drivers.each((inx,x) =>{ if(x.innerText.toLowerCase().indexOf(crit) > -1){ //console.log(x.innerText.toLowerCase() + "=" + crit) drivers.eq(inx).show() } else{ //console.log(x.innerText.toLowerCase() + "!=" + crit) drivers.eq(inx).hide() } }) } } //remove spaces in arrays function arrFix(x){ return x.map(y => y.replace(" ","")) } //Find Database and Application terms function match(matchArr,arr){ c = [] arr.forEach(x =>{ //console.log( x + " vs " + matchArr) if(matchArr.indexOf(x) != -1){ c.push(x) //console.log(c.slice(0,1)) } }) return c.join() } //Check for Operating System function osCheck(osList,arr){ arr = arr c = [] arr.forEach(x =>{ if(osList.indexOf(x) != -1){ c.push(x) } }) //console.log(c) return c.join() }