{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/tour/VStep.vue?b5cc","webpack:///./src/screens/Portfolio/ChartControl.vue?1ad2","webpack:///src/screens/Portfolio/ChartControl.vue","webpack:///./src/screens/Portfolio/ChartControl.vue?cda7","webpack:///./src/screens/Portfolio/ChartControl.vue","webpack:///./src/store/trade/index.js","webpack:///./src/screens/Portfolio/OpenCloseCell.vue","webpack:///src/screens/Portfolio/OpenCloseCell.vue","webpack:///./src/screens/Portfolio/OpenCloseCell.vue?1446","webpack:///./src/screens/Portfolio/PortfolioHistoryTable.vue?c726","webpack:///./src/screens/Portfolio/PortfolioHistoryRow.vue?c218","webpack:///./src/screens/Portfolio/PortfolioOptionRow.vue?5d33","webpack:///./src/screens/Portfolio/PortfolioTable.vue?e226","webpack:///./src/screens/Portfolio/PortfolioRow.vue?be1b","webpack:///./src/screens/Portfolio/PortfolioRow.js","webpack:///./src/screens/Portfolio/PortfolioRow.js?0ea3","webpack:///./src/screens/Portfolio/PortfolioRow.vue?05b6","webpack:///./src/screens/Portfolio/PortfolioTable.js","webpack:///./src/screens/Portfolio/PortfolioTable.js?f6a8","webpack:///./src/screens/Portfolio/PortfolioTable.vue?081e","webpack:///./src/services/SMSAlertService.ts","webpack:///./src/components/Orders/PriceCell.vue?8cc5","webpack:///./src/components/Orders/PriceCell.vue","webpack:///./src/components/Orders/PriceCell.vue?c617","webpack:///./src/components/Orders/PriceCell.vue?8d4e","webpack:///./src/screens/Portfolio/EliteSMSAlerts.js","webpack:///./src/services/Quotes.js","webpack:///./src/components/Common/Multiselect.vue?f7a7","webpack:///./src/components/RecordedWebinar.vue?62de","webpack:///./src/components/FrameView.vue?ff97","webpack:///./src/store/portfolio/mutations.js","webpack:///./src/store/VuexStreamingPlugin.js","webpack:///./src/components/Common/NumericInput.vue?2b2a","webpack:///./src/screens/Dashboard.vue?76dc","webpack:///./src/store/index.js","webpack:///./src/components/Common/WaitIndicator.vue?db0a","webpack:///src/components/Common/WaitIndicator.vue","webpack:///./src/components/Common/WaitIndicator.vue?3e90","webpack:///./src/components/Common/WaitIndicator.vue","webpack:///./src/screens/Portfolio/RangeContainer.vue?614f","webpack:///./src/screens/Performance/PerformancePage.vue?7805","webpack:///./src/components/ArchivePostItem.vue?57ba","webpack:///./src/components/Positions/PositionActionMenu.vue?dacf","webpack:///./src/domain/Position.ts","webpack:///./src/components/Positions/PositionActionMenu.vue","webpack:///./src/components/Positions/PositionActionMenu.vue?6b6f","webpack:///./src/components/Positions/PositionActionMenu.vue?18cf","webpack:///./src/components/Common/NumericInput.vue?20b2","webpack:///src/components/Common/NumericInput.vue","webpack:///./src/components/Common/NumericInput.vue?4c27","webpack:///./src/components/Common/NumericInput.vue?dcf0","webpack:///./src/components/Common/CurrencyInput.vue?aa90","webpack:///src/components/Common/CurrencyInput.vue","webpack:///./src/components/Common/CurrencyInput.vue?d871","webpack:///./src/components/Common/CurrencyInput.vue","webpack:///./src/components/Common/Dropdown.vue?8f0e","webpack:///./src/components/Common/Dropdown.vue?ac15","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/DurationRadioGroup.vue?46e2","webpack:///src/components/Common/DurationRadioGroup.vue","webpack:///./src/components/Common/DurationRadioGroup.vue?5c80","webpack:///./src/components/Common/DurationRadioGroup.vue","webpack:///./src/components/Common/DatePicker.vue?07a2","webpack:///src/components/Common/DatePicker.vue","webpack:///./src/components/Common/DatePicker.vue?ec2e","webpack:///./src/components/Common/DatePicker.vue?2e32","webpack:///./src/components/Common/Multiselect.vue?b283","webpack:///src/components/Common/Multiselect.vue","webpack:///./src/components/Common/Multiselect.vue?a6f2","webpack:///./src/components/Common/Multiselect.vue?0ae8","webpack:///./src/components/Positions/PositionDetails.vue?95cb","webpack:///./src/components/Positions/PositionDetails.vue","webpack:///./src/screens/Portfolio/PortfolioRow.vue?7f50","webpack:///./src/screens/Portfolio/EliteSMSAlerts.vue?2411","webpack:///./src/screens/Portfolio/MktValue.vue?2be1","webpack:///./src/screens/Portfolio/MktValue.vue","webpack:///./src/screens/Portfolio/LiveTradingRoomRecordings.vue?edbf","webpack:///./src/components/Orders/OrderDetails.vue?940f","webpack:///src/components/Orders/OrderDetails.vue","webpack:///./src/components/Orders/OrderDetails.vue?1bcc","webpack:///./src/components/Orders/OrderDetails.vue","webpack:///./src/screens/Portfolio/PortfolioTable.vue?f322","webpack:///./src/utils/formatters.ts","webpack:///./src/screens/Portfolio/PriceContent.vue?d5df","webpack:///src/screens/Portfolio/PriceContent.vue","webpack:///./src/screens/Portfolio/PriceContent.vue?c86e","webpack:///./src/screens/Portfolio/PriceContent.vue","webpack:///src/components/Orders/OrderTable.vue","webpack:///./src/components/BlogPost.vue?b152","webpack:///./src/components/Common/TableScrollable.vue?6b8f","webpack:///./src/components/Common/TableScrollable.vue","webpack:///./src/components/Common/TableScrollable.vue?fe8c","webpack:///./src/components/Common/TableScrollable.vue?e9c5","webpack:///./src/utils/cookies.js","webpack:///./src/components/Common/Scrollable.vue?f89c","webpack:///./src/components/Common/Scrollable.vue","webpack:///./src/components/Common/Scrollable.vue?345a","webpack:///./src/components/Common/Scrollable.vue?a414","webpack:///./src/domain/TbMaps.ts","webpack:///./src/store/portfolio/actions.js","webpack:///./src/screens/Portfolio/TenDaysRow.vue?f21f","webpack:///src/screens/Portfolio/TenDaysRow.vue","webpack:///./src/screens/Portfolio/TenDaysRow.vue?56f0","webpack:///./src/screens/Portfolio/TenDaysRow.vue?9fc0","webpack:///./src/screens/Portfolio/PortfolioOptionTable.vue?6eda","webpack:///./src/store/balance/index.js","webpack:///./src/services/AuthService.ts","webpack:///./src/screens/Portfolio/PortfolioPage.vue?d335","webpack:///./src/screens/Portfolio/AiAnalysis.js","webpack:///./src/components/Orders/OrderActionMenu.vue?22e2","webpack:///./src/components/Orders/OrderActionMenu.vue","webpack:///./src/components/Orders/OrderActionMenu.vue?d07f","webpack:///./src/components/Orders/OrderActionMenu.vue?5dd3","webpack:///./src/store/history/actions.js","webpack:///./src/store/history/mutations.js","webpack:///./src/store/history/index.js","webpack:///./src/screens/Portfolio/AiAnalysis.vue?bed3","webpack:///src/components/Common/Dropdown.vue","webpack:///./node_modules/typescript/lib sync","webpack:///./src/screens/Portfolio/RangeContainer.vue?50ff","webpack:///./src/screens/Portfolio/RangeBox.vue","webpack:///src/screens/Portfolio/RangeBox.vue","webpack:///./src/screens/Portfolio/RangeBox.vue?492d","webpack:///src/screens/Portfolio/RangeContainer.vue","webpack:///./src/screens/Portfolio/RangeContainer.vue?2d25","webpack:///./src/screens/Portfolio/RangeContainer.vue?ff01","webpack:///./src/screens/Portfolio/PortfolioPage.vue?4b14","webpack:///./src/components/Positions/PositionTable.vue?9d90","webpack:///./src/screens/Portfolio/PortfolioPage.vue?0384","webpack:///./src/services/AssetService.ts","webpack:///./src/services/SftAuthService.ts","webpack:///./src/services/SftPortfolioService.ts","webpack:///./src/services/SftRecommendService.ts","webpack:///./src/services/services.ts","webpack:///./src/screens/Portfolio/TenDaysRow.vue?f549","webpack:///./src/components/SideMenu.vue?1e83","webpack:///./src/components/Positions/PositionTable.vue?a073","webpack:///./src/components/Orders/PriceCell.vue?8278","webpack:///./src/services/EliteOrders.ts","webpack:///./src/store/common.js","webpack:///./src/domain/types.ts","webpack:///./src/screens/Portfolio/PortfolioHistory.vue?6dcd","webpack:///./src/screens/Portfolio/RangeControl.vue?6a9f","webpack:///src/screens/Portfolio/RangeControl.vue","webpack:///./src/screens/Portfolio/RangeControl.vue?9cd2","webpack:///./src/screens/Portfolio/RangeControl.vue","webpack:///./src/components/Orders/OrderTable.vue?d8eb","webpack:///./src/components/Archive.vue?5677","webpack:///./src/components/Orders/EliteOrdersBlock.vue?89e0","webpack:///./src/services/EventBus.ts","webpack:///./src/components/Orders/OrderSearchOneLine.vue?94dc","webpack:///./src/components/RecentPosts.vue?e0c9","webpack:///./src/App.vue?d23e","webpack:///./src/components/Blog.vue?1ac9","webpack:///./src/components/LinkToTradespoon.vue?a54d","webpack:///src/components/LinkToTradespoon.vue","webpack:///./src/components/LinkToTradespoon.vue?a929","webpack:///./src/components/LinkToTradespoon.vue","webpack:///./src/components/SideMenu.vue?21f7","webpack:///./src/components/RecentPosts.vue?20f4","webpack:///src/components/RecentPosts.vue","webpack:///./src/components/RecentPosts.vue?ca0c","webpack:///./src/components/RecentPosts.vue?fd07","webpack:///./src/components/Archive.vue?2618","webpack:///./src/components/TreeItem.vue?66bc","webpack:///./src/components/ArchivePostItem.vue?7d49","webpack:///src/components/ArchivePostItem.vue","webpack:///./src/components/ArchivePostItem.vue?962c","webpack:///./src/components/ArchivePostItem.vue?794c","webpack:///src/components/TreeItem.vue","webpack:///./src/components/TreeItem.vue?46f5","webpack:///./src/components/TreeItem.vue?432f","webpack:///src/components/Archive.vue","webpack:///./src/components/Archive.vue?527a","webpack:///./src/components/Archive.vue?f186","webpack:///src/components/SideMenu.vue","webpack:///./src/components/SideMenu.vue?49cb","webpack:///./src/components/SideMenu.vue?f27a","webpack:///./src/components/BlogPost.vue?52aa","webpack:///src/components/BlogPost.vue","webpack:///./src/components/BlogPost.vue?bf10","webpack:///./src/components/BlogPost.vue?384b","webpack:///src/components/Blog.vue","webpack:///./src/components/Blog.vue?9d24","webpack:///./src/components/Blog.vue?f3bb","webpack:///./src/screens/Intro.vue?14e9","webpack:///src/screens/Intro.vue","webpack:///./src/screens/Intro.vue?c9f5","webpack:///./src/screens/Intro.vue","webpack:///./src/screens/Dashboard.vue?7d3b","webpack:///src/screens/Dashboard.vue","webpack:///./src/screens/Dashboard.vue?42f7","webpack:///./src/screens/Dashboard.vue?f04e","webpack:///./src/screens/LiveTradingRoomRecordings/LiveTradingRoomRecordingsPage.vue?a286","webpack:///./src/components/FrameView.vue?423c","webpack:///src/components/FrameView.vue","webpack:///./src/components/FrameView.vue?3994","webpack:///./src/components/FrameView.vue?ec11","webpack:///src/screens/LiveTradingRoomRecordings/LiveTradingRoomRecordingsPage.vue","webpack:///./src/screens/LiveTradingRoomRecordings/LiveTradingRoomRecordingsPage.vue?9b48","webpack:///./src/screens/LiveTradingRoomRecordings/LiveTradingRoomRecordingsPage.vue?2db9","webpack:///./src/screens/Portfolio/PortfolioPage.vue?2711","webpack:///./src/screens/Portfolio/PortfolioOptionTable.vue?3034","webpack:///./src/screens/Portfolio/PortfolioOptionRow.vue?9f06","webpack:///./src/screens/Portfolio/PortfolioOptionRow.js","webpack:///./src/screens/Portfolio/PortfolioOptionRow.js?2997","webpack:///./src/screens/Portfolio/PortfolioOptionRow.vue?c9ed","webpack:///./src/screens/Portfolio/PortfolioOptionTable.js","webpack:///./src/screens/Portfolio/PortfolioOptionTable.js?94d2","webpack:///./src/screens/Portfolio/PortfolioOptionTable.vue?01b9","webpack:///./src/screens/Portfolio/PortfolioHistory.vue?d45f","webpack:///./src/screens/Portfolio/PortfolioHistoryTable.vue?d550","webpack:///./src/screens/Portfolio/PortfolioHistoryRow.vue?71fb","webpack:///./src/screens/Portfolio/PortfolioHistoryRow.js","webpack:///./src/screens/Portfolio/PortfolioHistoryRow.js?3f89","webpack:///./src/screens/Portfolio/PortfolioHistoryRow.vue?b357","webpack:///./src/screens/Portfolio/PortfolioHistoryTable.js","webpack:///./src/screens/Portfolio/PortfolioHistoryTable.js?5b33","webpack:///./src/screens/Portfolio/PortfolioHistoryTable.vue?b8d5","webpack:///./src/screens/Portfolio/PortfolioHistory.js","webpack:///./src/screens/Portfolio/PortfolioHistory.js?1fe7","webpack:///./src/screens/Portfolio/PortfolioHistory.vue?81b6","webpack:///./src/screens/Portfolio/PortfolioHistoryDates.vue?8823","webpack:///src/screens/Portfolio/PortfolioHistoryDates.vue","webpack:///./src/screens/Portfolio/PortfolioHistoryDates.vue?5202","webpack:///./src/screens/Portfolio/PortfolioHistoryDates.vue","webpack:///./src/screens/Portfolio/LiveTradingRoomRecordings.vue?ed3a","webpack:///src/screens/Portfolio/LiveTradingRoomRecordings.vue","webpack:///./src/screens/Portfolio/LiveTradingRoomRecordings.vue?70c2","webpack:///./src/screens/Portfolio/LiveTradingRoomRecordings.vue?072b","webpack:///./src/components/Orders/EliteOrdersBlock.vue?e72d","webpack:///./src/components/Orders/OrderTable.vue?a5f6","webpack:///./src/components/Orders/OrderTable.vue?058e","webpack:///./src/components/Orders/OrderTable.vue?774d","webpack:///./src/components/Orders/OrderSearchOneLine.vue?fed9","webpack:///./src/components/Orders/OrderSearchOneLine.vue?ccbc","webpack:///./src/components/Orders/OrderSearchOneLine.vue?7c3a","webpack:///./src/components/Orders/OrderSearchOneLine.vue?e888","webpack:///./src/components/Orders/EliteOrdersBlock.vue?e56e","webpack:///./src/components/Orders/EliteOrdersBlock.vue?b4c9","webpack:///./src/components/Orders/EliteOrdersBlock.vue?6158","webpack:///./src/components/Positions/PositionBlock.vue?4969","webpack:///./src/components/Positions/PositionTable.vue?6df9","webpack:///./src/components/Positions/PositionTable.vue?60af","webpack:///./src/components/Positions/PositionTable.vue?15bc","webpack:///./src/components/Positions/PositionBlock.vue","webpack:///./src/components/Positions/PositionBlock.vue?8601","webpack:///./src/components/Positions/PositionBlock.vue?8a9b","webpack:///./src/screens/Portfolio/EliteSMSAlerts.vue?7810","webpack:///./src/screens/Portfolio/EliteSMSAlerts.js?a128","webpack:///./src/screens/Portfolio/EliteSMSAlerts.vue?5a2f","webpack:///./src/screens/Portfolio/AiAnalysis.vue?a31c","webpack:///./src/screens/Portfolio/AiAnalysis.js?b24a","webpack:///./src/screens/Portfolio/AiAnalysis.vue?9656","webpack:///./src/screens/Portfolio/PortfolioPage.js","webpack:///./src/screens/Portfolio/PortfolioPage.js?4723","webpack:///./src/screens/Portfolio/PortfolioPage.vue?09c6","webpack:///./src/screens/Performance/PerformancePage.vue?4e84","webpack:///./src/screens/Performance/PerformancePage.js","webpack:///./src/screens/Performance/PerformancePage.js?d72b","webpack:///./src/screens/Performance/PerformancePage.vue?930d","webpack:///./src/components/UpcomingWebinarsPage.vue?83f6","webpack:///./src/components/UpcomingWebinar.vue?bea3","webpack:///src/components/UpcomingWebinar.vue","webpack:///./src/components/UpcomingWebinar.vue?d37e","webpack:///./src/components/UpcomingWebinar.vue?b893","webpack:///src/components/UpcomingWebinarsPage.vue","webpack:///./src/components/UpcomingWebinarsPage.vue?19ed","webpack:///./src/components/UpcomingWebinarsPage.vue","webpack:///./src/components/RecordedWebinarsPage.vue?62e3","webpack:///./src/components/RecordedWebinar.vue?ac18","webpack:///src/components/RecordedWebinar.vue","webpack:///./src/components/RecordedWebinar.vue?18d5","webpack:///./src/components/RecordedWebinar.vue?47a2","webpack:///src/components/RecordedWebinarsPage.vue","webpack:///./src/components/RecordedWebinarsPage.vue?b4a7","webpack:///./src/components/RecordedWebinarsPage.vue","webpack:///./src/App.js","webpack:///./src/App.js?c707","webpack:///./src/App.vue","webpack:///./src/components/tour/VTour.vue?94e5","webpack:///./src/components/tour/constants.js","webpack:///src/components/tour/VTour.vue","webpack:///./src/components/tour/VTour.vue?0cc6","webpack:///./src/components/tour/VTour.vue","webpack:///./src/components/tour/VStep.vue?8b6f","webpack:///src/components/tour/VStep.vue","webpack:///./src/components/tour/VStep.vue?6ac8","webpack:///./src/components/tour/VStep.vue?4f93","webpack:///./src/components/tour/index.js","webpack:///./src/main.ts","webpack:///./src/components/Common/DatePicker.vue?e268","webpack:///./src/components/UpcomingWebinar.vue?0d1f","webpack:///./src/components/Blog.vue?d592","webpack:///./src/store/portfolio/getters.js","webpack:///./src/store/portfolio/index.js","webpack:///./src/store/orders/index.js","webpack:///./src/App.css?9f8f","webpack:///./src/domain/DTO.ts","webpack:///./src/services/NoteService.ts","webpack:///./src/services/TradingBlockRemote.ts","webpack:///./src/domain/Order.ts","webpack:///./src/utils/index.js","webpack:///./src/screens/LiveTradingRoomRecordings/LiveTradingRoomRecordingsPage.vue?783d","webpack:///./src/common/utils.ts","webpack:///./src/utils/vue_utils.ts","webpack:///./src/components/TreeItem.vue?c0ba","webpack:///./src/components/Common/RefreshButton.vue?c2c7","webpack:///src/components/Common/RefreshButton.vue","webpack:///./src/components/Common/RefreshButton.vue?c0f6","webpack:///./src/components/Common/RefreshButton.vue","webpack:///./src/utils/log.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","chartid","staticRenderFns","template","components","props","v","computed","symbol","toLowerCase","numbers","predictionClose10Day","prediction1Month","prediction2Month","prediction3Month","min","Math","max","scale","maxScale","minScale","component","state","show_window","quote0","quote1","tried","busy","placing","xhr","order","Legs","AssetType","Undefined","PositionEffect","Open","SpreadRatio","Action","OrderAction","Buy","Quantity","OrderType","Limit","OrderClass","Single","Duration","OrderDuration","Day","AccountId","SubaccountId","Price","Stop","fixed","namespaced","mutations","SET_PRICE","payload","SET_STOP","SET_SPREAD","Option","SET_DEBIT","DebitCredit","Debit","SET_CREDIT","Credit","SET_QUANTITY","SET_DURATION","actions","SetOrderType","dispatch","setUnderlying","UnderlyingSymbol","selectOrderAction","addPriceFields","Market","MarketOnClose","isNaN","LastTradePrice","StopMarket","StopLimit","HIDE_TRADE_WINDOW","SET_ORDER","console","log","Error","Unknown","reset","selectrecent","Order","makeSingleOption","commit","root","DurationId","setSingleEntity","setSpread","Spread","setLeg0","field","val","setLeg1","setOptionLeg0","setOptionLeg1","updateQuote0","QuoteService","loadFromTradingBlock","resp","updateQuote1","checkAndSubmit","getters","InvalidOrder","OrderId","toFixed","TradingBlockRemote","onComplete","onFailure","PlaceOrder","onPlaceSuccess","id","setTimeout","OrderBus","$emit","OrderMessages","OrderAdded","notify","onPlaceFailure","error","expirationNotFound","ConvertOrderActionToFields","effect","side","Sell","Close","SwitchDebitCredit","GetAnother","isValid","DebitCreditInvalid","spread","_v","directives","rawName","modifiers","_l","item","index","ID","class","color","portfolio","domProps","_s","_e","_f","priorLow","priorHigh","predictionClose","predictionOpen","oneDayPredictionNeeded","predictionLow","predictionHigh","vue","extend","type","Number","required","StartDateStr","formatDate","extractJsonDate","startDate","split","est","estValue","formatPrice","errorRow","dailyError","monthError","corridorHigh","predictionError","corridorLow","PredictionLow","PredictionHigh","RangeContainer","WaitIndicator","TenDaysRow","PriceContent","OpenCloseCell","MktValue","RangeControl","ChartControl","items","Array","delay","show","hide","DropdownClasses","ItemClass","BtnClass","DisabledBtnClass","PortfolioRow","AddMemeber","portfolioID","phone","Promise","resolve","reject","request","XMLHttpRequest","open","withCredentials","setRequestHeader","onload","status","JSON","parse","responseText","responseCode","onerror","send","stringify","OrderTable_EditableCell","editable","on","prepareFields","loading","editing","staticStyle","ref","model","callback","$$v","newPrice","expression","newStop","valid","$event","stopPropagation","edit","cancel","Text","CrDr","cr","PriceFieldVisible","StopFieldVisible","GetAbbr","setEdit","old","mounted","beforeDestroy","$off","OrderTableClick","canHavePrice","canHaveStop","isChangeable","$nextTick","abs","success","OrdersEditPriceSuccess","fail","default","PriceCell","CurrencyInput","userInfo","methods","submit","$","SMSAlertService","loadBySymbolList","symbols","process","VUE_APP_SFT_ACCESS","ajax","cashe","headers","url","contentType","dataType","crossDomain","response","textStatus","jqXHR","ErrorCode","Quotes","ForeCore","PredictionHelper","GetSymbolQuotes","json","res","err","GetQuotes","addPortfolioSymbol","sym","removePortofolioSymbol","byID","updatePortfolioSymbolFields","Vue","set","update","updateMonthFields","updateDailyFields","updateRealtimeFields","insertLoadedPortfolio","appendLog","level","message","clearLog","notified_tb_login","setPortfolioSymbolsLoad","loadingPortfolioSymbols","setRowPredictionLoading","rowPredictionLoading","setAllPredictionsLoaded","selectedItems","setAllPredictionsLoading","map","setRowPredictionLoaded","setColoredRow","colored","setRefreshing","refreshing","setLoadingQuotes","loadingQuotes","setTimer","timer","selectEditSymbol","selectedForEdit","toggleItemSelectProp","selected","selectedAll","unselectedAll","HideBatchForm","showBatchPlaceForm","SetBatchLimitSource","BatchLimitSource","SetBatchAllocated","BatchAllocated","getParamValue","quotesToLists","singles","spreads","Bid","Ask","Last","Change","SpreadTime","Type","getAccountPrefix","getToken","ActiveAccountId","createStreamingPlugin","remote","store","ws","connected","remaining_tries","subscribed","accountPrefix","handleMessage","msg","a","Reconnect","Disconnect","close","Date","last_trade_price","parseFloat","bid","ask","ActualNetChange","high","low","volume","change_percent","sym_s","substring","OrderTime","OrderQuantity","FilledQuantity","OrderStatus","CloseRoutine","reason","event","code","Connect","WebSocket","onmessage","e","onclose","onopen","readyState","exc","SubscribeSingles","syms","filter","indexOf","join","SubscribeSpreads","SubscribeOrders","SubscribeQuotes","lists","UnsubscribeOrders","then","UnsubscribeQuotes","contains","pending_account","authenticated","st","subscribe","mutation","orders","un","firstHiddenTab","isElite","document","ready","streamingPlugin","Vuex","Store","plugins","history","balance","trade","tb_logged","tb_logging","tb_tried","tb_login_error","tb_choosed_subaccount","tb_agree","tb_inited","tb_username","toolboxes_tab","screener_page","current_symbol","realtime_data","loaded","selectSymbol","setLoading","setLoaded","setError","loadBlogs","setTab","setScreenerPage","TB_WS_ORDER_UPDATE","TB_WS_OPEN","TB_WS_CLOSE","TB_WS_ERROR","QUOTES_SUBSCRIBE","QUOTES_UNSUBSCRIBE","ORDERS_SUBSCRIBE","ORDERS_UNSUBSCRIBE","TB_CHOOSED_SUBACCOUNT","TB_LOGIN","getCookie","TB_LOGOUT","chooseSubaccount","SetSubAccount","agreeTb","setAgreement","authTbCheck","needAgreement","logged","LoginTB","login","username","password","live","LogoutTB","logout","TB_WS_QUOTE","setPage","tab","subpage","SHOW_TRADE_WINDOW","RealtimeData","LastTrade","ActualPricePerShare","loadSftSymbol","loadSymbol","portfolioService","GetQuote","quotes","isPortfolioTab","isScreenerTab","isCalculatorTab","isFuturesTab","inprogress","_t","slot","tradeClick","closeClick","DateOpened","Description","OpenQuantity","OpenPrice","Commission","makeTradeOrder","src","NoOfLegs","Entity","Underlying","GTC","makeCloseOrder","hideMenu","position","EventBus","showTradeForm","showMenu","PositionActionMenu","Dropdown","validator","show_validation","label","InputWrapClass","setNum","disableDrag","enableDrag","inc","dec","style","num","placeholder","internalV","choosed","disabled","select","lbl","internalVal","options","Multiselect","row","AskPrice","BidPrice","NetChange","script","actualValue","startValue","Leg0Description","Leg1Description","str","local","toUTCString","toLocaleString","formatDateNoSeconds","year","month","day","hour","minute","parseInt","match","formatDateQuery","getDate","monthIndex","getMonth","getFullYear","formatDateLong","formatDate2","monthNames","formatFixed","round","formatTime","toLocaleTimeString","formatHourMinute","hours","getHours","minutes","getMinutes","ampm","actualNetChange","title","actualPricePerShare","scroll","height","width","overflow","outerWidth","move","newv","$el","scrollLeft","srcElement","listenScroll","TableScrollable","sName","oCrumbles","cookie","oPair","sKey","decodeURIComponent","trim","sValue","setCookie","expireDate","VUE_APP_DEBUG_LOG","setYear","sCookie","encodeURIComponent","toGMTString","clearCookie","handleScroller","$refs","content","scroller","handleContent","nextTick","addEventListener","table","$children","wrapper","display","clientWidth","removeEventListener","Scrollable","OrderSideMap","0","1","2","OrderDurationMap","3","4","PositionEffectMap","OrderTypeMap","5","OrderClassMap","Multileg","OrderStatusMap","6","7","9","10","11","13","14","15","20","21","22","23","26","ErrorCodeMap","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","200","201","202","203","204","205","206","300","301","302","303","304","400","getPortfolioCompanies","clearTimeout","getPortfolioSymbols","Items","forEach","it","PredictionDate","toLocaleDateString","StartValue","StartPricePerShare","PredictionOpen","FullUpdatedNeeded","tb","Message","catch","switchEmail","check","Email","setSymbolEmailSetting","updateSymbol","recalculateSymbol","dat","OneDayPredictionNeeded","filtered","ActualShares","ActualValue","DailyError","PredictionClose10Day","PredictionError","PredictionClose","MonthError","EstValue","Prediction1Month","Prediction2Month","Prediction3Month","findIndex","addFallbackSymbol","fallbackSymbols","clearFallbackSymbos","removeFallbackSymbol","pos","delete","deleteSymbol","force_delete","confirm","persist","rehydrate","updatePortfolioPredictions","keys","updateColor","lowError","highError","updateRealtimeBySymbol","bySymbol","StartShares","from","updatePortfolioRealtime","notifyOnceAboutLogin","handleQuoteServiceError","requestSymbols","fallback","prices","GetCompaniesPrices","isAllowed","timerHandle","PortfolioQuoteRate","switchTimer","editPortfolioSymbol","editSymbol","SelectedDelete","SelectedPlace","ShowBatchForm","predictionDate","month1","month2","month3","Load","GetBalance","StagTradingblockApiEndpointUrl","ProdTradingblockApiEndpointUrl","setLive","AuthService","loadPreviousLive","checkAgreement","checkCookie","onLoginSuccess","token","getTOKEN","getUrl","Payload","checkResponse","tradeBlockName","sucCb","failCb","ResponseCode","__type","getTime","tradeBlockPassword","ajxCb","TradingBlockAjaxEndpoint","LoginAsync","ApplicationPath","afterLogout","Logout","PortflioTable","port","loadAiAnalysis","localStorage","setItem","axios","isShow","empty","text","created","savedSymbol","getItem","cancelling","editClick","cancelClick","isWorking","OrdersEditPrice","CancelSuccess","CancelFail","CancelOrder","makeCancelRequest","OrderCancelSuccess","OrderActionMenu","WaitingIndicator","loadLastPredicted","getLastPredictedSymbols","updateHistory","setShowTable","showTable","invalidate","webpackEmptyContext","req","ErrorMessage","scrollOffset","msg_closed","columns","uniqueKey","sortable","columnsDropdown","headings","UnderlyingPrice","BasisPerShare","scrollWidth","scrollContWidth","onResize","onresize","parent","scrollUpdate","updated","PositionTable","TableScroller","PositionDetails","image","rel_path","AssetService","ImageRoot","imageAttr","predictLink","isGuest","getSessionParams","Cookies","getJSON","sessionid","PHPSESSID","loggedin","init","auth","SftAuthService","authed","postCorsJSON","date","refreshPortfolioCompaniesPrices","symbolId","companyId","addSymbols","full","GetHistoryPrice","company","dateString","ticks","getUTCMilliseconds","extendedData","email","findSymbols","prefix","formData","FormData","append","getCompanyPrice","sdate","addSessionParams","obj","method","params","calculateProfit","startAmount","displayHistory","getACR","Group","Sgroup","getRecommendations","load","getVector","PredictCompany","period","timezoneOffset","authService","loadOrders","filt","AddMandatoryFields","onreadystatechange","loadQuotes","warn","found_cb","nf_cb","CharAssetType","GetCaption","provider","context","provide","Messages","PositionMessages","companySymbol","tradeOrderWindowShow","PositionBus","showIntro","loadingCategories","errorMsg","cat","Id","loadCategoryBlogs","portfolioLinks","loadPortfolio","loadCollectionPastWebinars","loadCollectionUpcomingWebinars","recentPostsItems","archiveItems","blogCategories","blogPosts","blogTabInd","blogCurrentPage","blogTotalRows","blogShowingSearch","page","searchBlog","upcomingWebinarItems","webinarCategories","upcomingCurrentPage","upcomingTotalPages","upcomingTabInd","recordedWebinarItems","recordedCurrentPage","recordedTotalRows","recordedTabInd","recordedShowingSearch","searchRecorded","currentPortfolio","portfolioItems","dayHistory","trialInfo","tabInfo","loadStockRangeData","portfolioRefresh","portfolioHistoryRefresh","updateLoader","failError","performance","showPage","showRoot","upcomingWebinarCategories","tabIndex","blogCat","evt","description","tradespoonId","imageUrl","target","composing","search_text","CatId","Phrase","PerPage","SkipPages","blogPost","_m","currentPage","totalRows","perPage","paginationClicked","trackUser","recentPost","Title","Excerpt","PubDate","ClassNames","isFolder","FolderClass","toggle","ItemList","published","ArchivePostItem","TreeItem","RecentPosts","Archive","slug","pubDate","excerpt","showSearch","Boolean","String","undefined","admin","SideMenu","BlogPost","LinkToTradespoon","top","left","behavior","upcomingWebinarsLink","recordedWebinarsLink","getDescription","learnMore","count","Function","upcomingWebinars","recordedWebinars","getDescriptionPoints","playTutorial","cssHeight","showGuide","tabsActivate","card","icon","portfolioDown","portfolioUp","tabsUpdated","tabsInput","current","historyRefresh","sel_date","closeTab","updateSel","historicalQuotes","steps","OptionDescription","optionSymbol","bidPrice","askPrice","lastPrice","PortfolioOptionRow","href","caption","handleCb","cb","PortfolioHistoryRow","GUIDE_COOKIE","PortflioHistoryTable","$tours","start","rsp","config","links","shouldShowGuide","setSkipGuide","assetType","dates","tour","idx","scopedSlots","_u","fn","getStatusVal","getAction","getDurationVal","Periods","Period","IsWorkingOrderFilter","change","From","To","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","searchBtnClick","resetBtnClick","30","60","90","ToDateError","FromDateError","OrderStatusId","utcOffset","StatusMap","pageIndex","pageSize","to","advanced","sft_ui","toggleAdvanced","setAdvanced","orig","targetOffset","setTime","toISOString","getTimezoneOffset","minus","toString","dateFrom","dateTo","orderStatusId","SecurityTypeId","durationId","WorkingOrdersOnly","search","OrdersSearch","OrderSearch","Datepicker","DurationRadioGroup","totalCount","ceil","navigate","refresh","OrdersRefresh","ev","ExcludeDurationId","Manual","query","EliteOrders","TotalNumOfAvailableItems","statusNumber","EliteOrdersBlock","RefreshButton","OrderTable","tableData","summary","rows","AccountNumber","PositionRefresh","onLoad","loadOnShow","TabChanged","positions","getDataForTable","GetPositions","getQuotesForPositions","tableContent","cur_val","quote","find","q","CostBasis","N","OptionMultiplier","total_cost","StrategyTypeId","GroupId","HasWorkingOpenOrder","HasWorkingCloseOrder","CurrentValue","divider","sign","UnrealizedGain","footerContent","PositionBlock","PortflioOptionTable","PortflioHistory","PortflioHistoryDates","LiveTradingRoomRecordings","EliteSMSAlerts","AiAnalysis","container","getBoundingClientRect","help","helps","cards","resizeHandler","entries","entry","contentRect","ResizeObserver","mo","observe","slick","infinite","slidesToShow","slidesToScroll","appendArrows","appendDots","dots","customPaging","slider","slideCount","querySelectorAll","setPosition","selected_dates","tabs","currentDate","levels","currentTitle","currentTabs","requestAnimationFrame","loadPortfolioHistory","histQuotes","updatedVal","$set","histChecked","header","replace","today","percentpertrade","wins","losses","breakeven","winspercent","initcash","finalcash","services","calcPerformance","selectedServices","tradeid","pl","stockticker","action","opendate","closedate","enter","exit","stop","risk","percent","showSelect","$$selectedVal","_value","multiple","setTradeService","service","showAll","trades","overallpercent","overallgain","ipt","tradetotal","shownRows","lastDate","now","serviceFromQuery","beforeMount","getServices","queryString","location","urlParams","URLSearchParams","totalTrades","x","initialCapitalEPT","initialCapitalAll","selectedServicesIds","includes","isOption","optionsCount","sharesCount","initsize","traderesult","total","post","tradeId","parentElement","this$1","Cat","UpcomingCategories","ind","webinar","totalPages","Categories","subject","presenterDisplayName","presenterBio","UpcomingWebinar","WebinarItems","clicked_tab","autoplayInd","end","autoplay","vimeoLink","RecordedWebinar","getIeVersion","ua","navigator","userAgent","msie","sleep","ms","SpaQuickMenu","RazorQuickMenu","Blog","UpcomingWebinarsPage","RecordedWebinarsPage","Intro","Dashboard","LiveTradingRoomRecordingsPage","PortfolioPage","PerformancePage","announceable","hasAllowedBlogCategories","some","isAvailable","hasAllowedWebinarCategories","showBlog","showUpcoming","showRecorded","showPortfolio","dark","showPerformance","showLiveTradingRoomRecordings","pathname","hash","dontLoadPage","trackPageVisit","loadCategories","blogCategory","bcats","loadArchive","upcomingCategory","ucats","loadCollectionUpcomingWithFallbackToNext","recordedCategory","rcats","loadPerformance","loadPageByHash","updateUpLevelColor","calcLevel","maxBid","maxDir4Years","maxOption","portfolios","tbodys","classList","add","updateDownLevelColor","minBid","minDir4Years","minOption","clearUpDownLevelColor","tbody","remove","hashPage","CheckAccess","trace","offerSlug","refreshPortfolioRealtime","first","refreshPortfolioHistory","totalNumOfAvailableItems","finally","acc","reduce","el","children","categories","webinar_collections","category","last","col","step","currentStep","previousStep","nextStep","isFirst","isLast","customOptions","labels","DEFAULT_CALLBACKS","onStart","onPreviousStep","onNextStep","onStop","DEFAULT_OPTIONS","useKeyboardNavigation","startTimeout","buttonSkip","buttonPrevious","buttonNext","buttonStop","DEFAULT_STEP_OPTIONS","placement","enableScrolling","arrow","element","KEYS","ARROW_RIGHT","ARROW_LEFT","ESCAPE","callbacks","handleKeyup","customCallbacks","isRunning","numberOfSteps","keyCode","preventDefault","tooltip_el","createStep","targetElement","duration","offset","a11y","scrollIntoView","install","VTour","VStep","use","productionTip","h","$mount","sortedItems","compare","b","sort","allSelected","every","noneSelected","fetchPortfolioError","fallbackTimer","byOrderId","byUnderlyingSymbol","byBothLegsSymbols","report_href","allowNotesEditUi","addNote","EditNote","editNote","deleteNote","DeleteNote","loadNotes","LoadNotes","makeReport","textFile","makeTextFile","Blob","URL","revokeObjectURL","createObjectURL","filled","Filled","filled_single","filled_spread","filled_opened_buy","filled_closed_sell","filled_opened_sell","filled_closed_buy","spread_open","spread_close","op","f","setRefreshingQuotes","updateOrderFill","updateOrderStatus","loadedOrders","loadedNotes","found","NoteDate","Note","deletedNote","note_busy","beforeNoteChange","editedNote","PositionRequestType","AddNote","trimLeft0","charCodeAt","padStart","targetLength","padString","floor","pad","len","tradeOrderWindowClose","GetAccounts","requestViaUrlParam","omitAccount","omitSubAcc","GetSubAccounts","accountId","subAccount","AccountWithSubChange","GetLastSubAccount","accId","subAccId","TradeblockToTradespoonSymbol","dateSide","substr","price","TradespoonToTradeblockSymbol","a1","dc","a2","subaccountId","toQuery","ep","GetOrders","EditOrder","RequestType","OpenPositions","UserId","Symbols","GetFunds","GetOptionChainExpiration","underlying","GetOptionChainStrikes","expiration","formatDateForQuery","GetOptionChain","valueOf","tryParseJSON","jsonString","TradingBlockAjaxError","parsed","noteService","ids","GetQuotesForEliteOrders","extractLegSymbols","addQuotesToSpreadOrder","ratio0","ratio1","LongBid","ShortBid","LongAsk","ShortAsk","NaturalBid","NaturalAsk","Qty0","Qty1","addQuoteToSingleOrder","addQuotesToOrders","OrderLeg","New","Replaced","working","PendingNew","PendingReplace","ReplaceInitiated","Initiated","makeDayStockBuyLimit","quantity","limit","AllOrNone","insertDelimeters","re","RegExp","formatPercent","roundPrice","arr","sig","getNextMonth","setMonth","addDays","days","setDate","fixUtcFormat","dateStr","endsWith","directive","binding","visibility","timeout","baseCls","addnCls"],"mappings":"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","file":"app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VStep.vue?vue&type=style&index=0&id=65b68ada&lang=postcss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"chart-container\"},[_c('canvas',{attrs:{\"id\":_vm.chartid}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChartControl.vue?vue&type=template&id=4c12428a&\"\nimport script from \"./ChartControl.vue?vue&type=script&lang=js&\"\nexport * from \"./ChartControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import {error,notify} from \"../../utils/log\";\r\nimport {OrderType, OrderDuration, AssetType, OrderAction, DebitCredit, PositionEffect, OrderClass} from '../../domain/types';\r\nimport {Order} from \"../../domain/Order\";\r\nimport QuoteService from '../../services/Quotes'\r\nimport {OrderBus, OrderMessages} from '../../services/EventBus'\r\nimport TradingBlockRemote from '@/services/TradingBlockRemote'\r\n\r\nconst state = () => ({\r\n show_window: false,\r\n quote0: null,\r\n quote1: null,\r\n tried: false,\r\n busy: false,\r\n placing: false,\r\n xhr: null,\r\n order: {\r\n Legs: [\r\n {\r\n AssetType: AssetType.Undefined,\r\n PositionEffect: PositionEffect.Open,\r\n SpreadRatio: null,\r\n Action: OrderAction.Buy\r\n }],\r\n Quantity: 0,\r\n OrderType: OrderType.Limit, OrderClass: OrderClass.Single, Duration: OrderDuration.Day,\r\n AccountId: null, SubaccountId: null, Price: 0, Stop: 0, fixed: false\r\n },\r\n});\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations:{\r\n\r\n SET_PRICE(state, payload){\r\n state.order = {...state.order, Price: payload};\r\n },\r\n SET_STOP(state, payload){\r\n state.order = {...state.order, Stop: payload};\r\n },\r\n SET_SPREAD(state, payload){\r\n if (payload){\r\n\r\n state.order.Legs = [\r\n {...state.order.Legs[0], SpreadRatio: 1, AssetType: AssetType.Option},\r\n {...state.order.Legs[0], SpreadRatio: 1, AssetType: AssetType.Option}\r\n ]\r\n } else {\r\n delete state.order.Legs[0].SpreadRatio;\r\n if (state.order.Legs[1])\r\n delete state.order.Legs[1].SpreadRatio;\r\n }\r\n },\r\n SET_DEBIT(state){\r\n state.order = {...state.order, DebitCredit: DebitCredit.Debit};\r\n },\r\n SET_CREDIT(state){\r\n state.order = {...state.order, DebitCredit: DebitCredit.Credit};\r\n },\r\n SET_QUANTITY(state, payload){\r\n state.order = {...state.order, Quantity: payload};\r\n },\r\n SET_DURATION(state, payload){\r\n state.order = {...state.order, Duration: payload};\r\n },\r\n\r\n },\r\n actions:{\r\n SetOrderType({state,dispatch}, payload){\r\n dispatch('addPriceFields', payload);\r\n state.order.OrderType = payload;\r\n },\r\n setUnderlying({state}, payload){\r\n state.order.UnderlyingSymbol = payload;\r\n },\r\n selectOrderAction({state}, v) {\r\n state.order.Legs[0].Action = v;\r\n },\r\n addPriceFields({state}, payload) {\r\n\r\n switch (payload) {\r\n case OrderType.Market:\r\n break;\r\n case OrderType.MarketOnClose:\r\n break;\r\n case OrderType.Limit:\r\n if (isNaN(state.Price) || state.Price==0)\r\n state.Price = (state.quote0 && state.quote0.LastTradePrice )?\r\n state.quote0.LastTradePrice: 0;\r\n break;\r\n case OrderType.StopMarket:\r\n if (isNaN(state.Stop) || state.Stop==0)\r\n state.Stop = (state.quote0 && state.quote0.LastTradePrice )?\r\n state.quote0.LastTradePrice: 0;\r\n break;\r\n case OrderType.StopLimit:\r\n if (isNaN(state.Price) || state.Price==0) {\r\n state.Price = (state.quote0 && state.quote0.LastTradePrice )?\r\n state.quote0.LastTradePrice: 0;\r\n\r\n }\r\n if (isNaN(state.Stop)) state.order.Stop = 0;\r\n break;\r\n }\r\n },\r\n\r\n HIDE_TRADE_WINDOW({state}){\r\n state.show_window = false;\r\n },\r\n async SET_ORDER({state, dispatch}, payload){\r\n let order = payload;\r\n console.log(\"SET_ORDER\"+payload);\r\n if (!order) throw new Error(\"bad order\");\r\n\r\n state.order = {...order};\r\n state.quote0 = null;\r\n state.quote1 = null;\r\n if (!state.order.Price) state.order.Price = 0;\r\n if (!state.order.Stop) state.order.Stop = 0;\r\n\r\n state.OrderType = OrderType.Unknown;\r\n if (isNaN(order.Quantity)) state.order.Quantity = 0;\r\n if (isNaN(order.Legs[0].PositionEffect)||order.Legs[0].PositionEffect===PositionEffect.Unknown) state.order.Legs[0].PositionEffect = PositionEffect.Open;\r\n if (isNaN(order.Legs[0].Action)||order.Legs[0].Action===0) state.order.Legs[0].Action = OrderAction.Buy;\r\n if (isNaN(order.Duration)||order.Duration===0) state.order.Duration = OrderDuration.Day;\r\n if (isNaN(order.OrderClass)) state.order.OrderClass = OrderClass.Single;\r\n\r\n await dispatch('updateQuote0');\r\n //state.addPriceFields(state.order.OrderType);\r\n if (isNaN(order.OrderType) || order.OrderType===OrderType.Unknown)\r\n dispatch('addPriceFields',OrderType.Limit);\r\n else\r\n dispatch('addPriceFields',order.OrderType);\r\n\r\n state.tried = false;\r\n },\r\n reset({state}){\r\n delete state.order.selectrecent;\r\n state.tried = false;\r\n Order.reset( state.order);\r\n state.order = {... state.order};\r\n },\r\n async makeSingleOption({state, commit, dispatch}) {\r\n dispatch('reset');\r\n await dispatch('loadSftSymbol', null,{root:true});\r\n commit('SET_SPREAD', false);\r\n\r\n state.order.fixed = false;\r\n state.order.OrderClass = 1;\r\n state.order.OrderType = OrderType.Limit;\r\n state.order.DurationId = OrderDuration.Day;\r\n state.order.Legs.splice(1, 1);\r\n state.order.Legs[0].AssetType = 2;\r\n state.quote0 = null;\r\n },\r\n async setSingleEntity({state, commit, dispatch}) {\r\n dispatch('reset');\r\n\r\n commit('SET_SPREAD', false);\r\n\r\n state.order.fixed = false;\r\n state.order.OrderClass = 1;\r\n state.order.Legs.splice(1, 1);\r\n dispatch('selectOrderAction',OrderAction.Buy);\r\n state.order.OrderType = OrderType.Limit;\r\n state.order.DurationId = OrderDuration.Day;\r\n state.order.Legs[0].AssetType = 1;\r\n state.order.Legs[0].Symbol = state.order.UnderlyingSymbol;\r\n await dispatch('updateQuote0');\r\n dispatch('addPriceFields');\r\n\r\n },\r\n async setSpread({state, commit, dispatch}){\r\n dispatch('reset');\r\n await dispatch('loadSftSymbol', null,{root:true});\r\n commit('SET_SPREAD', true);\r\n\r\n state.order.fixed = false;\r\n state.order.Legs[0].SpreadRatio = 1;\r\n state.order.Legs[0].AssetType = 2;\r\n state.order.Legs[1] = {...state.order.Legs[0], SpreadRatio : 1};\r\n state.order.DebitCredit = DebitCredit.Debit;\r\n state.order = {...state.order, OrderClass : OrderClass.Spread }\r\n\r\n },\r\n async setLeg0({state, dispatch}, payload){\r\n\r\n let {field, val} = payload;\r\n if (field===\"Symbol\") {\r\n await dispatch('updateQuote0');\r\n dispatch('addPriceFields');\r\n }\r\n state.order.Legs[0][field] = val;\r\n state.order = {...state.order};\r\n\r\n },\r\n async setLeg1({state, dispatch}, payload){\r\n let {field, val} = payload;\r\n\r\n if (field===\"Symbol\") {\r\n await dispatch('updateQuote1');\r\n dispatch('addPriceFields');\r\n }\r\n state.order.Legs[1][field] = val;\r\n state.order = {...state.order};\r\n },\r\n async setOptionLeg0({state, dispatch}, payload) {\r\n\r\n dispatch('updateQuote0');\r\n state.order.Legs[0].Symbol = payload;\r\n },\r\n async setOptionLeg1({state, dispatch}, payload) {\r\n\r\n dispatch('updateQuote1');\r\n state.order.Legs[1].Symbol = payload;\r\n },\r\n async updateQuote0({state}) {\r\n state.quote0 = null;\r\n state.busy = true;\r\n\r\n\r\n const resp = await QuoteService.loadFromTradingBlock([state.order.Legs[0].Symbol]);\r\n\r\n\r\n if (resp && resp[0]) {\r\n state.quote0 = resp[0];\r\n state.Price = state.quote0.LastTradePrice;\r\n state.order.Price = state.quote0.LastTradePrice;\r\n }\r\n state.busy = false;\r\n\r\n },\r\n async updateQuote1({state}) {\r\n state.quote1 = null;\r\n\r\n\r\n const resp = await QuoteService.loadFromTradingBlock([state.order.Legs[1].Symbol]);\r\n\r\n if (resp && resp[0])\r\n state.quote1 = resp[0];\r\n\r\n },\r\n checkAndSubmit({getters, state, dispatch}) {\r\n if (state.busy) return;\r\n if (!state.tried) state.tried = true;\r\n if (getters.InvalidOrder) return;\r\n\r\n let order = {...state.order};\r\n delete order.fixed;\r\n delete order.OrderId;\r\n state.placing = true;\r\n if (order.OrderType==OrderType.Market || order.OrderType==OrderType.MarketOnClose) {\r\n delete order.Price; delete order.Stop;\r\n }\r\n if (order.OrderType==OrderType.Limit) {\r\n order.Price = order.Price.toFixed(2);\r\n delete order.Stop;\r\n }\r\n if (order.OrderType==OrderType.StopMarket){\r\n order.Stop = order.Stop.toFixed(2);\r\n delete order.Price;\r\n }\r\n if (order.OrderType==OrderType.StopLimit) {\r\n order.Price = order.Price.toFixed(2);\r\n order.Stop = order.Stop.toFixed(2);\r\n }\r\n if (order.OrderClass!=OrderClass.Spread){\r\n delete order.DebitCredit;\r\n delete order.Legs[0].SpreadRatio;\r\n } else {\r\n order.Legs[0].SpreadRatio = 1;\r\n order.Legs[1].SpreadRatio = 1;\r\n }\r\n\r\n order.SubaccountId = TradingBlockRemote.SubaccountId;\r\n order.AccountId = TradingBlockRemote.AccountId;\r\n state.xhr = new TradingBlockRemote({\r\n onComplete: () => dispatch('onPlaceSuccess'),\r\n onFailure: () => dispatch('onPlaceFailure')\r\n }).PlaceOrder(order);\r\n },\r\n onPlaceSuccess(id){\r\n state.placing = false;\r\n setTimeout(\r\n ()=>{OrderBus.$emit(OrderMessages.OrderAdded, state.order);\r\n }, 2000 );\r\n\r\n\r\n notify.log(\"Place success for order \"+id.OrderId)\r\n },\r\n onPlaceFailure(m){\r\n state.placing = false;\r\n error.log(m);\r\n },\r\n expirationNotFound({dispatch}) {\r\n error.log(\"No results for options. Reverting to entity\");\r\n dispatch('setSingleEntity')\r\n },\r\n ConvertOrderActionToFields: function (v) {\r\n var effect = 0;\r\n var side = 0;\r\n switch (v) {\r\n case 1:\r\n side = OrderAction.Buy;\r\n effect = PositionEffect.Open;\r\n break; //Buy\r\n case 2:\r\n side = OrderAction.Sell;\r\n effect = PositionEffect.Close;\r\n break; //Sell To Close\r\n case 3:\r\n side = OrderAction.Sell;\r\n effect = PositionEffect.Open;\r\n break; //Sell Short\r\n case 8:\r\n side = OrderAction.Buy;\r\n effect = PositionEffect.Close;\r\n break; //Buy To Cover\r\n }\r\n return {effect: effect, side: side};\r\n },\r\n SwitchDebitCredit(){\r\n state.order.DebitCredit = DebitCredit.GetAnother(state.order.DebitCredit)\r\n },\r\n\r\n },\r\n getters:{\r\n InvalidOrder(state) {\r\n if (state.order.OrderClass === 0 || state.order.OrderType === 0 || state.order.Duration == 0) return true;\r\n if (isNaN(state.order.Quantity) || state.order.Quantity <= 0) return true;\r\n if (!state.order.UnderlyingSymbol || state.order.UnderlyingSymbol.length==0) return true;\r\n if (state.order.Legs[0].AssetType == 0 ||\r\n state.order.Legs[0].PositionEffect == 0 ||\r\n state.order.Legs[0].Action == 0)\r\n return true;\r\n\r\n\r\n if (state.order.OrderClass === 2) {\r\n if (!DebitCredit.isValid(state.order.DebitCredit)) return true;\r\n\r\n if (state.order.Legs[1].AssetType == 0 ||\r\n state.order.Legs[1].PositionEffect == 0 ||\r\n state.order.Legs[1].Action == 0)\r\n return true;\r\n if (isNaN(state.order.Legs[0].SpreadRatio) || state.order.Legs[0].SpreadRatio <= 0) return true;\r\n if (isNaN(state.order.Legs[1].SpreadRatio) || state.order.Legs[1].SpreadRatio <= 0) return true;\r\n }\r\n if ((state.order.OrderType === OrderType.Limit || state.order.OrderType === OrderType.StopLimit ) &&\r\n (isNaN(state.order.Price) || state.order.Price<=0)\r\n ) return true;\r\n if ((state.order.OrderType === OrderType.StopMarket || state.order.OrderType === OrderType.StopLimit ) &&\r\n (isNaN(state.order.Stop) || state.order.Stop<=0)) return true;\r\n\r\n //if (!state.quote0) return true;\r\n return false;\r\n },\r\n DebitCreditInvalid(state) {\r\n return !DebitCredit.isValid(state.order.DebitCredit);\r\n },\r\n spread(state){\r\n return state.order.OrderClass == 2;\r\n }\r\n }\r\n}","var render, staticRenderFns\nimport script from \"./OpenCloseCell.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenCloseCell.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenCloseCell.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenCloseCell.vue?vue&type=script&lang=js&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioHistoryTable.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioHistoryRow.vue?vue&type=style&index=0&id=d8c687fc&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioOptionRow.vue?vue&type=style&index=0&id=2937c205&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-responsive-lg current-portfolio\"},[_c('table',{staticClass:\"table table-sm table-hover mx-0 basicGrid portfolioGrid watchlist\",attrs:{\"cellpadding\":\"4\"}},[_c('thead',{staticClass:\"thead-dark\"},[_c('tr',[_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"1\"}},[_vm._v(\"Company\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see:
- Company Symbol
- Date When stock was bought
- Shares count
- Basis value
\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"2\"}},[_vm._v(\"Price\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see last known price of the company\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"3\"}},[_vm._v(\"Prior Low/High\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Prior Low
Prior High\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"4\"}},[_vm._v(\"Open/Close\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Predicted Open
Close Price\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"5\"}},[_vm._v(\"Buy/Sell\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Predicted support and resistance levels for current trading session.\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"6\"}},[_vm._v(\"Prediction\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Shows current price as it relates to predicted buy, predicted sell, actual previous session high, and actual previous session low signals for the current session.\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"7\"}},[_vm._v(\"Trend\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Trend for the next 3 month. The Trend shows the average of all vector values in a selected time horizon. The meter will display the overall bullish, bearish or neutral conviction according to the strength and direction of the vector average figure. A single Vector value is a percentage change from the previous real price averages and the predicted price average in a specific time interval. The higher the value the vector the higher its momentum.\"}})])])]),_vm._l((_vm.items),function(item,index){return _c('PortfolioRow',{key:item.ID,class:item.color,attrs:{\"index\":index,\"symbol\":item}})})],2),(_vm.portfolio.log)?_c('div',{staticClass:\"formInfo\",attrs:{\"id\":\"LogPortfolioPanel\"},domProps:{\"innerHTML\":_vm._s(_vm.portfolio.log)}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tbody',[_c('tr',{staticClass:\"PortfolioTable-NotSetRow\",attrs:{\"id\":_vm.symbol.id}},[_c('td',[_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],attrs:{\"title\":_vm.symbol.name}},[_vm._v(_vm._s(_vm.symbol.symbol))])]),_c('td',[_c('price-content',{attrs:{\"symbol\":_vm.symbol}})],1),_c('td',[_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.priorLow)))]),_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.priorHigh)))])]),_c('td',[_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionClose)))]),_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionOpen)))])]),(!_vm.symbol.oneDayPredictionNeeded)?_c('td',[_c('span',{staticClass:\"badge badge-success\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionLow)))]),_c('span',{staticClass:\"badge badge-danger\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionHigh)))])]):_vm._e(),_c('td',[(!_vm.symbol.oneDayPredictionNeeded)?_c('RangeControl',{attrs:{\"v\":_vm.symbol}}):_vm._e()],1),_c('td',[(!_vm.symbol.oneDayPredictionNeeded)?_c('ChartControl',{attrs:{\"v\":_vm.symbol,\"mode\":\"portfolio\"}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import OpenCloseCell from './OpenCloseCell.vue';\r\nimport RangeContainer from './RangeContainer.vue'\r\nimport RangeControl from './RangeControl.vue'\r\nimport ChartControl from './ChartControl.vue'\r\nimport PriceContent from './PriceContent.vue';\r\nimport { formatPrice } from '@/utils';\r\nimport TenDaysRow from './TenDaysRow';\r\nimport MktValue from './MktValue';\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\nimport { extractJsonDate, formatDate, formatNewDate } from '@/utils/formatters';\r\n\r\nimport vue from 'vue'\r\n\r\nexport default vue.extend({\r\n name: 'PortfolioRow',\r\n props: {\r\n index: { type: Number, required: true },\r\n symbol: { type: Object, required: true }\r\n },\r\n computed: {\r\n StartDateStr() {\r\n return formatDate(extractJsonDate(this.symbol.startDate)).split(',')[0];\r\n },\r\n est() {\r\n return this.symbol.estValue == 0 ? '-' : formatPrice(this.symbol.estValue);\r\n },\r\n errorRow() {\r\n return this.symbol.dailyError && this.symbol.monthError;\r\n },\r\n corridorHigh() {\r\n return 0.25 * this.symbol.predictionError * this.symbol.predictionHigh;\r\n },\r\n corridorLow() {\r\n return 0.25 * this.symbol.predictionError * this.symbol.predictionLow;\r\n },\r\n PredictionLow() {\r\n return this.symbol.predictionLow == 0 ? '-' : formatPrice(this.symbol.predictionLow);\r\n },\r\n PredictionHigh() {\r\n return this.symbol.predictionHigh == 0 ? '-' : formatPrice(this.symbol.predictionHigh);\r\n },\r\n },\r\n components: {\r\n RangeContainer,\r\n WaitIndicator,\r\n TenDaysRow,\r\n PriceContent,\r\n OpenCloseCell,\r\n MktValue,\r\n RangeControl,\r\n ChartControl\r\n },\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioRow.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioRow.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioRow.vue?vue&type=template&id=2680e62f&scoped=true&\"\nimport script from \"./PortfolioRow.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioRow.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioRow.vue?vue&type=style&index=0&id=2680e62f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2680e62f\",\n null\n \n)\n\nexport default component.exports","\r\n import Vue from 'vue'\r\nimport { clearInterval, setInterval } from 'timers';\r\nimport PortfolioRow from './PortfolioRow.vue';\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\n\r\n import vue from 'vue'\r\n\r\n export default vue.extend({\r\n props:{\r\n items: Array,\r\n portfolio: Object\r\n },\r\n data() {\r\n return {\r\n delay: { show: 100, hide: 1000 } ,\r\n DropdownClasses: {\r\n ItemClass: '',\r\n BtnClass: 'dropdown-toggle PortfolioToolbar__Button',\r\n DisabledBtnClass: 'dropdown-toggle PortfolioToolbar__Button btn-gray'\r\n }\r\n };\r\n },\r\n components: {\r\n PortfolioRow, WaitIndicator\r\n }\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioTable.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioTable.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioTable.vue?vue&type=template&id=ee43567e&\"\nimport script from \"./PortfolioTable.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioTable.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class SMSAlertService { \r\n public static AddMemeber(portfolioID: number, phone: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest() as any;\r\n request.open('post', '/api/portfolio/' + portfolioID + '/SMSAlert', true); \r\n request.withCredentials = true;\r\n\r\n request.setRequestHeader('Content-Type', 'application/json');\r\n request.setRequestHeader('Accept', 'application/json'); \r\n \r\n request.onload = function() {\r\n if (request.status >= 200 && request.status < 400) { \r\n const data = JSON.parse(request.responseText);\r\n if (data.responseCode != 0) {\r\n reject();\r\n } else {\r\n resolve(data.payload);\r\n }\r\n } else {\r\n // We reached our target server, but it returned an error\r\n reject();\r\n }\r\n };\r\n\r\n request.onerror = function() {\r\n reject();\r\n };\r\n\r\n request.send(JSON.stringify({phone: phone})); \r\n });\r\n } \r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"EditPriceCell\",class:{OrderTable_EditableCell: _vm.editable},attrs:{\"disabled\":!_vm.editable},on:{\"click\":_vm.prepareFields}},[_c('WaitIndicator',{attrs:{\"inprogress\":_vm.loading}},[(!_vm.editing)?_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.Text)+\"\\n \"),(_vm.PriceFieldVisible)?_c('span',{staticClass:\"btn_block\"},[_vm._v(_vm._s(_vm._f(\"formatPriceCr\")(_vm.order.Price))+_vm._s(\" \" + _vm.CrDr)+\" \")]):_vm._e(),(_vm.StopFieldVisible)?_c('span',{staticClass:\"btn_block\"},[_vm._v(_vm._s(_vm._f(\"formatPriceCr\")(_vm.order.Stop))+_vm._s(\" \" + _vm.CrDr))]):_vm._e()]):_c('div',{staticStyle:{\"width\":\"150px\"}},[(_vm.PriceFieldVisible)?_c('div',{staticClass:\"btn_block\"},[_vm._v(\"\\n L:\\n \"),_c('CurrencyInput',{ref:\"limed\",staticClass:\"EditPriceCell\",attrs:{\"label\":\"\",\"show_validation\":_vm.tried,\"placeholder\":\"Limit\"},model:{value:(_vm.newPrice),callback:function ($$v) {_vm.newPrice=$$v},expression:\"newPrice\"}})],1):_vm._e(),(_vm.StopFieldVisible)?_c('div',{staticClass:\"btn_block\"},[_vm._v(\"\\n S:\\n \"),_c('CurrencyInput',{ref:\"stoped\",staticClass:\"EditPriceCell\",attrs:{\"label\":\"\",\"show_validation\":_vm.tried,\"placeholder\":\"Stop\"},model:{value:(_vm.newStop),callback:function ($$v) {_vm.newStop=$$v},expression:\"newStop\"}})],1):_vm._e(),_c('div',{staticClass:\"btn_block\"},[_c('uiv-btn',{attrs:{\"type\":\"success\",\"disabled\":!_vm.valid},on:{\"click\":function($event){$event.stopPropagation();return _vm.edit($event)}}},[_vm._v(\"Place\")]),_c('uiv-btn',{attrs:{\"type\":\"warning\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.cancel($event)}}},[_vm._v(\"Cancel\")])],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from 'vue-class-component'\n\nimport {EventBus, Messages, OrderBus, OrderMessages} from \"../../services/EventBus\";\nimport Vue from \"vue\";\nimport {OrderTypeMap} from \"../../domain/TbMaps\";\nimport {TableOrder} from \"../../domain/Order\";\nimport {Emit, Prop, Watch} from \"vue-property-decorator\"; \nimport {CurrencyInput, WaitIndicator} from '../Common'\nimport {CancelOrderRequest, EditOrderRequest} from \"../../domain/DTO\";\nimport {Order} from \"../../domain/Order\";\nimport {DebitCredit} from \"../../domain/types\";\n\n// edit tb ajax call inside to allow simultaneous edits\n@Component({\n components: {CurrencyInput, WaitIndicator},\n props:{ 'order': {required: true} }\n\n})\n\nclass PriceCell extends Vue {\n\n @Prop({required:false, default:false})\n fixed: boolean;\n\n order:Order;\n editing: boolean = false;\n //viewPrice: string;\n //viewStop:string;\n\n newPrice:number|null = null;\n newStop: number|null = null;\n\n loading: boolean = false;\n tried: boolean = false;\n get valid(){\n if (this.PriceFieldVisible && ( this.newPrice===null || this.newPrice<=0)) return false;\n if (this.StopFieldVisible && ( this.newStop===null || this.newStop<=0)) return false;\n return true;\n }\n\n get CrDr(){\n return DebitCredit.GetAbbr(this.order.DebitCredit);\n }\n\n @Watch('order')\n setEdit(v:TableOrder, old:TableOrder){\n if (v.editing && this.editable) {\n this.prepareFields();\n } else\n this.cancel();\n }\n\n mounted(){\n //OrderBus.$on(OrderMessages.OrderTableClick, this.cancel)\n }\n\n beforeDestroy(){\n OrderBus.$off(OrderMessages.OrderTableClick,this.cancel )\n }\n get PriceFieldVisible(){\n return Order.canHavePrice(this.order)\n };\n get StopFieldVisible(){\n return Order.canHaveStop(this.order)\n };\n get Text() {\n return OrderTypeMap[this.order.OrderType] + \" \";\n }\n\n isWorking: boolean;\n orderId: number;\n\n get editable() {\n return !this.fixed && Order.isChangeable(this.order) && (Order.canHaveStop(this.order) || Order.canHavePrice(this.order))\n }\n cr:boolean|null=null;\n prepareFields(){\n this.tried = false;\n if (!this.editable) return;\n\n this.$nextTick(()=>{\n if (Order.canHavePrice(this.order)) {\n this.newPrice = Math.abs(this.order.Price!);\n this.cr = this.order.Price!>=0;\n }\n if (Order.canHaveStop(this.order)) {\n this.newStop = Math.abs(this.order.Stop!);\n this.cr = this.order.Stop!>=0;\n }\n this.$nextTick(()=> {\n this.editing = true;\n });\n })\n\n\n\n }\n\n cancel(){\n this.editing = false;\n }\n\n success(){\n this.loading = false;\n this.editing = false;\n if (this.newPrice) this.order.Price = this.newPrice;\n if (this.newStop) this.order.Stop = this.newStop;\n OrderBus.$emit(OrderMessages.OrdersEditPriceSuccess, this.order);\n }\n fail(){\n this.loading = false;\n this.editing = false;\n }\n\n @Emit()\n edit() {\n\n var req = {\n OrderId: this.order.OrderId,\n AccountId: this.order.AccountId,\n SubaccountId: this.order.SubaccountId,\n Price: this.newPrice? this.newPrice: null,\n OrderType: this.order.OrderType,\n Stop: this.newStop? this.newStop: null\n } as EditOrderRequest;\n\n this.tried = true;\n /*if (this.cr && req.Price){\n req.Price = - req.Price;\n }\n if (this.cr && req.Stop){\n req.Price = - req.Price;\n }*/\n this.loading = true;\n /*var xhr = new TradingBlockRemote({onComplete: this.success.bind(this), onFailure: this.fail.bind(this)})\n .EditOrder(req);*/\n\n\n }\n\n}\n\nexport default PriceCell;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceCell.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceCell.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PriceCell.vue?vue&type=template&id=2868418c&scoped=true&\"\nimport script from \"./PriceCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./PriceCell.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PriceCell.vue?vue&type=style&index=0&id=2868418c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2868418c\",\n null\n \n)\n\nexport default component.exports"," import vue from 'vue'\r\n import SMSAlertService from \"../../services/SMSAlertService\";\r\n\r\n export default vue.extend({\r\n props:{ \r\n portfolio: Object,\r\n userInfo: Object,\r\n },\r\n methods: { \r\n submit() {\r\n let phone = $('#sms-phone').val(); \r\n new SMSAlertService.AddMemeber(this.portfolio.id, phone); \r\n } \r\n }\r\n});","import {Quote} from '../domain/types';\r\nimport {error} from '../utils/log';\r\nimport TradingBlockRemote from './TradingBlockRemote';\r\n\r\nexport default {\r\n loadBySymbolList: (symbols)=> {\r\n return new Promise((resolve, reject) => {\r\n if (process.env.VUE_APP_SFT_ACCESS) {\r\n ForeCore.PredictionHelper.GetSymbolQuotes(symbols, (response) => {\r\n resolve(JSON.parse(response.json).value.Quotes);\r\n }, reject);\r\n } else {\r\n const xhr = ($.ajax)({\r\n type: 'POST',\r\n cashe: false,\r\n headers: {\r\n 'X-AjaxPro-Method': 'GetSymbolQuotes',\r\n\r\n },\r\n url: 'http://stockforecast.velvetech.com/ajaxpro/ForeCore.PredictionHelper,ForeCore.ashx',\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n crossDomain: true,\r\n data: '{\\\"symbols\\\": ' + JSON.stringify(symbols) + '}',\r\n success: (response,\r\n textStatus, jqXHR) => {\r\n if (!response.value || response.value.ErrorCode > 0) {\r\n return reject();\r\n }\r\n return resolve(response.value.Quotes);\r\n },\r\n error: (data, textStatus, jqXHR) => {\r\n error.log(textStatus, JSON.stringify(jqXHR));\r\n return reject();\r\n },\r\n });\r\n\r\n return xhr;\r\n }\r\n });\r\n },\r\n\r\n loadFromTradingBlock: (id, symbols)=> {\r\n return new Promise((resolve, reject) => {\r\n const xhr = new TradingBlockRemote({\r\n onComplete: (res) => {\r\n resolve(res);\r\n },\r\n onFailure: (err) => {\r\n reject(err);\r\n },\r\n }).GetQuotes(id, symbols);\r\n });\r\n }\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Multiselect.vue?vue&type=style&index=1&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordedWebinar.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrameView.vue?vue&type=style&index=0&id=d2e35ab4&scoped=true&lang=css&\"","// all mutations should be by companyID\r\nimport Vue from 'vue';\r\n\r\nimport {byID, bySymbol} from '../common'\r\n\r\nexport default {\r\n addPortfolioSymbol (state, sym) {\r\n state.items.push(sym);\r\n\r\n },\r\n removePortofolioSymbol (state, payload) {\r\n byID(state, payload, (index)=>\r\n state.items.splice(index, 1)\r\n\r\n\r\n );\r\n },\r\n updatePortfolioSymbolFields (state, payload) {\r\n byID(state, payload, (index)=>\r\n Vue.set(state.items, index, {...state.items[index], ...payload.update})\r\n );\r\n },\r\n updateMonthFields (state, payload) {\r\n byID(state, payload, (index)=>\r\n Vue.set(state.items, index, {...state.items[index], ...payload.update})\r\n );\r\n },\r\n updateDailyFields (state, payload) {\r\n byID(state, payload, (index)=>\r\n Vue.set(state.items, index, {...state.items[index], ...payload.update})\r\n );\r\n },\r\n updateRealtimeFields (state, payload) {\r\n byID(state, payload, (index)=>\r\n Vue.set(state.items, index, {...state.items[index], ...payload.update})\r\n );\r\n },\r\n insertLoadedPortfolio(state, payload){\r\n state.items = payload;\r\n },\r\n appendLog(state, payload){\r\n const old = state.log ? state.log: '';\r\n state.log = old + '
' + ''+payload.message+'';\r\n },\r\n clearLog(state){\r\n state.log = '';\r\n state.notified_tb_login = false;\r\n },\r\n setPortfolioSymbolsLoad(state, payload){\r\n state.loadingPortfolioSymbols = payload;\r\n \r\n },\r\n setRowPredictionLoading(state, payload){\r\n byID(state, payload, (index)=>{\r\n Vue.set(state.rowPredictionLoading, index, true); \r\n });\r\n },\r\n setAllPredictionsLoaded(state){\r\n state.rowPredictionLoading = [state.items.length];\r\n state.selectedItems = [state.items.length];\r\n for (let i = 0; i true);\r\n //state.colored = state.items.map(o=> '');\r\n state.rowPredictionLoading = [];\r\n for (let i = 0; i{\r\n Vue.set(state.rowPredictionLoading, index, false);\r\n });\r\n },\r\n setColoredRow(state, payload){\r\n Vue.set(state.colored, payload.index, payload.color);\r\n },\r\n setRefreshing(state, payload){\r\n state.refreshing = payload;\r\n },\r\n setLoadingQuotes(state, payload){\r\n state.loadingQuotes = payload;\r\n },\r\n setTimer(state, payload){\r\n state.timer = payload;\r\n },\r\n selectEditSymbol(state, payload) {\r\n state.selectedForEdit = payload;\r\n },\r\n // multiselect\r\n toggleItemSelectProp(state, payload){\r\n byID(state, payload, (index)=> {\r\n const update = {selected: !state.items[index].selected}\r\n Vue.set(state.items, index, {...state.items[index], ...update});\r\n });\r\n },\r\n selectedAll(state, payload){\r\n for (let i = 0; i {o.selected = true; return o;});\r\n },\r\n unselectedAll(state, payload) {\r\n for (let i = 0; i {o.selected = false; return o;});\r\n },\r\n\r\n HideBatchForm(state, payload) {\r\n state.showBatchPlaceForm = false;\r\n },\r\n SetBatchLimitSource(state, payload) {\r\n state.BatchLimitSource = payload;\r\n },\r\n SetBatchAllocated(state, payload) {\r\n state.BatchAllocated = payload;\r\n }\r\n \r\n}\r\n","//var ReceiveChunkSize = 1024;\r\n//var SendChunkSize = 1024;\r\n\r\nimport TradingBlockRemote from '@/services/TradingBlockRemote';\r\n\r\nfunction getParamValue(p) {\r\n return p.split('=')[1]\r\n}\r\n\r\nfunction quotesToLists(symbols) {\r\n let singles = [];\r\n let spreads = [];\r\n // console.log(symbols)\r\n symbols.map((sym) => {\r\n\r\n if (sym.OrderClass == 2)\r\n\r\n spreads.push({\r\n Bid:0,Ask:0,Last:0,Change:0,SpreadTime:\"0001-01-01T00:00:00\",\r\n Type: 0, // calendar is bug\r\n Legs: [{Symbol: '.'+sym.Legs[0].Symbol, AssetType:2}, {Symbol: '.'+sym.Legs[1].Symbol,AssetType:2}]\r\n });\r\n else\r\n singles.push(sym.Symbol || sym.UnderlyingSymbol);\r\n });\r\n\r\n return {\r\n singles, spreads\r\n }\r\n}\r\n\r\nfunction getAccountPrefix() {\r\n return \"0=\" + TradingBlockRemote.getToken() + \"|1=\" + TradingBlockRemote.ActiveAccountId;\r\n}\r\n\r\nexport default function createStreamingPlugin(remote) {\r\n\r\n let ws= null;\r\n let pingInterval = null;\r\n let pong = null;\r\n let connected = false;\r\n let remaining_tries = 2;\r\n let subscribed = {};\r\n let accountPrefix = null;\r\n\r\n let store;\r\n const handleMessage = (msg)=> {\r\n\r\n var a = msg.split('|');\r\n if (getParamValue(a[0]) != 0){\r\n console.log(\"WS Resp Code =\" + a[0]);\r\n if (remaining_tries>0){\r\n remaining_tries--;\r\n Reconnect();\r\n } else {\r\n Disconnect();\r\n }\r\n ws.close();\r\n store.commit('TB_WS_ERROR', a[0]);\r\n return;\r\n }\r\n //console.log(a[0].split('=')[1]);\r\n switch (getParamValue(a[1])) {\r\n case '0':\r\n //hearbeat ignore\r\n break;\r\n case '1':\r\n remaining_tries = 2;\r\n var o = {\r\n Date: new Date(getParamValue(a[2])),\r\n Symbol: getParamValue(a[3]),\r\n last_trade_price: parseFloat(getParamValue(a[4])),\r\n bid: parseFloat(getParamValue(a[5])),\r\n ask: parseFloat(getParamValue(a[6])),\r\n ActualNetChange: parseFloat(getParamValue(a[7])),\r\n\r\n high: parseFloat(getParamValue(a[8])),\r\n low: parseFloat(getParamValue(a[9])),\r\n volume: parseFloat(getParamValue(a[10])),\r\n change_percent: parseFloat(getParamValue(a[11])),\r\n\r\n };\r\n o.from='websocket';\r\n if (o.bid>0 && o.ask>0){\r\n store.commit('orders/updateRealtimeBySymbol', o);\r\n }\r\n if (o.last_trade_price>0) {\r\n // console.log(o);\r\n store.dispatch('portfolio/updateRealtimeBySymbol', o);\r\n } else {\r\n store.dispatch('portfolio/addFallbackSymbol', o.Symbol);\r\n store.commit('portfolio/appendLog',{ message: 'Symbol '+ o.Symbol+' has 0 price from tradingblock streaming.Try GetQuotes ', level: 'warning' });\r\n }\r\n //store.dispatch('TB_WS_QUOTE', o);\r\n break;\r\n case '2':\r\n remaining_tries = 2;\r\n var o = {\r\n Date: new Date(getParamValue(a[2])),\r\n Symbol: getParamValue(a[3]),\r\n last_trade_price: parseFloat(getParamValue(a[4])),\r\n bid: parseFloat(getParamValue(a[5])),\r\n ask: parseFloat(getParamValue(a[6])),\r\n ActualNetChange: parseFloat(getParamValue(a[7]))\r\n };\r\n o.from='websocket';\r\n o.spread = true;\r\n if (o.bid>0 || o.ask>0){\r\n //let s= o.Symbol.split('-');;\r\n let sym_s =o.Symbol.split('-')\r\n o.Legs = [];\r\n o.Legs[0] = {Symbol:sym_s[0].split('_')[0].substring(1)};\r\n o.Legs[1] = {Symbol:sym_s[1].split('_')[0].substring(1)};\r\n store.commit('orders/updateRealtimeBySymbol', o);\r\n }\r\n // if (o.last_trade_price>0) {\r\n // // console.log(o);\r\n // store.dispatch('portfolio/updateRealtimeBySymbol', o);\r\n // } else {\r\n // store.dispatch('portfolio/addFallbackSymbol', o.Symbol);\r\n // store.commit('portfolio/appendLog',{ message: 'Symbol '+ o.Symbol+' has 0 price from tradingblock streaming.Try GetQuotes ', level: 'warning' });\r\n // }\r\n break;\r\n\r\n case '3':\r\n remaining_tries = 2;\r\n var o = {\r\n AccountId: parseFloat(getParamValue(a[2])),\r\n OrderId: parseFloat(getParamValue(a[3])),\r\n OrderTime: parseFloat(getParamValue(a[4])),\r\n Symbol: parseFloat(getParamValue(a[5])),\r\n OrderQuantity: parseFloat(getParamValue(a[6])),\r\n FilledQuantity: parseFloat(getParamValue(a[7])),\r\n OrderStatus:parseFloat(getParamValue(a[8]))\r\n };\r\n store.dispatch('orders/updateOrderFill', o);\r\n console.log(o);\r\n break;\r\n case '100':\r\n remaining_tries = 2;\r\n break;\r\n default:\r\n console.log(\"Unknown msg type =\" + a[1]);\r\n\r\n break;\r\n }\r\n };\r\n const CloseRoutine=()=>{\r\n connected = false;\r\n\r\n let reason=\"\";\r\n if (event.code == 1000)\r\n reason = \"Normal closure, meaning that the purpose for which the connection was established has been fulfilled.\";\r\n else if(event.code == 1001)\r\n reason = \"An endpoint is \\\"going away\\\", such as a server going down or a browser having navigated away from a page.\";\r\n else if(event.code == 1002)\r\n reason = \"An endpoint is terminating the connection due to a protocol error\";\r\n else if(event.code == 1003)\r\n reason = \"An endpoint is terminating the connection because it has received a type of data it cannot accept (e.g., an endpoint that understands only text data MAY send this if it receives a binary message).\";\r\n else if(event.code == 1004)\r\n reason = \"Reserved. The specific meaning might be defined in the future.\";\r\n else if(event.code == 1005)\r\n reason = \"No status code was actually present.\";\r\n else if(event.code == 1006)\r\n reason = \"The connection was closed abnormally, e.g., without sending or receiving a Close control frame\";\r\n else if(event.code == 1007)\r\n reason = \"An endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 [http://tools.ietf.org/html/rfc3629] data within a text message).\";\r\n else if(event.code == 1008)\r\n reason = \"An endpoint is terminating the connection because it has received a message that \\\"violates its policy\\\". This reason is given either if there is no other sutible reason, or if there is a need to hide specific details about the policy.\";\r\n else if(event.code == 1009)\r\n reason = \"An endpoint is terminating the connection because it has received a message that is too big for it to process.\";\r\n else if(event.code == 1011)\r\n reason = \"A server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.\";\r\n else if(event.code == 1015)\r\n reason = \"The connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).\";\r\n\r\n console.log(\"WS close:\"+ reason);\r\n accountPrefix = null;\r\n store.commit('TB_WS_CLOSE');\r\n };\r\n const ShowTbLogin=()=>{\r\n window.GotoLoginScreen();\r\n };\r\n const Connect=()=> {\r\n\r\n // pingInterval = setInterval(function()\r\n // {\r\n // console.log(\"sending ping...\");\r\n // ws.send('ping');\r\n //\r\n // setTimeout(function()\r\n // {\r\n // if (pong != null) {\r\n // pong = null;\r\n // } else {\r\n // // do stuff here to handle no pong\r\n // console.log(\"no pong!\");\r\n // clearInterval(pingInterval);\r\n // try {\r\n // ws.close();\r\n // }\r\n // catch(err) {\r\n // console.error(err.message);\r\n // }\r\n // }\r\n // },1000);\r\n // }, 20000);\r\n return new Promise((resolve, reject) => {\r\n ws = new WebSocket(remote)\r\n ws.onmessage = e => handleMessage(e.data);\r\n // ws.onerror = (e) => {\r\n // connected = false;\r\n // console.log(\"WS error\" + e.message);\r\n // store.commit('TB_WS_ERROR');\r\n // reject();\r\n // };\r\n ws.onclose = CloseRoutine;\r\n ws.onopen = e => {\r\n\r\n //ws.send(\"0=\"+token+\"|1=\"+accid+\"|10=INTC\")\r\n // Subscribe([{Symbol: \"MSFT\", OrderClass: 1},\r\n // {Symbol: \"IWM190118C00150000\", OrderClass: 1},\r\n // {OrderClass: 2, Legs: [{Symbol: \"IWM\"}, {Symbol: \"AMZN\"}]}\r\n // //{OrderClass:2, Legs: [{Symbol:\"IWM 190215C00134000\"},{Symbol:\"IWM 190215C00139000\"}]}\r\n // ]);\r\n if ( ws.readyState == 1 ) {\r\n connected = true;\r\n accountPrefix = getAccountPrefix();\r\n console.log(\"WS open\")\r\n store.commit('TB_WS_OPEN');\r\n setTimeout(function (){\r\n resolve();\r\n },200);\r\n\r\n }\r\n\r\n }\r\n });\r\n\r\n };\r\n\r\n const Disconnect=()=> {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n ws.onclose = e=> {\r\n CloseRoutine();\r\n resolve();\r\n };\r\n ws.close();\r\n } catch (exc) {\r\n reject();\r\n }\r\n });\r\n };\r\n\r\n const SubscribeSingles=(syms)=> {\r\n ws.send(accountPrefix + \"|10=\" + syms.filter((v,i,a)=>a.indexOf(v)==i).join(','))\r\n };\r\n\r\n const SubscribeSpreads=(syms)=> {\r\n ws.send(accountPrefix + \"|11=\" + JSON.stringify(syms))\r\n };\r\n\r\n const SubscribeOrders=()=> {\r\n ws.send(accountPrefix + \"|13=1\");\r\n };\r\n\r\n const SubscribeQuotes=(syms)=> {\r\n let lists = quotesToLists(syms);\r\n lists.singles && lists.singles.length > 0 && SubscribeSingles(lists.singles);\r\n lists.spreads && lists.spreads.length > 0 && SubscribeSpreads(lists.spreads);\r\n subscribed = lists;\r\n };\r\n\r\n const UnsubscribeOrders=()=> {\r\n ws.send(accountPrefix + \"|13=0\");\r\n };\r\n\r\n const Reconnect= ()=> {\r\n return Disconnect().then(Connect);\r\n };\r\n\r\n const UnsubscribeQuotes= async (syms)=> {\r\n if (syms && syms.length>0) {\r\n subscribed.singles = subscribed.singles ? subscribed.singles.filter(o => !syms.contains(o.Symbol)) : [];\r\n //subscribed.spreads = subscribed.spreads ? subscribed.spreads.filter(o => !syms.contains(o.Legs[0].Symbol) && !syms.contains(o.Legs[1].Symbol)) : [];\r\n\r\n await Reconnect();\r\n\r\n subscribed.singles && subscribed.singles.length > 0 && SubscribeSingles(subscribed.singles);\r\n //subscribed.spreads && subscribed.spreads.length > 0 && SubscribeSpreads(subscribed.spreads);\r\n } else {\r\n await Reconnect();\r\n }\r\n };\r\n\r\n let pending_account= !TradingBlockRemote.authenticated;\r\n\r\n return (st) => {\r\n\r\n store = st;\r\n //EnsureOrShowTbLogin();\r\n //Connect();\r\n store.subscribe(async mutation => {\r\n if (mutation.type === 'orders/setRefreshingQuotes' ) {\r\n if (store.state.orders.items && store.state.orders.items.length>0) {\r\n if (!connected){\r\n await Connect();\r\n }\r\n SubscribeQuotes(store.state.orders.items);\r\n }\r\n }\r\n if (mutation.type === 'portfolio/setRefreshing' ) {\r\n if (mutation.payload) {\r\n pending_account= !TradingBlockRemote.authenticated;\r\n if (!pending_account) {\r\n store.state.portfolio.items && store.state.portfolio.items.length>0 && Connect().then(()=>{\r\n SubscribeQuotes(store.state.portfolio.items);\r\n });\r\n\r\n } else {\r\n //ShowTbLogin();\r\n //if (!tb)\r\n store.commit('portfolio/appendLog', {message: 'Please login at stocks page to Tradingblock to use tradingblock quotes.' , level: 'info'});\r\n }\r\n } else {\r\n connected && UnsubscribeQuotes();\r\n }\r\n\r\n\r\n }\r\n\r\n if (mutation.type === 'TB_LOGOUT') {\r\n pending_account = true;\r\n }\r\n if (mutation.type === 'TB_CHOOSED_SUBACCOUNT') {\r\n pending_account = false;\r\n }\r\n if (mutation.type === 'QUOTES_SUBSCRIBE') {\r\n if (!connected)\r\n Connect().then(un=> {\r\n SubscribeQuotes(mutation.payload);\r\n });\r\n else\r\n SubscribeQuotes(mutation.payload);\r\n }\r\n if (mutation.type === 'QUOTES_UNSUBSCRIBE') {\r\n if (connected)\r\n UnsubscribeQuotes(mutation.payload);\r\n }\r\n if (mutation.type === 'ORDERS_SUBSCRIBE') {\r\n if (!connected)\r\n Connect().then(un=> {\r\n SubscribeOrders(mutation.payload);\r\n });\r\n else\r\n SubscribeOrders(mutation.payload);\r\n }\r\n if (mutation.type === 'ORDERS_UNSUBSCRIBE') {\r\n if (connected)\r\n UnsubscribeOrders(mutation.payload);\r\n }\r\n });\r\n };\r\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=style&index=0&id=1e733f6c&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=style&index=0&id=f5af48e4&scoped=true&lang=css&\"","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport {getCookie} from \"../utils/cookies\";\r\nimport portfolio from './portfolio'\r\nimport history from './history'\r\nimport orders from './orders'\r\nimport balance from './balance'\r\nimport trade from './trade'\r\n// import blogs from './blogs'\r\n// import predictions from './predictions'\r\nimport TradingBlockRemote from \"../services/TradingBlockRemote\";\r\nimport { portfolioService} from '../services/services';\r\nimport createStreamingPlugin from './VuexStreamingPlugin'\r\nimport {AssetType} from \"../domain/types\";\r\n\r\nlet firstHiddenTab = 8;\r\nif (window.isElite) {\r\n firstHiddenTab = 9;\r\n}\r\n$(document).ready(()=> {\r\n $('#myTabs > li:nth-child(' + firstHiddenTab + ')').hide();\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab + 1) + ')').hide();\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab + 2) + ')').hide();\r\n});\r\n\r\n\r\nlet streamingPlugin = 'WebSocket' in window ? createStreamingPlugin (\"wss://ws.tradingblock.com\"): null;\r\n\r\nconst store = new Vuex.Store({\r\n plugins: [streamingPlugin],\r\n modules: {\r\n portfolio:portfolio,\r\n history:history,\r\n orders:orders,\r\n balance:balance,\r\n trade: trade\r\n //blogs:blogs,\r\n //predictions:predictions\r\n },\r\n state:{\r\n tb_logged: false,\r\n tb_logging: false,\r\n tb_tried: false,\r\n tb_login_error: null,\r\n tb_choosed_subaccount: false,\r\n tb_agree: false,\r\n tb_inited: false,\r\n tb_username: '',\r\n\r\n\r\n toolboxes_tab: '',\r\n\r\n screener_page: {},\r\n\r\n current_symbol: '',\r\n\r\n realtime_data: null,\r\n loaded: false,\r\n loading: false,\r\n error: false\r\n },\r\n mutations:{\r\n\r\n selectSymbol(state, payload){\r\n state.current_symbol = payload;\r\n },\r\n setLoading(state){\r\n state.loading = true;\r\n state.error = null;\r\n state.loaded = false;\r\n },\r\n setLoaded(state, payload){\r\n state.loading = false;\r\n state.error = null;\r\n state.loaded = true;\r\n state.realtime_data = payload;\r\n },\r\n setError(state, payload){\r\n state.loading = false;\r\n state.error = payload;\r\n state.loaded = false;\r\n },\r\n loadBlogs(state, payload){\r\n\r\n },\r\n setTab(state, payload){\r\n state.toolboxes_tab = payload;\r\n },\r\n setScreenerPage(state, payload){\r\n state.screener_page = payload;\r\n },\r\n\r\n TB_WS_ORDER_UPDATE(state, payload) {\r\n console.log('TB_WS_ORDER_UPDATE' + payload)\r\n },\r\n TB_WS_OPEN(state, payload) {\r\n console.log('TB_WS_OPENED')\r\n },\r\n TB_WS_CLOSE(state, payload) {\r\n console.log('TB_WS_OPENED')\r\n },\r\n TB_WS_ERROR(state, payload) {\r\n console.log('TB_WS_ERROR')\r\n },\r\n QUOTES_SUBSCRIBE(state, payload) {\r\n console.log('QUOTE_SUBSCRIBE')\r\n },\r\n QUOTES_UNSUBSCRIBE(state, payload) {\r\n console.log('QUOTE_UNSUBSCRIBE')\r\n },\r\n ORDERS_SUBSCRIBE(state, payload) {\r\n console.log('ORDERS_SUBSCRIBE')\r\n },\r\n ORDERS_UNSUBSCRIBE(state, payload) {\r\n console.log('ORDERS_UNSUBSCRIBE')\r\n },\r\n TB_CHOOSED_SUBACCOUNT(state, payload) {\r\n console.log('TB_CHOOSED_SUBACCOUNT')\r\n state.tb_choosed_subaccount = true;\r\n $('#myTabs > li:nth-child(' + firstHiddenTab + ')').show();\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab + 1) + ')').show();\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab + 2) + ')').show();\r\n },\r\n\r\n TB_LOGIN(state, payload){\r\n state.tb_logged = true;\r\n state.tb_tried = false;\r\n state.tb_username = getCookie('USERNAME')\r\n },\r\n TB_LOGOUT(state, payload) {\r\n state.tb_logged = false;\r\n state.tb_tried = false;\r\n state.tb_choosed_subaccount = false;\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab) + ')').hide();\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab + 1) + ')').hide();\r\n $('#myTabs > li:nth-child(' + (firstHiddenTab + 2) + ')').hide();\r\n\r\n state.tb_username = '';\r\n\r\n }\r\n\r\n\r\n },\r\n actions: {\r\n chooseSubaccount({state, commit}, payload){\r\n TradingBlockRemote.SetSubAccount(payload);\r\n commit('TB_CHOOSED_SUBACCOUNT');\r\n },\r\n agreeTb(){\r\n TradingBlockRemote.setAgreement();\r\n state.tb_agree = true;\r\n },\r\n authTbCheck({state, commit}, payload){\r\n setTimeout(()=>{\r\n if (!TradingBlockRemote.needAgreement()){\r\n state.tb_agree = true;\r\n }\r\n if (TradingBlockRemote.authenticated){\r\n state.logged = true;\r\n commit('TB_LOGIN')\r\n }\r\n state.tb_inited = true;\r\n }, 1000);\r\n },\r\n async LoginTB({state, commit, dispatch}, payload){\r\n state.tb_logging = true;\r\n try {\r\n var res = await TradingBlockRemote.login(payload.username, payload.password, payload.live);\r\n state.tb_login_error = null;\r\n\r\n commit('TB_LOGIN');\r\n } catch (e) {\r\n state.tb_tried = true;\r\n state.tb_login_error = e;\r\n }\r\n state.tb_logging = false;\r\n\r\n },\r\n async LogoutTB({state, commit, dispatch}, payload){\r\n\r\n await TradingBlockRemote.logout();\r\n commit('TB_LOGOUT');\r\n },\r\n TB_WS_QUOTE ({state, commit, dispatch}, payload) {\r\n console.log('TB_WS_QUOTE' + payload)\r\n dispatch('portfolio/updateRealtimeBySymbol', payload);\r\n },\r\n setPage({state, commit}, payload){\r\n commit('setTab', payload.tab);\r\n if (['portfolio', 'screener', 'calculator'].indexOf(payload.tab) < 0) {\r\n commit('history/invalidate');\r\n }\r\n if (payload.tab === 'screener' && payload.subpage){\r\n commit('setScreenerPage', payload.subpage);\r\n }\r\n if (payload.tab === 'portfolio' && !payload.subpage)\r\n commit('portfolio/selectEditSymbol', null);\r\n },\r\n\r\n async SHOW_TRADE_WINDOW({state, dispatch, commit}, payload){\r\n if (state.tb_choosed_subaccount) {\r\n\r\n if (payload.Legs[0].AssetType===AssetType.Option ){\r\n if (!payload.RealtimeData) {\r\n await dispatch('loadSymbol', payload.UnderlyingSymbol);\r\n } else {\r\n commit('setLoaded', {LastTrade: payload.RealtimeData.ActualPricePerShare});\r\n }\r\n }\r\n await dispatch('trade/SET_ORDER', payload);\r\n state.trade.show_window = true;\r\n }\r\n },\r\n async loadSftSymbol({dispatch,state}){\r\n await dispatch('loadSymbol', $('#SymbolBox').val())\r\n },\r\n async loadSymbol({state, commit}, payload){\r\n\r\n commit('selectSymbol', payload);\r\n commit('setLoading');\r\n\r\n const quotes = await portfolioService.GetQuote(payload);\r\n if (!quotes || !quotes.Symbol) throw new Error(\"no quotes found for \" + payload);\r\n\r\n commit('setLoaded', quotes);\r\n }\r\n },\r\n getters:{\r\n isPortfolioTab(state){\r\n return state.toolboxes_tab === 'portfolio';\r\n },\r\n isScreenerTab(state){\r\n return state.toolboxes_tab === 'screener';\r\n },\r\n isCalculatorTab(state){\r\n return state.toolboxes_tab === 'calculator';\r\n },\r\n isFuturesTab(state){\r\n return state.toolboxes_tab === 'futures';\r\n }\r\n\r\n\r\n }\r\n});\r\n\r\nstore.dispatch('authTbCheck');\r\n\r\nexport default store\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.inprogress)?_vm._t(\"default\"):_c('div',{staticClass:\"wait_indicator center-block\"},[_c('i',{staticClass:\"center-block fa fa-spinner fa-spin\",attrs:{\"alt\":\"wait\"}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WaitIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WaitIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WaitIndicator.vue?vue&type=template&id=9e06c7ec&\"\nimport script from \"./WaitIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./WaitIndicator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeContainer.vue?vue&type=style&index=0&id=9bc1fdf2&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PerformancePage.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArchivePostItem.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('uiv-dropdown',{attrs:{\"menu-right\":\"\"}},[_c('uiv-btn',{staticClass:\"dropdown-toggle\",attrs:{\"type\":\"primary\"}},[_c('span',{staticClass:\"caret\"})]),_c('template',{slot:\"dropdown\"},[_c('li',{on:{\"click\":_vm.tradeClick}},[_c('a',{attrs:{\"role\":\"button\"}},[_vm._v(\"trade\")])]),_c('li',{on:{\"click\":_vm.closeClick}},[_c('a',{attrs:{\"role\":\"button\"}},[_vm._v(\"close\")])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {error} from '../utils/log';\r\nimport {AssetTypeConvMap} from './TbMaps';\r\nimport {AssetType, CharAssetType, OrderAction, OrderClass, OrderDuration, OrderType, PositionEffect} from './types';\r\nimport {Order} from './Order';\r\n\r\nexport class Position {\r\n public static makeTradeOrder(src: Position): Order {\r\n const order: Order = new Order();\r\n\r\n if (src.NoOfLegs! > 0) {\r\n error.log('Multileg position trade is not supported');\r\n throw new Error('Multileg position trade is not supported');\r\n } else {\r\n order.AccountId = src.AccountId;\r\n order.SubaccountId = src.SubaccountId;\r\n order.OrderClass = OrderClass.Single;\r\n order.UnderlyingSymbol = src.AssetType !== AssetType.Entity ? src.Underlying : src.Symbol;\r\n\r\n order.Quantity = 0;\r\n order.Legs = [{\r\n Action: src.OpenQuantity > 0 ? OrderAction.Buy : OrderAction.Sell,\r\n PositionEffect: PositionEffect.Open,\r\n Symbol: src.Symbol,\r\n SpreadRatio: null,\r\n AssetType: src.AssetType\r\n }];\r\n\r\n order.OrderType = OrderType.Market;\r\n order.Duration = OrderDuration.GTC;\r\n }\r\n order.fixed = false;\r\n return order;\r\n }\r\n\r\n public static makeCloseOrder(src: Position): Order {\r\n const order: Order = new Order();\r\n order.fixed = true;\r\n if (!isNaN(src.NoOfLegs!) && src.NoOfLegs! > 0) {\r\n error.log('Multileg position close is not supported');\r\n throw new Error('Multileg position close is not supported');\r\n } else {\r\n\r\n order.AccountId = src.AccountId;\r\n order.SubaccountId = src.SubaccountId;\r\n order.OrderClass = OrderClass.Single;\r\n\r\n order.UnderlyingSymbol = src.AssetType !== AssetType.Entity ? src.Underlying : src.Symbol;\r\n\r\n order.Quantity = Math.abs(src.OpenQuantity);\r\n order.Legs = [{\r\n Action: src.OpenQuantity > 0 ? OrderAction.Sell : OrderAction.Buy,\r\n PositionEffect: PositionEffect.Close,\r\n Symbol: src.Symbol,\r\n SpreadRatio: null,\r\n AssetType: src.AssetType\r\n }];\r\n order.OrderType = OrderType.Limit;\r\n order.Duration = OrderDuration.GTC;\r\n // rder.N = src.N ;\r\n }\r\n order.fixed = true;\r\n return order;\r\n }\r\n\r\n public Symbol: string = '';\r\n public DateOpened: Date | null | string = null;\r\n public Description: string = '';\r\n public AssetType: AssetType = AssetType.Undefined;\r\n public Underlying: string;\r\n public AskPrice?: number;\r\n public CostBasis?: number;\r\n public OpenQuantity: number = 0;\r\n public OpenPrice: number = 0;\r\n public Commission: number = 0;\r\n // TotalCostBasis : total_cost.formatPrice() ,\r\n public CurrentValue?: number;\r\n public UnrealizedGain?: number;\r\n public BidPrice?: number;\r\n public NetChange?: number;\r\n public N?: number;\r\n public OptionMultiplier?: number;\r\n public LastTradePrice?: number;\r\n public NoOfLegs: number | null;\r\n public HasWorkingOpenOrder: boolean;\r\n public StrategyTypeId: number;\r\n public SubaccountId: number;\r\n\r\n public AccountId: number;\r\n public GroupId: number;\r\n public HasWorkingCloseOrder: boolean;\r\n\r\n\r\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from 'vue-class-component'\nimport {Prop, Watch, Vue, Emit} from 'vue-property-decorator'\nimport {EventBus, Messages} from \"../../services/EventBus\";\nimport {Position} from '../../domain/Position'\nimport {Dropdown } from '../Common'\n\n@Component({\n components: {Dropdown}\n})\n\nclass PositionActionMenu extends Vue{\n\n @Prop()\n position: Position;\n\n show:boolean= false;\n\n tradeClick() {\n this.hideMenu();\n let order = Position.makeTradeOrder(this.position);\n EventBus.showTradeForm(order);\n\n }\n\n closeClick() {\n this.hideMenu();\n let order = Position.makeCloseOrder(this.position);\n EventBus.showTradeForm(order );\n\n }\n\n showMenu(){\n this.show= true;\n }\n\n hideMenu(){\n this.show= false;\n }\n}\n\nexport default PositionActionMenu;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionActionMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionActionMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PositionActionMenu.vue?vue&type=template&id=387e6c98&scoped=true&\"\nimport script from \"./PositionActionMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./PositionActionMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"387e6c98\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"numeric_input\",attrs:{\"id\":_vm.id}},[_c('span',{staticClass:\"symbol-label\",class:{validator:_vm.show_validation && isNaN(_vm.value)}},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"number-input-wrap\",class:_vm.InputWrapClass},[_c('input',{ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"placeholder\":_vm.label,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.setNum,\"mouseenter\":_vm.disableDrag,\"mouseleave\":_vm.enableDrag}}),_c('div',{staticClass:\"number-nav\"},[_c('div',{staticClass:\"number-button number-up\",on:{\"click\":function($event){$event.stopPropagation();_vm.inc()}}},[_vm._v(\"∧\")]),_c('div',{staticClass:\"number-button number-down\",on:{\"click\":function($event){$event.stopPropagation();_vm.dec();}}},[_vm._v(\"∨\")])])]),_c('div',{style:(_vm.ValidatorClass)},[(_vm.show_validation && isNaN(_vm.num))?_c('span',{staticClass:\"validator\"},[_vm._v(\"Invalid format\")]):_vm._e(),(_vm.show_validation && _vm.num<0)?_c('span',{staticClass:\"validator\"},[_vm._v(_vm._s(_vm.label)+\" Out of Range\")]):_vm._e(),(_vm.show_validation && _vm.num==='')?_c('span',{staticClass:\"validator\"},[_vm._v(_vm._s(_vm.label)+\" cannot be blank\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NumericInput.vue?vue&type=template&id=1e733f6c&scoped=true&\"\nimport script from \"./NumericInput.vue?vue&type=script&lang=js&\"\nexport * from \"./NumericInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NumericInput.vue?vue&type=style&index=0&id=1e733f6c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e733f6c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.id)?_c('label',{staticClass:\"symbol-label\",class:{validator:_vm.show_validation && isNaN(_vm.value)},attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('div',{staticClass:\"number-input-wrap\",on:{\"mouseenter\":_vm.disableDrag,\"mouseleave\":_vm.enableDrag}},[_c('vue-numeric',{staticClass:\"form-control\",attrs:{\"currency\":\"$\",\"separator\":\",\",\"minus\":false,\"precision\":2,\"placeholder\":_vm.placeholder,\"autofocus\":\"\"},on:{\"mousedown\":function($event){$event.stopPropagation();}},model:{value:(_vm.internalV),callback:function ($$v) {_vm.internalV=$$v},expression:\"internalV\"}}),_c('div',{staticClass:\"number-nav\"},[_c('div',{staticClass:\"number-button number-up\",on:{\"click\":function($event){$event.stopPropagation();_vm.inc()}}},[_vm._v(\"∧\")]),_c('div',{staticClass:\"number-button number-down\",on:{\"click\":function($event){$event.stopPropagation();_vm.dec()}}},[_vm._v(\"∨\")])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CurrencyInput.vue?vue&type=template&id=2e5892d2&scoped=true&\"\nimport script from \"./CurrencyInput.vue?vue&type=script&lang=js&\"\nexport * from \"./CurrencyInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e5892d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-dropdown',{attrs:{\"text\":_vm.choosed,\"disabled\":_vm.disabled}},_vm._l((_vm.obj),function(value,key){return _c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){_vm.select(key, value)}}},[_vm._v(\"\\n \"+_vm._s(value)+\"\\n \")])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dropdown.vue?vue&type=template&id=6f6c3541&\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":_vm.id}},[_c('v-popover',{attrs:{\"trigger\":\"hover\"}},[_c('span',{ref:\"tooltip\",staticClass:\"symbol-label\",attrs:{\"data-html\":true}},[_vm._v(_vm._s(_vm.label))]),_c('template',{slot:\"popover\"},[_c('span',[_c('strong',[_vm._v(\"Day\")]),_vm._v(\": Trade is active until end of the current market session or until executed within that session.\\n \"),_c('br'),_c('strong',[_vm._v(\"Good Till Cancelled (GTC)\")]),_vm._v(\": Trade is active until canceled by you or until executed.\\n \"),_c('br'),_c('strong',[_vm._v(\"Extended Trading Hours (ETH)\")]),_vm._v(\": Trade is active until end of current after-hours trading session or until executed in that session.\\n \")])])],2),_c('ul',{staticClass:\"no_marker inline\"},_vm._l((_vm.obj),function(lbl,key){return _c('li',[_c('input',{attrs:{\"id\":'_Duration_'+key,\"name\":\"duration_radio\",\"type\":\"radio\"},domProps:{\"checked\":_vm.value == key,\"value\":key},on:{\"click\":function($event){$event.stopPropagation();_vm.internalVal=key}}}),_c('label',{attrs:{\"for\":'_Duration_'+key}},[_vm._v(\" \"+_vm._s(lbl))])])}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DurationRadioGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DurationRadioGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DurationRadioGroup.vue?vue&type=template&id=705e89df&scoped=true&\"\nimport script from \"./DurationRadioGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./DurationRadioGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"705e89df\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-inline\"},[_c('b-input-group',[_c('b-form-input',{attrs:{\"disabled\":_vm.disabled,\"type\":\"text\",\"placeholder\":\"YYYY-MM-DD\",\"autocomplete\":\"off\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{attrs:{\"button-only\":\"\",\"disabled\":_vm.disabled,\"right\":\"\",\"locale\":\"en-US\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=2299e199&\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DatePicker.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"multiselect\"}},[_c('multiselect',{attrs:{\"multiple\":true,\"options\":_vm.options,\"close-on-select\":false,\"clear-on-select\":false,\"placeholder\":_vm.placeholder,\"label\":\"name\",\"track-by\":\"name\",\"preselect-first\":false},on:{\"input\":_vm.update},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Multiselect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Multiselect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Multiselect.vue?vue&type=template&id=352c1034&\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js&\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./Multiselect.vue?vue&type=style&index=1&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',[_c('h4',{staticClass:\"symbol-label\"},[_vm._v(\" Details for \")]),_vm._v(\" \"+_vm._s(_vm.props.row.Description ? _vm.props.row.Description:\"\")+\"\\n \"),_c('span',{staticClass:\"symbol-label\"},[_vm._v(\" Ask:\")]),_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.props.row.AskPrice))+\",\\n \"),_c('span',{staticClass:\"symbol-label\"},[_vm._v(\" Bid:\")]),_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.props.row.BidPrice))+\",\\n \"),_c('span',{staticClass:\"symbol-label\"},[_vm._v(\" Net Change:\")]),_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.props.row.NetChange))+\"\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./PositionDetails.vue?vue&type=template&id=7e3d22a5&functional=true&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioRow.vue?vue&type=style&index=0&id=2680e62f&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EliteSMSAlerts.vue?vue&type=style&index=0&lang=css&\"","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',{attrs:{\"color\":_vm.props.symbol.actualValue > _vm.props.symbol.startValue? 'green': _vm.props.symbol.actualValue < _vm.props.symbol.startValue? 'red' : ''}},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.props.symbol.actualValue)))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./MktValue.vue?vue&type=template&id=6122f6cf&functional=true&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTradingRoomRecordings.vue?vue&type=style&index=0&id=44d41a1c&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\"Details:\")]),(_vm.row.FilledQuantity)?_c('span',[_vm._v(\"FilledQuantity:\"+_vm._s(_vm.row.FilledQuantity))]):_vm._e(),_vm._v(\",\\n \"),_c('span',[_vm._v(\"Underlying:\")]),_vm._v(_vm._s(_vm.row.UnderlyingSymbol)+\"\\n\\n \"),(_vm.Leg0Description)?_c('span',[_vm._v(\"Leg 0:\"+_vm._s(_vm.Leg0Description))]):_vm._e(),(_vm.Leg1Description.length>0)?_c('span',[_vm._v(\"Leg 1:\"+_vm._s(_vm.Leg1Description))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrderDetails.vue?vue&type=template&id=bf46a2b8&\"\nimport script from \"./OrderDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioTable.vue?vue&type=style&index=0&lang=css&\"","import Vue from 'vue';\r\n\r\nexport function roundPrice(num:number){\r\n if(('' + num).indexOf('e')===-1) {\r\n return +(Math.round(parseFloat(num + 'e+' + 2)) + 'e-' + 2);\r\n } else {\r\n const arr = ('' + num).split('e');\r\n let sig = '';\r\n if(+arr[1] + 2 > 0) {\r\n sig = '+';\r\n }\r\n return +(Math.round(parseFloat(+arr[0] + 'e' + sig + (+arr[1] + 2))) + 'e-' + 2);\r\n }\r\n}\r\n\r\nexport function formatPrice(v:any) {\r\n if (isNaN(v)) {return '';}\r\n const result = '$' + insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n}\r\n\r\nexport function insertDelimeters(v:number, n:number, x?:number) {\r\n const re = '\\\\d(?=(\\\\d{' + (x || 3) + '})+' + (n > 0 ? '\\\\.' : '$') + ')';\r\n return v.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, 'g'), '$&,');\r\n}\r\n\r\nexport function parsePrice (str:string) {\r\n const clean_str = str.replace(/[\\\\$, ]+/g, '').trim();\r\n return parseFloat(clean_str);\r\n}\r\n\r\nexport function DateToJson(d:Date, offset:number){\r\n return '/Date('+d.getUTCMilliseconds()+''+ offset+')/';\r\n}\r\n\r\nexport function formatDate(str: string) {\r\n\r\n const d= new Date(str);\r\n var local = new Date(d.toUTCString());\r\n return local.toLocaleString();\r\n}\r\n\r\nexport function formatDateNoSeconds(str: string) {\r\n\r\n const d= new Date(str);\r\n var local = new Date(d.toUTCString());\r\n return local.toLocaleString([], { year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute:'2-digit'});\r\n}\r\n\r\nexport function removeDateStrTimezone(str: string) {\r\n return str?str.substring(0, str.indexOf('T')):'';\r\n}\r\n\r\nexport function extractJsonDate(str:any):Date{\r\n const d = new Date(parseInt(str.match(/\\d+/)[0]) * 1);\r\n return d;\r\n}\r\n\r\nexport function extractJsonDateWithOffset(str:any){\r\n\r\n // var offsetS = str.substring(str.search(/[-+]\\d+/)+1);\r\n let hours,minutes;\r\n // sign = offsetS[0];\r\n /*if (offsetS[0] ==\"0\"){\r\n hours = parseInt(offsetS.substring(1,2));\r\n } else {\r\n hours = parseInt(offsetS.substring(0,2));\r\n }\r\n minutes = parseInt(offsetS.substring(2,4));\r\n if (sign>0)\r\n d.setTime(d.getTime()+ (hours*3600*1000) + (minutes*60*1000));\r\n else\r\n d.setTime(d.getTime()- (hours*3600*1000) - (minutes*60*1000));*/\r\n return {Date:extractJsonDate(str), offset: str.match(/[-+]\\d+/)[0]};\r\n}\r\n\r\nexport function offsetToMilliseconds(offsetS:string){\r\n const sign = offsetS[0];\r\n let hours, minutes;\r\n if (offsetS[0] ==='0'){\r\n hours = parseInt(offsetS.substring(1,2));\r\n } else {\r\n hours = parseInt(offsetS.substring(0,2));\r\n }\r\n minutes = parseInt(offsetS.substring(2,4));\r\n if (sign=='+') {\r\n return hours*3600*1000 + minutes*60*1000;\r\n }\r\n else {\r\n return - (hours*3600*1000) - minutes*60*1000;\r\n }\r\n}\r\n\r\nexport function formatDateTime(str:string) {\r\n\r\n const d= new Date(str);\r\n var local = new Date(d.toUTCString());\r\n return local.toLocaleString();\r\n}\r\n\r\nexport function formatDateQuery(str:string) {\r\n\r\n const d= new Date(str);\r\n var day = d.getDate();\r\n var monthIndex = d.getMonth() + 1;\r\n var year = d.getFullYear();\r\n \r\n return monthIndex + '-' + day + '-' + year;\r\n}\r\n\r\nexport function formatDateLong(str:string) {\r\n const d= new Date(str);\r\n return d.toLocaleString('en-US', { year: 'numeric', month: 'long', day: 'numeric'});\r\n}\r\n\r\nexport function formatDate2(str:string) {\r\n\r\n var monthNames = [\r\n \"Jan\", \"Feb\", \"Mar\",\r\n \"Apr\", \"May\", \"Jun\", \"Jul\",\r\n \"Aug\", \"Sep\", \"Oct\",\r\n \"Nov\", \"Dec\"\r\n ];\r\n const d= new Date(str);\r\n\r\n var day = d.getDate();\r\n var monthIndex = d.getMonth();\r\n var year = d.getFullYear();\r\n \r\n return monthNames[monthIndex] + ' ' + day + ', ' + year;\r\n}\r\n\r\nexport function formatFixed(n:number) {\r\n return (Math.round(n * 100) / 100).toFixed(2);\r\n}\r\n\r\nexport function formatTime(str:string) {\r\n\r\n const d= new Date(str);\r\n var local = new Date(d.toUTCString());\r\n return local.toLocaleTimeString();\r\n}\r\n\r\nexport function formatHourMinute(str:string) {\r\n\r\n const d = new Date(str);\r\n const local = new Date(d.toUTCString());\r\n\r\n let hours = local.getHours();\r\n let minutes = local.getMinutes();\r\n const ampm = hours >= 12 ? 'pm' : 'am';\r\n hours = hours % 12;\r\n hours = hours ? hours : 12; // the hour '0' should be '12'\r\n minutes = minutes < 10 ? 0 + minutes : minutes;\r\n\r\n return hours + ':' + minutes + ' ' + ampm;\r\n}\r\n\r\nVue.filter('formatDate2', formatDate2);\r\nVue.filter('formatDateLong', formatDateLong);\r\nVue.filter('formatDateQuery', formatDateQuery);\r\nVue.filter('formatFixed', formatFixed);\r\nVue.filter('formatTime', formatTime);\r\nVue.filter('formatHourMinute', formatHourMinute);\r\nVue.filter('formatDateNoSeconds', formatDateNoSeconds);","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"PortfolioTable-PriceContent\"},[(_vm.symbol.actualNetChange!=0)?_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],class:_vm.symbol.actualNetChange > 0 ? 'mr-1 text-success fa fa-arrow-up':'mr-1 text-danger fa fa-arrow-down',attrs:{\"title\":_vm.title}}):_vm._e(),_c('span',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.actualPricePerShare)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PriceContent.vue?vue&type=template&id=1213262a&\"\nimport script from \"./PriceContent.vue?vue&type=script&lang=js&\"\nexport * from \"./PriceContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogPost.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"scroller_wrapper\",style:(_vm.WrapperStyle),on:{\"scroll\":_vm.scroll}},[_c('div',{ref:\"scroller\",staticClass:\"scroller\",style:(_vm.Style),attrs:{\"scrollLeft\":_vm.value}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n import Component from 'vue-class-component'\n import {Prop, Watch, Vue, Emit} from 'vue-property-decorator'\n\n @Component({\n components: {}\n })\n\n class TableScrollable extends Vue {\n get Style(){\n return {height:'10px',width:this.width+'px'};\n }\n get WrapperStyle(){\n return {overflow:'auto',width:this.outerWidth+'px'};\n }\n\n /*\n width of content synchronized with width of inner content of scrollable component\n */\n @Prop()\n width: number;\n\n /*\n width of container should be equal size of container of scrollable element\n */\n @Prop()\n outerWidth: number;\n\n @Prop()\n value: number;\n\n @Prop()\n id:string;\n\n\n @Watch('value')\n move(newv:number){\n this.$el.scrollLeft = newv;\n }\n\n @Emit('input')\n update(v:number){\n\n }\n\n scroll(e:any){\n this.update(e.srcElement.scrollLeft);\n }\n\n listenScroll(){\n // (this.$refs.scroller as any).style!.width = this.width + 'px';\n // this.$el.scrollLeft = this.value;\n// $(this.$el).scroll(()=>\n// this.update($(this.id +\" .table-responsive\").scrollLeft())\n// );\n }\n// mounted(){\n// (this.$refs.scroller as any).style!.width = this.width + 'px';\n// }\n// updated(){\n// (this.$refs.scroller as any).style!.width = this.width + 'px';\n// }\n// updated(){\n// Vue.nextTick(()=> {\n//\n//\n// this.listenScroll();\n// });\n//\n// }\n// mounted () {\n// Vue.nextTick(()=>{\n// //const w = ($(this.$el.nextSibling!.children[0])! as any).offsetWidth+'px';\n// //console.log(w);\n//\n//\n// });\n// }\n }\n\n export default TableScrollable;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableScrollable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableScrollable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TableScrollable.vue?vue&type=template&id=1cdef22f&scoped=true&\"\nimport script from \"./TableScrollable.vue?vue&type=script&lang=ts&\"\nexport * from \"./TableScrollable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1cdef22f\",\n null\n \n)\n\nexport default component.exports","\r\nexport const getCookie = (sName) =>\r\n{\r\n sName = sName.toLowerCase();\r\n const oCrumbles = document.cookie.split(';');\r\n for(let i = 0; i < oCrumbles.length; i++)\r\n {\r\n const oPair = oCrumbles[i].split('=');\r\n const sKey = decodeURIComponent(oPair[0].trim().toLowerCase());\r\n const sValue = oPair.length > 1 ? oPair[1] : '';\r\n if(sKey === sName) {\r\n return decodeURIComponent(sValue);\r\n }\r\n }\r\n return '';\r\n};\r\nexport const setCookie = (sName, sValue, expireDate) =>\r\n{\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.log(sName, sValue); }\r\n if (!expireDate) {\r\n expireDate = new Date();\r\n expireDate.setYear(expireDate.getFullYear() + 1);\r\n }\r\n const sCookie = encodeURIComponent(sName) + '=' + encodeURIComponent(sValue) + ';expires=' + expireDate.toGMTString() + ';path=/';\r\n document.cookie = sCookie;\r\n};\r\nexport const clearCookie = (sName) => {document.cookie = sName + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/'; };\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{ref:\"wrapper\",staticClass:\"scroller_wrapper\",staticStyle:{\"overflow-x\":\"auto\",\"width\":\"100%\",\"margin-bottom\":\"10px\"}},[_c('div',{ref:\"scroller\",staticClass:\"scroller\"})]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n import Component from 'vue-class-component'\n import {Prop, Watch, Vue, Emit} from 'vue-property-decorator'\n\n @Component({\n components: {}\n })\n \n class Scrollable extends Vue{\n scrolled: 0\n\n $refs:{\n content: HTMLElement, scroller: HTMLElement, wrapper: HTMLElement\n }\n handleScroller () {\n this.$refs.content.scrollLeft = this.$refs.scroller.scrollLeft;\n }\n handleContent () {\n this.$refs.scroller.scrollLeft = this.$refs.content.scrollLeft;\n }\n mounted () {\n Vue.nextTick(()=>{\n if (this.$refs.scroller)\n this.$refs.scroller.addEventListener('scroll', this.handleScroller);\n const table = this.$children[0].$children[1].$children[0];\n\n if (table)\n table.$el.addEventListener('scroll', this.handleContent);\n this.$refs.wrapper.style.display =\"block\";\n if (table.$el) this.$refs.scroller.style.width = table.$el.clientWidth +\"px\";\n\n });\n// if (this.$refs.scroller)\n// this.$refs.scroller.addEventListener('scroll', this.handleScroller);\n// if (this.$refs.content)\n// this.$refs.content.addEventListener('scroll', this.handleContent);\n// this.$refs.wrapper.style.display =\"block\";\n// if (this.$refs.content) this.$refs.wrapper.style.width = this.$refs.content.clientWidth +\"px\";\n }\n beforeDestroy () {\n this.$refs.scroller.removeEventListener('scroll', this.handleScroller);\n if (this.$refs.content) this.$refs.content.removeEventListener('scroll', this.handleContent);\n }\n }\n\n export default Scrollable;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Scrollable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Scrollable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Scrollable.vue?vue&type=template&id=d059a1f2&scoped=true&\"\nimport script from \"./Scrollable.vue?vue&type=script&lang=ts&\"\nexport * from \"./Scrollable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d059a1f2\",\n null\n \n)\n\nexport default component.exports","\r\nimport {OrderAction, PositionEffect} from './types';\r\n\r\ninterface StringMap { [s: number]: string; }\r\n\r\nexport interface StrStrMap { [s: string]: string; }\r\n\r\nexport const OrderSideMap: any = {\r\n 0: 'Unknown',\r\n 1: 'Buy',\r\n 2: 'Sell',\r\n Buy: 1,\r\n Sell: 2,\r\n };\r\n\r\nexport const AssetTypeMap: any = {\r\n 1: 'Equity',\r\n 2: 'Option',\r\n 3: 'MutualFund',\r\n 4: 'Bond',\r\n 0: 'Undefined',\r\n E: 'Equity',\r\n O: 'Option',\r\n F: 'MutualFund',\r\n B: 'Bond',\r\n U: 'Undefined',\r\n};\r\n\r\nexport const AssetTypeConvMap: any = {\r\n E: 1,\r\n O: 2,\r\n F: 3,\r\n B: 4,\r\n U: 0,\r\n};\r\nexport const OrderDurationMap: StringMap = {\r\n 0: 'Unknown',\r\n 1: 'Day',\r\n 2: 'GTC',\r\n 3: 'ETH',\r\n 4: 'Manual',\r\n};\r\n\r\nexport const PositionEffectMap: any = {\r\n 0: 'Unknown',\r\n 1: 'Open',\r\n 2: 'Close',\r\n Unknown: 0 ,\r\n Open: 1 ,\r\n Close: 2,\r\n};\r\n\r\nexport const OrderTypeMap: StringMap = {\r\n 0: 'Unknown',\r\n 1: 'Market',\r\n 2: 'Limit',\r\n 3: 'Stop Market',\r\n 4: 'Stop Limit',\r\n 5: 'Market On Close',\r\n};\r\n\r\nexport const OrderClassMap: any = {\r\n 0: 'Unknown',\r\n 1: 'Single',\r\n 2: 'Multileg',\r\n Single: 1,\r\n Multileg: 2,\r\n};\r\n\r\nexport const OrderStatusMap: StringMap = {\r\n 0: 'Undefined ',\r\n 1: 'New',\r\n 2: 'PartiallyFilled',\r\n 3: 'Filled',\r\n // 4: 'DoneForDay',\r\n 5: 'Cancelled',\r\n 6: 'Replaced',\r\n 7: 'PendingCancel',\r\n // 8: 'CxldEndOfDay',\r\n 9: 'Rejected',\r\n 10: 'Suspended',\r\n 11: 'PendingNew',\r\n // 12: 'Calculated',\r\n 13: 'Expired',\r\n 14: 'PendingReplace',\r\n 15: 'Saved',\r\n // 16: 'LiveUntriggered',\r\n // 17: 'Scheduled',\r\n // 18: 'OCOUntriggered',\r\n // 19: 'CancelledUntriggered',\r\n 20: 'Initiated',\r\n 21: 'ReplaceInitiated',\r\n 22: 'CancelInitiated',\r\n 23: 'CancelRejected',\r\n // 24: 'ReplaceRejected',\r\n // 25: 'Busted',\r\n 26: 'PreAllocated',\r\n};\r\n\r\nexport const EntitlementMap: StringMap = {\r\n 1: 'Professional User',\r\n 2: 'Non Professional User',\r\n 3: 'Delayed Quotes User',\r\n};\r\n\r\nexport const StrategyMap: StringMap = {\r\n 1: 'Single',\r\n 2: 'Vertical',\r\n 3: 'Calendar',\r\n 5: 'Straddle',\r\n 6: 'Strangle',\r\n 7: 'Butterfly',\r\n 8: 'Condor',\r\n 9: 'Iron Butterfly',\r\n 10: 'Iron Condor',\r\n 13: 'Covered Call',\r\n 18: 'Custom',\r\n};\r\nexport const OrderDurationViewViewMap: any = { 1: 0, 2: 1, 3: 2, 8: 3};\r\nexport const ErrorCodeMap: StringMap = {\r\n 0: 'Success' ,\r\n 100: 'TradingBlock: Incorrect User Or Pass',\r\n 101: 'TradingBlock: Failed To Decrypt User Pass',\r\n 102: 'TradingBlock: Failed To Decrypt Message' ,\r\n 103: 'TradingBlock: Incorrect Entity',\r\n 104: 'TradingBlock: Expired Request',\r\n 105: 'TradingBlock: Failed To Parse Payload' ,\r\n 106: 'TradingBlock: Message Is NULL' ,\r\n 107: 'TradingBlock: Failed To Split Message' ,\r\n 108: 'TradingBlock: Failed To Decode Header' ,\r\n 109: 'TradingBlock: Failed To Decode Payload' ,\r\n 110: 'TradingBlock: User Must Complete Market Data Questionnaire' ,\r\n 111: 'TradingBlock: Too Many Failed Login Attempts' ,\r\n 112: 'TradingBlock: No Account Found With Api Agreement Accepted' ,\r\n 113: 'TradingBlock: Failed To Fetch Requested Payload',\r\n 114: 'TradingBlock: Failed To Parse Supplied Parameters' ,\r\n 115: 'Tradingblock: Not Authorized For API Request',\r\n 116: 'Tradingblock: Must Specify Specific AccountId',\r\n 117: 'Tradingblock: Must Specify Specific SubaccountId',\r\n 118: 'Tradingblock: Account Requested Does Not Have Api Agreement Accepted',\r\n 119: 'Tradingblock: Subaccount Is Not Owned By Specified Account',\r\n 120: 'Tradingblock: Market data policy update needed',\r\n\r\n 200: 'Tradingblock: Not Authorized For Given Request',\r\n 201: 'Tradingblock: User Has Access To Zero Accounts',\r\n 202: 'Tradingblock: No Account Found With Api Agreement Accepted',\r\n 203: 'Tradingblock: Account Requested Does Not Have Api Agreement Accepted',\r\n 204: 'Tradingblock: Must Specify Specific AccountId',\r\n 205: 'Tradingblock: Must Specify Specific SubaccountId',\r\n 206: 'Tradingblock: Subaccount Is Not Owned By Specified Account',\r\n\r\n 300: 'Tradingblock: New order pre-validation failed; one or more order properties is invalid',\r\n 301: 'Tradingblock: Account and/or sub-account does not have sufficient funds and/or trade would create an unauthorized strategy',\r\n 302: 'Tradingblock: Supplied symbol for the given order is invalid',\r\n 303: 'Tradingblock: OrderId supplied is invalid',\r\n 304: 'Tradingblock: Order could not be found by the given OrderId',\r\n 400: 'Tradingblock: User Must Complete Market Data Questionnaire',\r\n};\r\n\r\nexport const OrderActionMap: any = {\r\n 1: 'Buy To Open',\r\n 2: 'Sell To Close',\r\n 3: 'Sell To Open',\r\n 8: 'Buy To Close',\r\n};\r\n\r\nexport function ConvertOrderActionToFields(v: number) {\r\n let effect = 0;\r\n let side = 0;\r\n switch (v) {\r\n case 1:\r\n side = OrderAction.Buy;\r\n effect = PositionEffect.Open;\r\n break; // Buy\r\n case 2:\r\n side = OrderAction.Sell;\r\n effect = PositionEffect.Close;\r\n break; // Sell To Close\r\n case 3:\r\n side = OrderAction.Sell;\r\n effect = PositionEffect.Open;\r\n break; // Sell Short\r\n case 8:\r\n side = OrderAction.Buy;\r\n effect = PositionEffect.Close;\r\n break; // Buy To Cover\r\n }\r\n return {effect, side};\r\n}\r\n\r\nexport function ConvertFieldsToOrderAction(effect: PositionEffect, action: OrderAction) {\r\n if (effect === PositionEffect.Open && action === OrderAction.Buy) { return 1; }\r\n if (effect === PositionEffect.Close && action === OrderAction.Sell) { return 2; }\r\n if (effect === PositionEffect.Open && action === OrderAction.Sell) { return 3; }\r\n if (effect === PositionEffect.Close && action === OrderAction.Buy) { return 8; }\r\n return false;\r\n}\r\n","import Vue from 'vue';\r\nimport { portfolioService} from '@/services/services';\r\nimport QuoteService from '@/services/Quotes';\r\nimport {error} from '@/utils/log'\r\nimport {extractJsonDate, formatDate, removeDateStrTimezone} from \"../../utils/formatters\";\r\nimport { byID, bySymbol } from '../common';\r\nimport { OrderClass } from '../../domain/types';\r\nimport TradingBlockRemote from '../../services/TradingBlockRemote';\r\n\r\n\r\nexport default {\r\n\r\n\r\n async getPortfolioCompanies({state, commit, dispatch}){\r\n clearTimeout(state.timer);\r\n commit('setRefreshing', false);\r\n commit('setPortfolioSymbolsLoad', true);\r\n \r\n await portfolioService.getPortfolioSymbols().then((resp)=>{\r\n if (resp.Items != null){\r\n resp.Items.forEach((it)=>{\r\n if (typeof it.PredictionDate === \"string\")\r\n it.PredictionDate = it.PredictionDate? extractJsonDate(it.PredictionDate).toLocaleDateString():'';\r\n if (it.StartValue!=='null'){\r\n it.StartValue = parseFloat(it.StartValue);\r\n }\r\n if (it.StartPricePerShare!=='null') {\r\n it.StartPricePerShare = parseFloat(it.StartPricePerShare);\r\n }\r\n if (it.PredictionOpen === 0){\r\n it.FullUpdatedNeeded = true;\r\n }\r\n });\r\n commit('insertLoadedPortfolio', resp.Items);\r\n for (let i = 0; i < resp.Items.length; i++) {\r\n dispatch('updateColor', i);\r\n }\r\n commit('setAllPredictionsLoading');\r\n dispatch('updatePortfolioPredictions');\r\n dispatch('updatePortfolioRealtime', {tb: true});\r\n //commit('QUOTES_SUBSCRIBE', resp.Items.map(o=> {return {OrderClass:1, Symbol: o.Symbol}}), {root:true});\r\n\r\n } else {\r\n if(resp.Message) commit('appendLog', {message: resp.Message,level: 'info'} )\r\n }\r\n commit('setPortfolioSymbolsLoad', false);\r\n dispatch('persist');\r\n }).catch((err)=>{\r\n error.log('Failed getPortfolioSymbols with ' + err);\r\n commit('setPortfolioSymbolsLoad', false);\r\n });\r\n },\r\n switchEmail({state, commit}, payload){\r\n byID(state, payload, (index)=>{\r\n let check = { Email: !payload.Email }; \r\n portfolioService.setSymbolEmailSetting(payload.ID, check.Email).then(()=>{\r\n commit('updatePortfolioSymbolFields', {ID:payload.ID, update:check });\r\n });\r\n });\r\n },\r\n async updateSymbol({state, commit, dispatch}, payload) {\r\n let dat;\r\n commit('setRowPredictionLoading', payload);\r\n if (payload.FullUpdatedNeeded)\r\n {\r\n dat = await portfolioService.recalculateSymbol(payload.ID, true);\r\n commit('setRowPredictionLoaded', {ID: payload.ID});\r\n }else if (payload.OneDayPredictionNeeded){\r\n dat = await portfolioService.recalculateSymbol(payload.ID, false);\r\n commit('setRowPredictionLoaded', {ID: payload.ID});\r\n }else {\r\n commit('setRowPredictionLoaded', {ID: payload.ID});\r\n return;\r\n }\r\n\r\n dat.PredictionDate = dat.PredictionDate? extractJsonDate(dat.PredictionDate).toLocaleDateString():'';\r\n\r\n let filtered ={ };\r\n filtered.ActualShares = dat.ActualShares;\r\n filtered.ActualPricePerShare= dat.ActualPricePerShare;\r\n filtered.ActualValue= dat.ActualValue;\r\n filtered.ActualNetChange= dat.ActualNetChange;\r\n\r\n if (!dat.DailyError){\r\n filtered.PredictionClose10Day=dat.PredictionClose10Day;\r\n filtered.PredictionError = dat.PredictionError;\r\n filtered.PredictionHigh = dat.PredictionHigh;\r\n filtered.PredictionLow = dat.PredictionLow;\r\n filtered.PredictionOpen = dat.PredictionOpen;\r\n filtered.PredictionClose = dat.PredictionClose;\r\n commit('updateDailyFields', {ID:payload.ID, update:{\r\n PredictionClose10Day: dat.PredictionClose10Day,\r\n PredictionError: dat.PredictionError,\r\n PredictionHigh: dat.PredictionHigh,\r\n PredictionLow: dat.PredictionLow,\r\n PredictionOpen: dat.PredictionOpen,\r\n PredictionClose: dat.PredictionClose,\r\n\r\n\r\n } }); \r\n\r\n } else {\r\n filtered.DailyError = dat.DailyError;\r\n commit('appendLog', {message: 'Daily Error for ' + payload.Symbol, level: 'error'});\r\n }\r\n if (payload.FullUpdatedNeeded){\r\n if (!dat.MonthError){\r\n filtered.EstValue = dat.EstValue;\r\n filtered.Prediction1Month = dat.Prediction1Month;\r\n filtered.Prediction2Month = dat.Prediction2Month;\r\n filtered.Prediction3Month = dat.Prediction3Month;\r\n commit('updateMonthFields', {ID:payload.ID, update:{\r\n EstValue: dat.EstValue,\r\n Prediction1Month: dat.Prediction1Month,\r\n Prediction2Month: dat.Prediction2Month,\r\n Prediction3Month: dat.Prediction3Month\r\n } });\r\n } else {\r\n filtered.MonthError = dat.MonthError;\r\n commit('appendLog', { message: 'Month Error for ' + payload.Symbol, level: 'error' });\r\n }\r\n }\r\n\r\n dispatch('updateColor', state.items.findIndex((o)=>o.ID === payload.ID));\r\n },\r\n\r\n // fallback mechanism: TB WS-> TB QUOTES //-> SFT\r\n // symbol becomes fallback until page refresh\r\n addFallbackSymbol({state, commit}, payload){\r\n if (state.fallbackSymbols.indexOf(payload)<0)\r\n state.fallbackSymbols.push(payload);\r\n },\r\n clearFallbackSymbos({state}) {\r\n state.fallbackSymbols = [];\r\n },\r\n removeFallbackSymbol({state}, payload) {\r\n const pos = state.fallbackSymbols.indexOf(payload);\r\n pos > 0 && Vue.delete(state.fallbackSymbols, pos);\r\n },\r\n\r\n deleteSymbol({state, commit, dispatch}, payload){\r\n byID(state, payload, (index)=>{\r\n if (payload.force_delete || confirm('Do you want to delete symbol ' + state.items[index].Symbol +' from portfolio?')) {\r\n portfolioService.deleteSymbol(payload.ID).then((res) => {\r\n\r\n dispatch('persist');\r\n commit('QUOTES_UNSUBSCRIBE', [{ Symbol: payload.Symbol}], {root:true});\r\n dispatch('removeFallbackSymbol', payload.Symbol);\r\n commit('removePortofolioSymbol', { ID: payload.ID });\r\n }).catch((err) => {\r\n commit('appendLog', \"Can't delete symbol from portfolio\");\r\n console.log(JSON.stringify(err));\r\n // dispatch('persist');\r\n // commit('removePortofolioSymbol', { ID: payload.ID });\r\n });\r\n }\r\n });\r\n },\r\n persist({state, commit, dispatch}, payload){\r\n // if (window.sessionStorage ) {\r\n // sessionStorage.setItem('portfolio_items', JSON.stringify(state.items));\r\n // }\r\n },\r\n rehydrate({state, commit, dispatch}, payload){\r\n // if (window.sessionStorage ) {\r\n //\r\n // state.items = JSON.parse(sessionStorage.getItem('portfolio_items'));\r\n // if (state.items && state.items.length>0){\r\n // commit('setAllPredictionsLoaded');\r\n // commit('setPortfolioSymbolsLoad', false);\r\n // return;\r\n // }\r\n //\r\n // }\r\n if (!state.items || state.items.length==0)\r\n dispatch('getPortfolioCompanies');\r\n else\r\n commit('setPortfolioSymbolsLoad', false);\r\n \r\n },\r\n async updatePortfolioPredictions({state, commit, dispatch}) {\r\n try {\r\n // console.log(\"should update\" + state.items.length + \" symbols\");\r\n for (let index of state.items.keys()) {\r\n // console.log(\"update prediction for\" + state.items[index].Symbol)\r\n await dispatch('updateSymbol', state.items[index], index);\r\n }\r\n commit('clearLog');\r\n dispatch('persist');\r\n\r\n } catch (e) {\r\n commit('appendLog', {message: 'Stopped because of ' + e, level: 'error'});\r\n }\r\n },\r\n\r\n updateColor({state, commit}, payload) {\r\n let index = payload;\r\n const row = state.items[index];\r\n const lowError = 0.25 * row.PredictionError * row.PredictionLow;\r\n const highError = 0.25 * row.PredictionError * row.PredictionHigh;\r\n if (row.ActualPricePerShare == 0) {\r\n commit('setColoredRow', {index, color:''});\r\n } else if (row.ActualPricePerShare <= row.PredictionLow + lowError){\r\n console.log(\"Boolish \"+row.Symbol + \": \" + row.ActualPricePerShare.toFixed(2) + \"$<=\" + row.PredictionLow.toFixed(2) + \"+\" + lowError.toFixed(2));\r\n commit('setColoredRow', {index, color: 'row-low-corridor'});//boolish\r\n } else if (row.ActualPricePerShare >= row.PredictionHigh - highError){\r\n console.log(\"Bearish \"+row.Symbol + \": \" + row.ActualPricePerShare.toFixed(2)+ \"$>=\" + row.PredictionHigh.toFixed(2) + \"-\" + highError.toFixed(2));\r\n commit('setColoredRow', {index, color:'row-high-corridor'});//bearish\r\n } else {\r\n commit('setColoredRow', {index, color:''});\r\n }\r\n },\r\n updateRealtimeBySymbol ({state, commit, dispatch}, payload) {\r\n bySymbol(state, payload, (index)=> {\r\n\r\n let update = {\r\n ActualNetChange: payload.ActualNetChange,\r\n ActualPricePerShare: payload.last_trade_price,\r\n ActualValue: payload.last_trade_price*state.items[index].StartShares\r\n };\r\n commit('updateRealtimeFields', {ID:state.items[index].ID, update, from: payload.from });\r\n dispatch('updateColor', index);\r\n\r\n });\r\n },\r\n\r\n\r\n // manual and fallback posrtfolio prices update\r\n async updatePortfolioRealtime({state, commit, dispatch}, payload)\r\n {\r\n\r\n function notifyOnceAboutLogin(){\r\n if (!state.notified_tb_login) {\r\n state.notified_tb_login = true;\r\n commit('appendLog', {\r\n message: 'Please login at stocks page to tradingblock to use TradingBlock quotes.',\r\n level: 'info',\r\n });\r\n }\r\n }\r\n\r\n function handleQuoteServiceError(exc) {\r\n if (exc === 200) {\r\n notifyOnceAboutLogin();\r\n } else\r\n commit('appendLog', { message: 'Tradingblock response:' + exc, level: 'info' });\r\n }\r\n\r\n let tb = TradingBlockRemote.authenticated;\r\n\r\n if (!tb) // no cookies\r\n notifyOnceAboutLogin();\r\n // load from tradingblock if logged into it or load from sft\r\n if (tb){\r\n const requestSymbols = payload.fallback ? state.fallbackSymbols : state.items.map(o=>o.Symbol);\r\n\r\n if (!requestSymbols || requestSymbols.length==0)\r\n return;\r\n\r\n try {\r\n const prices = await QuoteService.loadFromTradingBlock(requestSymbols);\r\n prices.forEach((update) => {\r\n let index = state.items.findIndex((o) => o.Symbol === update.Symbol);\r\n if (index >= 0) {\r\n const row = state.items[index];\r\n\r\n const filtered = {\r\n ActualPricePerShare: update.LastTradePrice,\r\n ActualValue: update.LastTradePrice * row.StartShares,\r\n ActualNetChange: update.NetChange,\r\n };\r\n\r\n commit('updateRealtimeFields', { ID: state.items[index].ID, update: filtered, from:'tb_api' });\r\n\r\n dispatch('updateColor', index);\r\n }\r\n });\r\n\r\n return;\r\n } catch (exc) {\r\n handleQuoteServiceError(exc);\r\n //window.GotoLoginScreen();\r\n tb = false;\r\n }\r\n }\r\n if (!tb){\r\n //commit('setLoadingQuotes', true);\r\n\r\n if (payload && payload.fallback && state.fallbackSymbols.length==0)\r\n return;\r\n\r\n let prices = await portfolioService.GetCompaniesPrices();\r\n prices.forEach((update) => {\r\n const index = state.items.findIndex((o) => o.ID === update.ID);\r\n const isAllowed = !payload || !payload.fallback || state.fallbackSymbols.indexOf(update.Symbol);\r\n\r\n if (index >= 0 && isAllowed) {\r\n const row = state.items[index];\r\n\r\n const filtered = {\r\n ActualPricePerShare: update.ActualPricePerShare,\r\n ActualValue: update.ActualValue,\r\n ActualNetChange: update.ActualNetChange,\r\n };\r\n\r\n if (filtered.ActualPricePerShare==0){\r\n commit('appendLog', {message: 'SFT returned 0 realtime price for ' + row.Symbol});\r\n } else\r\n commit('updateRealtimeFields', { ID: state.items[index].ID, update: filtered, from:'sft' });\r\n dispatch('updateColor', index);\r\n }\r\n });\r\n //commit('setLoadingQuotes', false);\r\n }\r\n\r\n\r\n\r\n if (state.refreshing) {\r\n const timerHandle = setTimeout(() => dispatch('updatePortfolioRealtime',{tb: true}), window.PortfolioQuoteRate || 180000);\r\n commit('setTimer', timerHandle);\r\n }\r\n\r\n },\r\n switchTimer({state, commit, dispatch}) {\r\n clearTimeout(state.timer);\r\n commit('setRefreshing', !state.refreshing);\r\n if (state.refreshing && !TradingBlockRemote.authenticated)\r\n commit('setTimer', setTimeout( dispatch('updatePortfolioRealtime'), 180000));\r\n },\r\n\r\n async editPortfolioSymbol({state, commit, dispatch}, payload){\r\n let resp = await portfolioService.editSymbol(payload);\r\n\r\n dispatch('selectEditSymbol', null);\r\n dispatch('getPortfolioCompanies');\r\n },\r\n\r\n SelectedDelete({state,commit, dispatch}, payload){\r\n state.items.filter(o=>o.selected).forEach(o=>{\r\n o.force_delete = true;\r\n dispatch('deleteSymbol', o);\r\n });\r\n },\r\n SelectedPlace({state,commit, dispatch, payload}){\r\n state.items.filter(o=>o.selected).forEach(o=>{\r\n\r\n });\r\n },\r\n ShowBatchForm({state, commit, dispatch}, payload) {\r\n dispatch('balance/Load', null, {root:true});\r\n state.showBatchPlaceForm = true;\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{attrs:{\"id\":\"CompanyId\"}},[(!_vm.symbol.monthError && _vm.symbol.predictionClose10Day>0)?_c('td',{staticClass:\"TenDaysRow-Column_Data\",attrs:{\"colspan\":\"10\"}},[(_vm.symbol.predictionDate)?_c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"textGraySmall\",attrs:{\"title\":'Last Full Predicted at '+_vm.symbol.predictionDate.split('T')[0]}},[_vm._v(\"\\n 10 days prediction: \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionClose10Day))+\",\\n \"),(_vm.symbol.prediction1Month)?_c('span',[_vm._v(_vm._s(_vm.month1)+\": \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.prediction1Month>0 && _vm.symbol.prediction1Month))+\",\")]):_vm._e(),(_vm.symbol.prediction2Month)?_c('span',[_vm._v(_vm._s(_vm.month2)+\": \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.prediction2Month>0 && _vm.symbol.prediction2Month))+\",\")]):_vm._e(),(_vm.symbol.prediction3Month)?_c('span',[_vm._v(_vm._s(_vm.month3)+\": \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.prediction3Month>0 && _vm.symbol.prediction3Month)))]):_vm._e()]):_c('div',{staticClass:\"textGraySmall\"},[_vm._v(\"\\n 10 days prediction: \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionClose10Day))+\",\\n \"),(_vm.symbol.prediction1Month)?_c('span',[_vm._v(_vm._s(_vm.month1)+\": \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.prediction1Month>0 && _vm.symbol.prediction1Month))+\",\")]):_vm._e(),(_vm.symbol.prediction2Month)?_c('span',[_vm._v(_vm._s(_vm.month2)+\": \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.prediction2Month>0 && _vm.symbol.prediction2Month))+\",\")]):_vm._e(),(_vm.symbol.prediction3Month)?_c('span',[_vm._v(_vm._s(_vm.month3)+\": \"+_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.prediction3Month>0 && _vm.symbol.prediction3Month)))]):_vm._e()])]):_vm._e(),(_vm.symbol.monthError)?_c('td',{staticClass:\"TenDaysRow-Column_Error\",attrs:{\"colspan\":\"10\"}},[_c('div',{staticClass:\"textGraySmall\"},[_vm._v(\"Error getting predictions\")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenDaysRow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenDaysRow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TenDaysRow.vue?vue&type=template&id=a70ed2bc&\"\nimport script from \"./TenDaysRow.vue?vue&type=script&lang=js&\"\nexport * from \"./TenDaysRow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TenDaysRow.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioOptionTable.vue?vue&type=style&index=0&lang=css&\"","\r\nimport TradingBlockRemote from '../../services/TradingBlockRemote'\r\nimport {ErrorCodeMap} from '../../domain/TbMaps';\r\n\r\nconst state = () => ({\r\n loaded: false,\r\n loading: false,\r\n error: false,\r\n response: null\r\n});\r\n\r\nexport default {\r\n namespaced: true,\r\n\r\n state,\r\n mutations:{\r\n setLoading(state){\r\n state.loading = true;\r\n state.error = null;\r\n state.loaded = false;\r\n },\r\n setLoaded(state, payload){\r\n state.loading = false;\r\n state.error = null;\r\n state.loaded = true;\r\n state.response = payload;\r\n },\r\n setError(state, payload){\r\n if (payload.status>0)\r\n this.error = ErrorCodeMap[status];\r\n else\r\n this.error =\"Server or network error: \"+ Math.abs(payload.status) + \". Please, report via email\";\r\n\r\n state.loading = false;\r\n state.error = payload;\r\n state.loaded = false;\r\n }\r\n },\r\n actions:{\r\n async Load({state, commit}, payload){\r\n commit('setLoading');\r\n\r\n new TradingBlockRemote({\r\n onComplete: (resp)=>{\r\n if (!resp)\r\n commit('setError', \"Balance fetch error \");\r\n else\r\n commit('setLoaded', resp);\r\n },\r\n onFailure: ()=> {\r\n commit('setError', \"Balance fetch error \")\r\n }\r\n }).GetBalance();\r\n\r\n\r\n }\r\n },\r\n}","import {AmCharts} from 'amcharts';\r\nimport {EntitlementMap, ErrorCodeMap} from '../domain/TbMaps';\r\nimport {clearCookie, getCookie, setCookie} from '../utils/cookies';\r\nimport {error} from '../utils/log';\r\nimport clear = AmCharts.clear;\r\nimport {EventBus, Messages} from './EventBus';\r\n\r\n/*interface Token {\r\n TOKEN: string;\r\n ErrorCode?: number;\r\n MarketDataEntitlementTypeId: number;\r\n __type?:any;\r\n}*/\r\n\r\ninterface Token {\r\n Payload: string;\r\n ResponseCode?: number;\r\n // MarketDataEntitlementTypeId: number;\r\n __type?: any;\r\n}\r\n\r\ndeclare var TradingBlockAjaxEndpoint: any;\r\n// declare var TradingblockApiEndpointUrl:string;\r\nconst StagTradingblockApiEndpointUrl = 'https://staging.tradingblock.com/RestHub/';\r\nconst ProdTradingblockApiEndpointUrl = 'https://api3.tradingblock.com/RestHub/';\r\n\r\n // const LOGIN_HOST= 'http://stockforecast.tradespoon.com';\r\n // const LOGIN_HOST= 'http://stockforecast.velvetech.com';\r\n\r\n// const LOGIN_HOST= LOGIN_HOST;\r\nexport default class AuthService {\r\n\r\n private static service: AuthService;\r\n private token: Token | null;\r\n\r\n private static live: boolean = false;\r\n\r\n private static setLive(v: boolean) {\r\n AuthService.live = v;\r\n }\r\n\r\n public static loadPreviousLive() {\r\n const mode = getCookie('LastMode');\r\n if (mode) {\r\n AuthService.live = mode === 'live' ? true : false;\r\n }\r\n\r\n return AuthService.live;\r\n }\r\n public checkAgreement(): boolean {\r\n return getCookie('api_agree') !== 'true';\r\n }\r\n\r\n public setAgreement() {\r\n setCookie('api_agree', 'true');\r\n }\r\n\r\n public checkCookie(onLoginSuccess: (s: string) => void) {\r\n const cookie = getCookie('TB_KEY');\r\n if (cookie && cookie !== 'false') {\r\n this.token = JSON.parse(cookie);\r\n\r\n const str = 'Welcome again ' + getCookie('USERNAME');\r\n // if (EntitlementMap[this.token!.MarketDataEntitlementTypeId]) {\r\n // str += '
You are registered as ' + EntitlementMap[this.token!.MarketDataEntitlementTypeId];\r\n // }\r\n onLoginSuccess(str);\r\n\r\n }\r\n }\r\n\r\n public authenticated() {\r\n\r\n return !!this.getTOKEN();\r\n }\r\n\r\n public static getUrl() {\r\n if (AuthService.live) {\r\n return ProdTradingblockApiEndpointUrl;\r\n } else {\r\n return StagTradingblockApiEndpointUrl;\r\n }\r\n }\r\n\r\n public getTOKEN(): string | null {\r\n const cookie = getCookie('TB_KEY');\r\n if (cookie && cookie !== 'false') { return JSON.parse(cookie); }\r\n if (StagTradingblockApiEndpointUrl.indexOf('localhost') > -1) { return ''; }\r\n if (ProdTradingblockApiEndpointUrl.indexOf('localhost') > -1) { return ''; }\r\n if (!this.token) {\r\n return null;\r\n } else { return this.token.Payload; }\r\n }\r\n /*\r\n getAccountParams() {\r\n if (!this.accountCtrl) return {};\r\n return this.accountCtrl.getAccountParams();\r\n }\r\n getAccountName() {\r\n if (!this.accountCtrl) return null;\r\n return this.accountCtrl.getAccountName();\r\n }\r\n getSubAccountName() {\r\n if (!this.accountCtrl) return null;\r\n return this.accountCtrl.getSubAccountName();\r\n }\r\n */\r\n\r\n public checkResponse(tradeBlockName: string, response: any, sucCb: (rsp: any)\r\n => void, failCb: (str: string) => void) {\r\n if (response.error || !response.value) {\r\n clearCookie('USERNAME');\r\n this.token = null;\r\n // this.accountCtrl = null;\r\n return;\r\n }\r\n if (response.value.ResponseCode !== 0) {\r\n clearCookie('USERNAME');\r\n this.token = null;\r\n // this.accountCtrl = null;\r\n const str = ErrorCodeMap[response.value.ResponseCode];\r\n failCb(str);\r\n } else if (response.value.ResponseCode === 0) {\r\n this.token = response.value;\r\n // if ajax has types in , remove them\r\n delete this.token!.__type;\r\n setCookie('TB_KEY', JSON.stringify(this.token!.Payload), new Date(new Date().getTime() + 3600 * 4 * 1000));\r\n setCookie('USERNAME', tradeBlockName);\r\n setCookie('LastMode', AuthService.live ? 'live' : 'virtual');\r\n sucCb(response.value);\r\n } else {\r\n clearCookie('USERNAME');\r\n this.token = null;\r\n // this.accountCtrl = null;\r\n\r\n failCb('unknown error');\r\n }\r\n }\r\n public login(tradeBlockName: string, tradeBlockPassword: string, live: boolean, sucCb: (rsp: any)\r\n => void, failCb: (str: string) => void, ajxCb?: () => void) {\r\n AuthService.setLive(live);\r\n if (process.env.VUE_APP_SFT_ACCESS) {\r\n TradingBlockAjaxEndpoint.LoginAsync(tradeBlockName, tradeBlockPassword, AuthService.live, (response: any) => {\r\n if (ajxCb) { ajxCb(); }\r\n this.checkResponse(tradeBlockName, response, sucCb, failCb);\r\n });\r\n } else {\r\n ($.ajax as any)({\r\n type: 'POST',\r\n cashe: false,\r\n url: window.ApplicationPath + '/WebServices/WebService.asmx/LoginAsync',\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n crossDomain: true,\r\n data: '{\\\"username\\\": \\\"' + tradeBlockName + '\\\", \\\"password\\\": \\\"' + tradeBlockPassword + '\\\", \\\"live\\\": ' + AuthService.live + '}',\r\n success: (response: {d: Token}, textStatus: string, jqXHR: any) => {\r\n\r\n if (!response.d) {\r\n this.token = null;\r\n clearCookie('USERNAME');\r\n return;\r\n }\r\n const str = ErrorCodeMap[response.d.ResponseCode!];\r\n if (response.d.ResponseCode !== 0) {\r\n this.token = null;\r\n clearCookie('USERNAME');\r\n failCb(str);\r\n } else if (response.d.ResponseCode === 0) {\r\n this.token = response.d;\r\n delete this.token!.__type;\r\n setCookie('TB_KEY', JSON.stringify(this.token.Payload), new Date(new Date().getTime() + 3600 * 4 * 1000));\r\n setCookie('USERNAME', tradeBlockName);\r\n setCookie('LastMode', AuthService.live ? 'live' : 'virtual');\r\n\r\n sucCb(response.d);\r\n } else {\r\n this.token = null;\r\n clearCookie('USERNAME');\r\n failCb('An unexpected error occurred');\r\n }\r\n },\r\n error: (data: any, textStatus: any, jqXHR: any) => {\r\n error.log(textStatus);\r\n },\r\n });\r\n\r\n }\r\n }\r\n\r\n public static afterLogout() {\r\n clearCookie('TB_KEY');\r\n clearCookie('LastAccountId');\r\n clearCookie('LastSubAccountId');\r\n clearCookie('LastMode');\r\n\r\n // EventBus.$emit(Messages.logout);\r\n }\r\n public logout(sucCb: () => void, failCb: (s: string) => void, ajxCb?: () => void) {\r\n if (process.env.VUE_APP_SFT_ACCESS) {\r\n TradingBlockAjaxEndpoint.Logout(this.getTOKEN(), AuthService.live, (response: any) => {\r\n // this.accountCtrl = null;\r\n if (ajxCb) { ajxCb(); }\r\n this.token = null;\r\n AuthService.afterLogout();\r\n if (response.error) {\r\n return failCb(ErrorCodeMap[response.error]);\r\n }\r\n this.token = null;\r\n\r\n return sucCb();\r\n });\r\n } else {\r\n ($.ajax as any)({\r\n type: 'POST',\r\n cashe: false,\r\n url: window.ApplicationPath + '/WebServices/WebService.asmx/Logout',\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n crossDomain: true,\r\n data: '{\\'token\\': \\'' + this.getTOKEN() + '\\', \\'live\\':' + AuthService.live + '}',\r\n success: (response: {d: Token}, textStatus: any, jqXHR: any) => {\r\n AuthService.afterLogout();\r\n // if (!response.d) {\r\n // failCb('empty d');\r\n // }\r\n\r\n this.token = null;\r\n sucCb();\r\n },\r\n error: (data: any, textStatus: any, jqXHR: any) => {\r\n AuthService.afterLogout();\r\n error.log(textStatus);\r\n },\r\n });\r\n }\r\n }\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioPage.vue?vue&type=style&index=0&id=1b210812&scoped=true&lang=css&\"","import vue from 'vue'\r\nimport PortflioTable from './PortfolioTable.vue';\r\nimport axios from \"axios\";\r\nimport { symbolName } from 'typescript';\r\n\r\nexport default vue.extend({\r\nname: 'AiAnalysis',\r\ncomponents: {\r\n PortflioTable\r\n},\r\nprops:{ \r\n portfolio: Object,\r\n userInfo: Object,\r\n},\r\nmethods: { \r\n submit() {\r\n let symbol = $('#ai-analyze').val();\r\n\r\n if (symbol){\r\n\r\n let port = {\r\n id: this.portfolio.id,\r\n symbol: symbol\r\n }\r\n\r\n this.loadAiAnalysis(port);\r\n\r\n localStorage.setItem(\"symbol\", symbol);\r\n }\r\n },\r\n\r\n async loadAiAnalysis(id){\r\n var url = '/api/portfolio/'+id.id+'/json?symbol='+id.symbol;\r\n const e = await axios.get(url);\r\n if (e.data.responseCode == 50){\r\n return;\r\n }\r\n this.items = e.data.payload.items;\r\n let label = $('#info-labe-ai-analyze');\r\n if(this.items.length > 0){\r\n this.isShow = false;\r\n await this.$nextTick();\r\n label.empty();\r\n this.isShow = true;\r\n }else{\r\n label.text('Symbol not found!');\r\n }\r\n }\r\n},\r\ndata: () => {\r\n return {\r\n isShow: false,\r\n items: null\r\n }\r\n},\r\ncreated: function() {\r\n var savedSymbol = localStorage.getItem(\"symbol\");\r\n\r\n if(savedSymbol){\r\n let port = {\r\n id: this.portfolio.id,\r\n symbol: savedSymbol\r\n }\r\n this.loadAiAnalysis(port);\r\n }\r\n}\r\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('WaitingIndicator',{attrs:{\"inprogress\":_vm.cancelling}},[_c('uiv-dropdown',{attrs:{\"menu-right\":\"\"}},[_c('uiv-btn',{staticClass:\"dropdown-toggle\",attrs:{\"type\":\"primary\"}},[_c('span',{staticClass:\"caret\"})]),_c('template',{slot:\"dropdown\"},[_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.tradeClick($event)}}},[_c('a',{attrs:{\"role\":\"button\"}},[_vm._v(\"trade\")])]),(_vm.isChangeable)?_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.editClick($event)}}},[_c('a',{attrs:{\"role\":\"button\"}},[_vm._v(\"edit\")])]):_vm._e(),(_vm.isWorking)?_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.cancelClick($event)}}},[_c('a',{attrs:{\"role\":\"button\"}},[_vm._v(\"cancel\")])]):_vm._e()])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n import Component from 'vue-class-component'\n import {Prop, Watch, Vue, Emit} from 'vue-property-decorator'\n import {EventBus, Messages, OrderBus, OrderMessages} from \"../../services/EventBus\";\n import TradingBlockRemote, {GetRefClientId} from \"../../services/TradingBlockRemote\";\n import {OrderStatus} from \"../../domain/types\";\n import {error, notify} from \"../../utils/log\";\n import WaitingIndicator from '../Common/WaitIndicator.vue'\n import {Order} from \"../../domain/Order\";\n //import store, {MUTATION_TYPES} from '../../store/index'\n\n @Component({\n components: {WaitingIndicator}\n })\n \n class OrderActionMenu extends Vue {\n @Prop()\n order: Order;\n\n get isChangeable(): boolean{\n return Order.isChangeable(this.order);\n }\n\n get isWorking(): boolean{\n return Order.isWorking(this.order);\n }\n\n\n\n show:boolean=false;\n\n cancelling: boolean = false;\n\n showMenu(){\n this.show= true;\n }\n hideMenu(){\n this.show= false;\n }\n\n @Emit()\n async tradeClick() {\n\n EventBus.showTradeForm(Order.makeTradeOrder(this.order));\n\n this.hideMenu()\n }\n\n @Emit()\n editClick() {\n //EventBus.$emit(Messages.tradeOrderWindowShow, this.order);\n OrderBus.$emit(OrderMessages.OrdersEditPrice, this.order);\n this.hideMenu()\n }\n\n @Emit()\n async cancelClick() {\n this.cancelling = true;\n //await store.dispatch('cancelOrder', this.order)\n var xhr = new TradingBlockRemote({ onComplete: this.CancelSuccess.bind(this), onFailure: this.CancelFail.bind(this) })\n .CancelOrder(Order.makeCancelRequest(this.order));\n this.hideMenu()\n }\n\n\n// closeClick() {\n// this.hideMenu()\n// EventBus.$emit(Messages.tradeOrderWindowShow,Order.makeCloseOrder(this.order))\n//\n// }\n\n CancelSuccess(){\n notify.log(\"Cancel Success\");\n\n OrderBus.$emit(OrderMessages.OrderCancelSuccess, this.order);\n this.cancelling = false;\n }\n\n CancelFail(){\n error.log(\"Cancel Fail\");\n this.cancelling = false;\n }\n }\n\n export default OrderActionMenu;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderActionMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderActionMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderActionMenu.vue?vue&type=template&id=54074f54&\"\nimport script from \"./OrderActionMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrderActionMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport { portfolioService } from '@/services/services';\r\nimport {error} from '@/utils/log'\r\nimport {extractJsonDate, formatDate, removeDateStrTimezone} from \"../../utils/formatters\";\r\n\r\nexport default {\r\n\r\n async loadLastPredicted({state, commit, dispatch}){\r\n this.loading = true;\r\n commit('setLoading', true);\r\n\r\n portfolioService\r\n .getLastPredictedSymbols()\r\n .then(response => {\r\n commit('setLoading', false);\r\n if (!response.Items || response.Items.length == 0) {\r\n commit('updateHistory',[]);\r\n commit('setShowTable', true);\r\n } else {\r\n commit('updateHistory',response.Items);\r\n commit('setShowTable', true);\r\n }\r\n })\r\n .catch(() => {\r\n commit('invalidate');\r\n commit('setShowTable', false);\r\n error.log(\"Errot loading prediction history\");\r\n });\r\n }\r\n\r\n}\r\n","// all mutations should be by companyID\r\nimport Vue from 'vue';\r\n\r\n\r\nexport default {\r\n updateHistory(state, payload){\r\n state.items = payload;\r\n },\r\n setLoading(state, payload){\r\n state.loading = payload;\r\n },\r\n setShowTable(state, payload){\r\n state.showTable = payload;\r\n },\r\n invalidate(state){\r\n state.items = null;\r\n }\r\n \r\n}\r\n","import actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nconst state = () => ({\r\n loading: false,\r\n showTable: false,\r\n items: []\r\n});\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AiAnalysis.vue?vue&type=style&index=0&lang=css&\"","\r\n\r\n\r\n\r\n\r\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"8b33\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range_wrapper\"},[_c('canvas',{ref:\"canvas-ref\",on:{\"mousemove\":_vm.move}}),_c('range-box',{attrs:{\"x\":1,\"y\":2,\"w\":80,\"h\":45,\"plow\":_vm.v.predictionLow,\"phigh\":_vm.v.predictionHigh,\"low\":_vm.v.priorLow,\"high\":_vm.v.priorHigh,\"last\":_vm.v.actualPricePerShare,\"fontsize\":10}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./RangeBox.vue?vue&type=script&lang=js&\"\nexport * from \"./RangeBox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeBox.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RangeContainer.vue?vue&type=template&id=9bc1fdf2&scoped=true&\"\nimport script from \"./RangeContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./RangeContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RangeContainer.vue?vue&type=style&index=0&id=9bc1fdf2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9bc1fdf2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioPage.vue?vue&type=style&index=2&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n import WaitIndicator from \"../Common/WaitIndicator.vue\";\n import PositionActionMenu from './PositionActionMenu.vue'\n import PositionDetails from './PositionDetails.vue'\n import Component from 'vue-class-component'\n import {Prop, Watch, Vue, Emit} from 'vue-property-decorator'\n import Scrollable from \"../Common/Scrollable.vue\";\n import {extractJsonDate, formatPrice} from \"../../utils/formatters\";\n import {AssetType} from '../../domain/types'\n import TradingBlockRemote from '../../services/TradingBlockRemote';\n import TableScroller from '../Common/TableScrollable.vue'\n import {Position} from \"../../domain/Position\";\n \n @Component({\n components: {Scrollable, WaitIndicator, PositionActionMenu,TableScroller, PositionDetails}\n })\n\n class PositionTable extends Vue{\n @Prop()\n loading: boolean;\n @Prop()\n loaded: boolean;\n @Prop()\n rows: any;\n @Prop()\n ErrorMessage:string = \"\";\n @Prop()\n Summary:any;\n scrollOffset: number = 0;\n msg_closed: boolean =false;\n get scrollLeft() {\n return this.scrollOffset;\n }\n set scrollLeft(v) {\n this.scrollOffset = v;\n $(\"#TbPositionTable .table-responsive\").scrollLeft(v);\n }\n\n columns:any = ['DateOpened','Symbol','Description', 'UnderlyingPrice',\n // 'CostBasis',\n 'BasisPerShare','Ask', 'Bid'\n //'OpenQuantity',\n //'CurrentValue','UnrealizedGain'\n // , 'Actions'\n ] as any;\n options:any={\n uniqueKey:\"N\",\n sortable: ['DateOpened','Symbol', 'Description'],\n// dateColumns:['Date'],\n// dateFormat: 'YYYY-MM-DD',\n columnsDropdown:true,\n headings: {\n DateOpened: 'Date Opened',\n // CostBasis: 'Cost Basis',\n // OpenQuantity: 'Open Quantity',\n // CurrentValue:'Current Value',\n // UnrealizedGain:'Unrealized Gain',\n UnderlyingPrice:'Underlying Price',\n BasisPerShare:'Basis Per Share'\n },\n }as any;\n\n scrollWidth:number = 0;\n mounted() {\n if (this.loaded){\n\n\n Vue.nextTick(()=> {\n\n });\n }\n var self = this;\n this.onResize();\n (window as any).onresize =()=>this.onResize();\n\n }\n scrollContWidth: number = 0;\n\n onResize (){\n if (this.scrollContWidth != $('#TbPositionTable .VueTables__table').outerWidth()) {\n this.scrollContWidth = $(\"#TbPositionTable .VueTables__table\").parent().width();\n this.scrollWidth = $(\"#TbPositionTable .VueTables__table\").width();\n }\n return false;\n }\n\n @Watch('loaded')\n scrollUpdate(v:boolean){\n if (!v) return;\n Vue.nextTick(()=> {\n this.scrollOffset = $(\"#TbPositionTable .table-responsive\").scrollLeft();\n this.scrollWidth = $(\"#TbPositionTable .VueTables__table\").width();\n });\n }\n\n updated() {\n if (this.loaded)\n Vue.nextTick(()=>{\n this.scrollWidth = $(\"#TbPositionTable .VueTables__table\").width()\n $(\"#TbPositionTable .table-responsive\").scroll(()=>\n this.scrollLeft = $(\"#TbPositionTable .table-responsive\").scrollLeft())\n }\n\n );\n }\n\n// mounted(){\n//\n// Vue.nextTick(()=>{\n// if (this.$el.offsetWidth < this.$el.scrollWidth){\n// if (this.$el.scrollX>0) this.showLeftArrow = true;\n// else this.showLeftArrow = false;\n// if (this.$el.scrollY + this.$el.offsetWidth >=this.$el.scrollWidth)\n// this.showRightArrow = true;\n// else\n// this.showRightArrow = false;\n// }\n//\n// });\n// }\n// updated(){\n// Vue.nextTick(()=>{\n//\n// });\n// }\n// columns: any[] = [\n// {\n// label: 'Date Opened',\n// field: 'DateOpened',\n// type: 'string'\n// // inputFormat: 'YYYYMMDD',\n// // outputFormat: 'MMM Do YY',\n// },\n// {\n// label: 'Symbol',\n// field: 'Symbol',\n// filterable: true,\n// },\n// {\n// label: 'Description',\n// field: 'Description',\n// filterable: true,\n// },\n// {\n// label: 'Bid Price',\n// field: 'BidPrice',\n// type: 'number'\n// },\n// {\n// label: 'Ask Price',\n// field: 'AskPrice',\n// type: 'number'\n// },\n// {\n// label: 'Cost Basis',\n// field: 'CostBasis',\n// type: 'number'\n// },\n// {\n// label: 'Open Quantity',\n// field: 'OpenQuantity',\n//\n// },\n// {\n// label: 'Current Value',\n// field: 'CurrentValue'\n// },\n// {\n// label: 'Unrealized Gain',\n// field: 'UnrealizedGain'\n// },\n// {\n// label: 'Net Change',\n// field: 'NetChange'\n// },\n// {\n// label: 'Actions',\n// field: 'OrderId'\n// }\n//\n// ] as any[];\n\n\n\n }\n\n export default PositionTable;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioPage.vue?vue&type=style&index=1&lang=css&\"","export default class AssetService {\r\n static ImageRoot = './images/';\r\n\r\n image(rel_path: string): string {\r\n return AssetService.ImageRoot + rel_path + ' ';\r\n }\r\n imageAttr(rel_path: string): string {\r\n return ' src=\"' + this.image(rel_path) + '\" ';\r\n }\r\n static readonly predictLink = '/members/forecast-toolboxes.php';\r\n}\r\n","import SftPortfolioService from './SftPortfolioService';\r\n\r\nexport default class SftAuthService {\r\n public static ApplicationPath = window.ApplicationPath;\r\n\r\n public static authed: boolean = false;\r\n private isGuest = true;\r\n\r\n // get authorization params\r\n public getSessionParams() {\r\n const c = (window as any).Cookies.getJSON();\r\n return { sessionid: c.PHPSESSID ? c.PHPSESSID : 1234, loggedin: 3272 };\r\n }\r\n\r\n public init() {\r\n return this.auth()\r\n .then(() => {\r\n SftAuthService.authed = true;\r\n })\r\n .catch((err) => {\r\n // tslint:disable-next-line:no-console\r\n console.error('auth fail with' + err);\r\n });\r\n }\r\n\r\n private auth() {\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n\r\n request.open('POST', window.ApplicationPath + '/WebServices/WebService.asmx/phpAuth', true);\r\n request.setRequestHeader('Accept', 'application/json');\r\n request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\r\n request.withCredentials = true;\r\n request.onload = () => {\r\n if (request.status >= 200 && request.status < 400) {\r\n this.isGuest = true;\r\n\r\n const data = JSON.parse(request.responseText);\r\n if (data.d.error) {\r\n reject();\r\n } else {\r\n resolve(data.d);\r\n }\r\n } else {\r\n reject();\r\n }\r\n };\r\n\r\n request.onerror = () => {\r\n this.isGuest = true;\r\n reject();\r\n };\r\n\r\n request.send(JSON.stringify(this.getSessionParams()));\r\n });\r\n }\r\n}\r\n","import { PortfolioEditPriceRequest, PredictionCompanyResponse } from '../common/dto';\r\nimport { IPortfolioService } from './IPortfolioService';\r\nimport SftAuthService from './SftAuthService';\r\nimport { ChartData } from '@/domain/types';\r\n\r\nexport default class SftPortfolioService implements IPortfolioService {\r\n public static ApplicationPath = window.ApplicationPath;\r\n private isGuest = true;\r\n constructor(private auth: SftAuthService) {}\r\n\r\n public getLastPredictedSymbols() {\r\n return this.postCorsJSON('GetLastPredictedCompanies', { date: new Date().getTime() });\r\n }\r\n\r\n public refreshPortfolioCompaniesPrices() {\r\n return this.postCorsJSON('GetPortfolioCompaniesPrices', { date: new Date().getTime() });\r\n }\r\n\r\n public async getPortfolioSymbols() {\r\n const res = await this.postCorsJSON('GetPortfolioCompanies', { date: new Date().getTime() }) as any;\r\n\r\n if (res.Items) {\r\n res.Items = res.Items.filter((o: any) => !!o);\r\n }\r\n return res;\r\n }\r\n public deleteSymbol(symbolId: number) {\r\n return this.postCorsJSON('DeleteCompany', { companyId: symbolId });\r\n }\r\n public addSymbols(req: string[]) {\r\n return this.postCorsJSON('AddSymbols', {symbols: req});\r\n }\r\n\r\n public editSymbol(req: PortfolioEditPriceRequest) {\r\n return this.postCorsJSON('EditPortfolioSymbol', {req});\r\n }\r\n\r\n public recalculateSymbol(companyId: number, full: boolean) {\r\n return this.postCorsJSON('RecalculateFullCompany', { companyId, full });\r\n }\r\n\r\n public GetHistoryPrice(company: string, date: string) {\r\n return this.postCorsJSON('GetHistoryPrice', { symbol: company, dateString: date });\r\n }\r\n\r\n public GetCompaniesPrices() {\r\n return this.postCorsJSON('GetPortfolioCompaniesPrices', { ticks: new Date().getUTCMilliseconds() });\r\n }\r\n\r\n public GetQuote(company: string) {\r\n return this.postCorsJSON('GetCompanyRealtimeData', { symbol: company, extendedData: false });\r\n }\r\n public setSymbolEmailSetting(symbolId: number, val: boolean) {\r\n return this.postCorsJSON('SetCompanyEmailSetting', { companyId: symbolId, email: val });\r\n }\r\n\r\n\r\n\r\n public findSymbols(prefix: string) {\r\n const formData = new FormData();\r\n formData.append('value', prefix);\r\n\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n\r\n request.open(\r\n 'POST',\r\n window.ApplicationPath + '/WebServices/WebService.asmx/FindCompanies?' +\r\n 'value=' + prefix +\r\n 'dt=' + new Date().getTime(),\r\n true,\r\n );\r\n request.setRequestHeader('Accept', 'text/javascript, text/html, application/xml, text/xml, */*');\r\n request.setRequestHeader('contentType', 'application/x-www-form-urlencoded; charset=UTF-8');\r\n request.withCredentials = true;\r\n request.onload = () => {\r\n if (request.status >= 200 && request.status < 400) {\r\n // Success!\r\n const data = JSON.parse(request.responseText);\r\n if (data.d.error) {\r\n reject();\r\n } else {\r\n resolve(data.d);\r\n }\r\n } else {\r\n // We reached our target server, but it returned an error\r\n reject();\r\n }\r\n };\r\n\r\n request.onerror = () => {\r\n reject();\r\n };\r\n\r\n request.send();\r\n });\r\n\r\n // ($.ajax as any)({\r\n // type: 'POST',\r\n // cache: false,\r\n // url: SftPortfolioService.ApplicationPath + '/WebServices/FindCompanies.aspx?value=' + prefix,\r\n // contentType: 'application/x-www-form-urlencoded; charset=UTF-8',\r\n // accepts:'text/javascript, text/html, application/xml, text/xml, */*',\r\n // dataType: \"json\",\r\n // crossDomain: true,\r\n // xhrFields: {withCredentials: true},\r\n // success: function (data:any, textStatus:any, jqXHR:any) {\r\n // if (data.error) d.reject(); else d.resolve(data);\r\n // },\r\n // error: function () {\r\n // d.reject();\r\n // }\r\n // });\r\n // return d.promise();\r\n }\r\n public getCompanyPrice(company: string, sdate: Date) {\r\n // var d = $.Deferred();\r\n\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n\r\n // request.setRequestHeader('Accept', 'text/javascript, text/html, application/xml, text/xml, */*');\r\n request.open('POST', window.ApplicationPath + '/ForeCore/Portfolio/GetCompanyPrice', true);\r\n request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\r\n request.withCredentials = true;\r\n request.onload = () => {\r\n if (request.status >= 200 && request.status < 400) {\r\n // Success!\r\n const data = JSON.parse(request.responseText);\r\n if (data.d.error) {\r\n reject();\r\n } else {\r\n resolve(data.d);\r\n }\r\n } else {\r\n // We reached our target server, but it returned an error\r\n reject();\r\n }\r\n };\r\n\r\n request.onerror = () => {\r\n reject();\r\n };\r\n\r\n request.send(JSON.stringify({ company, date: sdate }));\r\n });\r\n\r\n // ($.ajax as any)({\r\n // type: 'POST',\r\n // cache: false,\r\n // data: JSON.stringify({company:company,date:sdate}),\r\n // url: SftPortfolioService.ApplicationPath + '/ForeCore/Portfolio/GetCompanyPrice',\r\n // contentType: 'application/json; charset=utf-8',\r\n // dataType: \"json\",\r\n // crossDomain: true,\r\n // xhrFields: {withCredentials: true},\r\n // success: (data:any, textStatus:any, jqXHR:any)=> {\r\n // if (data.d.error) d.reject(); else d.resolve(data.d);\r\n // },\r\n // error: ()=>{\r\n // d.reject();\r\n // }\r\n // });\r\n // return d.promise();\r\n }\r\n\r\n // add them to common requests objs\r\n private addSessionParams(obj: any) {\r\n const t = this.auth.getSessionParams();\r\n obj.sessionid = t.sessionid;\r\n obj.loggedin = t.loggedin;\r\n return obj;\r\n }\r\n\r\n private postCorsJSON(method: string, params: object) {\r\n if (typeof params !== 'object') {\r\n throw new Error('params should be obj' + params);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n\r\n request.open('POST', window.ApplicationPath + '/WebServices/WebService.asmx/' + method, true);\r\n request.setRequestHeader('Accept', 'application/json');\r\n request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\r\n request.withCredentials = true;\r\n request.onload = () => {\r\n if (request.status >= 200 && request.status < 400) {\r\n // Success!\r\n const data = JSON.parse(request.responseText);\r\n if (data.d.error) {\r\n reject();\r\n } else {\r\n resolve(data.d);\r\n }\r\n } else {\r\n // We reached our target server, but it returned an error\r\n reject();\r\n }\r\n };\r\n\r\n request.onerror = () => {\r\n reject();\r\n };\r\n\r\n request.send(JSON.stringify(params));\r\n });\r\n\r\n\r\n }\r\n}\r\n","import { AcrResponse, CompanyProfitCalculationPack, PredictionCompanyResponse, VectorResponse } from '../common/dto';\r\nimport SftAuthService from './SftAuthService';\r\nimport SftPortfolioService from './SftPortfolioService';\r\nimport { ChartData } from '@/domain/types';\r\n\r\nexport default class SftRecommendService {\r\n public static ApplicationPath = window.ApplicationPath;\r\n private isGuest = true;\r\n constructor(private auth: SftAuthService) {}\r\n\r\n public calculateProfit(symbol: number, startAmount: number, displayHistory: boolean) {\r\n return this.postCorsJSON('CalculateProfit',\r\n {symbol, startAmount, displayHistory});\r\n }\r\n\r\n public getACR(Group?: number, Sgroup?: number) {\r\n const o = { Group: Group ? Group : -1, Sgroup: Sgroup ? Sgroup : -1 };\r\n return this.postCorsJSON('GetACR', o);\r\n }\r\n public getRecommendations(load: boolean) {\r\n const o = { load };\r\n // return this.postCorsJSON('GetRecommendations?load=' + load, o);\r\n return this.postCorsJSON('GetRecommendations?load=' + load + '', o);\r\n }\r\n public getVector() {\r\n // var o = {Group,Sgroup}\r\n return this.postCorsJSON('GetVector');\r\n }\r\n // add them to common requests objs\r\n private addSessionParams(obj: any) {\r\n const t = this.auth.getSessionParams();\r\n obj.sessionid = t.sessionid;\r\n obj.loggedin = t.loggedin;\r\n return obj;\r\n }\r\n\r\n public PredictCompany(symbol: string, period: number, timezoneOffset: number) {\r\n return this.postCorsJSON('PredictCompany', { symbol, period, timezoneOffset });\r\n }\r\n\r\n private postCorsJSON(method: string, params: object | null = null): Promise {\r\n // const d = $.Deferred();\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n\r\n request.open('POST', window.ApplicationPath + '/WebServices/WebService.asmx/' + method, true);\r\n request.setRequestHeader('Accept', 'application/json');\r\n request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\r\n request.withCredentials = true;\r\n // tslint:disable-next-line:only-arrow-functions\r\n request.onload = function() {\r\n if (request.status >= 200 && request.status < 400) {\r\n // Success!\r\n const data = JSON.parse(request.responseText);\r\n if (data.d.error) {\r\n reject();\r\n } else {\r\n resolve(data.d);\r\n }\r\n } else {\r\n // We reached our target server, but it returned an error\r\n reject();\r\n }\r\n };\r\n\r\n // tslint:disable-next-line:only-arrow-functions\r\n request.onerror = function() {\r\n reject();\r\n };\r\n if (params) {\r\n request.send(JSON.stringify(params));\r\n } else {\r\n request.send();\r\n }\r\n });\r\n //\r\n // ($.ajax as any)({\r\n // type: 'POST',\r\n // cache: false,\r\n // data: params?JSON.stringify(params):null,\r\n // url: SftPortfolioService.ApplicationPath + '/WebServices/WebService.asmx/' + method,\r\n // contentType: 'application/json; charset=utf-8',\r\n // dataType: \"json\",\r\n // crossDomain: true,\r\n // xhrFields: {withCredentials: true},\r\n // success: (data:any, textStatus:any, jqXHR:any)=> {\r\n // if (data.d.error) d.reject(); else d.resolve(data.d);\r\n // },\r\n // error: ()=>{\r\n // d.reject();\r\n // }\r\n // });\r\n // return d.promise() as JQueryPromise;\r\n }\r\n}\r\n","import AssetService from './AssetService';\r\n// file to choose service implementations in case\r\nimport {IPortfolioService} from './IPortfolioService';\r\nimport SftAuthService from './SftAuthService';\r\nimport SftPortfolioService from './SftPortfolioService';\r\nimport SftRecommendService from './SftRecommendService';\r\n\r\nexport const assetService = new AssetService();\r\n\r\nexport const authService = new SftAuthService();\r\nexport const portfolioService = new SftPortfolioService(authService);\r\nexport const recommendService = new SftRecommendService(authService);\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenDaysRow.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/index.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideMenu.vue?vue&type=style&index=0&lang=postcss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionTable.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceCell.vue?vue&type=style&index=0&id=2868418c&scoped=true&lang=css&\"","import {Order} from '../domain/Order';\r\nimport {Quote} from '../domain/types';\r\nimport {error} from '../utils/log';\r\nimport AuthService from './AuthService';\r\nimport TradingBlockRemote, {Filter} from './TradingBlockRemote';\r\n\r\n// Elite Order service access vkarpel orders to show with filter\r\n// Backend should login to normal sft account to have access to tb data.\r\n// So server has 2 ways: access data with cache or load on times . We need to provide safety of account.\r\n\r\ndeclare var ForeCore: any;\r\ninterface OrdersResponse { ResponseCode: number; Payload?: {Items: Order[], TotalCountOfItems: number}; }\r\nexport default class EliteOrdersService {\r\n public static async loadOrders(portfolioID: number, filter: Filter): Promise {\r\n return new Promise((resolve: (o: OrdersResponse['Payload']) => void, reject: (status: any) => void) => { \r\n const filt = TradingBlockRemote.AddMandatoryFields(filter);\r\n \r\n const xhr = new XMLHttpRequest() as any;\r\n xhr.open('post', '/api/portfolio/' + portfolioID + '/EliteOrders', true);\r\n xhr.withCredentials = true;\r\n\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n // obj = Object.assign(obj, controllers.getLoginCtrl().getAccountParams());\r\n\r\n xhr.onreadystatechange = function() {\r\n if (this.readyState !== 4) { return; }\r\n\r\n if (this.status !== 200) { \r\n return reject(this.status);\r\n }\r\n\r\n return resolve(JSON.parse(this.response).d);\r\n };\r\n xhr.send(JSON.stringify(filt));\r\n return xhr; \r\n });\r\n }\r\n\r\n // separate quote to allow user to be not logged to tradingblock\r\n public static async loadQuotes(portfolioID: number, symbols: string[]): Promise {\r\n return new Promise((resolve: (o: OrdersResponse['Payload']) => void, reject: (status: any) => void) => {\r\n const xhr = new XMLHttpRequest() as any;\r\n xhr.open('post', '/api/portfolio/' + portfolioID + '/GetEliteQuotes', true); \r\n xhr.withCredentials = true;\r\n\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n // obj = Object.assign(obj, controllers.getLoginCtrl().getAccountParams());\r\n\r\n xhr.onreadystatechange = function() {\r\n if (this.readyState !== 4) {\r\n return;\r\n }\r\n\r\n if (this.status !== 200) {\r\n if (process.env.VUE_APP_DEBUG_LOG) {\r\n console.warn('bad status:' + this.status);\r\n }\r\n return reject(this.status);\r\n }\r\n\r\n return resolve(JSON.parse(this.response).d);\r\n };\r\n xhr.send(JSON.stringify(symbols));\r\n return xhr;\r\n\r\n });\r\n }\r\n}\r\n","export const byID = (state, payload, found_cb, nf_cb) => {\r\n let index = state.items.findIndex((o)=>o.ID === payload.ID);\r\n if (index >= 0) {\r\n found_cb && found_cb(index);\r\n } else {\r\n nf_cb && nf_cb(); \r\n }\r\n}\r\n\r\nexport const bySymbol = (state, payload, found_cb, nf_cb) => {\r\n let index = state.items.findIndex((o)=>o.Symbol === payload.Symbol);\r\n if (index >= 0) {\r\n found_cb && found_cb(index);\r\n } else {\r\n nf_cb && nf_cb();\r\n }\r\n}","import {Order} from './Order';\r\n\r\nexport interface Options {\r\n onComplete: ((obj: any) => void),\r\n onFailure: ((obj: any) => void)\r\n}\r\n\r\nexport const enum AssetType {\r\n Entity = 1, Option = 2, MutualFund = 3, Bond = 4, Undefined = 0,\r\n}\r\nexport const enum CharAssetType {\r\n Entity = 'E', Option = 'O', MutualFund = 'M', Bond = 'B', Undefined = 'U',\r\n}\r\n\r\nexport const enum PositionEffect {\r\n Unknown = 0, Open = 1, Close = 2,\r\n}\r\n\r\nexport const enum OrderDuration {\r\n Unknown = 0,\r\n Day = 1,\r\n GTC = 2,\r\n ETH = 3,\r\n Manual = 4,\r\n}\r\n\r\nexport const enum OrderAction {\r\n Unknown = 0,\r\n Buy = 1,\r\n Sell = 2,\r\n}\r\n\r\nexport const enum OrderClass {\r\n Unknown = 0,\r\n Single = 1,\r\n Spread = 2,\r\n\r\n}\r\n\r\nexport const enum OrderStatus {\r\n Undefined = 0,\r\n New = 1,\r\n PartiallyFilled = 2,\r\n Filled = 3,\r\n // DoneForDay = 4,\r\n Cancelled = 5,\r\n Replaced = 6,\r\n PendingCancel = 7,\r\n // CxldEndOfDay = 8,\r\n Rejected = 9,\r\n // Suspended = 10,\r\n PendingNew = 11,\r\n // Calculated = 12,\r\n Expired = 13,\r\n PendingReplace = 14,\r\n Saved = 15,\r\n // LiveUntriggered = 16,\r\n // Scheduled = 17,\r\n // OCOUntriggered = 18,\r\n // CancelledUntriggered = 19,\r\n Initiated = 20,\r\n ReplaceInitiated = 21,\r\n CancelInitiated = 22,\r\n CancelRejected = 23,\r\n // ReplaceRejected = 24,\r\n // Busted = 25,\r\n PreAllocated = 26,\r\n}\r\n\r\nexport const enum OrderType {\r\n Unknown = 0,\r\n Market = 1,\r\n Limit = 2,\r\n StopMarket = 3,\r\n StopLimit = 4,\r\n MarketOnClose = 5,\r\n}\r\n\r\nexport enum DebitCredit {\r\n Unknown = -1,\r\n Debit = 1,\r\n Credit = 2,\r\n}\r\nexport namespace DebitCredit {\r\n export function isValid(mode: DebitCredit) {\r\n return mode === DebitCredit.Credit || mode === DebitCredit.Debit;\r\n }\r\n export function GetAnother(mode: DebitCredit) {\r\n switch (mode) {\r\n case DebitCredit.Unknown: return DebitCredit.Debit;\r\n case DebitCredit.Debit: return DebitCredit.Credit;\r\n case DebitCredit.Credit: return DebitCredit.Debit;\r\n }\r\n }\r\n\r\n export function GetCaption(mode: DebitCredit) {\r\n switch (mode) {\r\n case DebitCredit.Unknown:\r\n return 'Debit/Credit';\r\n case DebitCredit.Debit:\r\n return 'Debit';\r\n case DebitCredit.Credit:\r\n return 'Credit';\r\n }\r\n }\r\n\r\n export function GetAbbr(mode: DebitCredit) {\r\n switch (mode) {\r\n case DebitCredit.Unknown:\r\n return 'DR/CR';\r\n case DebitCredit.Debit:\r\n return 'DR';\r\n case DebitCredit.Credit:\r\n return 'CR';\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport interface ExtendedQuoteDTO {\r\n PreviousAsk: number;\r\n PreviousBid: number;\r\n PreviousClose: number;\r\n CloseDate: string;\r\n NetAssetValue: number;\r\n YTDReturn: number;\r\n OfferPrice: number;\r\n SymbolName: null,\r\n InternalSymbol: null,\r\n Low52Week: number;\r\n High52Week: number;\r\n AvgVolume: number;\r\n Shares: number;\r\n DividendType: number;\r\n ExDivDate: string;\r\n DivDate: string;\r\n RegDivFrequency: number;\r\n RegDivAmount: number;\r\n SpecialDivAmount: number;\r\n SpecialDivFrequency: number;\r\n SpecialDivDate: string;\r\n SpecialDivExDate: string;\r\n EPS: number;\r\n Issuer: number;\r\n MarketCap: number;\r\n Yield: number;\r\n PERatio: number;\r\n High52WeekDate: string;\r\n Low52WeekDate: string;\r\n AvgVolume10Day: number;\r\n Beta: number;\r\n ShortInterest: number;\r\n SicCode: number;\r\n PrimaryExchange: null;\r\n IssueType: number;\r\n}\r\nexport interface Quote {\r\n Symbol: string;\r\n LastTradePrice: number;\r\n AskPrice: number;\r\n BidPrice: number;\r\n NetChange: number;\r\n AskSize?: number;\r\n AssetClass: number\r\n BidAskMidPrice: number\r\n BidSize: number\r\n CloseDate: string\r\n ClosePrice: number\r\n High: number\r\n IsError: boolean\r\n Latency: number\r\n Low: number\r\n Multiplier: number\r\n Open: number\r\n PreviousClose: number\r\n UnderlyingPrice: number\r\n UnderlyingSymbol: string\r\n Volume: number;\r\n ExtendedQuote: ExtendedQuoteDTO;\r\n}\r\n\r\nexport interface BlogLink {\r\n Link: string;\r\n Title: string;\r\n}\r\n\r\nexport interface RootState {\r\n // Orders: {\r\n // Total: number;\r\n // Items: Order[];\r\n // }\r\n order: Order;\r\n canChangeLegsSymbols: boolean;\r\n}\r\n\r\n\r\nexport const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\nexport interface HistoricalEntry {\r\n Open: number;\r\n Close: number;\r\n AdjustedClose: number;\r\n Min: number;\r\n Max: number;\r\n Volume: number;\r\n Date: Date;\r\n date2: Date;\r\n Rule: any;\r\n Change: number;\r\n DateStr: string;\r\n}\r\nexport interface ChartData {\r\n HistoricalData: HistoricalEntry [];\r\n HistoricalPredictions: any[];\r\n Predictions: any[];\r\n Period: number;\r\n LastAveragePrice: number;\r\n PredictionErrorsStdDev: {\r\n Min: number;\r\n Max: number;\r\n };\r\n}\r\n\r\nexport interface Portfolio {\r\n id: number; \r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioHistory.vue?vue&type=style&index=0&id=f561296c&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.v.actualPricePerShare)))]),_c('div',{staticClass:\"range-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.v.predictionLow)))]),_c('input',{staticClass:\"disabled\",attrs:{\"type\":\"range\",\"min\":_vm.v.predictionLow,\"max\":_vm.v.predictionHigh,\"disabled\":\"disabled\",\"step\":\"0.001\"},domProps:{\"value\":_vm.v.actualPricePerShare}}),_c('span',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.v.predictionHigh)))])]),_c('div',{staticClass:\"range-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.v.priorLow)))]),_c('input',{staticClass:\"disabled\",attrs:{\"type\":\"range\",\"min\":_vm.v.priorLow,\"max\":_vm.v.priorHigh,\"disabled\":\"disabled\",\"step\":\"0.001\"},domProps:{\"value\":_vm.v.actualPricePerShare}}),_c('span',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.v.priorHigh)))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RangeControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RangeControl.vue?vue&type=template&id=4adb83c4&\"\nimport script from \"./RangeControl.vue?vue&type=script&lang=js&\"\nexport * from \"./RangeControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderTable.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/index.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Archive.vue?vue&type=style&index=0&lang=postcss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EliteOrdersBlock.vue?vue&type=style&index=0&lang=css&\"","import Vue from 'vue';\r\nimport {componentFactory} from 'vue-class-component/lib/component';\r\nimport {Order} from \"@/domain/Order\";\r\nimport store from '@/store'\r\n\r\nexport enum Messages {\r\n tradeOrderWindowShow= 'tradeOrderWindowShow',\r\n tradeOrderWindowClose= 'tradeOrderWindowClose',\r\n selectSymbol = 'selectSymbol',\r\n // error= 'error',\r\n // login= 'login',\r\n // logout= 'logout',\r\n selectExpiration= 'selectExpiration',\r\n selectStrike= 'selectStrike',\r\n TradingBlockAjaxError= 'TbAjaxError',\r\n TabChanged= 'TabChanged',\r\n GenericRefresh= 'refresh',\r\n BalanceRefresh= 'balanceRefresh',\r\n AccountWithSubChange= 'accountChange',\r\n DragPlaceWindowDisable = 'dragDisable',\r\n DragPlaceWindowEnable = 'dragEnable',\r\n}\r\n\r\nexport enum OrderMessages {\r\n OrdersRefresh= 'ordersRefresh',\r\n OrdersSearch= 'ordersSearch',\r\n OrderTableClick= 'orderTableClick',\r\n OrdersLoaded= 'ordersLoaded',\r\n OrdersEditPrice= 'orderEditPrice',\r\n OrdersEditPriceSuccess= 'orderEditPriceSuccess',\r\n OrderCancelSuccess = 'orderCancelSuccess',\r\n OrderAdded = 'orderAdded',\r\n // test helpers\r\n}\r\n\r\nexport const enum PositionMessages {\r\n PositionRefresh= 'positionRefresh',\r\n PositionsLoaded= 'positionsLoaded', // test helpers\r\n PositionTableClick= 'positionsTableClick',\r\n}\r\n\r\nexport const EventBus = new Vue({\r\n data() {\r\n return {\r\n companySymbol: '',\r\n };\r\n },\r\n methods: {\r\n async showTradeForm(order: Order) {\r\n await store.dispatch('SHOW_TRADE_WINDOW', order);\r\n this.$emit(Messages.tradeOrderWindowShow, order);\r\n },\r\n setUnderlying(symbol: string) {\r\n store.dispatch('selectSymbol', symbol);\r\n this.$emit(Messages.selectSymbol, this.companySymbol);\r\n },\r\n\r\n },\r\n});\r\n//\r\n// declare var EventBus : {\r\n// setUnderlying(symbol: string):void,\r\n// getUnderlying():string\r\n// }\r\n// EventBus.setUnderlying = (symbol: string) => {\r\n// EventBus.companySymbol = symbol;\r\n// EventBus.$emit(Messages.selectSymbol, EventBus.companySymbol)\r\n// };\r\n// EventBus.getUnderlying = ()=>{\r\n// if (EventBus.companySymbol) { return EventBus.companySymbol; }\r\n// return companySymbol;\r\n// };\r\n\r\nexport const OrderBus = new Vue();\r\nexport const PositionBus = new Vue();\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderSearchOneLine.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/index.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentPosts.vue?vue&type=style&index=0&lang=postcss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'root': _vm.showIntro},attrs:{\"id\":\"app\"}},[(_vm.loading || _vm.loadingCategories)?_c('div',{staticClass:\"d-flex justify-content-center mb-3\"},[_c('b-spinner')],1):_vm._e(),(_vm.errorMsg!=null && _vm.errorMsg!='')?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e(),(_vm.SpaQuickMenu)?_c('portal',{attrs:{\"targetEl\":\"#QuickMenuTarget\"}},[_c('WaitIndicator',{staticClass:\"row\",attrs:{\"inprogress\":_vm.loading || _vm.loadingCategories}},[_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"navbar-text\"},[_c('strong',[_vm._v(\"Blog\")])]),_c('ul',{staticClass:\"list-unstyled\"},_vm._l((_vm.blogCategories),function(cat){return _c('li',{key:cat.Id},[_c('a',{attrs:{\"href\":\"#blog\"},on:{\"click\":function($event){_vm.loadCategoryBlogs(cat, 1)}}},[_vm._v(_vm._s(cat.title))])])}),0),(_vm.portfolioLinks && _vm.portfolioLinks.length>0)?_c('div',{staticClass:\"navbar-text\"},[_c('strong',[_vm._v(\"Tools and Services\")])]):_vm._e(),_c('ul',{staticClass:\"list-unstyled\"},_vm._l((_vm.portfolioLinks),function(portfolio){return _c('li',{key:portfolio.id},[_c('a',{attrs:{\"href\":\"#portfolio\"},on:{\"click\":function($event){_vm.loadPortfolio(portfolio, 1)}}},[_vm._v(_vm._s(portfolio.title))])])}),0)]),_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"navbar-text\"},[_c('strong',[_vm._v(\"Recorded Webinars\")])]),_c('ul',{staticClass:\"list-unstyled\"},_vm._l((_vm.webinarCategories),function(cat){return _c('li',{key:cat.Id},[_c('a',{attrs:{\"href\":\"#recorded\"},on:{\"click\":function($event){_vm.loadCollectionPastWebinars(cat, 1)}}},[_vm._v(_vm._s(cat.title))])])}),0)]),_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"navbar-text\"},[_c('strong',[_vm._v(\"Upcoming Webinars\")])]),_c('ul',{staticClass:\"list-unstyled\"},_vm._l((_vm.upcomingWebinarCategories),function(cat){return _c('li',{key:cat.Id},[_c('a',{attrs:{\"href\":\"#upcoming\"},on:{\"click\":function($event){_vm.loadCollectionUpcomingWebinars(cat, 1)}}},[_vm._v(_vm._s(cat.title))])])}),0)]),_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"navbar-text\"},[_c('strong',[_vm._v(\"Live Trading Room\")])]),_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('a',{attrs:{\"href\":\"#live-trading-room-recordings\"}},[_vm._v(\"Recordings\")])])])]),_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"navbar-text\"},[_c('strong',[_vm._v(\"Tradespoon\")])]),_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('a',{attrs:{\"href\":\"#live-trading-room-recordings\"}},[_vm._v(\"Recordings\")])])])])])],1):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}]},[(_vm.showBlog)?_c('Blog',{attrs:{\"msg\":\"\",\"recentPostsItems\":_vm.recentPostsItems,\"archiveItems\":_vm.archiveItems,\"blogCategories\":_vm.blogCategories,\"blogPosts\":_vm.blogPosts,\"tabIndex\":_vm.blogTabInd,\"currentPage\":_vm.blogCurrentPage,\"totalRows\":_vm.blogTotalRows,\"showSearch\":_vm.blogShowingSearch},on:{\"loadBlogCategory\":function (t){ return _vm.loadCategoryBlogs(t.cat, t.page); },\"search\":_vm.searchBlog}}):_vm._e(),(_vm.showUpcoming)?_c('UpcomingWebinarsPage',{attrs:{\"WebinarItems\":_vm.upcomingWebinarItems,\"Categories\":_vm.webinarCategories,\"currentPage\":_vm.upcomingCurrentPage,\"totalPages\":_vm.upcomingTotalPages,\"tabIndex\":_vm.upcomingTabInd},on:{\"loadCategory\":function (t){ return _vm.loadCollectionUpcomingWebinars(t.cat, t.page); }}}):_vm._e(),(_vm.showRecorded)?_c('RecordedWebinarsPage',{attrs:{\"WebinarItems\":_vm.recordedWebinarItems,\"Categories\":_vm.webinarCategories,\"currentPage\":_vm.recordedCurrentPage,\"totalRows\":_vm.recordedTotalRows,\"tabIndex\":_vm.recordedTabInd,\"showSearch\":_vm.recordedShowingSearch},on:{\"loadCategory\":function (t){ return _vm.loadCollectionPastWebinars(t.cat, t.page); },\"search\":_vm.searchRecorded}}):_vm._e(),(_vm.showPortfolio)?_c('PortfolioPage',{attrs:{\"portfolio\":_vm.currentPortfolio,\"items\":_vm.portfolioItems,\"dayHistory\":_vm.dayHistory,\"trialInfo\":_vm.trialInfo,\"tabInfo\":_vm.tabInfo,\"userInfo\":_vm.userInfo,\"loadStockRangeData\":_vm.loadStockRangeData},on:{\"refresh\":_vm.portfolioRefresh,\"refresh_history\":_vm.portfolioHistoryRefresh,\"loading\":function (t){ return _vm.updateLoader(t); },\"fail\":function (t){ return _vm.failError(t); }}}):_vm._e(),(_vm.showPerformance)?_c('PerformancePage',{attrs:{\"performance\":_vm.performance}}):_vm._e(),(_vm.showIntro)?_c('Intro',{on:{\"goDashboard\":function($event){_vm.showPage('root');}}}):_vm._e(),(_vm.showRoot && _vm.portfolioLinks)?_c('Dashboard',{attrs:{\"loadPortfolio\":_vm.loadPortfolio,\"portfolioLinks\":_vm.portfolioLinks,\"upcomingWebinars\":_vm.upcomingWebinarCategories,\"recordedWebinars\":_vm.webinarCategories}}):_vm._e(),(_vm.showLiveTradingRoomRecordings)?_c('LiveTradingRoomRecordingsPage'):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.blogCategories && _vm.blogPosts)?_c('div',{staticClass:\"row m-0 BlogRoot mb-3\"},[(_vm.msg)?_c('h1',[_vm._v(_vm._s(_vm.msg))]):_vm._e(),_c('div',{staticClass:\"col-12 col-md-8 col-sm-12\"},[_c('b-tabs',{attrs:{\"value\":_vm.tabIndex}},_vm._l((_vm.blogCategories),function(blogCat){return _c('b-tab',{key:blogCat.title,staticClass:\"card card-default border-0\",attrs:{\"title\":blogCat.title,\"active\":blogCat == _vm.blogCategories[_vm.tabIndex]},on:{\"click\":function (evt) {\n _vm.$emit('loadBlogCategory', { cat: blogCat, page: 1 });\n }}},[_c('div',{staticClass:\"card-body vertical-align px-0 pt-3 pb-0\"},[_c('div',{staticClass:\"col-12 col-md-10 col-sm-10\"},[_c('h1',[_vm._v(_vm._s(blogCat.title))]),_c('p',{staticClass:\"subdued\"},[_c('LinkToTradespoon',{attrs:{\"text\":blogCat.description,\"promotion_id\":blogCat.tradespoonId}})],1)]),_c('div',{staticClass:\"col-12 col-md-2 col-sm-2 pb-3 pb-md-0\"},[_c('img',{staticClass:\"img-fluid rounded-2 center-block\",attrs:{\"alt\":\"Trading Guide\",\"src\":'/images/' + blogCat.imageUrl}})])])])}),1),_c('div',{staticClass:\"input-group col-md-8 col-xl-6 mb-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.search_text),expression:\"search_text\"}],staticClass:\"form-control py-2\",attrs:{\"type\":\"search\",\"value\":\"search\",\"id\":\"example-search-input\"},domProps:{\"value\":(_vm.search_text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.search_text=$event.target.value}}}),_c('span',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.$emit('search', {\n CatId: _vm.blogCategories[_vm.tabIndex].id,\n Phrase: _vm.search_text,\n PerPage: 4,\n SkipPages: 0,\n })}}},[_c('i',{staticClass:\"fa fa-search\"})])])]),(_vm.blogPosts.length > 0)?_c('div',_vm._l((_vm.blogPosts),function(blogPost){return _c('div',{key:blogPost.title,staticClass:\"card card-default border-0\",attrs:{\"title\":blogPost.title,\"active\":\"\"}},[_c('blog-post',{attrs:{\"blogPost\":blogPost}})],1)}),0):_c('div',[_vm._m(0)]),_c('b-pagination',{staticClass:\"mt-3\",attrs:{\"value\":_vm.currentPage,\"totalRows\":_vm.totalRows,\"per-page\":_vm.perPage},on:{\"change\":_vm.paginationClicked}})],1),_c('div',{staticClass:\"col-12 col-md-4 col-sm-12\"},[_c('side-menu',{attrs:{\"recentPostsItems\":_vm.recentPostsItems,\"archiveItems\":_vm.archiveItems}})],1)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card card-default\"},[_c('h5',[_vm._v(\"No results\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('p',{ref:\"templ\",domProps:{\"innerHTML\":_vm._s(_vm.text)},on:{\"click\":function($event){$event.stopPropagation();return _vm.trackUser($event)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkToTradespoon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkToTradespoon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LinkToTradespoon.vue?vue&type=template&id=06b48aa5&\"\nimport script from \"./LinkToTradespoon.vue?vue&type=script&lang=js&\"\nexport * from \"./LinkToTradespoon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card yellowtunnel rounded p-3 text-white side border-0\"},[_c('recent-posts',{attrs:{\"recentPostsItems\":_vm.recentPostsItems}}),_c('archive',{attrs:{\"archiveItems\":_vm.archiveItems}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"recent-posts\"},_vm._l((_vm.recentPostsItems),function(recentPost){return _c('li',{key:recentPost.Title},[_c('div',{staticClass:\"recent-title\"},[_c('a',{attrs:{\"href\":\"recentPost.Slug\"}},[_vm._v(\" \"+_vm._s(recentPost.Title))])]),_c('div',{staticClass:\"recent-info\"},[_c('span',[_vm._v(\" \"+_vm._s(recentPost.Excerpt))])]),_c('div',{staticClass:\"recent-date\"},[_c('span',[_vm._v(_vm._s(recentPost.PubDate))])])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentPosts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentPosts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RecentPosts.vue?vue&type=template&id=6c83f2a2&\"\nimport script from \"./RecentPosts.vue?vue&type=script&lang=js&\"\nexport * from \"./RecentPosts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RecentPosts.vue?vue&type=style&index=0&lang=postcss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',[_vm._v(\"Archive\")]),_vm._l((_vm.archiveItems),function(year){return _c('ul',{key:year.name,staticClass:\"ArchiveItemList\"},[_c('TreeItem',{class:_vm.ClassNames.ItemClass,attrs:{\"ClassNames\":_vm.ClassNames,\"model\":year}},[_c('ArchivePostItem')],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('div',{class:_vm.isFolder ? this.ClassNames.FolderClass : ''},[(_vm.isFolder)?_c('div',{on:{\"click\":_vm.toggle}},[_c('span',[_vm._v(_vm._s(_vm.open ? \"-\" : \"+\")+\" \"+_vm._s(_vm.model.name))])]):_c('ArchivePostItem',{attrs:{\"model\":_vm.model}}),(_vm.isFolder)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.open),expression:\"open\"}],class:_vm.ClassNames.ItemList},_vm._l((_vm.model.children),function(model){return _c('tree-item',{key:model.name,staticClass:\"item\",class:'item ' + _vm.ClassNames.ItemClass,attrs:{\"model\":model,\"ClassNames\":_vm.ClassNames}})}),1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ArchivePostItem\"},[(_vm.model.url)?_c('div',{staticClass:\"ArchivePostItem_Title\"},[_c('a',{attrs:{\"href\":'/blog/post/' + _vm.model.url}},[_vm._v(\" \"+_vm._s(_vm.model.name || _vm.model.title))])]):_vm._e(),(_vm.model.published)?_c('div',{staticClass:\"ArchivePostItem_Date\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.published))+\"\\n \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArchivePostItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArchivePostItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ArchivePostItem.vue?vue&type=template&id=eb5fa422&\"\nimport script from \"./ArchivePostItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ArchivePostItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ArchivePostItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TreeItem.vue?vue&type=template&id=cfe33a68&\"\nimport script from \"./TreeItem.vue?vue&type=script&lang=js&\"\nexport * from \"./TreeItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TreeItem.vue?vue&type=style&index=0&lang=postcss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Archive.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Archive.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Archive.vue?vue&type=template&id=0ba184f6&\"\nimport script from \"./Archive.vue?vue&type=script&lang=js&\"\nexport * from \"./Archive.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Archive.vue?vue&type=style&index=0&lang=postcss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideMenu.vue?vue&type=template&id=43a9d292&\"\nimport script from \"./SideMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./SideMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideMenu.vue?vue&type=style&index=0&lang=postcss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"post border-bottom\",attrs:{\"itemscope\":\"\",\"itemtype\":\"http://schema.org/BlogPosting\",\"itemprop\":\"blogPost\"}},[_c('header',[_c('h2',{attrs:{\"itemprop\":\"name headline\"}},[_c('a',{attrs:{\"href\":'/blog/post/' + _vm.blogPost.slug,\"rel\":\"canonical\",\"itemprop\":\"url\"}},[_vm._v(_vm._s(_vm.blogPost.title))])]),_c('time',{attrs:{\"datetime\":_vm.blogPost.pubDate,\"itemprop\":\"datePublished\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.blogPost.pubDate)))])]),_c('article',{staticClass:\"text-justify post__content\",attrs:{\"itemprop\":\"articleBody mainEntityOfPage \"},domProps:{\"innerHTML\":_vm._s(_vm.blogPost.excerpt)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogPost.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogPost.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BlogPost.vue?vue&type=template&id=7ef9993a&\"\nimport script from \"./BlogPost.vue?vue&type=script&lang=js&\"\nexport * from \"./BlogPost.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BlogPost.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Blog.vue?vue&type=template&id=47875390&scoped=true&\"\nimport script from \"./Blog.vue?vue&type=script&lang=js&\"\nexport * from \"./Blog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Blog.vue?vue&type=style&index=0&id=47875390&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47875390\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Intro.vue?vue&type=template&id=0a0514dc&\"\nimport script from \"./Intro.vue?vue&type=script&lang=js&\"\nexport * from \"./Intro.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showThankYou)?_c('section',[_vm._m(0)]):_vm._e(),_c('section',{attrs:{\"id\":\"platform\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row align-items-center\"},[_vm._m(1),_c('div',{staticClass:\"col-md-6\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"list-group custom-list-group\"},[_vm._m(2),_c('a',{staticClass:\"list-group-item list-group-item-action\",attrs:{\"href\":_vm.upcomingWebinarsLink}},[_c('img',{attrs:{\"src\":\"images/icons/icon-monitor-person.png\",\"width\":\"34\",\"height\":\"42\",\"alt\":\"\"}}),_vm._m(3)]),_vm._m(4),_vm._m(5),_c('a',{staticClass:\"list-group-item list-group-item-action\",attrs:{\"href\":_vm.recordedWebinarsLink}},[_c('img',{attrs:{\"src\":\"images/icons/icon-monitor-play.png\",\"width\":\"34\",\"height\":\"42\",\"alt\":\"\"}}),_vm._m(6)])])])])])])]),_c('section',{staticClass:\"py-5\",attrs:{\"id\":\"services\"}},[_c('div',{staticClass:\"dashboard-container container-fluid\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"services carousel slide\",attrs:{\"id\":\"dashboardCarousel\"}},[_c('div',{staticClass:\"carousel-inner\"},[_vm._m(7),_vm._l((_vm.portfolioLinks),function(portfolio){return _c('div',{key:portfolio.id,staticClass:\"carousel-item\"},[_c('div',{staticClass:\"slide-wrapper\"},[_c('div',{staticClass:\"row no-gutters d-flex align-items-stretch\"},[_vm._m(8,true),_c('div',{staticClass:\"dashboard-carousel-item\"},[_c('div',{staticClass:\"slide-copy\"},[_c('p',{staticClass:\"font-weight-bold mb-0\"},[_vm._v(_vm._s(portfolio.title))]),_c('p',{attrs:{\"id\":portfolio.id}},[_vm._v(_vm._s(_vm.getDescription(portfolio)))]),_c('p',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){_vm.learnMore(portfolio)}}},[_vm._v(\"Learn More\")])])])])])])])})],2),_c('ol',{staticClass:\"carousel-indicators\"},_vm._l((_vm.portfolioLinks.length),function(count){return _c('li',{key:count,attrs:{\"data-target\":\"#dashboardCarousel\",\"data-slide-to\":count - 1}})}),0),_vm._m(9)])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"card info-message\"},[_c('b',[_vm._v(\"Thank you for your subscription.\")]),_vm._v(\"\\n Please watch the video below that expains all services you have access to. \\n You can also click on \\\"Learn More\\\" link below to see what each service offers\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-6\"},[_c('h1',[_vm._v(\"Welcome To Your \"),_c('br'),_vm._v(\"\\n Membership Dashboard\")]),_c('p',[_vm._v(\"Congratulations! You've taken the first step toward finding better trades! From our Dashboard, you'll have access to everything we offer in your membership. If you ever get \\\"lost\\\", simply click Dashboard at the top of the screen to return to this page. \")]),_c('p',[_c('strong',[_vm._v(\"A Few Things To Note\")]),_c('br'),_vm._v(\"\\n We've found the quickest way to familiarize yourself with everything we offer is by reading our \"),_c('strong',[_vm._v(\"GETTING STARTED\")]),_vm._v(\" guide. Traders who take a few minutes to review it almost always hit the ground running compared to traders who just \\\"wing it\\\". Get a jumpstart on your trading education — read the Getting Started guide now.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"list-group-item list-group-item-action\",attrs:{\"href\":\"https://yellowtunnel.com/bk/guide.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"images/icons/icon-document.png\",\"width\":\"34\",\"height\":\"42\",\"alt\":\"\"}}),_c('p',[_c('strong',[_vm._v(\" Getting Started Guide\")]),_c('br'),_vm._v(\"\\n Make the most of the YellowTunnel Platform by reading our Getting Started guide.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_vm._v(\" Live Educational Webinars\")]),_c('br'),_vm._v(\"\\n YellowTunnel offers Live online training sessions and webinars every week to help you Trade Smarter.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"list-group-item list-group-item-action\",attrs:{\"href\":\"/contact\"}},[_c('img',{attrs:{\"src\":\"images/icons/icon-headset.png\",\"width\":\"34\",\"height\":\"42\",\"alt\":\"\"}}),_c('p',[_c('strong',[_vm._v(\" Dedicated Support\")]),_c('br'),_vm._v(\"\\n We are always available to answer any questions you may have throughout your learning process.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"list-group-item list-group-item-action\",attrs:{\"href\":\"/blog/trading-concepts\"}},[_c('img',{attrs:{\"src\":\"images/icons/icon-document-pen.png\",\"width\":\"34\",\"height\":\"42\",\"alt\":\"\"}}),_c('p',[_c('strong',[_vm._v(\" Blog\")]),_c('br'),_vm._v(\"\\n Learn to Trade Smarter with dozens of short and to-the-point educational videos for all levels of traders.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_vm._v(\" HD Webinar Recordings\")]),_c('br'),_vm._v(\"\\n Watch all of our past webinars on desktop, mobile, or tablet at your leisure in high definition video.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"services-intro dashboard-carousel-item\"},[_c('h2',[_vm._v(\"Find A Service That Fits Your Trading Needs\")]),_c('p',[_vm._v(\"Try any of the YellowTunnel Memberships for a full 30 days on a trial basis.\")]),_c('p',[_vm._v(\"Click 'Learn More' link below to learn more about each service we offer at YellowTunnel.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-carousel-item pb-xl-5\"},[_c('div',{staticStyle:{\"padding\":\"56.25% 0 0 0\",\"position\":\"relative\"}},[_c('iframe',{staticClass:\"tutorialVideo\",staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"left\":\"0\",\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"src\":\"https://player.vimeo.com/video/663043297\",\"frameborder\":\"0\",\"webkitAllowFullScreen\":\"\",\"mozallowfullscreen\":\"\",\"allowfullscreen\":\"\"}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-control-wrapper\"},[_c('a',{staticClass:\"carousel-control-prev\",attrs:{\"href\":\"#dashboardCarousel\",\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{staticClass:\"carousel-control-prev-icon\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Previous\")])]),_c('a',{staticClass:\"carousel-control-next\",attrs:{\"href\":\"#dashboardCarousel\",\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{staticClass:\"carousel-control-next-icon\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Next\")])])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=f5af48e4&scoped=true&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Dashboard.vue?vue&type=style&index=0&id=f5af48e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f5af48e4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_vm._m(0),_c('FrameView',{attrs:{\"url\":\"https://www.tradespoon.com/members/ytltr.php\",\"title\":\"Live Trading Room Recordings\",\"height\":600}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12\"},[_c('h1',[_vm._v(\"Live Trading Room Recordings\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('iframe',{staticClass:\"iframe\",style:(_vm.cssHeight),attrs:{\"src\":_vm.url,\"title\":_vm.title,\"frameborder\":\"0\",\"width\":\"100%\",\"height\":_vm.height,\"webkitallowfullscreen\":\"\",\"mozallowfullscreen\":\"\",\"allowfullscreen\":\"\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrameView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrameView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrameView.vue?vue&type=template&id=d2e35ab4&scoped=true&\"\nimport script from \"./FrameView.vue?vue&type=script&lang=js&\"\nexport * from \"./FrameView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FrameView.vue?vue&type=style&index=0&id=d2e35ab4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2e35ab4\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTradingRoomRecordingsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTradingRoomRecordingsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveTradingRoomRecordingsPage.vue?vue&type=template&id=2e5a9bc6&scoped=true&\"\nimport script from \"./LiveTradingRoomRecordingsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveTradingRoomRecordingsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LiveTradingRoomRecordingsPage.vue?vue&type=style&index=0&id=2e5a9bc6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e5a9bc6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"parent\"},[_c('div',[_c('div',{ref:\"container\",staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4\"},[_c('div',{class:'service-icon icon-' + _vm.portfolio.slug + ' my-3'},[_vm._v(_vm._s(_vm.portfolio.slug))]),_c('h1',{attrs:{\"data-v-step\":\"0\"}},[_vm._v(\"Your \"+_vm._s(_vm.portfolio.title))]),_c('a',{staticClass:\"btn btn-primary tutorial-link\",attrs:{\"href\":\"/lp/30daystestdrive?src=TRADESPOON_VBLOG&vendorid=1&trafficid=1&creativeid=1&mediaid=1&kw=TRADESPOON_VBLOG&ims=tswebrec1&webinar=111&type=recorded&email=info@yellowtunnel.com\"}},[_vm._v(\"View Tutorial\")]),_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"},on:{\"click\":function (){ return _vm.showGuide(); }}},[_vm._v(\"Get Guided Tour\")])]),_c('div',{staticClass:\"col-md-8 border-left\"},[_c('div',{staticClass:\"container\"},[_c('b-tabs',{attrs:{\"nav-class\":\"media-tabs\",\"pills\":\"\"},on:{\"activate-tab\":_vm.tabsActivate}},[_c('b-tab',{staticClass:\"tab-pane\",attrs:{\"id\":\"getting-started\",\"title\":\"Getting Started\"}},[_c('div',{staticClass:\"getting-started\"},[_c('div',[_c('p',[_c('LinkToTradespoon',{attrs:{\"text\":_vm.portfolio.description,\"promotion_id\":0}})],1)])])]),_c('b-tab',{staticClass:\"tab-pane\",attrs:{\"id\":\"video\",\"title\":\"Video Examples\"}},[_c('div',{staticClass:\"mediaTabsSlick slider-video\"},[_c('div',[_c('div',{staticClass:\"embed-container\"},[_c('iframe',{attrs:{\"src\":\"https://player.vimeo.com/video/663043297\",\"frameborder\":\"0\",\"webkitAllowFullScreen\":\"\",\"mozallowfullscreen\":\"\",\"allowFullScreen\":\"\"}})])]),_c('div',[_c('div',{staticClass:\"embed-container\"},[_c('iframe',{attrs:{\"src\":\"https://player.vimeo.com/video/358105582\",\"frameborder\":\"0\",\"webkitAllowFullScreen\":\"\",\"mozallowfullscreen\":\"\",\"allowFullScreen\":\"\"}})])])]),_c('div',{staticClass:\"arrow-wrapper0\"},[_c('div',{staticClass:\"dots-wrapper0\"})])]),_c('b-tab',{staticClass:\"tab-pane\",attrs:{\"id\":\"guides\",\"title\":\"Helpful Guides\"}},[_c('div',{staticClass:\"mediaTabsSlick slider-guides\"},[_c('div',[_c('a',{staticClass:\"hover-guide\",attrs:{\"href\":\"https://yellowtunnel.com/bk/guide.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"/images/thumbs/guide.png\",\"alt\":\"sample file\",\"data-hover\":\"click\"}})])]),_c('div',[_c('a',{staticClass:\"hover-guide\",attrs:{\"href\":\"https://yellowtunnel.com/bk/volatility.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"/images/thumbs/volatility.png\",\"alt\":\"sample file\",\"data-hover\":\"click\"}})])]),_c('div',[_c('a',{staticClass:\"hover-guide\",attrs:{\"href\":\"https://yellowtunnel.com/bk/short-term-trading-plan-guide.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"/images/thumbs/short-term-trading-plan-guide.png\",\"alt\":\"sample file\",\"data-hover\":\"click\"}})])]),_c('div',[_c('a',{staticClass:\"hover-guide\",attrs:{\"href\":\"https://yellowtunnel.com/bk/slippage.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"/images/thumbs/slippage.png\",\"alt\":\"what slippage should i allow?\",\"data-hover\":\"click\"}})])]),_c('div',[_c('a',{staticClass:\"hover-guide\",attrs:{\"href\":\"https://yellowtunnel.com/bk/risk_management.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"/images/thumbs/risk_management.png\",\"alt\":\"the importance of risk management in trading\",\"data-hover\":\"click\"}})])]),_c('div',[_c('a',{staticClass:\"hover-guide\",attrs:{\"href\":\"https://yellowtunnel.com/bk/make_money.pdf\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"/images/thumbs/make_money.png\",\"alt\":\"how do you make money in the stock market?\",\"data-hover\":\"click\"}})])])]),_c('div',{staticClass:\"arrow-wrapper1\"},[_c('div',{staticClass:\"dots-wrapper1\"})])])],1)],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"card-deck\"},_vm._l((_vm.cards),function(card,title){return _c('div',{key:title,staticClass:\"card icon-card no-card\"},[_c('div',{staticClass:\"card-header icon d-flex justify-content-center\"},[_c('span',{staticClass:\"d-flex justify-content-center align-items-center\"},[_c('img',{attrs:{\"src\":card.icon,\"alt\":\"\",\"aria-hidden\":\"true\"}})])]),_c('div',{staticClass:\"card-body text-center\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(card.title))]),_c('div',{staticClass:\"card-text\"},[_c('p',[_vm._v(_vm._s(card.description))])])])])}),0)])]),_c('section',{staticClass:\"watchlist bg-lgray py-2\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"watchlist-content\"},[_c('div',{staticClass:\"portfolio-buttons\"},[(_vm.levels)?_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],staticClass:\"btn btn-lg btn-down\",attrs:{\"id\":\"PortfolioSymbolsDownButton\",\"title\":\"See if any stocks in our portfolio have High Implied Volatility that warrants selling PUT premium\"},on:{\"click\":_vm.portfolioDown}},[_c('i',{staticClass:\"fa fa-arrow-down\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.levels)?_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],staticClass:\"btn btn-lg btn-up\",attrs:{\"id\":\"PortfolioSymbolsUpButton\",\"title\":\"See if any stocks in our portfolio have High Implied Volatility that warrants selling CALL premium\"},on:{\"click\":_vm.portfolioUp}},[_c('i',{staticClass:\"fa fa-arrow-up\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.refresh)?_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],staticClass:\"btn btn-lg\",attrs:{\"id\":\"PortfolioSymbolsRefreshButton\",\"title\":\"refresh stock quotes\"},on:{\"click\":function($event){_vm.$emit('refresh', _vm.portfolio)}}},[_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()]),_c('b-tabs',{attrs:{\"nav-class\":\"mb-4\",\"pills\":\"\"},on:{\"changed\":_vm.tabsUpdated,\"input\":_vm.tabsInput},model:{value:(_vm.current),callback:function ($$v) {_vm.current=$$v},expression:\"current\"}},[_c('b-tab',{staticClass:\"tab-pane\",attrs:{\"title\":\"Current Portfolio\"}},[_c('PortflioTable',{attrs:{\"items\":_vm.items,\"portfolio\":_vm.portfolio}})],1),_c('b-tab',{staticClass:\"tab-pane\",attrs:{\"title\":\"Option Portfolio\",\"lazy\":\"\"}},[_c('PortflioOptionTable',{attrs:{\"items\":_vm.items,\"portfolio\":_vm.portfolio}})],1),(_vm.tabInfo.isOrders)?_c('b-tab',{staticClass:\"card card-default border-top-0 rounded-top-0\",attrs:{\"title\":\"Orders\",\"lazy\":\"\"}},[_c('EliteOrdersBlock',{attrs:{\"portfolio\":_vm.portfolio}})],1):_vm._e(),(_vm.tabInfo.isPositions)?_c('b-tab',{staticClass:\"card card-default border-top-0 rounded-top-0\",attrs:{\"title\":\"Positions\",\"lazy\":\"\"}},[_c('PositionBlock',{attrs:{\"portfolio\":_vm.portfolio}})],1):_vm._e(),(_vm.tabInfo.isSmsSettings)?_c('b-tab',{staticClass:\"card card-default border-top-0 rounded-top-0\",attrs:{\"title\":\"Sms Settings\",\"lazy\":\"\"}},[_c('EliteSMSAlerts',{attrs:{\"portfolio\":_vm.portfolio,\"userInfo\":_vm.userInfo}})],1):_vm._e(),_c('b-tab',{staticClass:\"tab-pane\",attrs:{\"title\":\"History\",\"lazy\":\"\"}},[_c('PortflioHistoryDates',{attrs:{\"dayHistory\":_vm.dayHistory,\"portfolio\":_vm.portfolio},on:{\"loadHistory\":_vm.historyRefresh}})],1),_vm._l((_vm.selected_dates),function(sel_date){return _c('b-tab',{key:'dyn-tab-' + sel_date.date,attrs:{\"title\":_vm._f(\"formatDate2\")(sel_date.date)}},[[_c('div',{style:({'text-align':'right'})},[_c('span',[_c('i',{staticClass:\"fa fa-times\",on:{\"click\":function($event){_vm.closeTab(sel_date.date)}}})])])],_c('b-form-checkbox',{attrs:{\"name\":\"check-button\",\"switch\":\"\"},on:{\"change\":_vm.updateSel},model:{value:(_vm.historicalQuotes),callback:function ($$v) {_vm.historicalQuotes=$$v},expression:\"historicalQuotes\"}},[_vm._v(\"\\r\\n historical predictions\\r\\n \")]),_c('PortflioHistoryTable',{attrs:{\"items\":sel_date.actions,\"portfolio\":_vm.portfolio}})],2)}),_c('b-tab',{staticClass:\"card card-default border-top-0 rounded-top-0\",attrs:{\"title\":\"Recordings\",\"lazy\":\"\"}},[_c('LiveTradingRoomRecordings')],1),_c('b-tab',{staticClass:\"card card-default border-top-0 rounded-top-0\",attrs:{\"title\":\"AI Analysis\",\"lazy\":\"\"}},[_c('AiAnalysis',{attrs:{\"portfolio\":_vm.portfolio,\"userInfo\":_vm.userInfo}})],1)],2)],1)])])]),_c('v-tour',{ref:\"vtour\",attrs:{\"name\":\"YTour\",\"steps\":_vm.steps}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-responsive-lg\"},[_c('table',{staticClass:\"table table-sm table-hover mx-0 basicGrid portfolioGrid watchlist\",attrs:{\"cellpadding\":\"4\"}},[_c('thead',{staticClass:\"thead-dark\"},[_c('tr',[_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"1\"}},[_vm._v(\"Company\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see:
- Company Symbol
- Date When stock was bought
- Shares count
- Basis value
\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"1\"}},[_vm._v(\"Option Symbol\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see:
- Option Symbol
Hover over option symbol to see option Bid price
- Ask price
- Last trade price
\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"2\"}},[_vm._v(\"Price\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see last known price of the company\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"3\"}},[_vm._v(\"Prior Low/High\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Prior Low
Prior High\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"4\"}},[_vm._v(\"Open/Close\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Predicted Open
Close Price\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"5\"}},[_vm._v(\"Buy/Sell\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Predicted support and resistance levels for current trading session.\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"6\"}},[_vm._v(\"Prediction\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Shows current price as it relates to predicted buy, predicted sell, actual previous session high, and actual previous session low signals for the current session.\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"7\"}},[_vm._v(\"Trend\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Trend for the next 3 month. The Trend shows the average of all vector values in a selected time horizon. The meter will display the overall bullish, bearish or neutral conviction according to the strength and direction of the vector average figure. A single Vector value is a percentage change from the previous real price averages and the predicted price average in a specific time interval. The higher the value the vector the higher its momentum.\"}})])])]),_vm._l((_vm.items),function(item,index){return _c('PortfolioOptionRow',{key:item.ID,class:item.color,attrs:{\"index\":index,\"symbol\":item}})})],2),(_vm.portfolio.log)?_c('div',{staticClass:\"formInfo\",attrs:{\"id\":\"LogPortfolioPanel\"},domProps:{\"innerHTML\":_vm._s(_vm.portfolio.log)}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tbody',[_c('tr',{staticClass:\"PortfolioTable-NotSetRow\",attrs:{\"id\":_vm.symbol.id}},[_c('td',[_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],attrs:{\"title\":_vm.symbol.name}},[_vm._v(_vm._s(_vm.symbol.symbol))])]),_c('td',[_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],attrs:{\"title\":_vm.OptionDescription}},[_vm._v(_vm._s(_vm.symbol.optionSymbol))])]),_c('td',[_c('price-content',{attrs:{\"symbol\":_vm.symbol}})],1),_c('td',[_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.priorLow)))]),_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.priorHigh)))])]),_c('td',[_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionClose)))]),_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionOpen)))])]),(!_vm.symbol.oneDayPredictionNeeded)?_c('td',[_c('span',{staticClass:\"badge badge-success\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionLow)))]),_c('span',{staticClass:\"badge badge-danger\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionHigh)))])]):_vm._e(),_c('td',[(!_vm.symbol.oneDayPredictionNeeded)?_c('RangeControl',{attrs:{\"v\":_vm.symbol}}):_vm._e()],1),_c('td',[(!_vm.symbol.oneDayPredictionNeeded)?_c('ChartControl',{attrs:{\"v\":_vm.symbol,\"mode\":\"options\"}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import OpenCloseCell from './OpenCloseCell.vue';\r\nimport RangeContainer from './RangeContainer.vue'\r\nimport RangeControl from './RangeControl.vue'\r\nimport ChartControl from './ChartControl.vue'\r\nimport PriceContent from './PriceContent.vue';\r\nimport { formatPrice } from '@/utils';\r\nimport TenDaysRow from './TenDaysRow';\r\nimport MktValue from './MktValue';\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\nimport { extractJsonDate, formatDate, formatNewDate } from '@/utils/formatters';\r\n\r\nimport vue from 'vue'\r\n\r\nexport default vue.extend({\r\n name: 'PortfolioOptionRow',\r\n props: {\r\n index: { type: Number, required: true },\r\n symbol: { type: Object, required: true }\r\n },\r\n computed: {\r\n StartDateStr() {\r\n return formatDate(extractJsonDate(this.symbol.startDate)).split(',')[0];\r\n },\r\n est() {\r\n return this.symbol.estValue == 0 ? '-' : formatPrice(this.symbol.estValue);\r\n },\r\n errorRow() {\r\n return this.symbol.dailyError && this.symbol.monthError;\r\n },\r\n corridorHigh() {\r\n return 0.25 * this.symbol.predictionError * this.symbol.predictionHigh;\r\n },\r\n corridorLow() {\r\n return 0.25 * this.symbol.predictionError * this.symbol.predictionLow;\r\n },\r\n PredictionLow() {\r\n return this.symbol.predictionLow == 0 ? '-' : formatPrice(this.symbol.predictionLow);\r\n },\r\n PredictionHigh() {\r\n return this.symbol.predictionHigh == 0 ? '-' : formatPrice(this.symbol.predictionHigh);\r\n },\r\n OptionDescription() {\r\n return 'Bid: ' + formatPrice(this.symbol.bidPrice) + ', Ask: ' + formatPrice(this.symbol.askPrice) + ', Last: ' + formatPrice(this.symbol.lastPrice);\r\n },\r\n },\r\n components: {\r\n RangeContainer,\r\n WaitIndicator,\r\n TenDaysRow,\r\n PriceContent,\r\n OpenCloseCell,\r\n MktValue,\r\n RangeControl,\r\n ChartControl\r\n },\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioOptionRow.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioOptionRow.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioOptionRow.vue?vue&type=template&id=2937c205&scoped=true&\"\nimport script from \"./PortfolioOptionRow.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioOptionRow.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioOptionRow.vue?vue&type=style&index=0&id=2937c205&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2937c205\",\n null\n \n)\n\nexport default component.exports","\r\n import Vue from 'vue'\r\nimport { clearInterval, setInterval } from 'timers';\r\nimport PortfolioOptionRow from './PortfolioOptionRow.vue';\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\n\r\n import vue from 'vue'\r\n\r\n export default vue.extend({\r\n props:{\r\n items: Array,\r\n portfolio: Object\r\n },\r\n data() {\r\n return {\r\n delay: { show: 100, hide: 1000 } ,\r\n DropdownClasses: {\r\n ItemClass: '',\r\n BtnClass: 'dropdown-toggle PortfolioToolbar__Button',\r\n DisabledBtnClass: 'dropdown-toggle PortfolioToolbar__Button btn-gray'\r\n }\r\n };\r\n },\r\n components: {\r\n PortfolioOptionRow, WaitIndicator\r\n }\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioOptionTable.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioOptionTable.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioOptionTable.vue?vue&type=template&id=14391bf8&\"\nimport script from \"./PortfolioOptionTable.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioOptionTable.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioOptionTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"text PortfolioPage\"},[_c('div',{staticClass:\"vertical-align\"},[_c('div',{staticClass:\"col-md-10\"},[_c('h1',{staticStyle:{\"display\":\"inline\"},attrs:{\"data-v-step\":\"0\"}},[_vm._v(_vm._s(_vm.portfolio.title)),_c('br')]),_c('p',[_c('LinkToTradespoon',{attrs:{\"text\":_vm.portfolio.description,\"promotion_id\":0}})],1)]),_c('div',{staticClass:\"col-md-2\"},[_c('img',{staticClass:\"roundedimage img-responsive center-block\",attrs:{\"alt\":\"Getting Started\",\"src\":\"/images/at.png\"}}),_c('div',{staticClass:\"dropdown center-block\",staticStyle:{\"margin\":\"20px 0\"}},[_vm._m(0),_c('ul',{staticClass:\"dropdown-menu\",attrs:{\"aria-labelledby\":\"dropdownMenu1\"}},_vm._l((_vm.links),function(item){return _c('li',{key:item.href},[_c('a',{class:item.class,attrs:{\"href\":item.href,\"target\":item.href[0]=='#'?'':'_blank'},domProps:{\"innerHTML\":_vm._s(item.caption)},on:{\"click\":function (){ return _vm.handleCb(item.cb); }}})])}),0)])])])]),(_vm.dayPortfolio)?_c('div',{staticClass:\"PortfolioToolbar\"},[_c('div',{staticClass:\"PortfolioToolbar__Item\"},[_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"id\":\"PortfolioSymbolsRefreshButton\"},on:{\"click\":function($event){_vm.$emit('refresh', _vm.portfolio)}}},[_vm._v(\"Refresh \"),_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}})])])]):_vm._e(),_c('v-tour',{ref:\"vtour\",attrs:{\"name\":\"YTour\",\"steps\":_vm.steps}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn btn-primary dropdown-toggle center-block\",attrs:{\"type\":\"button\",\"id\":\"dropdownMenu1\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"true\"}},[_vm._v(\"Quick Links\"),_c('span',{staticClass:\"caret\"})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-responsive-lg\"},[_c('table',{staticClass:\"table table-sm table-hover mx-0 basicGrid portfolioGrid watchlist\",attrs:{\"cellpadding\":\"4\"}},[_c('thead',{staticClass:\"thead-dark\"},[_c('tr',[_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"1\"}},[_vm._v(\"Company\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see:
- Company Symbol
- Date When stock was bought
- Shares count
- Basis value
\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"2\"}},[_vm._v(\"Price\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"In this column you can see last known price of the company\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"3\"}},[_vm._v(\"Prior Low/High\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Prior Low
Prior High\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"4\"}},[_vm._v(\"Open/Close\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Predicted Open
Close Price\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"5\"}},[_vm._v(\"Buy/Sell\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Predicted support and resistance levels for current trading session.\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"6\"}},[_vm._v(\"Prediction\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Shows current price as it relates to predicted buy, predicted sell, actual previous session high, and actual previous session low signals for the current session.\"}})]),_c('th',{attrs:{\"scope\":\"col\",\"data-v-step\":\"7\"}},[_vm._v(\"Trend\\n \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\",\"title\":\"Trend for the next 3 month. The Trend shows the average of all vector values in a selected time horizon. The meter will display the overall bullish, bearish or neutral conviction according to the strength and direction of the vector average figure. A single Vector value is a percentage change from the previous real price averages and the predicted price average in a specific time interval. The higher the value the vector the higher its momentum.\"}})])])]),_vm._l((_vm.items),function(item,index){return _c('PortfolioHistoryRow',{key:item.ID,class:item.color,attrs:{\"index\":index,\"symbol\":item}})})],2),(_vm.portfolio.log)?_c('div',{staticClass:\"formInfo\",attrs:{\"id\":\"LogPortfolioPanel\"},domProps:{\"innerHTML\":_vm._s(_vm.portfolio.log)}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tbody',[_c('tr',{staticClass:\"PortfolioTable-NotSetRow\",attrs:{\"id\":_vm.symbol.id}},[_c('td',[_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\"}],attrs:{\"title\":_vm.symbol.name}},[_vm._v(_vm._s(_vm.symbol.symbol))])]),_c('td',[_c('price-content',{attrs:{\"symbol\":_vm.symbol}})],1),_c('td',[_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.priorLow)))]),_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.priorHigh)))])]),_c('td',[_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionClose)))]),_c('span',{staticClass:\"badge badge-secondary\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionOpen)))])]),(!_vm.symbol.oneDayPredictionNeeded)?_c('td',[_c('span',{staticClass:\"badge badge-success\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionLow)))]),_c('span',{staticClass:\"badge badge-danger\"},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(_vm.symbol.predictionHigh)))])]):_vm._e(),_c('td',[(!_vm.symbol.oneDayPredictionNeeded)?_c('RangeControl',{attrs:{\"v\":_vm.symbol}}):_vm._e()],1),_c('td',[(!_vm.symbol.oneDayPredictionNeeded)?_c('ChartControl',{attrs:{\"v\":_vm.symbol,\"mode\":\"portfolio-history\"}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import OpenCloseCell from './OpenCloseCell.vue';\r\nimport RangeContainer from './RangeContainer.vue'\r\nimport RangeControl from './RangeControl.vue'\r\nimport ChartControl from './ChartControl.vue'\r\nimport PriceContent from './PriceContent.vue';\r\nimport { formatPrice } from '@/utils';\r\nimport TenDaysRow from './TenDaysRow';\r\nimport MktValue from './MktValue';\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\nimport { extractJsonDate, formatDate, formatNewDate, formatDateQuery } from '@/utils/formatters';\r\n\r\nimport vue from 'vue'\r\n\r\nexport default vue.extend({\r\n props: {\r\n index: { type: Number, required: true },\r\n symbol: { type: Object, required: true }\r\n },\r\n computed: {\r\n StartDateStr() {\r\n return formatDate(extractJsonDate(this.symbol.startDate)).split(',')[0];\r\n },\r\n est() {\r\n return this.symbol.estValue == 0 ? '-' : formatPrice(this.symbol.estValue);\r\n },\r\n errorRow() {\r\n return this.symbol.dailyError && this.symbol.monthError;\r\n },\r\n corridorHigh() {\r\n return 0.25 * this.symbol.predictionError * this.symbol.predictionHigh;\r\n },\r\n corridorLow() {\r\n return 0.25 * this.symbol.predictionError * this.symbol.predictionLow;\r\n },\r\n PredictionLow() {\r\n return this.symbol.predictionLow == 0 ? '-' : formatPrice(this.symbol.predictionLow);\r\n },\r\n PredictionHigh() {\r\n return this.symbol.predictionHigh == 0 ? '-' : formatPrice(this.symbol.predictionHigh);\r\n },\r\n mode() {\r\n return 'portfolio-' + formatDateQuery(this.date);\r\n },\r\n },\r\n components: {\r\n RangeContainer,\r\n WaitIndicator,\r\n TenDaysRow,\r\n PriceContent,\r\n OpenCloseCell,\r\n MktValue,\r\n RangeControl,\r\n ChartControl\r\n },\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioHistoryRow.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioHistoryRow.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioHistoryRow.vue?vue&type=template&id=d8c687fc&scoped=true&\"\nimport script from \"./PortfolioHistoryRow.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioHistoryRow.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioHistoryRow.vue?vue&type=style&index=0&id=d8c687fc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d8c687fc\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport { clearInterval, setInterval } from 'timers';\r\nimport PortfolioHistoryRow from './PortfolioHistoryRow.vue';\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\n\r\nimport vue from 'vue'\r\n\r\nexport default vue.extend({\r\n props: {\r\n items: Array,\r\n portfolio: Object\r\n },\r\n data() {\r\n return {\r\n delay: { show: 100, hide: 1000 },\r\n DropdownClasses: {\r\n ItemClass: '',\r\n BtnClass: 'dropdown-toggle PortfolioToolbar__Button',\r\n DisabledBtnClass: 'dropdown-toggle PortfolioToolbar__Button btn-gray'\r\n }\r\n };\r\n },\r\n components: {\r\n PortfolioHistoryRow,\r\n WaitIndicator\r\n }\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioHistoryTable.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioHistoryTable.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioHistoryTable.vue?vue&type=template&id=6a44385e&\"\nimport script from \"./PortfolioHistoryTable.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioHistoryTable.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioHistoryTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import PortflioHistoryTable from './PortfolioHistoryTable.vue';\r\nimport WaitIndicator from \"@/components/Common/WaitIndicator\";\r\nimport LinkToTradespoon from '@/components/LinkToTradespoon.vue'\r\nimport vue from 'vue'\r\nimport axios from 'axios'\r\nimport {clearCookie, getCookie, setCookie} from '../../utils/cookies';\r\n\r\nconst GUIDE_COOKIE = 'PORTF_GUIDE_SHOWN';\r\nexport default vue.extend({\r\n name:'PortflioPage',\r\n components: {\r\n PortflioHistoryTable, WaitIndicator,LinkToTradespoon\r\n },\r\n props:{\r\n portfolio: Object,\r\n dayHistory: Array\r\n },\r\n async mounted(){\r\n \r\n this.$tours['YTour'].start();\r\n const rsp = await axios.get('/json/portfolio.json'); \r\n this.config = rsp.data; \r\n this.links = this.config.links;\r\n\r\n if (this.shouldShowGuide()) { \r\n this.showGuide();\r\n this.setSkipGuide();\r\n }\r\n \r\n },\r\n data(){\r\n return {\r\n config: null,\r\n symbols: '',\r\n selected: null,\r\n assetType: null,\r\n steps: [],\r\n links: [],\r\n dates: [],\r\n }\r\n },\r\n methods:{\r\n handleCb(cb){\r\n this[cb](); \r\n },\r\n shouldShowGuide() {\r\n return getCookie(GUIDE_COOKIE) !== 'true';\r\n },\r\n showGuide(){\r\n this.steps = this.config.tour;\r\n this.$refs[\"vtour\"].start();\r\n },\r\n setSkipGuide() {\r\n setCookie(GUIDE_COOKIE, 'true');\r\n }\r\n \r\n }\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioHistory.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioHistory.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioHistory.vue?vue&type=template&id=f561296c&scoped=true&\"\nimport script from \"./PortfolioHistory.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioHistory.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioHistory.vue?vue&type=style&index=0&id=f561296c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f561296c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-responsive voffset20\"},[_c('table',{staticClass:\"table watchlist\",attrs:{\"width\":\"100%\",\"cellspacing\":\"0\",\"cellpadding\":\"0\"}},[_vm._m(0),_c('tbody',_vm._l((_vm.dates),function(day,idx){return _c('tr',{key:idx},[_c('td',{attrs:{\"nowrap\":\"nowrap\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm._f(\"formatDate2\")(day.date)))]),_c('td',[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){_vm.$emit('loadHistory', {date:day.date})}}},[_vm._v(\"View \\n \"),_c('span',{staticClass:\"glyphicon glyphicon-eye-open\",attrs:{\"aria-hidden\":\"true\"}})])])])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Trading Date\")]),_c('th',[_vm._v(\"Pick Details\")])])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioHistoryDates.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PortfolioHistoryDates.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioHistoryDates.vue?vue&type=template&id=5e0deb19&\"\nimport script from \"./PortfolioHistoryDates.vue?vue&type=script&lang=js&\"\nexport * from \"./PortfolioHistoryDates.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FrameView',{attrs:{\"url\":\"https://www.tradespoon.com/members/ytltr.php\",\"title\":\"Live Trading Room Recordings\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTradingRoomRecordings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTradingRoomRecordings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveTradingRoomRecordings.vue?vue&type=template&id=44d41a1c&scoped=true&\"\nimport script from \"./LiveTradingRoomRecordings.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveTradingRoomRecordings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LiveTradingRoomRecordings.vue?vue&type=style&index=0&id=44d41a1c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44d41a1c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('OrderSearch',{on:{\"ordersSearch\":_vm.load}}),_c('OrderTable',{attrs:{\"editable\":false,\"hide-columns\":['Quantity','FillQuantity'],\"loading\":_vm.loading,\"loaded\":_vm.loaded,\"data\":_vm.orders,\"ErrorMessage\":_vm.ErrorMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('WaitIndicator',{attrs:{\"inprogress\":_vm.loading,\"error\":_vm.ErrorMessage}},[(_vm.loaded)?_c('div',{staticClass:\"TbLoadedWrapper\"},[_c('v-client-table',{ref:\"TbOrderTable\",attrs:{\"id\":\"TbOrderTable\",\"data\":_vm.data,\"columns\":_vm.columns,\"options\":_vm.options},scopedSlots:_vm._u([{key:\"Date\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(row.Date))+\" \")])}},{key:\"OrderStatus\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(\" \"+_vm._s(_vm.getStatusVal(row.OrderStatus))+\" \")])}},{key:\"BidPrice\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPrice\")(row.BidPrice))+\" \")])}},{key:\"AskPrice\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPrice\")(row.AskPrice))+\" \")])}},{key:\"ActionDesc\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{domProps:{\"innerHTML\":_vm._s(_vm.getAction(row))}})}},{key:\"OrderType\",fn:function(ref){\nvar row = ref.row;\nreturn _c('PriceCell',{attrs:{\"fixed\":!_vm.editable,\"order\":row}})}},{key:\"Actions\",fn:function(ref){\nvar row = ref.row;\nreturn (_vm.editable)?_c('OrderActionMenu',{attrs:{\"order\":row}}):_vm._e()}},{key:\"child_row\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('h5',{staticClass:\"TbOrderTable_RowDetailsHeader\"},[_vm._v(\"Details:\")]),(row.FilledQuantity)?_c('span',[_vm._v(\"FilledQuantity:\"+_vm._s(row.FilledQuantity)+\",\")]):_vm._e(),_c('span',[_vm._v(\"Underlying:\")]),_vm._v(_vm._s(row.UnderlyingSymbol)+\"\\n \"),_c('span',[_vm._v(\"Duration:\")]),_vm._v(_vm._s(_vm.getDurationVal(row.Duration))+\"\\n \"),_c('div',{staticClass:\"TbOrderTable__RowLegDescription\"},[_vm._v(_vm._s(_vm.Leg0Description(row)))]),_c('div',{staticClass:\"TbOrderTable__RowLegDescription\"},[_vm._v(_vm._s(_vm.Leg1Description(row)))])]}}])},[_c('template',{slot:\"beforeTable\"},[_c('TableScroller',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"id\":\"#TbOrderTable\",\"outerWidth\":_vm.scrollContWidth,\"width\":_vm.scrollWidth},model:{value:(_vm.scrollLeft),callback:function ($$v) {_vm.scrollLeft=$$v},expression:\"scrollLeft\"}})],1)],2)],1):_c('div',[(_vm.ErrorMessage && _vm.ErrorMessage.length>0)?_c('div',[_c('h4',{staticClass:\"center-text\"},[_vm._v(\"Error:\"+_vm._s(_vm.ErrorMessage))])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrderTable.vue?vue&type=template&id=2ff16c2e&\"\nimport script from \"./OrderTable.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OrderTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding-bottom\":\"2px\"},attrs:{\"id\":\"SearchOrderBox\"}},[_c('div',{staticClass:\"bordered-cell boxes-area\",staticStyle:{\"border-style\":\"dotted\",\"padding\":\"3px\",\"position\":\"relative\"}},[_c('div',{staticClass:\"orders-form-row\",staticStyle:{\"display\":\"inline-flex\",\"flex-wrap\":\"wrap\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"orders-form-period\"},[_c('div',{staticClass:\"order-form-item\"},[_vm._m(0),_c('Dropdown',{staticStyle:{\"display\":\"block\"},attrs:{\"unset_label\":\"Periods:\",\"id\":\"OrderSearchBox_PeriodSelect\",\"BtnStyle\":\"width:7em;\",\"obj\":_vm.Periods,\"value\":_vm.Period,\"disabled\":_vm.IsWorkingOrderFilter},on:{\"input\":_vm.change}})],1),_c('div',{staticClass:\"order-form-item\"},[_vm._m(1),_c('Datepicker',{attrs:{\"disabled\":_vm.IsWorkingOrderFilter},model:{value:(_vm.From),callback:function ($$v) {_vm.From=$$v},expression:\"From\"}})],1),_c('div',{staticClass:\"order-form-item\"},[_vm._m(2),_c('Datepicker',{attrs:{\"disabled\":_vm.IsWorkingOrderFilter},model:{value:(_vm.To),callback:function ($$v) {_vm.To=$$v},expression:\"To\"}})],1)]),_c('div',{staticClass:\"order-form-item\"},[_vm._m(3),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.Symbol),expression:\"Symbol\"}],staticClass:\"form-control form-inline\",attrs:{\"id\":\"OrderSearchBox_SymbolSelect\",\"type\":\"text\"},domProps:{\"value\":(_vm.Symbol)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.Symbol=$event.target.value}}})]),_c('div',{staticClass:\"order-form-item\"},[_c('label',{staticClass:\"symbol-label\"},[_vm._v(\"Working:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.IsWorkingOrderFilter),expression:\"IsWorkingOrderFilter\"}],attrs:{\"type\":\"checkbox\",\"id\":\"OrderSearchBox__FilterWorking\"},domProps:{\"checked\":Array.isArray(_vm.IsWorkingOrderFilter)?_vm._i(_vm.IsWorkingOrderFilter,null)>-1:(_vm.IsWorkingOrderFilter)},on:{\"change\":function($event){var $$a=_vm.IsWorkingOrderFilter,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.IsWorkingOrderFilter=$$a.concat([$$v]))}else{$$i>-1&&(_vm.IsWorkingOrderFilter=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.IsWorkingOrderFilter=$$c}}}})]),_c('div',{staticClass:\"OrderSearchBox_CmdGroup\"},[_c('div',{staticClass:\"order-form-item OrderSearchBox_Cmd_Item \",on:{\"click\":_vm.searchBtnClick}},[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"SearchOrderBox_SearchBtn\",\"value\":\"Search\"}},[_c('b-icon',{attrs:{\"icon\":\"search\"}})],1)]),_c('div',{staticClass:\"order-form-item OrderSearchBox_Cmd_Item\",on:{\"click\":_vm.resetBtnClick}},[_c('a',{staticClass:\"btn btn-red\",attrs:{\"id\":\"OrderSearchBox_resetBtn\",\"value\":\"Reset\"}},[_vm._v(\"Reset\")])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{},[_c('label',{staticClass:\"symbol-label\",attrs:{\"for\":\"OrderSearchBox_PeriodSelect\"}},[_vm._v(\" Periods:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{staticClass:\"symbol-label\",staticStyle:{\"display\":\"inline-block\"}},[_vm._v(\"From:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{staticClass:\"symbol-label\",staticStyle:{\"display\":\"inline-block\"},attrs:{\"id\":\"OrderSearchBox__PeriodToLabel\"}},[_vm._v(\"To:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{staticClass:\"symbol-label\",attrs:{\"for\":\"OrderSearchBox_SymbolSelect\"}},[_vm._v(\" Symbol:\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport TradingBlockRemote, {GetRefClientId, Filter, padStart} from \"../../services/TradingBlockRemote\";\nimport Component from 'vue-class-component'\nimport {Prop, Watch, Vue, Emit, Inject} from 'vue-property-decorator'\nimport {OrderStatusMap} from \"../../domain/TbMaps\";\nimport {Messages, OrderMessages} from \"../../services/EventBus\";\nimport {addDays} from \"../../utils/vue_utils\";\nimport {OrderDuration, OrderStatus} from \"../../domain/types\";\n\nimport {Datepicker, Dropdown,DurationRadioGroup} from '../Common'\n\n@Component({\n components: {Datepicker,Dropdown,DurationRadioGroup }\n})\nexport default class OrderSearch extends Vue {\n Periods= { 0:'Today',7:'Last 7 Days',30:'Last 30 Days',60:'Last 60 Days',90:'Last 90 Days'};\n Period: number=0;\n Symbol: string=\"\";\n //From: string=\"\";\n //To:string=\"\";\n ToDateError: string=\"\";\n FromDateError: string =\"\" ;\n OrderStatusId: number=-1;\n utcOffset: string=\"\";\n AssetType:number=0;\n Duration: OrderDuration=OrderDuration.Unknown;\n IsWorkingOrderFilter:boolean= false;\n StatusMap: any = OrderStatusMap as any;\n filter: Filter={\n pageIndex : 1,\n pageSize: 100,\n //ExcludeDurationId: 4\n } as Filter;\n\n public from:string=\"\";\n get From(){\n return this.from;\n }\n set From(val:string){\n if (this.Period!=-1){\n this.Period=-1;\n }\n this.from= val;\n }\n public to:string=\"\";\n get To(){\n return this.to;\n }\n set To(val:string){\n if (this.Period!=-1){\n this.Period=-1;\n }\n this.to = val;\n }\n advanced: boolean = false;\n toggleAdvanced(){\n if (this.advanced){\n this.Duration = OrderDuration.Unknown;\n this.OrderStatusId = OrderStatus.Undefined;\n this.AssetType = 0;\n this.advanced = false;\n } else\n this.advanced = true;\n\n this.setAdvanced(this.advanced);\n\n }\n\n @Emit('advanced')\n setAdvanced(v:boolean){\n\n }\n\n get ChevronClass(){\n return this.advanced?'glyphicon glyphicon-chevron-up':'glyphicon glyphicon-chevron-down';\n }\n\n\n change(val:number){\n this.Period = val;\n if (this.Period>=0 ) {\n\n let orig = new Date();\n let targetOffset = 5*60*60*1000;\n //let localOffset = (new Date()).getTimezoneOffset()*60*1000;\n\n orig.setTime(orig.getTime()- targetOffset);\n\n this.from = addDays(orig, -this.Period).toISOString().split('T')[0];\n this.to = (orig).toISOString().split('T')[0];\n }\n }\n\n sft_ui: boolean = false;\n created(){\n if(process.env.VUE_APP_SFT_ACCESS) this.sft_ui= true;\n }\n mounted(){\n // var dat = (new Date()).toISOString().split('T')[0];\n // this.From = dat;\n // this.To = dat;\n\n //if ( $('#OrderSearchBox_PeriodFrom').type != 'date' && $('#OrderSearchBox_PeriodFrom').datepicker) $('#OrderSearchBox_PeriodFrom').datepicker({ dateFormat: 'dd-mm-yy' });\n //if ( $('#OrderSearchBox_PeriodTo').type != 'date' && $('#OrderSearchBox_PeriodTo').datepicker) $('#OrderSearchBox_PeriodTo').datepicker({ dateFormat: 'dd-mm-yy' });\n var minutes = new Date().getTimezoneOffset()*10/6;\n var minus = minutes<0;\n\n this.utcOffset =\"+\"+(minus?\"+\":\"-\")+ padStart((Math.abs(minutes)).toString(),4,\"0\");\n this.change(this.Period);\n }\n\n searchBtnClick(){\n this.filter= {\n //IsWorkingOrderFilter: false,\n //pageIndex: 1,\n //PageSize: 50,\n //,\n\n }as any;\n\n\n\n\n if (this.Symbol && this.Symbol.length>0) this.filter.symbol = this.Symbol;\n if (this.From) this.filter.dateFrom = this.From;//;\"/Date(\"+Date.parse(this.From )+this.utcOffset+\")/\";;\n if (this.To) this.filter.dateTo = this.To;//\"/Date(\"+Date.parse(this.To )+this.utcOffset+\")/\";\n\n if (this.Period)\n if (this.OrderStatusId>0) this.filter.orderStatusId = this.OrderStatusId; else delete this.filter.orderStatusId;\n if (this.AssetType) this.filter.SecurityTypeId=this.AssetType;\n if (this.Duration!=OrderDuration.Unknown) this.filter.durationId = this.Duration; else delete this.filter.durationId;\n if (this.IsWorkingOrderFilter) this.filter.WorkingOrdersOnly= true; else delete this.filter.WorkingOrdersOnly;\n this.filter.pageIndex = 0 ;\n this.filter.pageSize = 50;\n this.search(this.filter);\n }\n\n resetBtnClick(){\n this.reset();\n }\n\n @Emit(OrderMessages.OrdersSearch as string)\n search(filter:Filter){\n\n }\n\n reset(){\n this.Period=-1;\n this.Symbol =\"\";\n this.From=\"\";\n this.To=\"\";\n this.ToDateError=\"\";\n this.FromDateError =\"\" ;\n this.OrderStatusId = -1;\n this.filter= {\n pageIndex: 1,\n pageSize: 100,\n } as Filter;\n }\n}\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderSearchOneLine.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderSearchOneLine.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderSearchOneLine.vue?vue&type=template&id=bab82bbc&\"\nimport script from \"./OrderSearchOneLine.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrderSearchOneLine.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OrderSearchOneLine.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from 'vue-class-component'\nimport {Prop, Watch, Vue, Emit, Inject} from 'vue-property-decorator'\n\nimport OrderTable from './OrderTable.vue'\nimport OrderSearch from \"./OrderSearchOneLine.vue\";\nimport {\n OrderDuration,\n OrderStatus,\n Portfolio} from \"../../domain/types\";\nimport TradingBlockRemote, {\n GetRefClientId,\n Filter,\n OrderResponse,\n GetQuotesForOrders, addQuotesToOrders, GetQuotesForEliteOrders\n} from \"../../services/TradingBlockRemote\";\nimport {EventBus, Messages, OrderBus, OrderMessages} from \"../../services/EventBus\";\nimport RefreshButton from \"../Common/RefreshButton.vue\";\nimport {error} from \"../../utils/log\";\nimport {extractJsonDate, formatDate} from \"../../utils/formatters\";\nimport {ErrorCodeMap, OrderClassMap, OrderDurationMap, OrderStatusMap, OrderTypeMap} from \"../../domain/TbMaps\";\nimport {CancelOrderRequest, EditOrderRequest} from \"../../domain/DTO\";\nimport {Order, TableOrder} from \"../../domain/Order\";\nimport EliteOrdersService from \"../../services/EliteOrders\";\nimport {addDays} from \"../../utils/vue_utils\";\n\n@Component({\n components: {RefreshButton, OrderSearch, OrderTable}\n})\n\nclass EliteOrdersBlock extends Vue {\n loading: boolean = false;\n loaded: boolean = false;\n filter: Filter = {pageIndex: 0, pageSize:50} as Filter;\n xhr: XMLHttpRequest|null=null;\n orders: TableOrder[]=[];\n totalCount: number = 0;\n @Prop()\n portfolio: Portfolio;\n\n //navigation\n get totalPages(){\n if (this.totalCount && this.filter && this.filter.pageSize)\n return Math.ceil(this.totalCount / (this.filter!.pageSize? this.filter!.pageSize!: 50));\n }\n\n navigate(i:number){\n this.filter.pageIndex = i - 1;\n this.load(this.filter);\n }\n\n created(){ \n let orig = new Date();\n let targetOffset = 5*60*60*1000;\n //let localOffset = (new Date()).getTimezoneOffset()*60*1000;\n\n orig.setTime(orig.getTime()- targetOffset);\n\n var dat = (orig).toISOString().split('T')[0];\n //var nextDay = addDays(orig,1).toISOString().split('T')[0];\n\n\n this.filter.dateFrom = dat;\n this.filter.dateTo = dat;\n this.refresh(); \n }\n\n refresh(){\n OrderBus.$emit(OrderMessages.OrdersRefresh);\n this.filter.pageIndex = 0;\n this.load(this.filter);\n }\n\n async load(filter: Filter, ev?:any){\n this.filter = filter;\n\n this.loading = true;\n this.filter.ExcludeDurationId = OrderDuration.Manual;\n\n\n\n let query:Filter = {...this.filter} as Filter;\n if (this.filter.dateTo){\n let orig =new Date(this.filter.dateTo);\n // move to utc\n //orig.setTime(orig.getTime()+orig.getTimezoneOffset()*60*1000);\n\n query.dateTo=\n addDays(orig,1).toISOString().split('T')[0];\n }\n\n if (this.filter.dateFrom) {\n let orig =new Date(this.filter.dateFrom);\n //orig.setTime(orig.getTime()+orig.getTimezoneOffset()*60*1000);\n query.dateFrom = orig.toISOString().split('T')[0];\n }\n\n\n if (query.WorkingOrdersOnly) query.WorkingOrdersOnly=true; else delete query.WorkingOrdersOnly;\n\n try {\n const response = await EliteOrdersService.loadOrders(this.portfolio.id, query);\n let payload = response.Payload; \n this.totalCount = payload!.TotalNumOfAvailableItems;\n const quotes = await GetQuotesForEliteOrders(this.portfolio.id, payload);\n for (let i = 0; i < payload.Items.length; i++) {\n payload.Items[i].OrderId = i;\n }\n this.orders = addQuotesToOrders(payload, quotes); \n this.loaded = true;\n this.loading = false;\n this.ErrorMessage =\"\";\n //this.$store.commit('orders/loadedOrders', this.orders);\n } catch (status) {\n error.log(\"Orders load fail with \"+status);\n this.loaded = false;\n this.loading = false;\n const statusNumber = status;\n if (statusNumber>0)\n this.ErrorMessage=ErrorCodeMap[statusNumber];\n else\n this.ErrorMessage =\"Server or network error: \"+ Math.abs(statusNumber) + \". Please, report via email\";\n\n }\n\n }\n\n ErrorMessage:string=\"\";\n name='OrdersBlock'\n}\n\nexport default EliteOrdersBlock;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EliteOrdersBlock.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EliteOrdersBlock.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EliteOrdersBlock.vue?vue&type=template&id=56bdfa21&\"\nimport script from \"./EliteOrdersBlock.vue?vue&type=script&lang=ts&\"\nexport * from \"./EliteOrdersBlock.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EliteOrdersBlock.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('PositionTable',{attrs:{\"loading\":_vm.loading,\"loaded\":_vm.loaded,\"rows\":_vm.tableData,\"ErrorMessage\":_vm.ErrorMessage,\"Summary\":_vm.summary}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('WaitIndicator',{attrs:{\"inprogress\":_vm.loading,\"error\":_vm.ErrorMessage}},[(_vm.loaded)?_c('div',{staticClass:\"TbLoadedWrapper\"},[(_vm.loaded)?_c('v-client-table',{attrs:{\"id\":\"TbPositionTable\",\"data\":_vm.rows,\"columns\":_vm.columns,\"options\":_vm.options},scopedSlots:_vm._u([{key:\"DateOpened\",fn:function(props){return _c('span',{},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.DateOpened))+\" \")])}},{key:\"BasisPerShare\",fn:function(props){return _c('span',{},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(props.row.BasisPerShare)))])}},{key:\"Ask\",fn:function(props){return _c('span',{},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(props.row.AskPrice)))])}},{key:\"Bid\",fn:function(props){return _c('span',{},[_vm._v(_vm._s(_vm._f(\"formatPrice\")(props.row.BidPrice)))])}},{key:\"UnderlyingPrice\",fn:function(props){return _c('span',{},[_vm._v(\" \"+_vm._s(_vm._f(\"formatPrice\")(props.row.UnderlyingPrice))+\" \")])}},{key:\"child_row\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('PositionDetails',{attrs:{\"row\":row}})]}}])},[_vm._v(\"-->\\n \"),_c('template',{slot:\"beforeTable\"},[_c('TableScroller',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"id\":\"#TbPositionTable\",\"width\":_vm.scrollWidth,\"outerWidth\":_vm.scrollContWidth},model:{value:(_vm.scrollLeft),callback:function ($$v) {_vm.scrollLeft=$$v},expression:\"scrollLeft\"}})],1)],2):_vm._e()],1):_c('div',[(_vm.ErrorMessage && _vm.ErrorMessage.length>0)?_c('div',[_c('h4',{staticClass:\"center-text\"},[_vm._v(\"Error:\"+_vm._s(_vm.ErrorMessage))])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PositionTable.vue?vue&type=template&id=3aa05a7d&\"\nimport script from \"./PositionTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./PositionTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PositionTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\nimport Component from 'vue-class-component'\nimport {Prop, Watch, Vue, Emit, Inject} from 'vue-property-decorator'\n\n\nimport {RefreshButton,Scrollable} from \"../Common\";\nimport PositionTable from \"./PositionTable.vue\";\nimport {EventBus, Messages, OrderBus, OrderMessages, PositionBus, PositionMessages} from \"../../services/EventBus\";\nimport TradingBlockRemote from \"../../services/TradingBlockRemote\";\nimport {ErrorCodeMap} from \"../../domain/TbMaps\";\nimport {extractJsonDate} from \"../../utils/formatters\";\nimport {AssetType, CharAssetType, Quote, Portfolio} from \"../../domain/types\";\nimport {Position} from \"../../domain/Position\";\nimport { fixUtcFormat } from '../../utils/vue_utils';\n\n@Component({\n components: {PositionTable, RefreshButton, Scrollable}\n})\n\nclass PositionBlock extends Vue{\n AccountNumber: string = '';\n summary:any = null;\n loading: boolean = false;\n loaded: boolean = false;\n response:any;\n xhr?:XMLHttpRequest;\n ErrorMessage:string=\"\"; \n @Prop() \n portfolio: Portfolio;\n \n refresh () {\n PositionBus.$emit(PositionMessages.PositionRefresh);\n this.load();\n }\n onLoad(){\n this.AccountNumber = TradingBlockRemote.AccountNumber;\n this.ErrorMessage = \"\";\n this.loading = false;\n this.loaded = true;\n this.ErrorMessage=\"\";\n }\n onFailure(status:number){\n if (status>0)\n this.ErrorMessage = ErrorCodeMap[status];\n else\n this.ErrorMessage =\"Server or network error: \"+ Math.abs(status) + \". Please, report via email\";\n this.summary = null;\n this.loading = false;\n this.loaded = false;\n }\n load(){\n this.loading = true;\n this.update();\n }\n loadOnShow(name:string){\n console.log('created')\n if (name == \"#positionstab\")\n this.load();\n }\n created(){\n console.log('created')\n this.load(); \n }\n beforeDestroy() {\n EventBus.$off(Messages.TabChanged, this.loadOnShow);\n }\n tableData: any[]= [];\n update(){\n this.summary = null;\n new TradingBlockRemote({onComplete: async (response:any)=>{\n const positions:Position[] = response.d as Position[];\n if (positions.length === 0) {\n this.ErrorMessage =\"No positions found\";\n this.loading = false;\n this.loaded = false;\n return;\n }\n\n this.tableData = await this.getDataForTable(this.portfolio.id, positions);\n this.onLoad();\n },onFailure:(code:number)=>{\n this.onFailure(code);\n }}).GetPositions(this.portfolio.id);\n\n }\n\n async getDataForTable(id: number, positions: Position[]){\n try {\n const response = await TradingBlockRemote.getQuotesForPositions(id, positions.map((o:Position)=>o.Symbol));\n const quotes = response.d;\n if (!quotes || quotes.length==0) throw new Error(\"no quotes found for list of positions of \" + positions.length);\n let totalCurrentValue = 0;\n let totalTotalCostBasis = 0;\n let totalUnrealizedGain = 0;\n let totalNetChange = 0;\n let i = -1;\n let tableContent :any[]= positions.map(function (e:Position) {\n i++;\n let quote = quotes.find(function (q:Quote) {\n return q.Symbol === e.Symbol;\n });\n if (!quote) {\n return {\n Symbol: e.Symbol,\n Description: e.Description,\n AssetType: e.AssetType,\n\n CostBasis: parseFloat(e.CostBasis!.toFixed(2)),\n OpenQuantity: e.OpenQuantity,\n N: i\n }\n }\n let cur_val:number;\n if (e.AssetType === AssetType.Option) {\n cur_val = e.OpenQuantity * quote.LastTradePrice! * e.OptionMultiplier!;\n if (!e.Underlying) e.Underlying= e.Symbol.split(' ')[0];\n }else\n cur_val = e.OpenQuantity * quote.LastTradePrice!;\n let total_cost = e.OpenQuantity * e.CostBasis!;\n\n totalCurrentValue += cur_val;\n totalTotalCostBasis += total_cost;\n totalUnrealizedGain += (cur_val - total_cost);\n totalNetChange += quote.NetChange;\n\n let o = {\n StrategyTypeId: e.StrategyTypeId,\n GroupId: e.GroupId,\n SubaccountId:e.SubaccountId,\n AccountId: e.AccountId,\n HasWorkingOpenOrder: e.HasWorkingOpenOrder,\n HasWorkingCloseOrder: e.HasWorkingCloseOrder,\n\n //NoOfLegs: e.NoOfLegs,\n Commission: e.Commission,\n OpenPrice: e.OpenPrice,\n DateOpened: null,\n UnderlyingPrice: e.AssetType === AssetType.Option ? quote.UnderlyingPrice : quote.LastTradePrice,\n Symbol: e.Symbol,\n Description: quote.Description,\n AssetType: e.AssetType,\n Underlying: e.Underlying,\n AskPrice: (quote.AskPrice != null) ? quote.AskPrice : \"\",\n OpenQuantity: e.OpenQuantity,\n //TotalCostBasis : total_cost.formatPrice() ,\n CurrentValue: cur_val,\n BidPrice: (quote.BidPrice != null) ? quote.BidPrice : \"\",\n NetChange: (quote.NetChange != null) ? quote.NetChange : \"\",\n N: i\n };\n if (e.DateOpened){\n o.DateOpened=new Date(fixUtcFormat(e.DateOpened))\n }\n\n if (e.CostBasis){\n o.CostBasis= parseFloat(e.CostBasis.toFixed(2));\n let divider = e.OptionMultiplier ? o.OpenQuantity * e.OptionMultiplier : o.OpenQuantity;\n o.BasisPerShare = Math.sign(o.OpenQuantity) * e.CostBasis / divider;\n o.UnrealizedGain= cur_val - e.CostBasis;\n }\n\n o.AccountId = e.AccountId;\n o.SubaccountId = e.SubaccountId;\n o.GroupId = e.GroupId;\n \n return o;\n });\n\n let footerContent = {\n DateOpened:\"\",\n Symbol:\"\",\n AssetType:\"\",\n UnderlyingPrice:\"\",\n //AskPrice:\"Total:\",\n //BidPrice:\"\",\n //CostBasis: \"\",\n OpenQuantity:\"\",\n //TotalCostBasis : totalTotalCostBasis.formatPrice() ,\n //CurrentValue: totalCurrentValue ,\n //UnrealizedGain: totalUnrealizedGain ,\n NetChange: totalNetChange\n };\n this.summary = footerContent;\n //tableContent.push(footerContent);\n return tableContent;\n\n } catch (e) {\n console.error(e);\n throw new Error(\"Quotes api error\");\n }\n\n }\n}\n\nexport default PositionBlock;\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionBlock.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PositionBlock.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PositionBlock.vue?vue&type=template&id=592305fe&scoped=true&\"\nimport script from \"./PositionBlock.vue?vue&type=script&lang=ts&\"\nexport * from \"./PositionBlock.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"592305fe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._m(0),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"sms-form\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"myModalLabel\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_vm._m(1),_c('div',{staticClass:\"modal-body text-center clearfix\",staticStyle:{\"min-height\":\"200px\"}},[_c('p',[_vm._v(\"Enter your mobile number to receive updates via SMS\")]),_c('label',{staticClass:\"sr-only control-label\",attrs:{\"for\":\"inputPhone\"}},[_vm._v(\"Email\")]),_c('div',{staticClass:\"form-group has-success has-feedback\"},[_c('input',{staticClass:\"form-control input-lg numbersonly\",attrs:{\"type\":\"search\",\"id\":\"sms-phone\",\"name\":\"phone\",\"placeholder\":\"Please enter your mobile number\"},domProps:{\"value\":_vm.userInfo.phone}}),_c('span',{staticClass:\"glyphicon form-control-feedback\",attrs:{\"aria-hidden\":\"true\"}})]),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"whichalerts\",\"id\":\"filledtrades\",\"value\":\"1\"}}),_c('button',{staticClass:\"btn btn-default btn-block btn-lg\",attrs:{\"id\":\"sms-form-submit\",\"data-dismiss\":\"modal\"},on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")]),_c('div',{attrs:{\"id\":\"response\"}})]),_vm._m(2)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row sms-alert\"},[_c('div',{staticClass:\"col-md-10\"},[_c('h1',[_vm._v(\"Elite SMS Alerts\")]),_c('p',{staticClass:\"subdued\"},[_vm._v(\"Please click the button below to register your mobile number, and we will send SMS messages whenever new trades are placed.\")]),_c('p',[_c('a',{staticClass:\"btn btn-primary btn-lg\",attrs:{\"href\":\"javascript:void:(0)\",\"data-target\":\"#sms-form\",\"data-toggle\":\"modal\"}},[_vm._v(\"Receive SMS Alerts\")])])]),_c('div',{staticClass:\"col-md-2\"},[_c('img',{staticClass:\"roundedimage img-responsive center-block\",attrs:{\"alt\":\"Trading Guide\",\"src\":\"/images/icon-mobile-alert.png\"}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"Enable SMS Alerts\")]),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-footer\"},[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\",\"data-dismiss\":\"modal\"}},[_vm._v(\"Close\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./EliteSMSAlerts.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./EliteSMSAlerts.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EliteSMSAlerts.vue?vue&type=template&id=a78fe1de&\"\nimport script from \"./EliteSMSAlerts.js?vue&type=script&lang=js&\"\nexport * from \"./EliteSMSAlerts.js?vue&type=script&lang=js&\"\nimport style0 from \"./EliteSMSAlerts.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row\",staticStyle:{\"margin\":\"auto\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"col-md-10\",staticStyle:{\"padding\":\"15px\"}},[_c('h1',[_vm._v(\"AI Analysis\")]),_c('p',{staticClass:\"subdued\"},[_vm._v(\"Analyze any stocks using our AI software by entering stock symbol:\")]),_c('div',{staticClass:\"row\"},[_vm._m(0),_c('div',{staticClass:\"col-3\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"ai-analyze-submit\"},on:{\"click\":_vm.submit}},[_vm._v(\"AI Analyze\")])]),_vm._m(1)])]),_vm._m(2),(_vm.isShow)?_c('PortflioTable',{attrs:{\"items\":_vm.items,\"portfolio\":_vm.portfolio}}):_vm._e()],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-6\"},[_c('input',{staticClass:\"form-control form-inline\",attrs:{\"id\":\"ai-analyze\",\"placeholder\":\"Enter symbol\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-3\"},[_c('label',{staticStyle:{\"color\":\"red\"},attrs:{\"id\":\"info-labe-ai-analyze\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-2\"},[_c('img',{staticClass:\"roundedimage img-responsive center-block\",attrs:{\"alt\":\"Trading Guide\",\"src\":\"/images/ai-analyze.png\"}})])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./AiAnalysis.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./AiAnalysis.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AiAnalysis.vue?vue&type=template&id=1978de4c&\"\nimport script from \"./AiAnalysis.js?vue&type=script&lang=js&\"\nexport * from \"./AiAnalysis.js?vue&type=script&lang=js&\"\nimport style0 from \"./AiAnalysis.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import PortflioTable from './PortfolioTable.vue';\r\nimport PortflioOptionTable from './PortfolioOptionTable.vue';\r\nimport PortflioHistory from './PortfolioHistory.vue';\r\nimport PortflioHistoryDates from './PortfolioHistoryDates.vue';\r\nimport PortflioHistoryTable from './PortfolioHistoryTable.vue';\r\nimport WaitIndicator from \"@/components/Common/WaitIndicator\";\r\nimport LinkToTradespoon from '@/components/LinkToTradespoon.vue'\r\nimport LiveTradingRoomRecordings from './LiveTradingRoomRecordings.vue';\r\nimport vue from 'vue'\r\nimport axios from 'axios'\r\nimport { clearCookie, getCookie, setCookie } from '../../utils/cookies';\r\nimport { formatDateQuery, formatDate2 } from '../../utils/formatters'\r\nimport EliteOrdersBlock from '../../components/Orders/EliteOrdersBlock.vue'\r\nimport PositionBlock from '../../components/Positions/PositionBlock.vue'\r\nimport EliteSMSAlerts from './EliteSMSAlerts.vue'\r\nimport AiAnalysis from './AiAnalysis.vue'\r\nimport $ from 'jquery';\r\nimport 'slick-carousel';\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\n\r\nconst GUIDE_COOKIE = 'PORTF_GUIDE_SHOWN';\r\nexport default vue.extend({\r\n name: 'PortflioPage',\r\n components: {\r\n PortflioTable,\r\n PortflioOptionTable,\r\n WaitIndicator,\r\n LinkToTradespoon,\r\n PortflioHistory,\r\n PortflioHistoryDates,\r\n PortflioHistoryTable,\r\n LiveTradingRoomRecordings,\r\n EliteOrdersBlock,\r\n PositionBlock,\r\n EliteSMSAlerts,\r\n AiAnalysis\r\n },\r\n props: {\r\n portfolio: Object,\r\n items: Array,\r\n dayHistory: Array,\r\n trialInfo: Object,\r\n tabInfo: Object,\r\n userInfo: Object,\r\n loadStockRangeData: Function,\r\n },\r\n async mounted() {\r\n\r\n const {\r\n width\r\n } = this.$refs.container.getBoundingClientRect();\r\n\r\n this.width = width;\r\n this.$tours['YTour'].start();\r\n const rsp = await axios.get('/json/portfolio.json');\r\n this.config = rsp.data;\r\n this.links = this.config.links;\r\n if(this.config.level) {\r\n this.level = parseFloat(this.config.level);\r\n }\r\n\r\n const help = this.config.helps.find((help) => { \r\n return help.portfolio === this.portfolio.slug;\r\n })\r\n\r\n if (help) {\r\n this.cards = help.cards;\r\n }\r\n\r\n if (this.shouldShowGuide()) {\r\n this.showGuide();\r\n this.setSkipGuide();\r\n }\r\n\r\n const resizeHandler = entries => {\r\n for (let entry of entries) {\r\n this.width = entry.contentRect.width;\r\n }\r\n };\r\n if (window.ResizeObserver) {\r\n const mo = new ResizeObserver(resizeHandler);\r\n\r\n mo.observe(this.$refs.container);\r\n }\r\n $('#video .mediaTabsSlick').slick({\r\n infinite: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n appendArrows: $('.arrow-wrapper0'),\r\n appendDots: $('.dots-wrapper0'),\r\n dots: true,\r\n customPaging: function customPaging(slider, i) {\r\n return '' + (i + 1) + ' of ' + slider.slideCount + '';\r\n }\r\n\r\n });\r\n $('#guides .mediaTabsSlick').slick({\r\n infinite: true,\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n dots: true,\r\n appendArrows: $('.arrow-wrapper1'),\r\n appendDots: $('.dots-wrapper1'),\r\n customPaging: function customPaging(slider, i) {\r\n return '' + (i + 1) + ' of ' + (slider.slideCount / 3) + '';\r\n }\r\n\r\n });\r\n $('a[data-toggle=\"tab\"]').on('click', function(e) {\r\n console.log(document.querySelectorAll('.mediaTabsSlick')[0].slick);\r\n document.querySelectorAll('.mediaTabsSlick')[0].slick.setPosition();\r\n });\r\n },\r\n data() {\r\n return {\r\n config: null,\r\n symbols: '',\r\n selected: null,\r\n assetType: null,\r\n steps: [],\r\n links: [],\r\n width: 1110,\r\n selected_dates: [],\r\n tabs: [],\r\n current: 0,\r\n currentDate: null,\r\n refresh: true,\r\n levels: false,\r\n historicalQuotes: false,\r\n cards: [],\r\n level: 0.02,\r\n }\r\n },\r\n computed: {\r\n currentTitle() {\r\n return formatDate2(this.currentDate)\r\n }\r\n },\r\n methods: {\r\n tabsActivate(currentTabs) {\r\n requestAnimationFrame(() => {\r\n setTimeout(() => {\r\n document.querySelectorAll('.mediaTabsSlick').forEach((slick) => {\r\n slick.slick.setPosition();\r\n });\r\n });\r\n });\r\n },\r\n tabsUpdated(currentTabs) {\r\n this.tabs = currentTabs;\r\n if (this.currentTitle) {\r\n this.current = this.tabs.findIndex(e => e.title == this.currentTitle); \r\n } \r\n },\r\n closeTab(date) {\r\n this.selected_dates = this.selected_dates.filter(e => e.date != date)\r\n },\r\n tabsInput(index) {\r\n if(index > 1) {\r\n this.levels = false;\r\n }\r\n else {\r\n this.levels = true;\r\n }\r\n },\r\n async loadPortfolioHistory(date, histQuotes) {\r\n\r\n const d = date.getTime();\r\n\r\n this.$emit('loading', true);\r\n\r\n const idx = this.selected_dates.findIndex(e => e.date.getTime() === d)\r\n let query = '/api/portfolio/' + this.portfolio.id + '/history/' + formatDateQuery(date);\r\n if (histQuotes)\r\n query += '?historicalQuotes=true'\r\n const e = await axios.get(query);\r\n\r\n if (e.data.responseCode == 50) {\r\n this.page = 'root';\r\n this.$emit('fail', 'Data is not available for ' + date)\r\n return;\r\n }\r\n\r\n const updatedVal = { actions: e.data.payload, date: date, historicalQuotes: histQuotes }\r\n if (idx > -1) {\r\n this.$set(this.selected_dates, idx, updatedVal)\r\n } else\r\n this.selected_dates.push(updatedVal);\r\n\r\n this.currentDate = date\r\n\r\n this.$emit('loading', false);\r\n },\r\n updateSel(histChecked) {\r\n\r\n this.historyRefresh({ portfolio: this.portfolio, date: this.currentDate, historicalQuotes: histChecked })\r\n },\r\n async portfolioUp(e) { \r\n this.$emit('loading', true);\r\n await this.loadStockRangeData(this.portfolio.id, 'up', this.level);\r\n this.$emit('loading', false); \r\n },\r\n async portfolioDown(e) { \r\n this.$emit('loading', true);\r\n await this.loadStockRangeData(this.portfolio.id, 'down', this.level);\r\n this.$emit('loading', false); \r\n },\r\n async historyRefresh(e) {\r\n\r\n await this.loadPortfolioHistory(e.date, e.historicalQuotes)\r\n\r\n this.page = 'portfolio';\r\n this.$emit('loading', false);\r\n },\r\n handleCb(cb) {\r\n this[cb]();\r\n },\r\n shouldShowGuide() {\r\n return getCookie(GUIDE_COOKIE) !== 'true';\r\n },\r\n showGuide() {\r\n this.config.tour.forEach(item => {\r\n item.header.title = item.header.title.replace('{{title}}', this.portfolio.title);\r\n });\r\n this.steps = this.config.tour;\r\n this.$refs[\"vtour\"].start();\r\n },\r\n setSkipGuide() {\r\n setCookie(GUIDE_COOKIE, 'true');\r\n }\r\n\r\n }\r\n});","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioPage.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PortfolioPage.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PortfolioPage.vue?vue&type=template&id=1b210812&scoped=true&\"\nimport script from \"./PortfolioPage.js?vue&type=script&lang=js&\"\nexport * from \"./PortfolioPage.js?vue&type=script&lang=js&\"\nimport style0 from \"./PortfolioPage.vue?vue&type=style&index=0&id=1b210812&scoped=true&lang=css&\"\nimport style1 from \"./PortfolioPage.vue?vue&type=style&index=1&lang=css&\"\nimport style2 from \"./PortfolioPage.vue?vue&type=style&index=2&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b210812\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"performance mb-3\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"col-md-12\"},[_c('h1',[_vm._v(_vm._s(_vm.title)+\" Performance\"),_c('br'),_c('small',[_vm._v(\"Data from January 1, 2020 through \"+_vm._s(_vm._f(\"formatDateLong\")(_vm.today)))])])])]),_c('div',{staticClass:\"container BlogRoot\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-body\"},[_c('h3',[_vm._v(\"Our \"+_vm._s(_vm.title)+\" Performance Details As of \"+_vm._s(_vm._f(\"formatDateLong\")(_vm.today)))]),_c('div',{staticClass:\"voffset30 clearfix\"},[_c('table',{staticClass:\"table-condensed table-bordered table-striped performance-details mb-4\",attrs:{\"cellpadding\":\"0\",\"cellspacing\":\"0\",\"width\":\"100%\"}},[_c('tr',[_c('td',[_vm._v(\"Average Return Per Trade:\")]),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm._f(\"formatFixed\")(_vm.percentpertrade))+\"%\")])])]),_c('tr',[_c('td',[_vm._v(\"Winning Trades\")]),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm.wins))])])]),_c('tr',[_c('td',[_vm._v(\"Losing Trades\")]),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm.losses))])])]),_c('tr',[_c('td',[_vm._v(\"Breakeven Trades\")]),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm.breakeven))])])]),_c('tr',[_c('td',[_vm._v(\"Winning Trades Percentage\")]),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm._f(\"formatFixed\")(_vm.winspercent))+\"%\")])])]),_c('tr',[_c('td',[_vm._v(\"Backtest Initial Capital\")]),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm._f(\"formatPriceRound\")(_vm.initcash)))])])]),_c('tr',[_vm._m(0),_c('td',{attrs:{\"align\":\"right\"}},[_c('strong',{staticClass:\"bluetext\"},[_vm._v(_vm._s(_vm._f(\"formatPriceRound\")(_vm.finalcash)))])])]),_c('tr',[_c('td',{attrs:{\"bgcolor\":\"#66CC66\"}},[_vm._v(\"Backtest Net Gain\")]),_c('td',{attrs:{\"align\":\"right\",\"bgcolor\":\"#66CC66\"}},[_c('strong',{staticClass:\"bluetext\"},[_c('font',{attrs:{\"color\":\"black\"}},[_vm._v(_vm._s(_vm._f(\"formatPriceRound\")((_vm.finalcash-_vm.initcash))))])],1)])])]),(_vm.showSelect)?_c('Multiselect',{attrs:{\"options\":_vm.services,\"placeholder\":'Services'},on:{\"update\":_vm.calcPerformance},model:{value:(_vm.selectedServices),callback:function ($$v) {_vm.selectedServices=$$v},expression:\"selectedServices\"}}):_vm._e(),_c('div',{staticClass:\"clearfix mb-4\"},[_c('p',{staticClass:\"text-left small\"},[_c('font',{staticStyle:{\"font-size\":\"smaller\"}},[_vm._v(\"* Backtest Results assumes starting with a $\"+_vm._s(_vm.initcash)+\" trading account and trading each Tradespoon Live Trading Room Trade since January 2020 with 300 shares of stock or 3 options contracts per trade.\\r\\n \"),_c('br'),_vm._v(\"\\r\\n * The performance data is for educational purposes only and the opinions expressed are those of the presenter only. All trades presented should be considered hypothetical and should not be expected to be replicated in a live trading account.\\r\\n \")])],1)])],1)])])])]),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"card card-default\"},[_c('div',{staticClass:\"card-body\"},[_c('h3',[_vm._v(\"Recent Tradespoon Live Trading Room Trades\")]),_vm._m(1),_c('div',{staticClass:\"table-responsive\"},[_c('table',{staticClass:\"table small table-bordered table-condensed table-hover text-left\",attrs:{\"cellpadding\":\"0\",\"cellspacing\":\"0\",\"width\":\"100%\"}},[_c('thead',{staticClass:\"text-center\"},[_c('tr',[_c('td',[_vm._v(\"Symbol\")]),_c('td',[_vm._v(\"Action\")]),_c('td',[_vm._v(\"Open Date\")]),_c('td',[_vm._v(\"Close Date\")]),_c('td',[_vm._v(\"Entry Price\")]),_c('td',[_vm._v(\"Exit Price\")]),_c('td',[_vm._v(\"Stop Price\")]),_c('td',[_vm._v(\"Risk\")]),_c('td',[_vm._v(\"Net Gain/Loss ($)\")]),_c('td',[_vm._v(\"Net Gain/Loss (%)\")]),(_vm.showSelect)?_c('td',[_vm._v(\" Service\")]):_vm._e()])]),(_vm.showAll)?_c('tbody',_vm._l((_vm.rows),function(row){return _c('tr',{key:row.tradeid,class:row.pl>0 ? 'bg-success': 'bg-danger'},[_c('td',[_vm._v(_vm._s(row.stockticker))]),_c('td',[_vm._v(_vm._s(row.action))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate2\")(row.opendate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate2\")(row.closedate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.enter)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.exit)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.stop)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.risk)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.pl)))]),_c('td',[_vm._v(_vm._s(row.percent)+\"%\")]),(_vm.showSelect)?_c('td',{attrs:{\"id\":row.tradeid}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.service),expression:\"row.service\"}],attrs:{\"disabled\":!_vm.showSelect,\"id\":\"selectService\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(row, \"service\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},_vm.setTradeService]}},_vm._l((_vm.services),function(service){return _c('option',{key:service.id,domProps:{\"value\":service.id}},[_vm._v(_vm._s(service.name))])}),0)]):_vm._e()])}),0):_c('tbody',_vm._l((_vm.rows.slice((_vm.currentPage -1)* _vm.perPage, (_vm.currentPage)* _vm.perPage)),function(row){return _c('tr',{key:row.tradeid,class:row.pl>0 ? 'bg-success': 'bg-danger'},[_c('td',[_vm._v(_vm._s(row.stockticker))]),_c('td',[_vm._v(_vm._s(row.action))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate2\")(row.opendate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate2\")(row.closedate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.enter)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.exit)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.stop)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.risk)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatPrice\")(row.pl)))]),_c('td',[_vm._v(_vm._s(row.percent)+\"%\")]),(_vm.showSelect)?_c('td',{attrs:{\"id\":row.tradeid}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.service),expression:\"row.service\"}],attrs:{\"disabled\":!_vm.showSelect,\"id\":\"selectService\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(row, \"service\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},_vm.setTradeService]}},_vm._l((_vm.services),function(service){return _c('option',{key:service.id,domProps:{\"value\":service.id}},[_vm._v(_vm._s(service.name))])}),0)]):_vm._e()])}),0)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-9\"},[_c('b-pagination',{attrs:{\"total-rows\":_vm.rows.length,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1),_c('div',{staticClass:\"col-12 col-md-3 text-md-right\"},[(!_vm.showAll)?_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){_vm.showAll=true}}},[_vm._v(\"Load All\")]):_vm._e()])]),_c('p',[_vm._v(\" * Trade % Gain/Loss is calculated by dividing the $ Gain/Loss by the Max Risk which is the posted Stop Loss for the trade. \")])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_vm._v(\"Backtest Final Capital\"),_c('br'),_vm._v(\"\\r\\n (Trading 300 Shares of Stock or 3 Options Contracts Per Trade)\\r\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert alert-info alert-dismissible text-center visible-xs\",attrs:{\"role\":\"alert\"}},[_vm._v(\"\\r\\n This table is scrollable. \"),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"alert\",\"aria-label\":\"Close\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])]),_c('span',{staticClass:\"glyphicon glyphicon-resize-horizontal large\"})])}]\n\nexport { render, staticRenderFns }","import { formatDate2 } from '../../utils/formatters';\r\nimport { formatDateLong } from '../../utils/formatters';\r\nimport { formatPrice } from '@/utils';\r\nimport { Multiselect } from '../../components/Common/index';\r\nimport axios from \"axios\";\r\n\r\nexport default {\r\n name: 'PerformancePage',\r\n props: {\r\n performance: Array,\r\n },\r\n components: { Multiselect },\r\n data() {\r\n return {\r\n trades: this.performance.length,\r\n wins: 0,\r\n winspercent: 0,\r\n losses: 0,\r\n breakeven: 0,\r\n overallpercent: 0,\r\n overallgain: 0,\r\n percentpertrade: 0,\r\n initcash: 0,\r\n finalcash: 0,\r\n ipt: 0,\r\n tradetotal: 0,\r\n rows: [],\r\n shownRows: [],\r\n lastDate: null,\r\n showAll: false,\r\n perPage: 50,\r\n currentPage: 1,\r\n today: new Date(Date.now()),\r\n selectedServices: [],\r\n services: [],\r\n showSelect: false,\r\n title: \"Live Trading Room\",\r\n serviceFromQuery: \"\"\r\n }\r\n },\r\n async beforeMount() {\r\n await this.getServices();\r\n this.showSelect = window.admin;\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n this.serviceFromQuery = urlParams.get('service');\r\n let totalTrades = 0;\r\n if (!this.serviceFromQuery){\r\n this.selectedServices = this.services;\r\n this.title = \"Live Trading Room\";\r\n this.initcash = window.initialCapitalAll;\r\n this.finalcash = window.initialCapitalAll;\r\n } else {\r\n //const services = this.services.filter(x=>x.name == service.toUpperCase());\r\n this.selectedServices = this.services.filter(x=>x.name == \"EPT\");\r\n this.title = \"Earnings Service\";\r\n this.initcash = window.initialCapitalEPT;\r\n this.finalcash = window.initialCapitalEPT;\r\n }\r\n const selectedServicesIds = this.selectedServices.map(x=>x.id);\r\n this.rows = this.performance.filter(r=> selectedServicesIds.includes(r.service)).map(row => {\r\n const risk = row.action == 1 ? row.enter - row.stop : row.stop - row.enter;\r\n const pl = row.action == 1 ? row.exit - row.enter : row.enter - row.exit;\r\n let percent = 0;\r\n let service = row.service == null ? 0 : row.service;\r\n if (risk > 0) {\r\n percent = (pl / risk) * 100;\r\n }\r\n\r\n if (pl > 0) {\r\n this.wins++;\r\n }\r\n else if (pl < 0) {\r\n this.losses++;\r\n }\r\n else if (pl == 0) {\r\n this.breakeven++;\r\n }\r\n\r\n totalTrades++;\r\n this.overallpercent += percent;\r\n this.overallgain = this.overallgain + pl;\r\n\r\n let isOption = row.stockticker.includes(\"Option\");\r\n\r\n if (isOption) {\r\n this.ipt = row.enter * 100 * window.optionsCount;\r\n }\r\n else {\r\n this.ipt = row.enter * window.sharesCount;\r\n }\r\n this.initsize = Math.round(this.ipt / row.enter);\r\n\r\n this.traderesult = this.initsize * pl;\r\n this.tradetotal += this.traderesult;\r\n\r\n return {\r\n stockticker: row.stockticker,\r\n opendate: row.opendate,\r\n closedate: row.closedate,\r\n enter: row.enter,\r\n stop: row.stop,\r\n exit: row.exit,\r\n risk: parseFloat(Math.round(risk * 100) / 100).toFixed(2),\r\n pl: pl,\r\n percent: parseFloat(Math.round(percent * 100) / 100).toFixed(2),\r\n action: row.action == 1 ? 'LONG' : row.action == -1 ? 'SHORT' : 'UNKNOWN',\r\n service: service,\r\n tradeid: row.tradeid\r\n }\r\n });\r\n this.finalcash += this.tradetotal;\r\n if(totalTrades > 0) {\r\n this.percentpertrade = (this.overallpercent / totalTrades);\r\n }\r\n let total = this.wins + this.losses + this.breakeven;\r\n this.winspercent = total != 0 ? (this.wins / total) * 100 : 0;\r\n this.lastDate = new Date(this.performance[0].closedate);\r\n },\r\n methods: {\r\n calcPerformance(val) {\r\n this.selectedServices = val;\r\n if (!val || val.length == 0){\r\n this.selectedServices = this.services;\r\n }\r\n const selectedServicesIds = this.selectedServices.map(x=>x.id);\r\n this.wins= 0;\r\n this.winspercent= 0;\r\n this.losses= 0;\r\n this.breakeven = 0;\r\n this.overallpercent = 0;\r\n this.overallgain = 0;\r\n this.percentpertrade = 0; \r\n let totalTrades = 0; \r\n if (!this.serviceFromQuery){\r\n this.initcash = window.initialCapitalAll;\r\n this.finalcash = window.initialCapitalAll;\r\n } else {\r\n this.initcash = window.initialCapitalEPT;\r\n this.finalcash = window.initialCapitalEPT;\r\n }\r\n this.ipt = 0;\r\n this.tradetotal = 0;\r\n this.rows = this.performance.filter(r=> selectedServicesIds.includes(r.service)).map(row => {\r\n const risk = row.action == 1 ? row.enter - row.stop : row.stop - row.enter;\r\n const pl = row.action == 1 ? row.exit - row.enter : row.enter - row.exit;\r\n let percent = 0;\r\n let service = row.service == null ? 0 : row.service;\r\n if (risk > 0) {\r\n percent = (pl / risk) * 100;\r\n }\r\n \r\n if (pl > 0) {\r\n this.wins++;\r\n }\r\n else if (pl < 0) {\r\n this.losses++;\r\n }\r\n else if (pl == 0) {\r\n this.breakeven++;\r\n }\r\n \r\n totalTrades++;\r\n this.overallpercent += percent;\r\n this.overallgain = this.overallgain + pl;\r\n \r\n let isOption = row.stockticker.includes(\"Option\");\r\n \r\n if (isOption) {\r\n this.ipt = row.enter * 100 * window.optionsCount;\r\n }\r\n else {\r\n this.ipt = row.enter * window.sharesCount;\r\n }\r\n this.initsize = Math.round(this.ipt / row.enter);\r\n \r\n this.traderesult = this.initsize * pl;\r\n this.tradetotal += this.traderesult;\r\n \r\n return {\r\n stockticker: row.stockticker,\r\n opendate: row.opendate,\r\n closedate: row.closedate,\r\n enter: row.enter,\r\n stop: row.stop,\r\n exit: row.exit,\r\n risk: parseFloat(Math.round(risk * 100) / 100).toFixed(2),\r\n pl: pl,\r\n percent: parseFloat(Math.round(percent * 100) / 100).toFixed(2),\r\n action: row.action == 1 ? 'LONG' : row.action == -1 ? 'SHORT' : 'UNKNOWN',\r\n service: service,\r\n tradeid: row.tradeid\r\n }\r\n });\r\n this.finalcash += this.tradetotal;\r\n if(totalTrades > 0) {\r\n this.percentpertrade = (this.overallpercent / totalTrades);\r\n }\r\n let total = this.wins + this.losses + this.breakeven;\r\n this.winspercent = total != 0 ? (this.wins / total) * 100 : 0;\r\n },\r\n async setTradeService() {\r\n axios.post('/api/performance/set-service', {\r\n tradeId: event.target.parentElement.id,\r\n service: event.target.value\r\n })\r\n .then(function (response) {\r\n })\r\n .catch(function (error) {\r\n });\r\n },\r\n async getServices() {\r\n const e = await axios.get('/api/performance/services');\r\n this.services = e.data.payload;\r\n this.selectedServices = e.data.payload;\r\n }\r\n }\r\n\r\n}","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PerformancePage.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./PerformancePage.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PerformancePage.vue?vue&type=template&id=759f3559&\"\nimport script from \"./PerformancePage.js?vue&type=script&lang=js&\"\nexport * from \"./PerformancePage.js?vue&type=script&lang=js&\"\nimport style0 from \"./PerformancePage.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.WebinarItems)?_c('div',{staticClass:\"container BlogRoot\"},[_c('main',{staticClass:\"pb-3\",attrs:{\"role\":\"main\"}},[_c('b-tabs',{attrs:{\"value\":_vm.tabIndex}},_vm._l((_vm.UpcomingCategories),function(Cat){return _c('b-tab',{key:Cat.id,staticClass:\"card card-default border-0\",attrs:{\"title\":Cat.title,\"active\":Cat == _vm.UpcomingCategories[_vm.tabIndex]},on:{\"click\":function (ind) {\n _vm.$emit('loadCategory', { cat: Cat, page: 1 });\n }}},[_c('div',{staticClass:\"card-body vertical-align px-0 pt-3 pb-0\"},[_c('div',{staticClass:\"col-md-10\"},[_c('h1',[_vm._v(_vm._s(Cat.title))]),_c('p',[_c('LinkToTradespoon',{attrs:{\"text\":Cat.description,\"promotion_id\":Cat.tradespoonId}})],1)]),_c('div',{staticClass:\"col-12 col-md-2 col-sm-2 pb-3 pb-md-0\"},[_c('img',{staticClass:\"img-fluid rounded-2 center-block\",attrs:{\"src\":'/images/' + Cat.imageUrl,\"alt\":\"Trading Guide\"}})])])])}),1),_vm._l((_vm.WebinarItems),function(webinar){return _c('div',{key:webinar.id,staticClass:\"card card-default border-top-0 border-right-0 border-left-0 mb-3\"},[_c('UpcomingWebinar',{attrs:{\"webinar\":webinar}})],1)}),_c('b-pagination',{attrs:{\"value\":_vm.currentPage,\"totalRows\":_vm.totalPages,\"per-page\":_vm.perPage},on:{\"change\":function (ind) {\n _vm.$emit('loadCategory', {\n cat: _vm.Categories[this$1.tabIndex],\n page: ind,\n });\n }}})],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row card-body\"},[_c('div',{staticClass:\"col-md-4\"},[_c('div',{staticClass:\"card card-primary\"},[_c('div',{staticClass:\"card-body\"},[_c('h3',{staticClass:\"text-center\"},[_vm._v(\"Sign-Up Now!\")]),_c('hr'),_c('p',[_c('strong',{domProps:{\"innerHTML\":_vm._s(_vm.webinar.subject)}})]),_c('p',[_c('span',{staticClass:\"glyphicon glyphicon-calendar\"}),_c('strong',[_vm._v(\"Date:\")]),_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatDateNoSeconds\")(_vm.webinar.start))+\" CST\\n \")]),_c('p',{staticClass:\"voffset30 text-center\"},[(_vm.webinar.registered)?_c('a',{staticClass:\"btn btn-xlg btn-warning\",attrs:{\"href\":'/webinars/unregister/' + _vm.webinar.id}},[_c('span',[_vm._v(\"Unregister\")])]):_c('a',{staticClass:\"btn btn-xlg btn-warning\",attrs:{\"href\":'/webinars/register/' + _vm.webinar.id}},[_c('span',[_vm._v(\"Register Now\")])])])])])]),_c('div',{staticClass:\"col-md-8\",staticStyle:{\"text-align\":\"justify\"}},[_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.webinar.subject)}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.webinar.description)}}),_c('p',[_vm._v(_vm._s(_vm.webinar.presenterDisplayName))]),_c('p',[_vm._v(_vm._s(_vm.webinar.presenterBio))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingWebinar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingWebinar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpcomingWebinar.vue?vue&type=template&id=6edb0e1c&\"\nimport script from \"./UpcomingWebinar.vue?vue&type=script&lang=js&\"\nexport * from \"./UpcomingWebinar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpcomingWebinar.vue?vue&type=style&index=0&lang=postcss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingWebinarsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingWebinarsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpcomingWebinarsPage.vue?vue&type=template&id=1c8cc804&\"\nimport script from \"./UpcomingWebinarsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./UpcomingWebinarsPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.WebinarItems && _vm.Categories)?_c('div',{staticClass:\"container BlogRoot mb-3\"},[_c('main',{staticClass:\"pb-3\",attrs:{\"role\":\"main\"}},[_c('b-tabs',{attrs:{\"value\":_vm.tabIndex}},_vm._l((_vm.Categories),function(Cat){return _c('b-tab',{key:Cat.id,staticClass:\"card card-default border-0\",attrs:{\"title\":Cat.title,\"active\":Cat == _vm.Categories[_vm.tabIndex]},on:{\"click\":function () { return _vm.clicked_tab(Cat); }}},[_c('div',{staticClass:\"card-body vertical-align px-0 pt-3 pb-0\"},[_c('div',{staticClass:\"col-md-10\"},[_c('h1',[_vm._v(_vm._s(Cat.title))]),_c('p',[_c('LinkToTradespoon',{attrs:{\"text\":Cat.description,\"promotion_id\":Cat.tradespoonId}})],1)]),_c('div',{staticClass:\"col-12 col-md-2 col-sm-2 pb-3 pb-md-0\"},[_c('img',{staticClass:\"img-fluid rounded-2 center-block\",attrs:{\"src\":'/images/' + Cat.imageUrl,\"alt\":\"Trading Guide\"}})])])])}),1),_c('div',{staticClass:\"input-group col-md-8 col-xl-6 mb-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.search_text),expression:\"search_text\"}],staticClass:\"form-control py-2\",attrs:{\"type\":\"search\",\"value\":\"search\",\"id\":\"example-search-input\"},domProps:{\"value\":(_vm.search_text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.search_text=$event.target.value}}}),_c('span',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.$emit('search', {\n type: 'recorded',\n CatId: _vm.Categories[_vm.tabIndex].id,\n Phrase: _vm.search_text,\n PerPage: 4,\n SkipPages: 0,\n })}}},[_c('i',{staticClass:\"fa fa-search\"})])])]),_vm._l((_vm.WebinarItems),function(webinar,ind){return _c('div',{key:webinar.id,staticClass:\"card card-default border-top-0 border-right-0 border-left-0\"},[_c('RecordedWebinar',{attrs:{\"webinar\":webinar,\"autoplay\":ind == _vm.autoplayInd}})],1)})],2),_c('b-pagination',{attrs:{\"value\":_vm.currentPage,\"totalRows\":_vm.totalRows,\"per-page\":_vm.perPage},on:{\"change\":_vm.paginationClicked}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row card-body\"},[_c('div',{staticClass:\"col-md-4\"},[_c('div',{staticClass:\"card card-primary\"},[_c('div',{staticClass:\"card-body\"},[_c('p',[_c('strong',{domProps:{\"innerHTML\":_vm._s(_vm.webinar.subject)}})]),_c('p',[_c('span',{staticClass:\"glyphicon glyphicon-calendar\"}),_c('strong',[_vm._v(\"Date:\")]),_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatDate\")(_vm.webinar.start))+\"\\n \")]),_c('p',[_c('span',{staticClass:\"glyphicon glyphicon-info-sign\"}),_c('strong',[_vm._v(\"Time:\")]),_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatTime\")(_vm.webinar.start))+\" -\\n \"+_vm._s(_vm._f(\"formatTime\")(_vm.webinar.end))+\" CST\\n \"),_c('br')])])])]),_c('div',{staticClass:\"col-md-8\",staticStyle:{\"text-align\":\"justify\"}},[(_vm.url)?_c('div',{staticClass:\"embed-container mb-3\"},[_c('iframe',{attrs:{\"src\":_vm.url,\"frameborder\":\"0\",\"width\":\"680\",\"height\":\"400\",\"webkitallowfullscreen\":\"\",\"mozallowfullscreen\":\"\",\"allowfullscreen\":\"\"}})]):_c('span',[_vm._v(\"Preparing Recording\")]),_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.webinar.subject)}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.webinar.description)}},[_vm._v(_vm._s(_vm.webinar.description))]),_c('p',[_vm._v(_vm._s(_vm.webinar.presenterDisplayName))]),_c('p',[_vm._v(_vm._s(_vm.webinar.presenterBio))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordedWebinar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordedWebinar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RecordedWebinar.vue?vue&type=template&id=d04a57fe&\"\nimport script from \"./RecordedWebinar.vue?vue&type=script&lang=js&\"\nexport * from \"./RecordedWebinar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RecordedWebinar.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordedWebinarsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordedWebinarsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RecordedWebinarsPage.vue?vue&type=template&id=6ef41e88&\"\nimport script from \"./RecordedWebinarsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./RecordedWebinarsPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Blog from \"./components/Blog.vue\";\r\nimport Intro from \"./screens/Intro.vue\";\r\nimport Dashboard from \"./screens/Dashboard.vue\";\r\nimport LiveTradingRoomRecordingsPage from \"./screens/LiveTradingRoomRecordings/LiveTradingRoomRecordingsPage.vue\";\r\nimport PortfolioPage from \"./screens/Portfolio/PortfolioPage.vue\";\r\nimport PerformancePage from \"./screens/Performance/PerformancePage.vue\";\r\nimport UpcomingWebinarsPage from \"./components/UpcomingWebinarsPage.vue\";\r\nimport RecordedWebinarsPage from \"./components/RecordedWebinarsPage.vue\";\r\nimport axios from \"axios\";\r\nimport WaitIndicator from '@/components/Common/WaitIndicator.vue';\r\nimport { formatDateQuery } from \"./utils/formatters\";\r\nimport { isAsteriskToken } from \"typescript\";\r\n\r\n\r\nfunction getIeVersion() \r\n{\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n\r\n if (msie > 0) // If Internet Explorer, return version number\r\n {\r\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)));\r\n }\r\n else // If another browser, return 0\r\n {\r\n return null\r\n }\r\n\r\n}\r\n\r\nfunction sleep(ms) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n}\r\nexport default {\r\n name: \"app\",\r\n data() {\r\n return {\r\n recentPostsItems: [],\r\n archiveItems: [],\r\n\r\n blogPosts: [\r\n\r\n ],\r\n blogTotalRows: 100,\r\n blogCurrentPage: 1,\r\n blogShowingSearch: false,\r\n blogTabInd: 1,\r\n upcomingWebinarItems: [],\r\n recordedWebinarItems: null,\r\n\r\n upcomingTotalPages: 4,\r\n upcomingCurrentPage: 1,\r\n upcomingTabInd: 1,\r\n recordedTotalRows: 4,\r\n recordedCurrentPage: 1,\r\n recordedTabInd: 1,\r\n recordedShowingSearch: false,\r\n loading: false,\r\n loadingCategories: true,\r\n errorMsg: null,\r\n page: '',\r\n webinarCategories: [],\r\n blogCategories: [],\r\n\r\n portfolioLinks:null,\r\n currentPortfolio: {},\r\n portfolioItems: null,\r\n dayHistory: null,\r\n trialInfo: null,\r\n tabInfo: null,\r\n userInfo: null,\r\n SpaQuickMenu: !window.RazorQuickMenu\r\n };\r\n },\r\n components: {\r\n Blog,\r\n UpcomingWebinarsPage,\r\n RecordedWebinarsPage,\r\n Intro,\r\n Dashboard,\r\n LiveTradingRoomRecordingsPage,\r\n PortfolioPage,\r\n PerformancePage,\r\n WaitIndicator\r\n },\r\n \r\n computed: {\r\n upcomingWebinarCategories(){\r\n return this.webinarCategories.filter(o=>o.announceable===true)\r\n },\r\n hasAllowedBlogCategories() {\r\n return this.blogCategories.some(o => o.isAvailable)\r\n },\r\n hasAllowedWebinarCategories() {\r\n return this.webinarCategories.some(o => o.isAvailable)\r\n },\r\n showRoot() {\r\n return this.page == 'root' && this.portfolioLinks\r\n },\r\n showBlog() {\r\n return this.page == 'blog'\r\n },\r\n showUpcoming() {\r\n return this.page == 'upcoming'\r\n },\r\n showRecorded() {\r\n return this.page == 'recorded'\r\n },\r\n showPortfolio() {\r\n return this.page == 'portfolio'\r\n },\r\n showIntro() {\r\n return this.page == 'intro'\r\n },\r\n dark() {\r\n return this.showIntro;\r\n },\r\n showPerformance() {\r\n return this.page == 'trading-performance'\r\n },\r\n showLiveTradingRoomRecordings() {\r\n return this.page == 'live-trading-room-recordings'\r\n }\r\n },\r\n async mounted() {\r\n \r\n if (window.location.pathname=='/'&& (window.location.hash=='')) \r\n {\r\n this.page = 'intro';\r\n }\r\n if (window.dontLoadPage)\r\n {\r\n return;\r\n } \r\n\r\n this.trackPageVisit(window.location.pathname.slice(1)); \r\n this.loadingCategories = true;\r\n await this.loadCategories();\r\n this.loadingCategories = false;\r\n if (!window.authenticated) {\r\n this.page = 'intro'\r\n }\r\n if (window.blogCategory) {\r\n const bcats = this.blogCategories.find(c => c.slug.trim().toLowerCase() == window.blogCategory.trim().toLowerCase());\r\n this.loadCategoryBlogs(bcats, 1);\r\n this.loadArchive(new Date().getFullYear());\r\n delete window.blogCategory;\r\n } else \r\n if (window.upcomingCategory) {\r\n const ucats = this.webinarCategories.filter(c => c.title.toLowerCase() == window.upcomingCategory.toLowerCase());\r\n this.loadCollectionUpcomingWithFallbackToNext(ucats, 0);\r\n delete window.upcomingCategory;\r\n } else \r\n if (window.recordedCategory) {\r\n const rcats = this.webinarCategories.find(c => c.title.toLowerCase() == window.recordedCategory.toLowerCase());\r\n this.loadCollectionPastWebinars(rcats, 1);\r\n delete window.recordedCategory;\r\n } else \r\n if (window.portfolio) {\r\n this.loadPortfolio(window.portfolio);\r\n //this.loadPortfolioHistory(window.portfolio);\r\n } else if ((window.location.pathname=='/') && (window.location.hash=='#') && (window.authenticated)){\r\n this.page= 'root'\r\n }\r\n \r\n\r\n if (window.location.pathname == '/trading-performance') {\r\n this.loadPerformance();\r\n }\r\n this.loadPageByHash(); \r\n\r\n // window.addEventListener('hashchange', (e) => {\r\n // if (window.location.hash='#blog'){\r\n \r\n // }\r\n // });\r\n\r\n \r\n\r\n if (window.location.hash == '#performance' || window.location.href.indexOf('#performance')>=0) {\r\n this.loadPerformance();\r\n }\r\n\r\n if (window.location.hash == '#live-trading-room-recordings' || window.location.href.indexOf('#live-trading-room-recordings')>=0) {\r\n this.page= 'live-trading-room-recordings'\r\n }\r\n },\r\n methods: {\r\n async trackPageVisit(location){\r\n await axios.post('/api/pagevisits/track?location=' + location);\r\n },\r\n updateColor(index) {\r\n\r\n const row = this.portfolioItems[index];\r\n const lowError = 0.25 * row.predictionError * row.predictionLow;\r\n const highError = 0.25 * row.predictionError * row.predictionHigh;\r\n if (row.actualPricePerShare === 0) {\r\n row.color = '';\r\n } else if (row.actualPricePerShare <= row.predictionLow + lowError) {\r\n console.log(\"Boolish \" + row.Symbol + \": \" + row.actualPricePerShare.toFixed(2) + \"$<=\" + row.predictionLow.toFixed(2) + \"+\" + lowError.toFixed(2));\r\n row.color = 'row-low-corridor'; // boolish\r\n } else if (row.actualPricePerShare >= row.predictionHigh - highError) {\r\n console.log(\"Bearish \" + row.Symbol + \": \" + row.actualPricePerShare.toFixed(2) + \"$>=\" + row.predictionHigh.toFixed(2) + \"-\" + highError.toFixed(2));\r\n row.color = 'row-high-corridor'; // bearish\r\n } else {\r\n row.color = '';\r\n }\r\n },\r\n async updateUpLevelColor(index, symbol, level) {\r\n const row = this.portfolioItems[index]; \r\n const calcLevel = symbol.maxBid / row.actualPricePerShare;\r\n console.log(\"Actual Price: \" + row.actualPricePerShare + \" Level:\" + level);\r\n console.log(\"MaxDir4Years: \" + symbol.maxDir4Years);\r\n console.log(symbol.maxOption + \" Bid:\" + symbol.maxBid + \" -> \" + calcLevel);\r\n if (calcLevel > level) { \r\n row.color = 'row-up-level';\r\n const portfolios = document.querySelectorAll('.portfolioGrid');\r\n portfolios.forEach(portfolio =>{\r\n const tbodys = portfolio.querySelectorAll('tbody');\r\n tbodys[index].classList.add(\"row-up-level\"); \r\n });\r\n }\r\n },\r\n updateDownLevelColor(index, symbol, level) { \r\n const row = this.portfolioItems[index];\r\n const calcLevel = symbol.minBid / row.actualPricePerShare;\r\n console.log(\"Actual price: \" + row.actualPricePerShare + \" Level:\" + level);\r\n console.log(\"MinDir4Years: \" + symbol.minDir4Years);\r\n console.log(symbol.minOption + \" Bid:\" + symbol.minBid + \" -> \" + calcLevel);\r\n if (calcLevel > level) {\r\n row.color = 'row-down-level';\r\n const portfolios = document.querySelectorAll('.portfolioGrid');\r\n portfolios.forEach(portfolio =>{\r\n const tbodys = portfolio.querySelectorAll('tbody');\r\n tbodys[index].classList.add(\"row-down-level\"); \r\n });\r\n }\r\n },\r\n clearUpDownLevelColor() {\r\n const portfolios = document.querySelectorAll('.portfolioGrid');\r\n portfolios.forEach(portfolio =>{\r\n const tbodys = portfolio.querySelectorAll('tbody');\r\n tbodys.forEach(tbody =>{\r\n tbody.classList.remove(\"row-down-level\");\r\n tbody.classList.remove(\"row-up-level\");\r\n });\r\n });\r\n },\r\n showPage(page){\r\n this.page = page; \r\n },\r\n loadPageByHash() {\r\n \r\n var hashPage = {\r\n '#intro': { page: 'intro' },\r\n '#dashboard': { page: window.authenticated ? 'root' : \"intro\" }, \r\n '#portfolio': {\r\n init: () => {\r\n // this.loadPortfolio(this.portfolioLinks[0]);\r\n // this.loadPortfolioHistory(this.portfolioLinks[0]);\r\n }\r\n },\r\n '#blog': {\r\n init: () => { \r\n const bcats = this.blogCategories[0];\r\n this.loadCategoryBlogs(bcats, 1);\r\n \r\n }\r\n },\r\n '#upcoming': {\r\n init: () => {\r\n const ucats = this.webinarCategories.filter(function(e){return e.announceable});\r\n this.loadCollectionUpcomingWithFallbackToNext(ucats, 0);\r\n }\r\n },\r\n '#recorded': {\r\n init: () => {\r\n const rcats = this.webinarCategories[0];\r\n this.loadCollectionPastWebinars(rcats, 1);\r\n }\r\n },\r\n '#performance': {\r\n init: () => {\r\n this.loadPerformance();\r\n }\r\n },\r\n '#live-trading-room-recordings': { page: 'live-trading-room-recordings' },\r\n };\r\n const r = hashPage[window.location.hash];\r\n if (r){\r\n if( r.init)\r\n r.init();\r\n else\r\n this.page = r.page;\r\n }\r\n },\r\n async CheckAccess(id){\r\n if (!id.isAvailable){\r\n if (getIeVersion()){\r\n await sleep(500)\r\n this.loadPageByHash();\r\n \r\n } else {\r\n console.trace(\"page redirect by frontend\");\r\n window.location = '/offers/'+id.offerSlug;\r\n return false;\r\n }\r\n \r\n }\r\n return true;\r\n }, \r\n async loadPortfolio(id){\r\n this.clearUpDownLevelColor();\r\n this.errorMsg = '';\r\n \r\n this.loading = true;\r\n if (!this.CheckAccess(id)) return;\r\n\r\n var url = '/api/portfolio/'+id.id+'/json';\r\n\r\n if(id.symbol) url = url+'?symbol='+id.symbol;\r\n\r\n const e = await axios.get(url);\r\n this.currentPortfolio = id;\r\n this.$set(this.currentPortfolio, 'loadingQuotes', true);\r\n if (e.data.responseCode == 50){\r\n this.errorMsg = \"Can't load portfolio\";\r\n this.page = 'root';\r\n this.loading= false;\r\n return;\r\n }\r\n this.portfolioItems = e.data.payload.items;\r\n this.trialInfo = e.data.payload.trialInfo;\r\n this.tabInfo = e.data.payload.tabInfo;\r\n this.userInfo = e.data.payload.userInfo;\r\n this.page = 'portfolio';\r\n this.loading = false;\r\n for (let i = 0; i < this.portfolioItems.length - 1; i++) {\r\n this.updateColor(i);\r\n }\r\n },\r\n async loadPerformance(){\r\n this.errorMsg = '';\r\n this.loading = true;\r\n const e = await axios.get('/api/performance');\r\n \r\n if (e.data.responseCode == 50){\r\n this.page = 'root';\r\n this.loading= false;\r\n return;\r\n }\r\n this.performance = e.data.payload;\r\n this.page = 'trading-performance';\r\n this.loading = false;\r\n \r\n \r\n },\r\n async refreshPortfolioRealtime(id){\r\n if (!this.CheckAccess(id)) return;\r\n const rsp = await axios.get('/api/portfolio/'+id.id+'/refresh');\r\n var quotes = rsp.data.payload;\r\n this.portfolioItems.map(e=>{\r\n var quote = quotes.filter(q=>q.ID == e.ID).first();\r\n //e.\r\n console.log(JSON.stringify(quote));\r\n });\r\n this.errorMsg = '';\r\n },\r\n async portfolioRefresh(id){\r\n this.CheckAccess(id);\r\n this.loadPortfolio(id);\r\n },\r\n async loadPortfolioHistory(id, date){ \r\n this.errorMsg = '';\r\n \r\n this.loading = true;\r\n if (!this.CheckAccess(id)) return;\r\n const e = await axios.get('/api/portfolio/'+id.id+'/history/'+ formatDateQuery(date));\r\n this.currentPortfolio = id;\r\n this.$set(this.currentPortfolio, 'loadingQuotes', true);\r\n if (e.data.responseCode == 50){\r\n this.errorMsg = \"Can't load portfolio \";\r\n this.page = 'root';\r\n this.loading= false;\r\n return;\r\n }\r\n this.dayHistory = e.data.payload;\r\n this.page = 'portfolio';\r\n this.loading = false;\r\n },\r\n async refreshPortfolioHistory(id){\r\n if (!this.CheckAccess(id)) return;\r\n const rsp = await axios.get('/api/portfolio/'+id.id+'/refresh');\r\n var quotes = rsp.data.payload;\r\n this.portfolioItems.map(e=>{\r\n var quote = quotes.filter(q=>q.ID == e.ID).first();\r\n //e.\r\n console.log(JSON.stringify(quote));\r\n });\r\n this.errorMsg = '';\r\n },\r\n async portfolioHistoryRefresh(payload){\r\n this.CheckAccess(payload.portfolio);\r\n this.loadPortfolioHistory(payload.portfolio, payload.date);\r\n },\r\n async loadStockRangeData(id, mode, level) {\r\n this.clearUpDownLevelColor();\r\n const symbols = this.portfolioItems.map(e=>{\r\n return e.symbol;\r\n });\r\n let query = '/api/portfolio/' + id + '/GetStockRangeData/?symbols=' + symbols;\r\n const result = await axios.get(query);\r\n const levels = result.data.payload; \r\n for (let i = 0; i < this.portfolioItems.length; i++) {\r\n const symbol = levels.find(e => e.symbol == this.portfolioItems[i].symbol);\r\n if(symbol) {\r\n if(mode == 'up') {\r\n this.updateUpLevelColor(i, symbol, level);\r\n }\r\n else {\r\n this.updateDownLevelColor(i, symbol, level);\r\n }\r\n }\r\n }\r\n },\r\n searchRecorded(o){\r\n \r\n this.loading = true;\r\n axios.post(\"/api/webinars/search\", o, {\r\n withCredentials: true\r\n })\r\n .then(response => {\r\n this.recordedWebinarItems = response.data.payload.items;\r\n this.recordedShowingSearch = true;\r\n this.recordedTotalRows = response.data.payload.totalNumOfAvailableItems;\r\n this.recordedCurrentPage = o.SkipPages+1;\r\n this.errorMsg = '';\r\n return;\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n }).finally(() => {\r\n this.loading = false;\r\n });\r\n },\r\n searchBlog(o){\r\n this.loading = true;\r\n\r\n return axios\r\n .post(\"/api/blog/search\", o, {\r\n withCredentials: true\r\n })\r\n .then(response => {\r\n if (response.data.payload!=null && response.data.payload.items!==null) {\r\n this.blogPosts = response.data.payload.items;\r\n this.blogTotalRows = response.data.payload.totalNumOfAvailableItems;\r\n this.blogCurrentPage = o.SkipPages +1;\r\n this.blogShowingSearch = true;\r\n this.errorMsg = '';\r\n } else {\r\n this.blogPosts = [];\r\n }\r\n return;\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n }).finally(() => {\r\n this.loading = false;\r\n });\r\n },\r\n loadArchive(year) {\r\n const monthNames = [\r\n \"January\",\r\n \"February\",\r\n \"March\",\r\n \"April\",\r\n \"May\",\r\n \"June\",\r\n \"July\",\r\n \"August\",\r\n \"September\",\r\n \"October\",\r\n \"November\",\r\n \"December\"\r\n ];\r\n const self = this;\r\n return axios\r\n .get(\"/api/blog/archive/\" + year, { withCredentials: true })\r\n .then(response => {\r\n let acc = response.data.reduce((acc, v) => {\r\n const month = monthNames[new Date(v.published).getMonth()];\r\n const e = acc.find(el => el.name == month);\r\n if (e) {\r\n e.children.push(v);\r\n } else {\r\n acc.push({ name: month, children: [v] });\r\n }\r\n //acc[month] ? acc[month].children.push(v) : acc[month] = ;\r\n return acc;\r\n }, []);\r\n\r\n this.archiveItems = [{ name: year, children: acc }];\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n });\r\n },\r\n loadCategories() {\r\n return axios\r\n .get(\"/api/categories/user_categories\", { withCredentials: true })\r\n .then(response => {\r\n this.blogCategories = response.data.payload.categories;\r\n this.webinarCategories = response.data.payload.webinar_collections;\r\n this.portfolioLinks = response.data.payload.portfolios;\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n });\r\n },\r\n\r\n loadCategoryBlogs: function (category, page) { \r\n if (this.archiveItems === undefined || this.archiveItems.length == 0) { \r\n this.loadArchive(new Date().getFullYear());\r\n }\r\n \r\n this.errorMsg = \"\";\r\n if (this.showBlog && this.blogCategories.indexOf(category) == this.blogTabInd && this.blogCurrentPage == page\r\n && !this.blogShowingSearch) {\r\n return true;\r\n }\r\n this.loading = true;\r\n if (!this.CheckAccess(category)) return;\r\n this.blogShowingSearch = false;\r\n\r\n console.trace(\"loadCategoryBlogs\", category, page);\r\n //this.loading = true;\r\n return axios\r\n .get(\"/api/blog/category/\" + category.title + \"/page/\" + page, {\r\n withCredentials: true\r\n })\r\n .then(response => {\r\n if (response.data.responseCode == 50) {\r\n this.blogPosts = [];\r\n this.blogTotalRows = 0;\r\n this.errorMsg = \"Empty Category\";\r\n return;\r\n }\r\n if (response.data.responseCode === 100) {\r\n window.location.href = '/Offers/Choose?catid='+category.id;\r\n return;\r\n }\r\n if (response.data.responseCode != 0)\r\n throw \"status=\" + response.data.responseCode;\r\n\r\n if (response.data.payload.items.length == 0) {\r\n this.errorMsg = \"Empty Category\";\r\n } else {\r\n this.errorMsg = '';\r\n }\r\n this.blogTotalRows = response.data.payload.totalNumOfAvailableItems;\r\n this.blogCurrentPage = page;\r\n this.blogTabInd = this.blogCategories.indexOf(category);\r\n this.blogPosts = response.data.payload.items;\r\n \r\n this.page = 'blog';\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n }).finally(() => {\r\n this.loading = false;\r\n });\r\n },\r\n loadCollectionUpcomingWithFallbackToNext(ucats, i){\r\n const last = ucats.length - 1;\r\n if (i > last) return;\r\n\r\n this.loadCollectionUpcomingWebinars(ucats[i], 1, ()=>{\r\n this.loadCollectionUpcomingWithFallbackToNext(ucats, i + 1);\r\n }); \r\n },\r\n\r\n loadCollectionUpcomingWebinars: function (col, page, fallback) {\r\n \r\n this.errorMsg = \"\";\r\n if (this.upcomingCurrentPage == page && this.showUpcoming && this.webinarCategories.indexOf(col) == this.upcomingTabInd) {\r\n return false;\r\n }\r\n this.loading = true;\r\n if (!this.CheckAccess(col)) return;\r\n\r\n return axios\r\n .get(\"/api/webinars/upcoming/collections/\" + col.id + \"/\" + page, {\r\n withCredentials: true\r\n })\r\n .then(response => {\r\n\r\n if (response.headers[\"content-type\"]==\"text/html; charset=utf-8\"){\r\n location = '/Identity/Account/Login';\r\n }\r\n if (response.data.responseCode == 50) {\r\n this.upcomingWebinarItems = [];\r\n this.upcomingTotalPages = 0;\r\n fallback();\r\n return;\r\n }\r\n if (response.data.responseCode === 100) {\r\n console.log('respnse 100');\r\n //window.location.href = '/Offers/Choose?catid='+col.id;\r\n return;\r\n }\r\n if (response.data.responseCode != 0)\r\n throw \"status=\" + response.data.responseCode;\r\n\r\n if (response.data.payload.items.length == 0) {\r\n fallback();\r\n } else {\r\n this.errorMsg = '';\r\n }\r\n \r\n this.upcomingCurrentPage = page;\r\n this.upcomingTabInd = this.webinarCategories.indexOf(col);\r\n this.upcomingWebinarItems = response.data.payload.items;\r\n this.upcomingTotalPages =\r\n response.data.payload.totalNumOfAvailableItems;\r\n \r\n this.page = 'upcoming';\r\n\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n }).finally(() => {\r\n this.loading = false;\r\n });\r\n },\r\n loadCollectionPastWebinars: function (col, page) {\r\n this.loading = true;\r\n if (!this.CheckAccess(col)) return;\r\n this.errorMsg = \"\";\r\n this.recordedShowingSearch = false;\r\n console.trace(col , page, this.recordedCurrentPage, this.recordedTabInd );\r\n if (this.recordedCurrentPage == page && this.showRecorded &&\r\n this.webinarCategories.indexOf(col) == this.recordedTabInd &&\r\n !this.recordedShowingSearch\r\n ) {\r\n return false;\r\n }\r\n this.recordedShowingSearch = false;\r\n\r\n this.loading = true;\r\n return axios\r\n .get(\"/api/webinars/recorded/collections/\" + col.id + \"/\" + page, {\r\n withCredentials: true\r\n })\r\n .then(response => {\r\n if (response.headers[\"content-type\"]==\"text/html; charset=utf-8\"){\r\n location = '/Identity/Account/Login';\r\n }\r\n\r\n if (response.data.responseCode == 50) {\r\n this.errorMsg = \"Empty Category\";\r\n this.recordedWebinarItems = [];\r\n this.recordedTotalRows = 0;\r\n return;\r\n }\r\n if (response.data.responseCode === 100) {\r\n window.location.href = '/Offers/Choose?catid='+col.id;\r\n return;\r\n }\r\n if (response.data.responseCode != 0)\r\n throw \"status=\" + response.data.responseCode;\r\n\r\n if (response.data.payload.items.length == 0) {\r\n this.errorMsg = \"Empty Category\";\r\n } else {\r\n this.errorMsg = '';\r\n }\r\n \r\n this.recordedCurrentPage = page;\r\n this.recordedTabInd = this.webinarCategories.indexOf(col);\r\n this.recordedWebinarItems = response.data.payload.items;\r\n this.recordedTotalRows =\r\n response.data.payload.totalNumOfAvailableItems;\r\n this.page = 'recorded';\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n }).finally(() => {\r\n this.loading = false;\r\n });\r\n },\r\n updateLoader: function (status) {\r\n this.loading = status;\r\n if (status) {\r\n this.errorMsg = '';\r\n }\r\n },\r\n failError: function (error) {\r\n this.errorMsg = error;\r\n }\r\n }\r\n};\r\n\r\n","import mod from \"-!../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./App.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./App.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2ba55524&\"\nimport script from \"./App.js?vue&type=script&lang=js&\"\nexport * from \"./App.js?vue&type=script&lang=js&\"\nimport style0 from \"./App.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"v-tour\"},[_vm._t(\"default\",_vm._l((_vm.steps),function(step,index){return _c('div',{key:index},[(_vm.currentStep === index)?_c('v-step',{attrs:{\"step\":step,\"previous-step\":_vm.previousStep,\"next-step\":_vm.nextStep,\"stop\":_vm.stop,\"is-first\":_vm.isFirst,\"is-last\":_vm.isLast,\"labels\":_vm.customOptions.labels}}):_vm._e()],1)}),{currentStep:_vm.currentStep,steps:_vm.steps,previousStep:_vm.previousStep,nextStep:_vm.nextStep,stop:_vm.stop,isFirst:_vm.isFirst,isLast:_vm.isLast,labels:_vm.customOptions.labels})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const DEFAULT_CALLBACKS = {\r\n onStart: () => {},\r\n onPreviousStep: (currentStep) => {},\r\n onNextStep: (currentStep) => {},\r\n onStop: () => {}\r\n }\r\n \r\n export const DEFAULT_OPTIONS = {\r\n useKeyboardNavigation: true,\r\n startTimeout: 0,\r\n labels: {\r\n buttonSkip: 'Skip tour',\r\n buttonPrevious: 'Previous',\r\n buttonNext: 'Next',\r\n buttonStop: 'Finish'\r\n }\r\n }\r\n \r\n export const DEFAULT_STEP_OPTIONS = {\r\n placement: 'bottom',\r\n enableScrolling: true,\r\n modifiers: {\r\n arrow: {\r\n element: '.v-step__arrow'\r\n }\r\n }\r\n }\r\n \r\n export const KEYS = {\r\n ARROW_RIGHT: 39,\r\n ARROW_LEFT: 37,\r\n ESCAPE: 27\r\n }","\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VTour.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VTour.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VTour.vue?vue&type=template&id=17f0faa2&\"\nimport script from \"./VTour.vue?vue&type=script&lang=js&\"\nexport * from \"./VTour.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:'v-step-' + _vm.hash,staticClass:\"v-step\",attrs:{\"id\":'v-step-' + _vm.hash}},[_vm._t(\"header\",[(_vm.step.header)?_c('div',{staticClass:\"v-step__header\"},[(_vm.step.header.title)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.step.header.title)}}):_vm._e()]):_vm._e()]),_vm._t(\"content\",[_c('div',{staticClass:\"v-step__content\"},[(_vm.step.content)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.step.content)}}):_c('div',[_vm._v(\"This is a demo step! The id of this step is \"+_vm._s(_vm.hash)+\" and it targets \"+_vm._s(_vm.step.target)+\".\")])])]),_vm._t(\"actions\",[_c('div',{staticClass:\"v-step__buttons\"},[(!_vm.isLast)?_c('button',{staticClass:\"v-step__button\",on:{\"click\":function($event){$event.preventDefault();return _vm.stop($event)}}},[_vm._v(_vm._s(_vm.labels.buttonSkip))]):_vm._e(),(!_vm.isFirst)?_c('button',{staticClass:\"v-step__button\",on:{\"click\":function($event){$event.preventDefault();return _vm.previousStep($event)}}},[_c('span',{staticClass:\"fa fa-backward\"}),_vm._v(\"\\n \"+_vm._s(_vm.labels.buttonPrevious))]):_vm._e(),(!_vm.isLast)?_c('button',{staticClass:\"v-step__button\",on:{\"click\":function($event){$event.preventDefault();return _vm.nextStep($event)}}},[_vm._v(_vm._s(_vm.labels.buttonNext)+\" \"),_c('span',{staticClass:\"fa fa-forward\"})]):_vm._e(),(_vm.isLast)?_c('button',{staticClass:\"v-step__button\",on:{\"click\":function($event){$event.preventDefault();return _vm.stop($event)}}},[_c('span',{staticClass:\"fa fa-times\"}),_vm._v(\" \"+_vm._s(_vm.labels.buttonStop))]):_vm._e()])]),_c('div',{staticClass:\"v-step__arrow\",class:{ 'v-step__arrow--dark': _vm.step.header && _vm.step.header.title }})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VStep.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VStep.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VStep.vue?vue&type=template&id=65b68ada&scoped=true&\"\nimport script from \"./VStep.vue?vue&type=script&lang=js&\"\nexport * from \"./VStep.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VStep.vue?vue&type=style&index=0&id=65b68ada&lang=postcss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65b68ada\",\n null\n \n)\n\nexport default component.exports","import VTour from './VTour'\r\nimport VStep from './VStep'\r\n\r\nexport default {\r\n // The install method will be called with the Vue constructor as\r\n // the first argument, along with possible options\r\n install (Vue, options) {\r\n Vue.component(VTour.name, VTour)\r\n Vue.component(VStep.name, VStep)\r\n\r\n Vue.prototype.$tours = {}\r\n }\r\n}","import 'core-js/fn/object/assign';\r\nimport 'core-js/fn/get-iterator';\r\nimport 'core-js/fn/symbol';\r\n\r\nimport Vue from 'vue'\r\n//import BootstrapVue from\r\nimport 'bootstrap/dist/css/bootstrap.css'\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\nimport App from './App.vue'\r\nimport PortalVue from 'portal-vue';\r\n//import axios from \"axios\";\r\nVue.use(PortalVue);\r\n//Vue.use(BootstrapVue);\r\n\r\nimport { TabsPlugin, AlertPlugin, SpinnerPlugin, PaginationPlugin, TooltipPlugin, FormInputPlugin, FormCheckboxPlugin, FormDatepickerPlugin, DropdownPlugin, BootstrapVueIcons} from 'bootstrap-vue'\r\nimport VueTour from './components/tour';\r\n\r\nVue.use(VueTour);\r\nVue.use(TabsPlugin);\r\nVue.use(AlertPlugin);\r\nVue.use(SpinnerPlugin);\r\nVue.use(PaginationPlugin);\r\nVue.use(TooltipPlugin);\r\nVue.use(FormInputPlugin);\r\nVue.use(FormCheckboxPlugin);\r\nVue.use(FormDatepickerPlugin);\r\nVue.use(DropdownPlugin);\r\nVue.use(BootstrapVueIcons);\r\n//import { VTooltip} from 'v-tooltip'\r\n//Vue.directive('tooltip', VTooltip)\r\n\r\n/*import Hub from './hub'\r\nVue.use(Hub)*/\r\n\r\n\r\nimport './utils'\r\nconst isDevelopment = process.env.NODE_ENV !== 'production';\r\n\r\nVue.config.productionTip = false//!isDevelopment\r\n\r\n/* if (process.env.VUE_APP_HTMLONLY) {\r\n\tlet mockingEnabled = true\r\n\r\n\tconst mocks = {}\r\n\r\n\tconst addMock = (url, data) => {\r\n\t\tmocks[url] = data\r\n\t}\r\n\r\n\tconst isUrlMocked = url => url in mocks\r\n\r\n\tconst getMockError = config => {\r\n\t\tconst mockError = new Error()\r\n\t\tmockError.mockData = mocks[config.url]\r\n\t\tmockError.config = config\r\n\t\treturn Promise.reject(mockError)\r\n\t}\r\n\r\n\tconst isMockError = error => Boolean(error.mockData)\r\n\r\n\tconst getMockResponse = mockError => {\r\n\t\tconst { mockData, config } = mockError\r\n\t\t// Handle mocked error (any non-2xx status code)\r\n\t\tif (mockData.status && String(mockData.status)[0] !== '2') {\r\n\t\t\tconst err = new Error(mockData.message || 'mock error')\r\n\t\t\terr.code = mockData.status\r\n\t\t\treturn Promise.reject(err)\r\n\t\t}\r\n\t\t// Handle mocked success\r\n\t\treturn Promise.resolve(Object.assign({\r\n\t\t\tdata: {},\r\n\t\t\tstatus: 200,\r\n\t\t\tstatusText: 'OK',\r\n\t\t\theaders: {},\r\n\t\t\tconfig,\r\n\t\t\tisMock: true\r\n\t\t}, mockData))\r\n\t}\r\n\r\n\t// Add a request interceptor\r\n\taxios.interceptors.request.use(config => {\r\n\t\tif (mockingEnabled && isUrlMocked(config.url)) {\r\n\t\t\tconsole.log('axios mocking ' + config.url)\r\n\t\t\treturn getMockError(config)\r\n\t\t}\r\n\t\treturn config\r\n\t}, error => Promise.reject(error))\r\n\r\n\t// Add a response interceptor\r\n\taxios.interceptors.response.use(response => response, error => {\r\n\t\tif (isMockError(error)) {\r\n\t\t\treturn getMockResponse(error)\r\n\t\t}\r\n\t\treturn Promise.reject(error)\r\n\t})\r\n\taddMock('/api/categories/user_categories', {\r\n\t\tdata: {\r\n\t\t\tpayload: {\r\n\t\t\t\tcategories: [{ id: 1, title: \"newsletters1\" }, { id: 2, title: \"free\" }, { id: 2, title: \"paid\" }],\r\n\t\t\t\twebinar_collections: [{ id: 2, title: \"free_coll1\" }, { id: 3, title: \"free_coll2\" }]\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n\taddMock('/api/blog/archive/2019', { data: [{ published: Date.now(), name: \"One\" }, { published: Date.now(), name: \"Two\" }] })\r\n\taddMock('/api/blog/category/newsletters1/page/1', {\r\n\t\tdata: {\r\n\t\t\tresponseCode: 0, payload:\r\n\t\t\t{\r\n\t\t\t\titems: [{ pubDate: new Date(Date.now), title: 'Test Title', slug: 'slug', excerpt: 'test excerpt' }],\r\n\t\t\t\tTotalNumOfAvailableItems: 1\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\taddMock('/api/webinars/upcoming/collections/2/1', {\r\n\t\tdata: {\r\n\t\t\tresponseCode: 0, payload:\r\n\t\t\t{\r\n\t\t\t\titems: [{ start: new Date(Date.now()), end: new Date(Date.now()), subject: \"Webinar Subject\" },\r\n\t\t\t\t{ start: new Date(Date.now()), end: new Date(Date.now()), subject: \"Webinar Subject 2\" }\r\n\t\t\t\t],\r\n\t\t\t\tTotalNumOfAvailableItems: 1\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\taddMock('/api/webinars/recorded/collections/2/1', {\r\n\t\tdata: {\r\n\t\t\tresponseCode: 0, payload:\r\n\t\t\t{\r\n\t\t\t\titems: [\r\n\t\t\t\t\t{ start: new Date(Date.now()), end: new Date(Date.now()), subject: \"Recorded Subject\", vimeoLink: 'vimeo.com/316814006' },\r\n\t\t\t\t\t{ start: new Date(Date.now()), end: new Date(Date.now()), subject: \"Recorded Subject 2\", vimeoLink: 'vimeo.com/316814006' }\r\n\t\t\t\t],\r\n\t\t\t\tTotalNumOfAvailableItems: 1\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n} */\r\n\r\n\r\nnew Vue({ render: h => h(App), }).$mount('#VueAppRoot')\r\n\r\n/*if (!window.dontLoadApp) {\r\n\r\n\tif (module['hot']) {\r\n\t\tmodule['hot'].accept();\r\n\t}\r\n}*/","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/index.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingWebinar.vue?vue&type=style&index=0&lang=postcss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blog.vue?vue&type=style&index=0&id=47875390&scoped=true&lang=css&\"","export default {\r\n sortedItems: function(state) {\r\n function compare(a, b) {\r\n if (a.Symbol < b.Symbol)\r\n return -1;\r\n if (a.Symbol > b.Symbol)\r\n return 1;\r\n return 0;\r\n }\r\n \r\n return state.items ? state.items.sort(compare) : [];\r\n },\r\n selectedItems(state){\r\n return state.items.filter(o=>o.selected);\r\n },\r\n allSelected(state) {\r\n return state.items.every(o=>o.selected);\r\n },\r\n noneSelected(state) {\r\n return !state.items.some(o=>o.selected);\r\n }\r\n}\r\n","import getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nconst state = () => ({\r\n loadingPortfolioSymbols: true,\r\n refreshing: false,\r\n fetchPortfolioError: false,\r\n rowPredictionLoading: [],\r\n items: [],\r\n colored: [],\r\n timer: null,\r\n log: '',\r\n selectedForEdit: null, // show Edit inputs for row\r\n selectedItems: [], //choose items for one action (indexes for unsorted items)\r\n loadingQuotes: false,\r\n\r\n notified_tb_login: false,\r\n fallbackSymbols: [],\r\n fallbackTimer: null,\r\n\r\n showBatchPlaceForm: false,\r\n BatchLimitSource: 1,\r\n BatchAllocated: 0\r\n});\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex'\r\nimport { portfolioService} from '@/services/services';\r\nimport TradingBlockRemote from '../../services/TradingBlockRemote';\r\nimport getters from '../portfolio/getters';\r\nimport actions from '../portfolio/actions';\r\nimport mutations from '../portfolio/mutations';\r\nimport {OrderStatus, OrderType, AssetType, PosititionEffect} from '@/domain/types';\r\nimport {OrderAction} from \"../../domain/types\";\r\nimport {formatDate} from '@/utils//formatters';\r\nexport const byOrderId = (state, payload, found_cb, nf_cb) => {\r\n let index = state.items.findIndex((o)=>o.OrderId === payload.OrderId);\r\n if (index >= 0) {\r\n found_cb && found_cb(index);\r\n } else {\r\n nf_cb && nf_cb();\r\n }\r\n};\r\n\r\nexport const byUnderlyingSymbol = (state, payload, found_cb, nf_cb) => {\r\n let index = state.items.findIndex((o)=>o.UnderlyingSymbol === payload.Symbol);\r\n if (index >= 0) {\r\n found_cb && found_cb(index);\r\n } else {\r\n nf_cb && nf_cb();\r\n }\r\n};\r\n\r\n\r\nexport const byBothLegsSymbols = (state, payload, found_cb, nf_cb) => {\r\n let index = state.items.findIndex((o)=>\r\n o.Legs[0].Symbol === payload.Legs[0].Symbol &&\r\n o.Legs[1].Symbol === payload.Legs[1].Symbol\r\n );\r\n if (index >= 0) {\r\n found_cb && found_cb(index);\r\n } else {\r\n nf_cb && nf_cb();\r\n }\r\n};\r\n\r\nconst state = () => ({\r\n items: [],\r\n error: null,\r\n report_href: null\r\n });\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions:{\r\n loadOrders({state, commit, dispatch}, payload){\r\n commit('loadedOrders', payload);\r\n if (payload && payload.length>0){\r\n commit('ORDERS_SUBSCRIBE', payload, {root:true});\r\n commit('setRefreshingQuotes', payload);\r\n if (window.allowNotesEditUi)\r\n dispatch('loadNotes', payload.map(o=>o.OrderId));\r\n }\r\n\r\n },\r\n async addNote({state, commit}, payload){\r\n\r\n try {\r\n commit('beforeNoteChange', payload);\r\n let dat = await TradingBlockRemote.EditNote(payload);\r\n commit('editedNote', payload);\r\n } catch (exc){\r\n commit('setError', 'Cannot edit note'+ exc);\r\n }\r\n\r\n },\r\n async editNote({state, commit}, payload){\r\n\r\n try {\r\n commit('beforeNoteChange', payload);\r\n let dat = await TradingBlockRemote.EditNote(payload);\r\n commit('editedNote', payload);\r\n } catch (exc){\r\n commit('setError', 'Cannot edit note' + exc);\r\n }\r\n\r\n },\r\n async deleteNote({state, commit}, payload) {\r\n\r\n try {\r\n commit('beforeNoteChange', payload);\r\n let dat = await TradingBlockRemote.DeleteNote(payload);\r\n commit('deletedNote', payload);\r\n } catch (exc) {\r\n commit('setError', 'Cannot delete note');\r\n }\r\n },\r\n async loadNotes({state, commit}, payload) {\r\n try {\r\n let dat = await TradingBlockRemote.LoadNotes(payload);\r\n commit('loadedNotes', dat);\r\n } catch (exc) {\r\n console.error(exc);\r\n commit('setError', 'Cannot load notes');\r\n }\r\n },\r\n makeReport({state, commit}){\r\n var textFile = null;\r\n const makeTextFile = function (text) {\r\n var data = new Blob([text], {type: 'text/plain'});\r\n\r\n if (textFile !== null) {\r\n window.URL.revokeObjectURL(textFile);\r\n }\r\n\r\n textFile = window.URL.createObjectURL(data);\r\n\r\n // returns a URL you can use as a href\r\n return textFile;\r\n };\r\n\r\n let filled = state.items.filter(o=>o.OrderStatus === OrderStatus.Filled);\r\n let filled_single = filled.filter(o=>o.OrderClass===1);\r\n const filled_spread = filled.filter(o=>o.OrderClass===2);\r\n\r\n const filled_opened_buy = filled_single.filter(o=>o.Legs[0].PositionEffect === 1 && o.Legs[0].Action===OrderAction.Buy);\r\n const filled_closed_sell = filled_single.filter(o=> o.Legs[0].PositionEffect === 2 && o.Legs[0].Action===OrderAction.Sell);\r\n const filled_opened_sell = filled_single.filter(o=> o.Legs[0].PositionEffect === 1 && o.Legs[0].Action===OrderAction.Sell);\r\n const filled_closed_buy = filled_single.filter(o=> o.Legs[0].PositionEffect === 2 && o.Legs[0].Action===OrderAction.Buy);\r\n\r\n const spread_open = filled_spread.filter(o=> o.Legs[0].PositionEffect === 1);\r\n const spread_close = filled_spread.filter(o=> o.Legs[0].PositionEffect === 2);\r\n\r\n\r\n\r\n var s = \"\";\r\n filled_closed_sell.forEach(exit =>{\r\n var entry = filled_opened_buy.find(op=>op.Legs[0].Symbol == exit.Legs[0].Symbol && op.Date{\r\n var entry = filled_opened_sell.find(op=>op.Legs[0].Symbol == exit.Legs[0].Symbol && op.Date{\r\n var entry = spread_open.find(op=>op.Legs[0].Symbol == exit.Legs[0].Symbol && op.Legs[1].Symbol == exit.Legs[1].Symbol && op.Dateo.OrderId===payload.OrderId);\r\n if (pos>=0){\r\n Vue.set(state.items, pos, {\r\n ...state.items[pos],\r\n OrderStatus: payload.OrderStatus,\r\n FilledQuantity:payload.FilledQuantity\r\n });\r\n }\r\n },\r\n updateRealtimeBySymbol (state, payload) {\r\n if (!payload.spread)\r\n byUnderlyingSymbol(state, payload, (index)=> {\r\n if (!payload.bid) return;\r\n let update = {\r\n BidPrice: payload.bid,\r\n AskPrice: payload.ask\r\n };\r\n state.items[index] = {...state.items[index], ...update};\r\n\r\n\r\n });\r\n else {\r\n byBothLegsSymbols(state, payload, (index)=> {\r\n if (!payload.bid && !payload.ask) return;\r\n let update = {\r\n BidPrice: payload.bid,\r\n AskPrice: payload.ask\r\n };\r\n state.items[index] = {...state.items[index], ...update};\r\n\r\n\r\n });\r\n }\r\n },\r\n updateOrderStatus(state, payload){\r\n var pos = state.items.findIndex(o=>o.OrderId===payload.OrderId);\r\n if (pos>=0){\r\n Vue.set(state.items, pos, {\r\n ...state.items[pos],\r\n OrderStatus: payload.OrderStatus,\r\n });\r\n }\r\n },\r\n //\r\n // deletedOrder(state, payload){\r\n // var pos = state.items.findIndex(o=>o.OrderId===payload.OrderId);\r\n // if (pos>=0){\r\n // Vue.delete(state.items, pos);\r\n // }\r\n // },\r\n loadedOrders(state, payload){\r\n state.items = payload;\r\n\r\n },\r\n loadedNotes(state, payload){\r\n payload.forEach(o=> {\r\n var found = state.items.find(p=>p.OrderId==o.OrderId);\r\n if (found){\r\n byOrderId(state, found, (index)=> {\r\n let update = {NoteDate: o.Date, Note: o.Description};\r\n Vue.set(state.items, index, {...state.items[index], ...update})\r\n });\r\n }\r\n\r\n });\r\n },\r\n deletedNote(state, payload){\r\n byOrderId(state, payload, (index)=> {\r\n let update = { note_busy: false, Note: null };\r\n Vue.set(state.items, index, { ...state.items[index], ...update });\r\n });\r\n },\r\n beforeNoteChange(state, payload){\r\n byOrderId(state, payload, (index)=> {\r\n let update = {note_busy: true};\r\n Vue.set(state.items, index, {...state.items[index], ...update});\r\n });\r\n },\r\n editedNote(state, payload){\r\n byOrderId(state, payload, (index)=>{\r\n let update = {Note: payload.Note, note_busy: false};\r\n Vue.set(state.items, index, {...state.items[index], ...update});\r\n });\r\n },\r\n setError(state, payload){\r\n state.error = payload;\r\n },\r\n\r\n }\r\n};\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!./App.css?vue&type=style&index=0&lang=css&\"","import {BlogLink, OrderType} from './types';\r\n\r\nexport const enum PositionRequestType {\r\n Undefined = 0,\r\n BySymbol = 1,\r\n BySymbolList = 2,\r\n ByAssetType = 3,\r\n OpenPositions = 4,\r\n}\r\n\r\nexport interface BalanceResponsePayload {\r\n 'Balances': {\r\n 'CashBalance': number, 'CashBalanceTodaysChange': number,\r\n 'MarginBalance': number, 'MarginBalanceTodaysChange': number, 'ShortBalance': number,\r\n 'ShortBalanceTodaysChange': number, 'WithdrawalAmount': number\r\n },\r\n 'BuyingPower': { 'AvailableFunds': number, 'BP': number, 'PendingTransactions': number },\r\n MMF?: { 'MMF': number, 'MoneyMarketFundTodaysChange': number },\r\n 'MarginRequirements': {\r\n 'MarginableEquityPercent': number, 'OptionMarginRequirement': number,\r\n 'OtherMarginRequirement': number, 'StockMarginRequirement': number\r\n },\r\n 'Securities': {\r\n 'BondsAndCDValue': number, 'BondsAndCDValueTodaysChange': number,\r\n 'LongOptionValue': number, 'LongOptionValueTodaysChange': number,\r\n 'LongStockValue': number, 'LongStockValueTodaysChange': number,\r\n 'MutualFundsValue': number, 'MutualFundsValueTodaysChange': number,\r\n 'ShortOptionValue': number, 'ShortOptionValueTodaysChange': number,\r\n 'ShortStockValue': number, 'ShortStockValueTodaysChange': number\r\n }\r\n\r\n}\r\n\r\nexport interface BalanceResponse {\r\n ResponseCode: number;\r\n Payload: BalanceResponsePayload\r\n}\r\n\r\nexport interface EditOrderRequest {\r\n OrderId: number;\r\n AccountId: number;\r\n SubaccountId: number;\r\n Price: number | null;\r\n Stop: number | null;\r\n OrderType: OrderType;\r\n}\r\n\r\nexport interface CancelOrderRequest {\r\n OrderId: number;\r\n AccountId: number;\r\n SubaccountId: number;\r\n}\r\n\r\nexport interface BlogResponse {\r\n value: BlogLink[];\r\n}","\r\nexport default class NoteService {\r\n private postCorsJSON(method: string, params: object) {\r\n if (typeof params !== 'object') {\r\n throw new Error('params should be obj' + params);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const request = new XMLHttpRequest();\r\n\r\n request.open('POST', window.ApplicationPath + '/WebServices/WebService.asmx/' + method, true);\r\n request.setRequestHeader('Accept', 'application/json');\r\n request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\r\n request.withCredentials = true;\r\n request.onload = () => {\r\n if (request.status >= 200 && request.status < 400) {\r\n // Success!\r\n const data = JSON.parse(request.responseText);\r\n if (data.d.error) {\r\n reject();\r\n } else {\r\n resolve(data.d);\r\n }\r\n } else {\r\n reject();\r\n }\r\n };\r\n\r\n request.onerror = () => {\r\n reject();\r\n };\r\n\r\n request.send(JSON.stringify(params));\r\n });\r\n\r\n }\r\n public AddNote(payload: {OrderId: number, Description: string }) {\r\n return this.postCorsJSON('EditNote', payload);\r\n }\r\n public DeleteNote(payload: {OrderId: number}) {\r\n return this.postCorsJSON('DeleteNote', payload);\r\n }\r\n public EditNote(payload: {OrderId: number, Description: string }) {\r\n return this.postCorsJSON('EditNote', payload);\r\n }\r\n public LoadNotes(payload: {ids: number[] }) {\r\n return this.postCorsJSON('GetNotes', payload);\r\n }\r\n}\r\n","import * as ui from '../utils/log';\r\nconst TradingblockApiEndpointUrl = 'https://staging.tradingblock.com/RestHub/';\r\n//\r\nimport {MemberAccount, SubAccount} from '../domain/Accounts';\r\nimport {CancelOrderRequest, EditOrderRequest, PositionRequestType} from '../domain/DTO';\r\nimport {Order} from '../domain/Order';\r\nimport {Position} from '../domain/Position';\r\nimport {ErrorCodeMap} from '../domain/TbMaps';\r\n\r\nimport {\r\n AssetType, CharAssetType, Options, OrderAction,\r\n OrderDuration,\r\n PositionEffect, Quote,\r\n} from '../domain/types';\r\nimport {clearCookie, getCookie, setCookie} from '../utils/cookies';\r\nimport {offsetToMilliseconds} from '../utils/formatters';\r\nimport AuthService from './AuthService';\r\nimport NoteService from './NoteService';\r\nimport EliteOrdersService from './EliteOrders';\r\nimport {EventBus, Messages} from './EventBus';\r\nimport QuoteService from './Quotes';\r\nimport { fixUtcFormat } from '@/utils/vue_utils';\r\n\r\nfunction trimLeft0(v: string): string {\r\n let start = -1;\r\n\r\n while (v.charCodeAt(++start) === 48) { }\r\n\r\n return v.slice(start, v.length);\r\n}\r\n\r\nexport interface Filter {\r\n WorkingOrdersOnly?: boolean;\r\n pageIndex: number;\r\n pageSize?: number;\r\n ExcludeDurationId?: OrderDuration;\r\n durationId?: OrderDuration;\r\n SecurityTypeId?: number;\r\n orderId?: number;\r\n orderStatusId?: number;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n\r\n symbol?: string;\r\n subaccountId?: number;\r\n accountId?: number;\r\n includeOrderEvents?: boolean;\r\n}\r\n\r\nexport interface OrderResponse {\r\n Items: Order[];\r\n TotalNumOfAvailableItems: number;\r\n\r\n}\r\n\r\nexport function padStart(str: string, targetLength: number, padString: string) {\r\n targetLength = Math.floor(targetLength) || 0;\r\n if (targetLength < str.length) { return String(str); }\r\n\r\n padString = padString ? String(padString) : ' ';\r\n\r\n let pad = '';\r\n const len: number = targetLength - str.length;\r\n let i = 0;\r\n while (pad.length < len) {\r\n if (!padString[i]) {\r\n i = 0;\r\n }\r\n pad += padString[i];\r\n i++;\r\n }\r\n\r\n return pad + String(str).slice(0);\r\n}\r\n\r\n// as harness has auth placed inside\r\nclass TradingBlockRemote {\r\n\r\n private static authService: AuthService = new AuthService();\r\n private static noteService: NoteService = new NoteService();\r\n\r\n\r\n private static AccountId: number = -1;\r\n private static SubaccountId: number = 1;\r\n public method: string = 'post';\r\n // public url = TradingblockApiEndpointUrl;\r\n public options: {\r\n onComplete: ((obj: any) => void),\r\n onFailure: ((obj: any) => void),\r\n };\r\n\r\n public static get ActiveAccountId() {\r\n return TradingBlockRemote.AccountId;\r\n }\r\n public static get accountChoosed(): boolean {\r\n if (TradingBlockRemote.AccountId === -1) { console.error('auth check -1'); }\r\n return !isNaN(TradingBlockRemote.AccountId) && !isNaN(TradingBlockRemote.SubaccountId) ;\r\n }\r\n\r\n public static login(tradeBlockName: string, tradeBlockPassword: string, live: boolean): Promise {\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.log('auth:login-start'); }\r\n return new Promise((resolve, reject) => {\r\n TradingBlockRemote.authService.login(tradeBlockName, tradeBlockPassword, live, resolve, reject);\r\n });\r\n }\r\n\r\n\r\n\r\n public static logout() {\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.log('auth:logout-start'); }\r\n return new Promise((resolve, reject) => {\r\n // TradingBlockRemote.authService.logout(resolve, reject);\r\n }).then(() => {\r\n EventBus.$emit(Messages.tradeOrderWindowClose);\r\n });\r\n }\r\n\r\n public static getToken(): string | null {\r\n\r\n return TradingBlockRemote.authService.getTOKEN();\r\n }\r\n\r\n public static get authenticated(): boolean {\r\n return TradingBlockRemote.authService.authenticated();\r\n }\r\n\r\n public static needAgreement() {\r\n return TradingBlockRemote.authService.checkAgreement();\r\n }\r\n\r\n public static setAgreement() {\r\n return TradingBlockRemote.authService.setAgreement();\r\n }\r\n\r\n public static async GetAccounts(): Promise {\r\n\r\n return new Promise((resolve: (o: MemberAccount[]) => void, reject: any) => {\r\n const tb = new TradingBlockRemote({onComplete: (res: any) => resolve(res), onFailure: (e: any) => reject(e)});\r\n tb.requestViaUrlParam('Accounts/GetAccounts', '', {omitAccount: true, omitSubAcc: true});\r\n });\r\n }\r\n\r\n public static GetSubAccounts(accountId: number): Promise {\r\n return new Promise((resolve: (o: SubAccount[]) => void, reject: any) => {\r\n const tb = new TradingBlockRemote({onComplete: (res: any) => resolve(res), onFailure: (e: any) => reject(e)});\r\n tb.requestViaUrlParam('Accounts/GetSubAccounts',\r\n '?accountId=' + accountId, {omitAccount: true, omitSubAcc: true});\r\n });\r\n }\r\n public static AccountNumber: string;\r\n public static SetSubAccount(subAccount: SubAccount) {\r\n TradingBlockRemote.AccountId = subAccount.AccountId;\r\n TradingBlockRemote.SubaccountId = subAccount.Id;\r\n TradingBlockRemote.AccountNumber = subAccount.Number;\r\n EventBus.$emit(Messages.AccountWithSubChange as string, subAccount);\r\n\r\n\r\n clearCookie('LastAccountId');\r\n clearCookie('LastSubAccountId');\r\n clearCookie('LastAccNumber');\r\n setCookie('LastAccountId', subAccount.AccountId.toString());\r\n setCookie('LastSubAccountId', subAccount.Id.toString());\r\n setCookie('LastAccNumber', subAccount.Number.toString());\r\n\r\n }\r\n\r\n public static GetLastSubAccount() {\r\n AuthService.loadPreviousLive();\r\n const accId = parseInt(getCookie('LastAccountId'), 10);\r\n const subAccId = parseInt(getCookie('LastSubAccountId'), 10);\r\n\r\n TradingBlockRemote.AccountId = accId;\r\n TradingBlockRemote.SubaccountId = subAccId;\r\n TradingBlockRemote.AccountNumber = getCookie('LastAccNumber');\r\n return {AccountId: TradingBlockRemote.AccountId, Id: TradingBlockRemote.SubaccountId};\r\n }\r\n\r\n public static getQuotesForPositions(id: number, positions: string[]): Promise {\r\n if (positions.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n const symbols = positions;\r\n // const symbols = positions.map(e => {\r\n // if (e.AssetType !== CharAssetType.Option) {\r\n // return e.Symbol;\r\n // }\r\n // else {\r\n // const a = e.Symbol.split(' ');\r\n // const d = a[1].substr(0, 6);\r\n // const t = a[1][6];\r\n // const p = padStart(a[1].substr(7), 8, '0');\r\n // return a[0] + d + t + p;\r\n // }\r\n //\r\n // });\r\n // if (symbols.length === 0) {\r\n // return [];\r\n // }\r\n try {\r\n return new Promise((resolve: (o: Quote[]) => void, reject: () => void) => {\r\n const apiQuotes =\r\n QuoteService.loadFromTradingBlock(id, symbols).then((o: any) => {resolve(o); }).catch ((e: any) => {reject(); });\r\n });\r\n\r\n } catch (exc) {\r\n throw new Error('error mapping quotes');\r\n }\r\n // const apiQuotes = await QuoteService.loadBySymbolList(symbols);\r\n /* try{\r\n const quotes = apiQuotes.map((q:Quote) => {\r\n const formatted = q;\r\n formatted.Symbol = TradingBlockRemote.TradespoonToTradeblockSymbol(q.AssetClass, q.Symbol);\r\n return formatted;\r\n });\r\n return quotes;\r\n } catch (exc){\r\n throw new Error('error mapping quotes');\r\n }*/\r\n }\r\n\r\n public static TradeblockToTradespoonSymbol(assetType: AssetType, symbol: string): string {\r\n if (assetType === 2) {\r\n const a = symbol.split(' ');\r\n const sym = a[0];\r\n const dateSide = a[1]!.substr(0, 7);\r\n const price = padStart(a[1]!.substr(7), 8, '0');\r\n\r\n return sym! + dateSide + price;\r\n } else {\r\n return symbol;\r\n }\r\n }\r\n\r\n public static TradespoonToTradeblockSymbol(assetType: AssetType, symbol: string): string {\r\n if (assetType === 2) {\r\n const a1 = symbol.substr(0, symbol.length - 8);\r\n const sym = a1.match(/\\D+/i);\r\n const dc = a1.substr(sym![0].length);\r\n const a2 = trimLeft0(symbol.substr(symbol.length - 8, symbol.length - 1));\r\n\r\n return sym![0] + ' ' + dc + a2;\r\n } else {\r\n return symbol;\r\n }\r\n }\r\n\r\n public static AddMandatoryFields(o: any): any {\r\n return {...o, accountId: TradingBlockRemote.AccountId, subaccountId: TradingBlockRemote.SubaccountId};\r\n }\r\n\r\n private static toQuery(o: any) {\r\n const str: string[] = [];\r\n const obj = TradingBlockRemote.AddMandatoryFields(o);\r\n\r\n for (const p in obj) {\r\n if (obj.hasOwnProperty(p)) {\r\n str.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p]));\r\n }\r\n }\r\n const s = str.length > 0 ? '?' + str.join('&') : '';\r\n return s;\r\n }\r\n\r\n constructor(options: any) {\r\n this.options = options;\r\n\r\n }\r\n\r\n public request(ep: string, o: any, options?: any): XMLHttpRequest {\r\n const xhr = new XMLHttpRequest() as any;\r\n\r\n const obj = TradingBlockRemote.AddMandatoryFields(o);\r\n\r\n if (options && options.method) {\r\n xhr.open(options.method, AuthService.getUrl() + ep, true);\r\n } else {\r\n xhr.open('post', AuthService.getUrl() + ep, true);\r\n }\r\n const token = TradingBlockRemote.authService.getTOKEN();\r\n if (process.env.VUE_APP_DEBUG_LOG && !token) {\r\n console.error('No token ' + TradingBlockRemote.authService.getTOKEN());\r\n }\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n xhr.setRequestHeader('Authorization', token);\r\n // obj = Object.assign(obj, controllers.getLoginCtrl().getAccountParams());\r\n\r\n xhr.send(JSON.stringify(obj));\r\n xhr.onFailure = this.onFailure.bind(this);\r\n xhr.onComplete = this.onComplete.bind(this);\r\n xhr.onreadystatechange = function() {\r\n if (this.readyState !== 4) { return; }\r\n\r\n if (this.status !== 200) {\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.warn('bad status:' + this.status); }\r\n return xhr.onFailure(-this.status);\r\n }\r\n\r\n return xhr.onComplete(this.response);\r\n };\r\n return xhr;\r\n }\r\n\r\n public requestViaUrlParam(ep: string, params: string, options?: any): XMLHttpRequest {\r\n const xhr = new XMLHttpRequest() as any;\r\n\r\n if (options && params.length > 0) {\r\n if (!options.omitSubAcc && TradingBlockRemote.SubaccountId > 0) {\r\n params = `${params}&subaccountId=${TradingBlockRemote.SubaccountId}`;\r\n }\r\n if (!options.omitAccount && TradingBlockRemote.AccountId > 0) {\r\n params = `${params}&accountId=${TradingBlockRemote.AccountId}`;\r\n }\r\n } else if (options) {\r\n if (!options.omitSubAcc && TradingBlockRemote.SubaccountId > 0) {\r\n params += `?subaccountId=${TradingBlockRemote.SubaccountId}`;\r\n }\r\n if (!options.omitAccount) {\r\n params += params.length > 0 ? '&' : '?' + `accountId=${TradingBlockRemote.AccountId}`;\r\n }\r\n }\r\n\r\n if (options && options.method) {\r\n xhr.open(options.method, '/api/portfolio/' + ep, true);\r\n } else {\r\n xhr.open('get', '/api/portfolio/' + ep + params);\r\n }\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n xhr.setRequestHeader('Authorization', TradingBlockRemote.authService.getTOKEN());\r\n\r\n if (process.env.VUE_APP_DEBUG_LOG && !params) { console.log('request:empty params'); }\r\n xhr.send();\r\n xhr.onFailure = this.onFailure.bind(this);\r\n xhr.onComplete = this.onComplete.bind(this);\r\n xhr.onreadystatechange = function() {\r\n if (this.readyState !== 4) { return; }\r\n\r\n if (this.status === 522) {\r\n ui.error.log('Please relogin, timeout for tradingblock session!');\r\n AuthService.afterLogout();\r\n return xhr.onFailure(-this.status);\r\n }\r\n if (this.status !== 200) {\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.warn('request:bad status' + this.status); }\r\n ui.error.log('Bad status from trading block');\r\n\r\n return xhr.onFailure(-this.status);\r\n }\r\n\r\n return xhr.onComplete(this.response);\r\n };\r\n return xhr;\r\n }\r\n\r\n public GetOrders(filter: Filter): XMLHttpRequest {\r\n const params = TradingBlockRemote.toQuery(filter);\r\n\r\n return this.requestViaUrlParam('Orders/GetOrders', params);\r\n // return this.request(AuthService.getUrl() + \"Orders/GetOrders\", JSON.stringify(obj));\r\n }\r\n\r\n public PlaceOrder(order: Order): XMLHttpRequest {\r\n return this.request('Orders/PlaceOrder', order);\r\n }\r\n\r\n public EditOrder(order: EditOrderRequest): XMLHttpRequest {\r\n // if (order.Stop === null) { delete order.Stop; }\r\n // if (order.Price === null) { delete order.Price; }\r\n return this.request('Orders/ChangeOrder', order);\r\n }\r\n\r\n public CancelOrder(order: CancelOrderRequest): XMLHttpRequest {\r\n return this.request('Orders/CancelOrder', order);\r\n }\r\n\r\n public GetPositions(id: number, symbol?: string): XMLHttpRequest {\r\n const params = TradingBlockRemote.toQuery({RequestType: PositionRequestType.OpenPositions, UserId: 0, Symbols: null});\r\n return this.requestViaUrlParam(id + '/GetPositions', params); // , symbol? \"?symbol=\"+ symbol:\"\"\r\n }\r\n\r\n public GetQuotes(id: number, quotes: string[]) {\r\n\r\n return this.requestViaUrlParam(id + '/GetQuotes', '?RequestFundamental=true&symbols=' + quotes.join(','));\r\n }\r\n\r\n public GetBalance(): XMLHttpRequest {\r\n const params = TradingBlockRemote.toQuery({});\r\n return this.requestViaUrlParam('Balances/GetBalances', params);\r\n }\r\n\r\n public GetFunds(): XMLHttpRequest {\r\n return this.request('Balances/GetAvailableFunds', {});\r\n }\r\n\r\n public GetOptionChainExpiration(underlying: string) {\r\n if (!underlying || typeof underlying !== 'string' || underlying.length === 0) { throw new Error('No underlying!' + underlying); }\r\n return this.requestViaUrlParam('Chains/GetExpirations', '?underlyingsymbol=' + underlying);\r\n }\r\n\r\n public GetOptionChainStrikes(underlying: string, expiration: Date, offset: string) {\r\n if (!underlying || typeof underlying !== 'string' || underlying.length === 0) { throw new Error('No underlying!' + underlying); }\r\n const d = new Date(expiration);\r\n // d.setTime(d.getTime()+offsetToMilliseconds(offset));\r\n const date = this.formatDateForQuery(d);\r\n\r\n return this.requestViaUrlParam('Chains/GetStrikes', '?underlyingsymbol=' + underlying + '&expiration=' + date);\r\n }\r\n\r\n public GetOptionChain(underlying: string, expiration: Date) {\r\n if (!underlying || typeof underlying !== 'string' || underlying.length === 0) { throw new Error('No underlying!' + underlying); }\r\n const date = this.formatDateForQuery(expiration);\r\n\r\n return this.requestViaUrlParam('Chains/GetChains', '?underlyingsymbol=' + underlying + '&expiration=' + date);\r\n }\r\n\r\n public formatDateForQuery(expiration: Date) {\r\n if (!expiration || isNaN(expiration.valueOf())) { throw new Error('No expiration!' + expiration); }\r\n\r\n const month = expiration.getMonth() + 1;\r\n const day = expiration.getDate();\r\n const year = expiration.getFullYear();\r\n return year + '-' + padStart(month.toString(), 2, '0') + '-' + padStart(day.toString(), 2, '0');\r\n }\r\n\r\n public onComplete(response: string) {\r\n let resp;\r\n\r\n function tryParseJSON(jsonString: string) {\r\n try {\r\n const o = JSON.parse(jsonString);\r\n return o;\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.error('catched bad json'); }\r\n }\r\n\r\n return false;\r\n }\r\n if (response === '' || !(resp = tryParseJSON(response)) || resp.ErrorCode > 0 || resp.ResponseCode > 0) {\r\n if (resp && (resp.ResponseCode > 0)) {\r\n const code = ErrorCodeMap[resp.ResponseCode] ? ErrorCodeMap[resp.ResponseCode] : resp.ResponseCode;\r\n ui.error.log(code + (resp.Payload && resp.Payload.Message ? ': ' + resp.Payload.Message : ''));\r\n if (resp.ResponseCode === 200)\r\n AuthService.afterLogout();\r\n if (process.env.VUE_APP_DEBUG_LOG) { console.error('response from TB:' + resp.ResponseCode); }\r\n this.options.onFailure(resp.ResponseCode);\r\n }\r\n if (resp.ResponseCode === 200 || resp.ErrorCode === 200) {\r\n\r\n AuthService.afterLogout();\r\n }\r\n EventBus.$emit(Messages.TradingBlockAjaxError);\r\n\r\n return;\r\n }\r\n const parsed = JSON.parse(response);\r\n\r\n if (parsed.Payload) {\r\n this.options.onComplete(parsed.Payload);\r\n } else {\r\n this.options.onComplete(parsed);\r\n }\r\n\r\n }\r\n\r\n public onFailure(status: string) {\r\n\r\n this.options.onFailure(JSON.parse(status));\r\n }\r\n\r\n // notes api\r\n public static DeleteNote(payload: {OrderId: number}) {\r\n return TradingBlockRemote.authenticated && TradingBlockRemote.noteService.DeleteNote(payload);\r\n }\r\n public static EditNote(payload: {OrderId: number, Description: string }) {\r\n return TradingBlockRemote.authenticated && TradingBlockRemote.noteService.EditNote(payload);\r\n }\r\n public static LoadNotes(payload: number[]) {\r\n return TradingBlockRemote.authenticated && TradingBlockRemote.noteService.LoadNotes({ids: payload});\r\n }\r\n\r\n}\r\n\r\nlet _RefClientId = 1;\r\nexport const GetRefClientId = () => _RefClientId++;\r\n\r\nexport async function GetQuotesForOrders(response: OrderResponse) {\r\n const syms = extractLegSymbols(response);\r\n\r\n let quotes: any[] = [];\r\n if (syms.length > 0) {\r\n quotes = await TradingBlockRemote.getQuotesForPositions(0, syms);\r\n if (!quotes || quotes.length === 0) {console.warn('no quotes found for list of positions of ' + syms.length); }\r\n }\r\n return quotes;\r\n}\r\n\r\nexport async function GetQuotesForEliteOrders(portfolioID: number, response: OrderResponse) {\r\n const syms = extractLegSymbols(response);\r\n\r\n let quotes: any[] = [];\r\n if (syms.length > 0) {\r\n quotes = await EliteOrdersService.loadQuotes(portfolioID, syms);\r\n if (!quotes) {\r\n quotes = [];\r\n console.warn('no quotes found for list of positions of ' + syms.length);\r\n }\r\n }\r\n return quotes;\r\n}\r\n\r\nfunction extractLegSymbols(response: OrderResponse) {\r\n return response.Items!.reduce((acc: string[], sym: Order) => {\r\n acc.push(sym.Legs[0].Symbol);\r\n if (sym.Legs[1]) {\r\n acc.push(sym.Legs[1].Symbol);\r\n }\r\n return acc;\r\n// if (sym.Legs.length>1)\r\n// acc.push(sym.Legs[1].Symbol);\r\n }, []);\r\n}\r\n\r\n// we are not support now ratios 1/2 and more than 2quotes\r\nfunction addQuotesToSpreadOrder(o: Order, quotes: Quote[]) {\r\n const ratio0 = (o.Legs[0]!.SpreadRatio!) / (o.Legs[0]!.SpreadRatio! + o.Legs[1]!.SpreadRatio!);\r\n const ratio1 = (o.Legs[1]!.SpreadRatio!) / (o.Legs[0]!.SpreadRatio! + o.Legs[1]!.SpreadRatio!);\r\n\r\n const quote0 = quotes.find((q: Quote) => {\r\n return q.Symbol === o.Legs[0].Symbol;\r\n });\r\n const quote1 = quotes.find((q: Quote) => {\r\n return q.Symbol === o.Legs[1].Symbol;\r\n });\r\n\r\n if (!quote0 || !quote1) {\r\n return {\r\n ...o, Date: new Date(fixUtcFormat(o.Date)), editing: false,\r\n Qty0: o.Quantity * ratio0,\r\n Qty1: o.Quantity * ratio1,\r\n\r\n } as any;\r\n } else {\r\n\r\n let LongBid = null, ShortBid = null, LongAsk = null, ShortAsk = null;\r\n if (o.Legs[0].Action === OrderAction.Buy && o.Legs[1].Action === OrderAction.Sell) {\r\n LongBid = quote0.BidPrice;\r\n ShortBid = quote1.BidPrice;\r\n LongAsk = quote0.AskPrice;\r\n ShortAsk = quote1.AskPrice;\r\n\r\n } else if (o.Legs[0].Action === OrderAction.Sell && o.Legs[1].Action === OrderAction.Buy) {\r\n LongBid = quote1.BidPrice;\r\n ShortBid = quote0.BidPrice;\r\n LongAsk = quote1.AskPrice;\r\n ShortAsk = quote0.AskPrice;\r\n }\r\n\r\n // ignore others conditions??\r\n\r\n const NaturalBid = LongBid! - ShortAsk!;\r\n const NaturalAsk = LongAsk! - ShortBid!;\r\n return {\r\n ...o, Date: new Date(fixUtcFormat(o.Date)), editing: false,\r\n Qty0: o.Quantity * ratio0,\r\n Qty1: o.Quantity * ratio1,\r\n\r\n BidPrice: NaturalBid,\r\n AskPrice: NaturalAsk,\r\n };\r\n }\r\n}\r\nfunction addQuoteToSingleOrder(o: Order, quotes: Quote[]) {\r\n const quote0 = quotes.find((q: Quote) =>{\r\n return q.Symbol === o.Legs[0].Symbol;\r\n });\r\n\r\n if (!quote0) {\r\n return {\r\n ...o, Date: new Date(fixUtcFormat(o.Date)), editing: false,\r\n Qty0: o.Quantity,\r\n } as any;\r\n } else {\r\n return {\r\n ...o, Date: new Date(fixUtcFormat(o.Date)), editing: false,\r\n Qty0: o.Quantity,\r\n BidPrice: quote0.BidPrice,\r\n AskPrice: quote0.AskPrice,\r\n };\r\n }\r\n\r\n}\r\nexport function addQuotesToOrders(response: OrderResponse, quotes: any[]) {\r\n\r\n return response.Items!.map((o: any) => {\r\n if (o.Legs!.length === 2) {\r\n return addQuotesToSpreadOrder(o, quotes);\r\n } else {\r\n return addQuoteToSingleOrder(o, quotes);\r\n }\r\n\r\n });\r\n}\r\n\r\n\r\n\r\nexport default TradingBlockRemote;\r\n","import {CancelOrderRequest} from './DTO';\r\nimport {\r\n AssetType,\r\n DebitCredit,\r\n OrderAction,\r\n OrderClass,\r\n OrderDuration,\r\n OrderStatus,\r\n OrderType,\r\n PositionEffect,\r\n} from './types';\r\n\r\nexport class Order {\r\n\r\n public static canHavePrice(order: Order): boolean {\r\n return (order.OrderType === 2 || order.OrderType === 4);\r\n }\r\n\r\n public static canHaveStop(order: Order): boolean {\r\n return (order.OrderType === 3 || order.OrderType === 4);\r\n }\r\n\r\n public static isChangeable(order: Order) {\r\n return order.OrderStatus === OrderStatus.New ||\r\n order.OrderStatus === OrderStatus.Replaced;\r\n }\r\n\r\n public static isWorking(order: Order) {\r\n const working = [OrderStatus.New, OrderStatus.Replaced,\r\n OrderStatus.PendingNew, OrderStatus.PendingReplace,\r\n OrderStatus.ReplaceInitiated, OrderStatus.Initiated,\r\n ];\r\n\r\n return working.findIndex((el) =>\r\n el === order.OrderStatus,\r\n ) > -1;\r\n }\r\n\r\n public static makeDayStockBuyLimit(symbol: string, quantity: number, limit: number): Order {\r\n const order = new Order();\r\n order.OrderClass = OrderClass.Single;\r\n order.Price = limit;\r\n order.UnderlyingSymbol = symbol;\r\n order.Legs = [{\r\n Action: OrderAction.Buy,\r\n PositionEffect: PositionEffect.Open,\r\n Symbol: symbol,\r\n SpreadRatio: null,\r\n AssetType: AssetType.Entity,\r\n }];\r\n order.Quantity = quantity;\r\n order.DebitCredit = DebitCredit.Debit;\r\n order.Duration = OrderDuration.Day;\r\n order.OrderType = OrderType.Limit;\r\n return order;\r\n }\r\n\r\n public static makeTradeOrder(src: Order): Order {\r\n const order: Order = new Order();\r\n\r\n order.Quantity = 0;\r\n order.AccountId = src.AccountId;\r\n order.SubaccountId = src.SubaccountId;\r\n order.OrderClass = src.OrderClass;\r\n order.Price = src.Price;\r\n order.Stop = src.Stop;\r\n order.OrderType = OrderType.Limit;\r\n order.UnderlyingSymbol = src.UnderlyingSymbol;\r\n if (src.OrderClass === 1) {\r\n order.Legs = [{\r\n Action: src.Legs[0].Action,\r\n PositionEffect: src.Legs[0].PositionEffect,\r\n Symbol: src.Legs[0].Symbol,\r\n SpreadRatio: null,\r\n AssetType: src.Legs[0].AssetType,\r\n }];\r\n\r\n } else {\r\n order.Legs = [{\r\n Action: src.Legs[0].Action,\r\n PositionEffect: src.Legs[0].PositionEffect,\r\n Symbol: src.Legs[0].Symbol,\r\n SpreadRatio: 1,\r\n AssetType: src.Legs[0].AssetType,\r\n }, {\r\n Action: src.Legs[1].Action,\r\n PositionEffect: src.Legs[1].PositionEffect,\r\n Symbol: src.Legs[1].Symbol,\r\n SpreadRatio: 1,\r\n AssetType: src.Legs[1].AssetType,\r\n }];\r\n }\r\n order.DebitCredit = src.DebitCredit;\r\n order.OrderType = OrderType.Market;\r\n order.Duration = OrderDuration.GTC;\r\n order.fixed = false;\r\n return order;\r\n }\r\n\r\n public static makeCancelRequest(src: Order) {\r\n return {\r\n OrderId: src.OrderId,\r\n SubaccountId: src.SubaccountId,\r\n AccountId: src.AccountId,\r\n } as CancelOrderRequest;\r\n }\r\n\r\n public static reset(order: Order) {\r\n order.AllOrNone = false;\r\n order.Quantity = 0;\r\n order.Duration = OrderDuration.Day;\r\n\r\n order.Price = 0;\r\n\r\n order.Stop = 0;\r\n\r\n order.Legs[0].Action = OrderAction.Buy;\r\n order.Legs[0].PositionEffect = PositionEffect.Open;\r\n order.OrderType = OrderType.Limit;\r\n /* delete order.OrderId;\r\n delete order.Date;\r\n delete order.Description;\r\n delete order.OrderStatus; */\r\n\r\n if (order.OrderClass === OrderClass.Spread) {\r\n order.Legs[0].SpreadRatio = 1;\r\n order.Legs[1].SpreadRatio = 1;\r\n } else {\r\n order.Legs[0].SpreadRatio = null;\r\n }\r\n\r\n if (order.Legs[1]) {\r\n\r\n order.Legs[1].AssetType = AssetType.Option;\r\n order.Legs[1].Action = OrderAction.Unknown;\r\n order.Legs[1].AssetType = AssetType.Option;\r\n }\r\n\r\n }\r\n\r\n public fixed?: boolean;\r\n\r\n public AccountId: number;\r\n public SubaccountId: number;\r\n public Date: string | Date;\r\n public OrderId: number;\r\n public Description: string;\r\n public DebitCredit: DebitCredit;\r\n public Quantity: number;\r\n public FillQuantity: number;\r\n public AllOrNone: boolean;\r\n public Legs: OrderLeg[] = [new OrderLeg()];\r\n\r\n public OrderClass: OrderClass = OrderClass.Single;\r\n\r\n public OrderStatus: OrderStatus;\r\n public OrderType: OrderType = OrderType.Market;\r\n\r\n public Price?: number | null = null;\r\n public Stop: number | null = null;\r\n public UnderlyingSymbol: string;\r\n public Duration: OrderDuration = OrderDuration.Day;\r\n\r\n}\r\n\r\nexport class TableOrder extends Order {\r\n public editing: boolean = false;\r\n}\r\n\r\nexport class OrderLeg {\r\n public SpreadRatio: number | null = 0;\r\n public Action: OrderAction = OrderAction.Buy;\r\n public Symbol: string = '';\r\n public PositionEffect: PositionEffect = PositionEffect.Open;\r\n public AssetType: AssetType = AssetType.Undefined;\r\n}\r\n\r\n","import Vue from \"vue\";\r\nimport './formatters'\r\nexport function insertDelimeters(v, n, x) {\r\n const re = '\\\\d(?=(\\\\d{' + (x || 3) + '})+' + (n > 0 ? '\\\\.' : '$') + ')';\r\n // tslint:disable-next-line:no-bitwise\r\n return v.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, 'g'), '$&,');\r\n}\r\nexport function formatPercent(p) {\r\n return p.toFixed(2) + '%';\r\n}\r\n\r\n\r\nDate.prototype.addDays = function(days) {\r\n var date = new Date(this.valueOf());\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n}\r\n\r\nexport function getDates(startDate, stopDate) {\r\n var dateArray = new Array();\r\n var currentDate = new Date(startDate.setHours(0, 0, 0, 0));\r\n while (currentDate <= stopDate) {\r\n dateArray.push(new Date (currentDate));\r\n currentDate = new Date(currentDate.addDays(1).setHours(0, 0, 0, 0));\r\n }\r\n return dateArray;\r\n}\r\n\r\nVue.filter('formatPrice', (v) => {\r\n if (isNaN(v)) { return ''; }\r\n const result = '$' + insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n});\r\nVue.filter('formatDecim', (v) => {\r\n const result = insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n});\r\nexport function roundPrice(num) {\r\n if (('' + num).indexOf('e') === -1) {\r\n return +(Math.round(parseFloat(num + 'e+' + 2)) + 'e-' + 2);\r\n } else {\r\n const arr = ('' + num).split('e');\r\n let sig = '';\r\n if (+arr[1] + 2 > 0) {\r\n sig = '+';\r\n }\r\n return +(Math.round(parseFloat(+arr[0] + 'e' + sig + (+arr[1] + 2))) + 'e-' + 2);\r\n }\r\n}\r\nVue.filter('formatPercent', formatPercent);\r\n\r\nexport function getNextMonth(n) {\r\n const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n const d = new Date();\r\n d.setMonth(new Date().getMonth() + n);\r\n return monthNames[d.getMonth()];\r\n}\r\n\r\nexport function formatPrice(v) {\r\n\r\n\r\n if (isNaN(v)) {return ''; }\r\n const result = '$' + insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTradingRoomRecordingsPage.vue?vue&type=style&index=0&id=2e5a9bc6&scoped=true&lang=css&\"","export function formatPercent(p: number) {\r\n return p.toFixed(2) + '%';\r\n}\r\nexport function extractJsonDate(str: any): Date {\r\n const d = new Date(parseInt(str.match(/\\d+/)[0]) * 1);\r\n return d;\r\n}\r\nexport function getNextMonth(n: number) {\r\n const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n const d = new Date();\r\n d.setMonth(new Date().getMonth() + n);\r\n return monthNames[d.getMonth()];\r\n}\r\n\r\n// export function resolveEach(arr: any, ajax: ()=>JQueryPromise) {\r\n// return new\r\n// }\r\n\r\nexport function formatDate(str: string) {\r\n const d = new Date(str);\r\n return d.toLocaleString();\r\n}\r\n\r\nexport function formatNewDate(str: string) {\r\n return str ? str.substring(0, str.indexOf('T')) : '';\r\n}\r\nexport function insertDelimeters(v: number, n: number, x?: number) {\r\n const re = '\\\\d(?=(\\\\d{' + (x || 3) + '})+' + (n > 0 ? '\\\\.' : '$') + ')';\r\n // tslint:disable-next-line:no-bitwise\r\n return v.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, 'g'), '$&,');\r\n}\r\nexport function roundPrice(num: number) {\r\n if (('' + num).indexOf('e') === -1) {\r\n return +(Math.round(parseFloat(num + 'e+' + 2)) + 'e-' + 2);\r\n } else {\r\n const arr = ('' + num).split('e');\r\n let sig = '';\r\n if (+arr[1] + 2 > 0) {\r\n sig = '+';\r\n }\r\n return +(Math.round(parseFloat(+arr[0] + 'e' + sig + (+arr[1] + 2))) + 'e-' + 2);\r\n }\r\n}\r\nexport function formatPrice(v: any) {\r\n if (isNaN(v)) {\r\n return '';\r\n }\r\n const result = '$' + insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n}\r\nexport function getParameterByName(name: string) {\r\n const url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) { return null; }\r\n if (!results[2]) { return ''; }\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n}\r\n","import Vue from 'vue';\r\n\r\nimport {formatDate} from './formatters';\r\n\r\nfunction insertDelimeters(v:number, n:number, x?:number) {\r\n const re = '\\\\d(?=(\\\\d{' + (x || 3) + '})+' + (n > 0 ? '\\\\.' : '$') + ')';\r\n return v.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, 'g'), '$&,');\r\n}\r\nexport function roundPrice(num:number){\r\n if(('' + num).indexOf('e')===-1) {\r\n return +(Math.round(parseFloat(num + 'e+' + 2)) + 'e-' + 2);\r\n } else {\r\n const arr = ('' + num).split('e');\r\n let sig = '';\r\n if(+arr[1] + 2 > 0) {\r\n sig = '+';\r\n }\r\n return +(Math.round(parseFloat(+arr[0] + 'e' + sig + (+arr[1] + 2))) + 'e-' + 2);\r\n }\r\n}\r\nexport function addDays(orig: Date, days:number) {\r\n const dat = new Date(orig.valueOf());\r\n dat.setDate(dat.getDate() + days);\r\n return dat;\r\n}\r\n\r\nVue.filter('roundNumber', function(v:number) {\r\n const result = insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n});\r\nVue.filter('formatPrice', function(v:any) {\r\n if (isNaN(v) || v==='') {return '';};\r\n const result = '$' + insertDelimeters(roundPrice(v), 2);\r\n return result;\r\n});\r\nVue.filter('formatPriceRound', function(v:any) {\r\n if (isNaN(v) || v==='') {return '';};\r\n const result = '$' + insertDelimeters(roundPrice(v), 0);\r\n return result;\r\n});\r\nVue.filter('formatPriceCr', function(v:number) {\r\n // const suf = ( v<0) ? ' DR' : ' CR';\r\n const result = '$' + insertDelimeters(roundPrice(Math.abs(v)), 2);\r\n return result;\r\n});\r\n\r\nexport function fixUtcFormat(dateStr: any ) {\r\n if (dateStr.indexOf('Date') >= 0) return extractJsonDate(dateStr);\r\n return ((typeof dateStr !== 'string') || dateStr.endsWith('Z')) ? dateStr : dateStr + 'Z';\r\n}\r\n\r\nVue.filter('formatDate', formatDate);\r\n\r\nVue.directive('visible', (el, binding) => {\r\n const value = binding.value;\r\n\r\n if (value) {\r\n el.style.visibility = 'visible';\r\n } else {\r\n el.style.visibility = 'hidden';\r\n }\r\n});\r\n\r\n\r\n// Vue.directive('tooltip', {\r\n// inserted(el){\r\n// (window.$ && $(el)as any ).tooltip({\r\n// content () {\r\n// return $(this).prop('title');\r\n// }\r\n// });\r\n// },\r\n// componentUpdated(el){\r\n// (window.$ && $(el)as any ).tooltip({\r\n// content () {\r\n// return $(this).prop('title');\r\n// }\r\n// });\r\n// }\r\n// });\r\n\r\n\r\n\r\n// import VueWin from '@hscmap/vue-window'\r\n// Vue.use(VueWin);\r\n// import VueGoodTable from 'vue-good-table';\r\n// Vue.use(VueGoodTable);\r\n\r\n// import Vuelidate from 'vuelidate'\r\n// Vue.use(Vuelidate)\r\nimport * as uiv from 'uiv';\r\nVue.use(uiv, {prefix: 'uiv'});\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\n// import money from 'v-money';\r\n// Vue.use(money, {precision: 2});\r\n\r\nimport PortalVue from 'portal-vue';\r\nVue.use(PortalVue);\r\n\r\nimport { ClientTable, Event} from 'vue-tables-2';\r\nimport { extractJsonDate } from '@/common/utils';\r\nVue.use(ClientTable);\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/index.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeItem.vue?vue&type=style&index=0&lang=postcss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('uiv-btn',{staticClass:\"tb__refresh-button\",style:(_vm.btnStyle),on:{\"click\":function($event){$event.stopPropagation();return _vm.refresh($event)}}},[_c('i',{staticClass:\"glyphicon glyphicon-refresh\"}),_vm._v(\"Refresh \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RefreshButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RefreshButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RefreshButton.vue?vue&type=template&id=f680ea9e&scoped=true&\"\nimport script from \"./RefreshButton.vue?vue&type=script&lang=js&\"\nexport * from \"./RefreshButton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f680ea9e\",\n null\n \n)\n\nexport default component.exports","import {create} from 'humane-js';\r\n\r\nexport const notify = create({ timeout: 2000, baseCls: 'humane-jackedup' });\r\nexport const error = create({ timeout: 3000, baseCls: 'humane-jackedup', addnCls: 'humane-jackedup-error' });\r\n"],"sourceRoot":""}