{"version":3,"sources":["webpack:///./src/dashboard-components/exposure-grid.js"],"names":["$","kendo","jQuery","getGridColumns","typeNumCol","columns","field","template","title","hidden","headerAttributes","style","attributes","forEach","element","column","typeNum","visible","format","push","renderGrid","$container","options","renderLocation","Promise","resolve","reject","actionName","controllerName","dataSourceUrl","ajax","url","data","success","response","typeNumCols","grid","empty","kendoGrid","editable","scrollable","dataSource","schema","model","id","fields","DivisionId","type","Division","PeriodStart","PeriodEnd","Period","dataBound","e","items","sender","length","closest","remove","prepend","$grandTotal","find","addClass","removeClass","filterable","sortable","pageable","error","render","location"],"mappings":"mJAAMA,G,UAAIC,MAAMC,QAEhB,SAASC,EAAeC,GACtB,IAAMC,EAAU,CACd,CACEC,MAAO,SACPC,SAAU,6DACVC,MAAO,SACPC,QAAQ,EACRC,iBAAkB,CAChBC,MAAO,uBAETC,WAAY,CACVD,MAAO,uBAwCb,OAnCC,eAAKP,GAAc,IAAKS,QAAQ,SAASC,GACxC,IAAMC,EAAS,CACbT,MAAOQ,EAAQR,MACfE,MAAOM,EAAQE,QACfP,QAASK,EAAQG,QACjBP,iBAAkB,CAChBC,MAAO,uBAETC,WAAY,CACVD,MAAO,sBAETO,OAAQ,UAGV,OAAQH,EAAOT,OACb,IAAK,UACHS,EAAOH,WAAW,SAAW,kBAC7B,MACF,IAAK,WACHG,EAAOH,WAAW,SAAW,mBAC7B,MACF,IAAK,aACHG,EAAOH,WAAW,SAAW,sBAC7B,MACF,IAAK,SACL,IAAK,WACL,IAAK,aACL,IAAK,aACHG,EAAOG,OAAS,SAChB,MAGJb,EAAQc,KAAKJ,KAGf,UAAWV,GAGb,SAASe,EAAWC,EAAYC,EAASC,GACvC,OAAO,IAAIC,QAAQ,SAASC,EAASC,GACnC,IAAMC,EAA+B,UAAlBJ,EAA6B,aAAe,sBACzDK,EAAiB,iBACjBC,EAAgB,eAAH,OAAkBD,EAAlB,YAAoCD,GAEvD3B,EAAE8B,KAAK,CACLC,IAAKF,EACLG,KAAMV,EACNW,QAAS,SAASC,GAAU,IACnBF,EAAqBE,EAArBF,KAAMG,EAAeD,EAAfC,YAEPC,EAAOf,EACVgB,QACAC,UAAU,CACTC,UAAU,EACVC,YAAY,EACZC,WAAY,CACVT,KAAMA,EACNU,OAAQ,CACNC,MAAO,CACLC,GAAI,KACJC,OAAQ,CACNC,WAAY,CACVC,KAAM,UAERC,SAAU,CACRD,KAAM,UAERE,YAAa,CACXF,KAAM,QAERG,UAAW,CACTH,KAAM,QAERI,OAAQ,CACNJ,KAAM,cAMhBK,UAAW,SAASC,GAClB,GAAuB,cAAnB9B,EAAgC,CAClC,IAAM+B,EAAQD,EAAEE,OAAOd,WAAWT,OAAOwB,OAC5B,GAATF,GACFD,EAAEE,OAAOzC,QAAQ2C,QAAQ,cAAcC,SAErCJ,EAAQ,IACVD,EAAEE,OAAOzC,QAAQ2C,QAAQ,cAAcE,QAAQ,6BAInD,IAAMC,EAAcP,EAAEE,OAAOzC,QAAQ+C,KAAK,WAC1CD,EACGE,SAAS,iBACTC,YAAY,SACZF,KAAK,MACLC,SAAS,YACZF,EAAYC,KAAK,MAAME,YAAY,oCAEnCtC,EAAQW,IAEV4B,YAAY,EACZC,UAAU,EACVC,UAAU,EACV7D,QAASF,EAAegC,KAEzBH,KAAK,cAMVmC,MAAO,SAASA,GACdzC,EAAOyC,QAMA,cACbC,OAAQ,SAAS/C,EAAYC,GAAiC,IAAxB+C,EAAwB,uDAAb,YAC/C,OAAOjD,EAAWC,EAAYC,EAAS+C","file":"js/chunk-2d0be69e.5c1a274f.js","sourcesContent":["const $ = kendo.jQuery\n\nfunction getGridColumns(typeNumCol) {\n const columns = [\n {\n field: 'Period',\n template: '#=data.Period || kendo.toString(data.PeriodEnd, \"MMM-yy\")#',\n title: 'Period',\n hidden: false,\n headerAttributes: {\n style: 'text-align: center;',\n },\n attributes: {\n style: 'text-align: left;',\n },\n },\n ]\n\n ;[...(typeNumCol || [])].forEach(function(element) {\n const column = {\n field: element.field,\n title: element.typeNum,\n hidden: !element.visible,\n headerAttributes: {\n style: 'text-align: center;',\n },\n attributes: {\n style: 'text-align: right;',\n },\n format: '{0:N0}',\n }\n\n switch (column.field) {\n case 'ColumnC':\n column.attributes['class'] = 'hedgeCDrillDown'\n break\n case 'ColumnNC':\n column.attributes['class'] = 'hedgeNCDrillDown'\n break\n case 'Adjustment':\n column.attributes['class'] = 'adjustmentDrillDown'\n break\n case 'Niveau':\n case 'NiveauNC':\n case 'BudgetRate':\n case 'ActualRate':\n column.format = '{0:N4}'\n break\n }\n\n columns.push(column)\n })\n\n return [...columns]\n}\n\nfunction renderGrid($container, options, renderLocation) {\n return new Promise(function(resolve, reject) {\n const actionName = renderLocation == 'report' ? 'DataSource' : 'DataSourceComponent'\n const controllerName = 'ExposureReport'\n const dataSourceUrl = `/api/report/${controllerName}/${actionName}`\n\n $.ajax({\n url: dataSourceUrl,\n data: options,\n success: function(response) {\n const {data, typeNumCols} = response\n\n const grid = $container\n .empty()\n .kendoGrid({\n editable: false,\n scrollable: false,\n dataSource: {\n data: data,\n schema: {\n model: {\n id: 'Id',\n fields: {\n DivisionId: {\n type: 'number',\n },\n Division: {\n type: 'string',\n },\n PeriodStart: {\n type: 'date',\n },\n PeriodEnd: {\n type: 'date',\n },\n Period: {\n type: 'string',\n },\n },\n },\n },\n },\n dataBound: function(e) {\n if (renderLocation === 'dashboard') {\n const items = e.sender.dataSource.data().length\n if (items == 0) {\n e.sender.element.closest('.component').remove()\n }\n if (items > 25) {\n e.sender.element.closest('.component').prepend('