{"version":3,"sources":["webpack:///./app/javascript/src/datatiles.js"],"names":["formatter","Intl","NumberFormat","style","currency","setText","element","text","textValue","dataset","format","document","body","innerText","textContent","getDataTileJSON","node","url","success","error","params","$","window","jQuery","Zepto","ajax","dataType","done","data","xhr","XMLHttpRequest","open","setRequestHeader","onload","status","JSON","parse","responseText","statusText","send","ajaxCall","jqXHR","textStatus","errorThrown","message","ready","numberCharts","querySelectorAll","URLSearchParams","location","search","get","Date","getFullYear","length","forEach","el"],"mappings":"8EAAA,gBAAMA,EAAY,IAAIC,KAAKC,aAAa,QAAS,CAC/CC,MAAO,WACPC,SAAU,QAqBZ,SAASC,EAAQC,EAASC,GAExB,IAAIC,EAAuC,SAA3BF,EAAQG,QAAc,KAAeT,EAAUU,OAAOH,EAAK,KAAOA,EAE7EI,SAASC,KAAKC,UAChBP,EAAQO,UAAYL,EAEpBF,EAAQQ,YAAcN,CAE1B,CA8BD,SAASO,EAAgBC,EAAMC,EAAKC,EAASC,IA5B7C,SAAkBH,EAAMC,EAAKG,EAAQF,EAASC,GAC5C,IAAIE,EAAIC,OAAOC,QAAUD,OAAOE,OAASF,OAAOD,EAEhD,GAAIA,GAAKA,EAAEI,KACTJ,EAAEI,KAAK,CACLC,SAAU,OACVT,IAAKA,EACLC,QAASA,EACTC,MAAOA,IACNQ,MAAK,SAASC,GACfvB,EAAQW,EAAMY,EAChB,QACK,CACL,IAAIC,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAOd,GAAK,GACrBY,EAAIG,iBAAiB,eAAgB,oBAErCH,EAAII,OAAS,WACQ,MAAfJ,EAAIK,OACN7B,EAAQW,EAAMmB,KAAKC,MAAMP,EAAIQ,eAE7BlB,EAAMU,EAAK,QAASA,EAAIS,WAE5B,EACAT,EAAIU,MACN,CACF,CAGEC,CAASxB,EAAMC,EAAKC,GAAS,SAAUuB,EAAOC,EAAYC,GACxD,IAAIC,EAAkC,kBAAhBD,EAA4BA,EAAcA,EAAYC,QAC5EzB,EAAMyB,EACR,GACF,CAEAvB,EAAEV,UAAUkC,OAAM,WAChB,IAAIC,EAAenC,SAASoC,iBAAiB,iBAC3B,IAAIC,gBAAgB1B,OAAO2B,SAASC,QAC/BC,IAAI,UAAW,IAAIC,MAAOC,cAG7CP,EAAaQ,OAAS,GACxBR,EAAaS,SAAQ,SAASC,GAC5BzC,EAAgByC,EAAIA,EAAG/C,QAAa,IACtC,GAEJ,G","file":"js/8-0571be6abe547ca8351d.chunk.js","sourcesContent":["const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n\n // These options are needed to round to whole numbers if that's what you want.\n //minimumFractionDigits: 0, // (this suffices for whole numbers, but will print 2500.10 as $2,500.1)\n //maximumFractionDigits: 0, // (causes 2500.99 to be printed as $2,501)\n});\n\n// want to adopt this and open source this...\n// document.addEventListener('DOMContentLoaded', () => {\n// document.querySelectorAll('[data-tile]').forEach(element => setupDataTile(element))\n// })\n\n// function setupDataTile(element) {\n// let trigger = element.querySelector('[data-behavior=\"uppy-trigger\"]')\n// let form = element.closest('form')\n// let direct_upload_url = document.querySelector(\"meta[name='direct-upload-url']\").getAttribute(\"content\")\n// let field_name = element.dataset.uppy\n// trigger.addEventListener(\"click\", (event) => event.preventDefault())\n// }\n\n\nfunction setText(element, text) { \n\n let textValue = element.dataset['type'] == 'money' ? formatter.format(text/100) : text\n\n if (document.body.innerText) {\n element.innerText = textValue;\n } else {\n element.textContent = textValue;\n }\n }\n\nfunction ajaxCall(node, url, params, success, error){\n let $ = window.jQuery || window.Zepto || window.$;\n\n if ($ && $.ajax) {\n $.ajax({\n dataType: \"json\",\n url: url,\n success: success,\n error: error\n }).done(function(data){\n setText(node, data)\n });\n } else {\n let xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n\n xhr.onload = function () {\n if (xhr.status === 200) {\n setText(node, JSON.parse(xhr.responseText))\n } else {\n error(xhr, \"error\", xhr.statusText);\n }\n };\n xhr.send();\n }\n}\n\nfunction getDataTileJSON(node, url, success, error) {\n ajaxCall(node, url, success, function (jqXHR, textStatus, errorThrown) {\n var message = (typeof errorThrown === \"string\") ? errorThrown : errorThrown.message;\n error(message);\n });\n}\n\n$(document).ready(function() {\n let numberCharts = document.querySelectorAll('.data-loading');\n const urlParams = new URLSearchParams(window.location.search);\n const year = urlParams.get('year') || new Date().getFullYear();\n \n\n if (numberCharts.length > 0){\n numberCharts.forEach(function(el) {\n getDataTileJSON(el, el.dataset['url'])\n });\n }\n});"],"sourceRoot":""}