{"version":3,"file":"stock-ticker.min.js","sources":["stock-ticker.js"],"sourcesContent":["//Stock ticker. Used with wm_stocks_api module.\n(function ($, Drupal) {\n 'use strict'\n\n /**\n * Update Stocks when document is ready instead of being executed each time\n * when ajax is complete inside a drupal behavior.\n */\n $(document).ready(function () {\n Drupal.behaviors.wmiStockTicker.updateStocks();\n });\n\n\n Drupal.behaviors.wmiStockTicker = {\n /**\n * Update Stocks.\n */\n updateStocks: function () {\n var $stockTicker = $('.stock-price');\n var $stockPrice = $('.stock-price__price', $stockTicker);\n var $stockArrow = $('.stock_quote.sqitem', $stockTicker);\n var $stockChange = $('.stock-price__change', $stockTicker);\n\n // Hide any values currently displayed. Belt and suspenders :)\n $stockTicker.addClass('hidden');\n // Get the latest price and configuration information\n $.ajax({\n url: \"/api/c/stockprice?_format=json\",\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n }).done(function (data, status, xhr) {\n // Belt and suspenders :)\n if (data.status == 'ok' && data.enabled == '1') {\n\n //check for bad info on successful api call\n if (typeof data.current_price === \"string\" && data.current_price.length !== 0 && data.current_price !== null) {\n $stockPrice.text(data.current_price);\n\n //data.price_change = '';\n if (typeof data.price_change === \"string\" && data.price_change.length !== 0 && data.price_change !== null) {\n //$stockChange.text(\"NA\");\n\n let $priceChange;\n $priceChange = data.price_change.substring(0, 4);\n // Set the values\n if (data.arrow == 'up') {\n $stockChange.text('+' + $priceChange);\n $stockArrow.addClass('plus');\n $stockChange.addClass('plus');\n } else if (data.arrow == 'down') {\n $stockArrow.addClass('minus');\n $stockChange.text($priceChange);\n $stockChange.addClass('minus');\n } else {\n $stockChange.text($priceChange);\n }\n\n // Show Stock Price info\n $stockTicker.removeClass('hidden');\n }\n\n }//if data.current_price.\n\n }//status is 'ok'.\n else { // status not 'ok'.\n Drupal.behaviors.wmiStockTicker.setDisabled($stockTicker);\n }\n\n }).fail(function (xhr, status, error) {\n // Some sort of failure\n Drupal.behaviors.wmiStockTicker.setDisabled($stockTicker);\n });\n },\n /**\n * Set disabled.\n */\n setDisabled: function ($stockTicker) {\n // There was some sort of error on the backend or ticker disabled.\n $stockTicker.addClass('hidden');\n\n }\n }\n})(jQuery, Drupal, drupalSettings);\n"],"names":["$","Drupal","document","ready","behaviors","wmiStockTicker","updateStocks","$stockTicker","$stockPrice","$stockArrow","$stockChange","addClass","ajax","url","method","headers","Content-Type","done","data","status","xhr","$priceChange","enabled","current_price","length","text","price_change","substring","arrow","removeClass","setDisabled","fail","error","jQuery","drupalSettings"],"mappings":"CACA,CAAWA,EAAGC,KAOZD,EAAEE,QAAQ,EAAEC,MAAM,WAChBF,EAAOG,UAAUC,eAAeC,aAAa,CAC/C,CAAC,EAGDL,EAAOG,UAAUC,eAAiB,CAIhCC,aAAc,WACZ,IAAIC,EAAeP,EAAE,cAAc,EAC/BQ,EAAcR,EAAE,sBAAuBO,CAAY,EACnDE,EAAcT,EAAE,sBAAuBO,CAAY,EACnDG,EAAeV,EAAE,uBAAwBO,CAAY,EAGzDA,EAAaI,SAAS,QAAQ,EAE9BX,EAAEY,KAAK,CACLC,IAAK,iCACLC,OAAQ,MACRC,QAAS,CACPC,eAAgB,kBAClB,CACF,CAAC,EAAEC,KAAK,SAAUC,EAAMC,EAAQC,GAE9B,IAWMC,EAXa,MAAfH,EAAKC,QAAkC,KAAhBD,EAAKI,QAGI,UAA9B,OAAOJ,EAAKK,eAA4D,IAA9BL,EAAKK,cAAcC,QAAuC,OAAvBN,EAAKK,gBACpFf,EAAYiB,KAAKP,EAAKK,aAAa,EAGF,UAA7B,OAAOL,EAAKQ,eAA0D,IAA7BR,EAAKQ,aAAaF,QAAsC,OAAtBN,EAAKQ,eAIlFL,EAAeH,EAAKQ,aAAaC,UAAU,EAAG,CAAC,EAE7B,MAAdT,EAAKU,OACPlB,EAAae,KAAK,IAAMJ,CAAY,EACpCZ,EAAYE,SAAS,MAAM,EAC3BD,EAAaC,SAAS,MAAM,GACL,QAAdO,EAAKU,OACdnB,EAAYE,SAAS,OAAO,EAC5BD,EAAae,KAAKJ,CAAY,EAC9BX,EAAaC,SAAS,OAAO,GAE7BD,EAAae,KAAKJ,CAAY,EAIhCd,EAAasB,YAAY,QAAQ,GAOrC5B,EAAOG,UAAUC,eAAeyB,YAAYvB,CAAY,CAG5D,CAAC,EAAEwB,KAAK,SAAUX,EAAKD,EAAQa,GAE7B/B,EAAOG,UAAUC,eAAeyB,YAAYvB,CAAY,CAC1D,CAAC,CACH,EAIAuB,YAAa,SAAUvB,GAErBA,EAAaI,SAAS,QAAQ,CAEhC,CACF,CACD,GAAEsB,OAAQhC,OAAQiC,cAAc"}