var filterContext={}; let createMasterFilterFrame=()=>{ let theFrameDiv=document.createElement("div"); theFrameDiv.setAttribute("id","frmMasterFilter"); theFrameDiv.className="container-fluid " window.document.getElementById('app').append(theFrameDiv); theFrameDiv.innerHTML=`

`; fetchSymbols(); return true; } let beforeShowDay=(theDate)=>{ let isoDate=theDate.toISOString().substr(0,10); //console.log("BeforeShow",isoDate,theDate); let isDateFound=false; for (let i=0;i{ $.get({ url:"/getSymbols" }).done(response=>{ let allSymbols=response; console.log(allSymbols); refreshSymbolList(allSymbols); }); } let getCurrentSymbol=()=>{ return(filterContext.theSymbol=$("#lbSymbol").val()); } let symbolChanged=_=>{ console.log("symbolChanged",getCurrentSymbol()); document.title=getCurrentSymbol(); $("#tbSymbol").text(getCurrentSymbol()); getAvailDatesForSymbol(getCurrentSymbol()).done(_=>{ $("#datePicker").datepicker('destroy'); $("#datePicker").datepicker({beforeShowDay:beforeShowDay}) .on('changeDate', (e)=>{ if (e.date !== undefined) { console.log("DatePicker changed date",e.date); filterContext.theDate=e.date.toISOString().substr(0,10); showTimesForDay(filterContext.theDate); } }); $("#datePicker").datepicker('setDate',new Date(filterContext.theDate)); }); } let timeChanged=()=>{ if (filterContext.selectedTime!==$("#lbTime").val()){ filterContext.selectedTime=$("#lbTime").val(); console.log("Time changed", ); requestOptionChain(); } } let requestOptionChain=()=>{ $.ajax({ url:"/getOptionChain?Date=" + filterContext.theDate + "&Symbol=" + filterContext.theSymbol + "&Time="+filterContext.selectedTime }).done(response=>{ dta=JSON.parse(response[0].Data); //console.log("received",dta); displayOptionChain(); }); } let showTimesForDay=()=>{ return $.ajax({ url:"/getTimes?Date=" + filterContext.theDate + "&Symbol=" + filterContext.theSymbol }).done(response=>{ let availableTimes=response; //console.log(availableTimes); let lbTime=$("#lbTime"); lbTime.empty(); allTimes = availableTimes; for (let i=0;i${theTime}`)) } $("#lbTime").change(); }); } let getAvailDatesForSymbol=(theSymbol)=>{ return $.ajax({ url:"/getDates?Symbol=" + theSymbol }).done(response=>{ let availableDates=response; //console.log(availableDates); filterContext.availableDates=availableDates; }); } let refreshSymbolList=(allSymbols)=>{ let lbSymbol=$("#lbSymbol"); lbSymbol.empty(); for (let i=0;i${theSymbol}`)) } }