@corva/ui 3.27.0-0 → 3.27.0-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/cjs-bundle/components/Chart/effects/useChartModifier.js +1 -1
  2. package/cjs-bundle/components/Chart/effects/useChartModifier.js.map +1 -1
  3. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
  4. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
  5. package/cjs-bundle/components/PinnableFilters/effects/index.js +1 -1
  6. package/cjs-bundle/components/PinnableFilters/effects/index.js.map +1 -1
  7. package/cjs-bundle/config/highcharts/constants.js +2 -0
  8. package/cjs-bundle/config/highcharts/constants.js.map +1 -0
  9. package/cjs-bundle/config/highcharts/getHighchartsV10.js +2 -0
  10. package/cjs-bundle/config/highcharts/getHighchartsV10.js.map +1 -0
  11. package/cjs-bundle/config/highcharts/getHighchartsV8.js +2 -0
  12. package/cjs-bundle/config/highcharts/getHighchartsV8.js.map +1 -0
  13. package/cjs-bundle/config/highcharts/highcharts.js +1 -1
  14. package/cjs-bundle/config/highcharts/highcharts.js.map +1 -1
  15. package/cjs-bundle/config/initGlobalDependencies.js +1 -1
  16. package/cjs-bundle/config/initGlobalDependencies.js.map +1 -1
  17. package/cjs-bundle/permissions/constants/index.js +1 -1
  18. package/components/Chart/effects/useChartModifier.d.ts.map +1 -1
  19. package/components/Chart/effects/useChartModifier.js +1 -1
  20. package/components/Chart/effects/useChartModifier.js.map +1 -1
  21. package/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
  22. package/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
  23. package/components/PinnableFilters/effects/index.js +1 -1
  24. package/components/PinnableFilters/effects/index.js.map +1 -1
  25. package/config/highcharts/constants.d.ts +3 -0
  26. package/config/highcharts/constants.d.ts.map +1 -0
  27. package/config/highcharts/constants.js +2 -0
  28. package/config/highcharts/constants.js.map +1 -0
  29. package/config/highcharts/getHighchartsV10.d.ts +13 -0
  30. package/config/highcharts/getHighchartsV10.d.ts.map +1 -0
  31. package/config/highcharts/getHighchartsV10.js +2 -0
  32. package/config/highcharts/getHighchartsV10.js.map +1 -0
  33. package/config/highcharts/getHighchartsV8.d.ts +13 -0
  34. package/config/highcharts/getHighchartsV8.d.ts.map +1 -0
  35. package/config/highcharts/getHighchartsV8.js +2 -0
  36. package/config/highcharts/getHighchartsV8.js.map +1 -0
  37. package/config/highcharts/highcharts.d.ts +3 -1
  38. package/config/highcharts/highcharts.d.ts.map +1 -1
  39. package/config/highcharts/highcharts.js +1 -1
  40. package/config/highcharts/highcharts.js.map +1 -1
  41. package/config/highcharts/index.d.ts +1 -0
  42. package/config/initGlobalDependencies.d.ts +1 -1
  43. package/config/initGlobalDependencies.d.ts.map +1 -1
  44. package/config/initGlobalDependencies.js +1 -1
  45. package/config/initGlobalDependencies.js.map +1 -1
  46. package/package.json +5 -3
  47. package/permissions/constants/index.d.ts +1 -0
  48. package/permissions/constants/index.d.ts.map +1 -1
  49. package/permissions/constants/index.js +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@babel/runtime/helpers/defineProperty"),e=require("@material-ui/core"),t=require("lodash"),o=require("react"),s=require("../formations.js");function a(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var i=a(r);function n(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,o)}return t}function c(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){i.default(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}var u=e.makeStyles({axisGrab:{cursor:"grab"},axisCrosshair:{cursor:"crosshair"}});exports.useChartModifier=function(r){var e=r.chart,a=r.chartOptions,i=r.isZoomEnabled,n=r.isMinHeightChart,l=r.handleChartSelection,f=r.onZoomChangeCallback,p=r.isAxesCoordinatesShown,h=u();o.useEffect((function(){if(!t.isEmpty(e)){var r={zIndex:1,color:"#ffffff",dashStyle:"dash"};e.plotBackground.element.style.cursor=n||!i?"grab":"crosshair",e.series.forEach((function(r){var e;return null==r||null===(e=r.group)||void 0===e?void 0:e.css({cursor:n||!i?"grab":"crosshair"})})),e.update({chart:c(c({},a),{},{plotBackgroundColor:"transparent",zoomType:n||!i?"none":a.zoomType}),xAxis:{crosshair:p?r:null,className:i?h.axisCrosshair:h.axisGrab,events:{afterSetExtremes:function(r){var t,o;"zoom"!==r.trigger&&"navigator"!==r.trigger||l(),null!==(t=e.xAxis)&&void 0!==t&&null!==(o=t[0].userOptions.plotLines)&&void 0!==o&&o.length&&s.updateAxisStyles({chart:e}),f(r)}}},yAxis:{crosshair:p?r:null,className:i?h.axisCrosshair:h.axisGrab,events:{afterSetExtremes:function(r){"zoom"!==r.trigger&&"navigator"!==r.trigger||l(),f(r)}}},plotOptions:{series:{cursor:n||!i?"grab":"crosshair"}}})}}),[i,l,p])};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@babel/runtime/helpers/defineProperty"),e=require("@material-ui/core"),t=require("lodash"),o=require("react"),n=require("../formations.js");function s(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var i=s(r);function a(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,o)}return t}function c(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?a(Object(t),!0).forEach((function(e){i.default(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}var u=function(r,e,t){var o;return window.Highcharts.version.startsWith("10")?{zooming:{type:t||!e?"none":r.zoomType,panning:{enabled:!e,type:(null===(o=r.panning)||void 0===o?void 0:o.type)||"xy"},panKey:""}}:{zoomType:t||!e?"none":r.zoomType}},l=e.makeStyles({axisGrab:{cursor:"grab"},axisCrosshair:{cursor:"crosshair"}});exports.useChartModifier=function(r){var e=r.chart,s=r.chartOptions,i=r.isZoomEnabled,a=r.isMinHeightChart,p=r.handleChartSelection,f=r.onZoomChangeCallback,h=r.isAxesCoordinatesShown,g=l();o.useEffect((function(){if(!t.isEmpty(e)){var r={zIndex:1,color:"#ffffff",dashStyle:"dash"};e.plotBackground.element.style.cursor=a||!i?"grab":"crosshair",e.series.forEach((function(r){var e;return null==r||null===(e=r.group)||void 0===e?void 0:e.css({cursor:a||!i?"grab":"crosshair"})})),e.update({chart:c(c({},s),{},{plotBackgroundColor:"transparent"},u(s,i,a)),xAxis:{crosshair:h?r:null,className:i?g.axisCrosshair:g.axisGrab,events:{afterSetExtremes:function(r){var t,o;"zoom"!==r.trigger&&"navigator"!==r.trigger||p(),null!==(t=e.xAxis)&&void 0!==t&&null!==(o=t[0].userOptions.plotLines)&&void 0!==o&&o.length&&n.updateAxisStyles({chart:e}),f(r)}}},yAxis:{crosshair:h?r:null,className:i?g.axisCrosshair:g.axisGrab,events:{afterSetExtremes:function(r){"zoom"!==r.trigger&&"navigator"!==r.trigger||p(),f(r)}}},plotOptions:{series:{cursor:a||!i?"grab":"crosshair"}}})}}),[i,p,h])};
2
2
  //# sourceMappingURL=useChartModifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChartModifier.js","sources":["../../../../../src/components/Chart/effects/useChartModifier.js"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport { isEmpty } from 'lodash';\nimport { useEffect } from 'react';\n\nimport { updateAxisStyles } from '../formations';\n\nconst useStyles = makeStyles({\n axisGrab: {\n cursor: 'grab',\n },\n axisCrosshair: {\n cursor: 'crosshair',\n },\n});\n\nexport const useChartModifier = ({\n chart,\n chartOptions,\n isZoomEnabled,\n isMinHeightChart,\n handleChartSelection,\n onZoomChangeCallback,\n isAxesCoordinatesShown,\n}) => {\n const classes = useStyles();\n\n useEffect(() => {\n if (isEmpty(chart)) {\n return;\n }\n\n const crosshairConfig = {\n zIndex: 1,\n color: '#ffffff',\n dashStyle: 'dash',\n };\n // eslint-disable-next-line no-param-reassign\n chart.plotBackground.element.style.cursor =\n isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair';\n\n chart.series.forEach(seriesItem =>\n seriesItem?.group?.css({\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n })\n );\n\n chart.update({\n chart: {\n ...chartOptions,\n plotBackgroundColor: 'transparent',\n zoomType: isMinHeightChart || !isZoomEnabled ? 'none' : chartOptions.zoomType,\n },\n xAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n if (chart.xAxis?.[0].userOptions.plotLines?.length) {\n updateAxisStyles({ chart });\n }\n onZoomChangeCallback(e);\n },\n },\n },\n yAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n onZoomChangeCallback(e);\n },\n },\n },\n plotOptions: {\n series: {\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n },\n },\n });\n }, [isZoomEnabled, handleChartSelection, isAxesCoordinatesShown]);\n};\n"],"names":["useStyles","makeStyles","axisGrab","cursor","axisCrosshair","_ref","chart","chartOptions","isZoomEnabled","isMinHeightChart","handleChartSelection","onZoomChangeCallback","isAxesCoordinatesShown","classes","useEffect","isEmpty","crosshairConfig","zIndex","color","dashStyle","plotBackground","element","style","series","forEach","seriesItem","_seriesItem$group","group","css","update","plotBackgroundColor","zoomType","xAxis","crosshair","className","events","afterSetExtremes","e","_chart$xAxis","_chart$xAxis$0$userOp","trigger","userOptions","plotLines","length","updateAxisStyles","yAxis","plotOptions"],"mappings":"y3BAMA,IAAMA,EAAYC,EAAAA,WAAW,CAC3BC,SAAU,CACRC,OAAQ,QAEVC,cAAe,CACbD,OAAQ,wCAIoB,SAQ1BE,GAAA,IAPJC,IAAAA,MACAC,IAAAA,aACAC,IAAAA,cACAC,IAAAA,iBACAC,IAAAA,qBACAC,IAAAA,qBACAC,IAAAA,uBAEMC,EAAUb,IAEhBc,EAAAA,WAAU,WACR,IAAIC,EAAAA,QAAQT,GAAZ,CAIA,IAAMU,EAAkB,CACtBC,OAAQ,EACRC,MAAO,UACPC,UAAW,QAGbb,EAAMc,eAAeC,QAAQC,MAAMnB,OACjCM,IAAqBD,EAAgB,OAAS,YAEhDF,EAAMiB,OAAOC,SAAQ,SAAAC,GAAU,IAAAC,EAAA,OAC7BD,SAAiB,QAAjBA,EAAAA,EAAYE,aAAK,IAAAD,OAAjBD,EAAAC,EAAmBE,IAAI,CACrBzB,OAAQM,IAAqBD,EAAgB,OAAS,iBAI1DF,EAAMuB,OAAO,CACXvB,aACKC,GAAY,CAAA,EAAA,CACfuB,oBAAqB,cACrBC,SAAUtB,IAAqBD,EAAgB,OAASD,EAAawB,WAEvEC,MAAO,CACLC,UAAWrB,EAAyBI,EAAkB,KACtDkB,UAAW1B,EAAgBK,EAAQT,cAAgBS,EAAQX,SAC3DiC,OAAQ,CACNC,iBAAgB,SAACC,GAAG,IAAAC,EAAAC,EACA,SAAdF,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B9B,IAEa,QAAf4B,EAAIhC,EAAM0B,aAAK,IAAAM,GAAX,QAAWC,EAAXD,EAAc,GAAGG,YAAYC,iBAA7B,IAAAH,GAAAA,EAAwCI,QAC1CC,mBAAiB,CAAEtC,MAAAA,IAErBK,EAAqB0B,EACvB,IAGJQ,MAAO,CACLZ,UAAWrB,EAAyBI,EAAkB,KACtDkB,UAAW1B,EAAgBK,EAAQT,cAAgBS,EAAQX,SAC3DiC,OAAQ,CACNC,iBAAgB,SAACC,GACG,SAAdA,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B9B,IAEFC,EAAqB0B,EACvB,IAGJS,YAAa,CACXvB,OAAQ,CACNpB,OAAQM,IAAqBD,EAAgB,OAAS,eApD5D,CAwDD,GAAE,CAACA,EAAeE,EAAsBE,GAC3C"}
1
+ {"version":3,"file":"useChartModifier.js","sources":["../../../../../src/components/Chart/effects/useChartModifier.js"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport { isEmpty } from 'lodash';\nimport { useEffect } from 'react';\n\nimport { updateAxisStyles } from '../formations';\n\n// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration to v10 ends\n// Helper function to get chart configuration based on Highcharts version\n// This ensures compatibility with both Highcharts v8 and v10\nconst getChartVersionSpecificConfig = (chartOptions, isZoomEnabled, isMinHeightChart) => {\n const isV10 = window.Highcharts.version.startsWith('10');\n\n if (isV10) {\n // Highcharts v10 format\n return {\n zooming: {\n type: isMinHeightChart || !isZoomEnabled ? 'none' : chartOptions.zoomType,\n panning: {\n enabled: !isZoomEnabled,\n type: chartOptions.panning?.type || 'xy',\n },\n panKey: '',\n },\n };\n } else {\n // Highcharts v8 format (backward compatibility)\n return {\n zoomType: isMinHeightChart || !isZoomEnabled ? 'none' : chartOptions.zoomType,\n };\n }\n};\n\nconst useStyles = makeStyles({\n axisGrab: {\n cursor: 'grab',\n },\n axisCrosshair: {\n cursor: 'crosshair',\n },\n});\n\nexport const useChartModifier = ({\n chart,\n chartOptions,\n isZoomEnabled,\n isMinHeightChart,\n handleChartSelection,\n onZoomChangeCallback,\n isAxesCoordinatesShown,\n}) => {\n const classes = useStyles();\n\n useEffect(() => {\n if (isEmpty(chart)) {\n return;\n }\n\n const crosshairConfig = {\n zIndex: 1,\n color: '#ffffff',\n dashStyle: 'dash',\n };\n // eslint-disable-next-line no-param-reassign\n chart.plotBackground.element.style.cursor =\n isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair';\n\n chart.series.forEach(seriesItem =>\n seriesItem?.group?.css({\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n })\n );\n\n chart.update({\n chart: {\n ...chartOptions,\n plotBackgroundColor: 'transparent',\n ...getChartVersionSpecificConfig(chartOptions, isZoomEnabled, isMinHeightChart),\n },\n xAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n if (chart.xAxis?.[0].userOptions.plotLines?.length) {\n updateAxisStyles({ chart });\n }\n onZoomChangeCallback(e);\n },\n },\n },\n yAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n onZoomChangeCallback(e);\n },\n },\n },\n plotOptions: {\n series: {\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n },\n },\n });\n }, [isZoomEnabled, handleChartSelection, isAxesCoordinatesShown]);\n};\n"],"names":["getChartVersionSpecificConfig","chartOptions","isZoomEnabled","isMinHeightChart","_chartOptions$panning","window","Highcharts","version","startsWith","zooming","type","zoomType","panning","enabled","panKey","useStyles","makeStyles","axisGrab","cursor","axisCrosshair","_ref","chart","handleChartSelection","onZoomChangeCallback","isAxesCoordinatesShown","classes","useEffect","isEmpty","crosshairConfig","zIndex","color","dashStyle","plotBackground","element","style","series","forEach","seriesItem","_seriesItem$group","group","css","update","plotBackgroundColor","xAxis","crosshair","className","events","afterSetExtremes","e","_chart$xAxis","_chart$xAxis$0$userOp","trigger","userOptions","plotLines","length","updateAxisStyles","yAxis","plotOptions"],"mappings":"y3BASA,IAAMA,EAAgC,SAACC,EAAcC,EAAeC,GAClE,IAEWC,EAAX,OAFcC,OAAOC,WAAWC,QAAQC,WAAW,MAI1C,CACLC,QAAS,CACPC,KAAMP,IAAqBD,EAAgB,OAASD,EAAaU,SACjEC,QAAS,CACPC,SAAUX,EACVQ,MAAM,UAAAT,EAAaW,eAAb,IAAAR,OAAA,EAAAA,EAAsBM,OAAQ,MAEtCI,OAAQ,KAKL,CACLH,SAAUR,IAAqBD,EAAgB,OAASD,EAAaU,SAG3E,EAEMI,EAAYC,EAAAA,WAAW,CAC3BC,SAAU,CACRC,OAAQ,QAEVC,cAAe,CACbD,OAAQ,wCAIoB,SAQ1BE,GAAA,IAPJC,IAAAA,MACApB,IAAAA,aACAC,IAAAA,cACAC,IAAAA,iBACAmB,IAAAA,qBACAC,IAAAA,qBACAC,IAAAA,uBAEMC,EAAUV,IAEhBW,EAAAA,WAAU,WACR,IAAIC,EAAAA,QAAQN,GAAZ,CAIA,IAAMO,EAAkB,CACtBC,OAAQ,EACRC,MAAO,UACPC,UAAW,QAGbV,EAAMW,eAAeC,QAAQC,MAAMhB,OACjCf,IAAqBD,EAAgB,OAAS,YAEhDmB,EAAMc,OAAOC,SAAQ,SAAAC,GAAU,IAAAC,EAAA,OAC7BD,SAAiB,QAAjBA,EAAAA,EAAYE,aAAK,IAAAD,OAAjBD,EAAAC,EAAmBE,IAAI,CACrBtB,OAAQf,IAAqBD,EAAgB,OAAS,iBAI1DmB,EAAMoB,OAAO,CACXpB,aACKpB,GAAY,CAAA,EAAA,CACfyC,oBAAqB,eAClB1C,EAA8BC,EAAcC,EAAeC,IAEhEwC,MAAO,CACLC,UAAWpB,EAAyBI,EAAkB,KACtDiB,UAAW3C,EAAgBuB,EAAQN,cAAgBM,EAAQR,SAC3D6B,OAAQ,CACNC,iBAAgB,SAACC,GAAG,IAAAC,EAAAC,EACA,SAAdF,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B7B,IAEa,QAAf2B,EAAI5B,EAAMsB,aAAK,IAAAM,GAAX,QAAWC,EAAXD,EAAc,GAAGG,YAAYC,iBAA7B,IAAAH,GAAAA,EAAwCI,QAC1CC,mBAAiB,CAAElC,MAAAA,IAErBE,EAAqByB,EACvB,IAGJQ,MAAO,CACLZ,UAAWpB,EAAyBI,EAAkB,KACtDiB,UAAW3C,EAAgBuB,EAAQN,cAAgBM,EAAQR,SAC3D6B,OAAQ,CACNC,iBAAgB,SAACC,GACG,SAAdA,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B7B,IAEFC,EAAqByB,EACvB,IAGJS,YAAa,CACXtB,OAAQ,CACNjB,OAAQf,IAAqBD,EAAgB,OAAS,eApD5D,CAwDD,GAAE,CAACA,EAAeoB,EAAsBE,GAC3C"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("react"),n=require("react-dom"),u=require("prop-types"),o=require("mapbox.js"),i=require("lodash"),a=require("@material-ui/core/styles"),s=require("../../effects/index.js"),c=require("./Map.css.js"),l=require("../../../../utils/index.js"),f=require("../../../../config/theme/index.js");require("../../../../config/highcharts/highcharts.js"),require("../../../../config/mapbox/index.js"),require("../../../../clients/subscriptions/constants.js"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../../config/extendNative.js");var d=require("react/jsx-runtime");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=m(e),b=m(r),h=m(n),j=m(u),F=m(o);function v(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function g(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?v(Object(t),!0).forEach((function(r){p.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var y=l.mapbox.isValidCoordinates,x=["#FF00FF","#F5BD80","#FF0000","#0080FF","#FF8000","#58ACFA","#FA58F4","#40FF00","#4B8A08","#40FF00","#D8F781"],q=[29.749907,-95.358421];function O(e){var r=e.subjectWell,n=e.wells,u=e.offsetWells,o=e.radius,l=e.subjectWellMarkerSize,m=e.wellMarkerSize,j=e.popUpFormatter,v=e.coordsDataPath,O=t.useRef(null),k=t.useRef(null),P=t.useRef(null),N=s.usePrevious(n),w=t.useMemo((function(){return n.filter((function(e){return!r||r.id!==e.id}))}),[r,n]),B=t.useMemo((function(){return r&&i.get(r,v)}),[r,v]),M=t.useMemo((function(){var e=[],t=!1;w.forEach((function(n){"Null"===n.formation?t=!0:r&&r.formation===n.formation||e.includes(n.formation)||e.push(n.formation)}));var n=r?[r.formation].concat(i.sortBy(e)):i.sortBy(e);t&&!n.includes("Null")&&n.push("Null");var u=n.reduce((function(e,r,t){return g(g({},e),{},p.default({},r,x[t%x.length]))}),{});return[n,u]}),[r,w]),T=b.default(M,2),E=T[0],S=T[1];return t.useEffect((function(){O.current=F.default.mapbox.map(O.current,null,{attributionControl:!1,scrollWheelZoom:!1,zoomControl:!1}).setView(q,1),F.default.control.zoom({position:"bottomright"}).addTo(O.current),F.default.mapbox.styleLayer("mapbox://styles/mapbox/dark-v9").addTo(O.current)}),[]),t.useEffect((function(){O.current&&(k.current&&O.current.removeLayer(k.current),B?(k.current=F.default.circle(B,1609.34*o,{stroke:!1,fill:!0,fillOpacity:.2,fillColor:"#03BCD4",className:"circle_500"}),k.current.addTo(O.current)):k.current=null)}),[o,B]),t.useEffect((function(){if(O.current){O.current.closePopup(),P.current&&P.current.removeFrom(O.current);var e=u.map((function(e){return e.id})),o=[];n.forEach((function(n){var u=i.get(n,v);if(u&&y(u)){var s=r&&r.id===n.id,c=e.includes(n.id),p=s?l:m,b=s||c?"#00FFFF":S[n.formation],g=s||c?1:.3,x=F.default.circleMarker(u,{radius:p,stroke:!1,fill:!0,fillOpacity:g,fillColor:b,className:"circle_500"});x.addEventListener("mouseover",(function(){if(j){var e=document.createElement("div"),r=t.createElement(j,{well:n,color:S[n.formation]});h.default.render(d.jsx(a.MuiThemeProvider,{theme:f.darkTheme,children:r}),e),F.default.popup().setLatLng(u).setContent(e).openOn(O.current)}})),o.push(x)}})),o.length&&(P.current=F.default.featureGroup(o),P.current.addTo(O.current)),setTimeout((function(){k.current&&k.current.bringToBack(),O.current&&k.current&&n!==N&&O.current.fitBounds(k.current.getBounds(),{padding:[5,5]})}),500)}}),[r,n,u,S]),t.useEffect((function(){setTimeout((function(){k.current&&k.current.bringToBack(),r?O.current&&k.current&&O.current.fitBounds(k.current.getBounds(),{padding:[5,5]}):O.current&&P.current&&O.current.fitBounds(P.current.getBounds())}),500)}),[o,r]),d.jsxs("div",{className:c.map,children:[d.jsx("div",{className:c.mapMain,ref:O}),d.jsxs("div",{className:c.mapFooter,children:[u&&d.jsxs("div",{className:c.mapFooterItem,children:[d.jsx("div",{className:c.mapFooterItemSquare,style:{backgroundColor:"#00FFFF"}}),d.jsx("div",{className:c.mapFooterItemLabel,children:"Selected Offset Wells"})]}),E.map((function(e){return d.jsxs("div",{className:c.mapFooterItem,children:[d.jsx("div",{className:c.mapFooterItemSquare,style:{backgroundColor:S[e]}}),d.jsx("div",{className:c.mapFooterItemLabel,children:e})]},e)}))]})]})}O.propTypes={subjectWell:j.default.shape({id:j.default.number,formation:j.default.string}),wells:j.default.arrayOf(j.default.shape({})).isRequired,offsetWells:j.default.arrayOf(j.default.shape({})),radius:j.default.number.isRequired,subjectWellMarkerSize:j.default.number,wellMarkerSize:j.default.number,popUpFormatter:j.default.func,coordsDataPath:j.default.string},O.defaultProps={subjectWell:null,subjectWellMarkerSize:10,wellMarkerSize:5,popUpFormatter:null,coordsDataPath:"settings.top_hole.coordinates",offsetWells:null};var k=t.memo(O);module.exports=k;
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("react"),n=require("react-dom"),u=require("prop-types"),o=require("mapbox.js"),i=require("lodash"),a=require("@material-ui/core/styles"),s=require("../../effects/index.js"),l=require("./Map.css.js"),c=require("../../../../utils/index.js"),f=require("../../../../config/theme/index.js");require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/typeof"),require("@babel/runtime/regenerator"),require("dompurify"),require("../../../../config/mapbox/index.js"),require("../../../../clients/subscriptions/constants.js"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../../config/extendNative.js");var d=require("react/jsx-runtime");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=m(e),b=m(r),j=m(n),F=m(u),h=m(o);function v(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function y(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?v(Object(t),!0).forEach((function(r){p.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var g=c.mapbox.isValidCoordinates,q=["#FF00FF","#F5BD80","#FF0000","#0080FF","#FF8000","#58ACFA","#FA58F4","#40FF00","#4B8A08","#40FF00","#D8F781"],x=[29.749907,-95.358421];function O(e){var r=e.subjectWell,n=e.wells,u=e.offsetWells,o=e.radius,c=e.subjectWellMarkerSize,m=e.wellMarkerSize,F=e.popUpFormatter,v=e.coordsDataPath,O=t.useRef(null),k=t.useRef(null),P=t.useRef(null),N=s.usePrevious(n),w=t.useMemo((function(){return n.filter((function(e){return!r||r.id!==e.id}))}),[r,n]),B=t.useMemo((function(){return r&&i.get(r,v)}),[r,v]),M=t.useMemo((function(){var e=[],t=!1;w.forEach((function(n){"Null"===n.formation?t=!0:r&&r.formation===n.formation||e.includes(n.formation)||e.push(n.formation)}));var n=r?[r.formation].concat(i.sortBy(e)):i.sortBy(e);t&&!n.includes("Null")&&n.push("Null");var u=n.reduce((function(e,r,t){return y(y({},e),{},p.default({},r,q[t%q.length]))}),{});return[n,u]}),[r,w]),T=b.default(M,2),E=T[0],S=T[1];return t.useEffect((function(){O.current=h.default.mapbox.map(O.current,null,{attributionControl:!1,scrollWheelZoom:!1,zoomControl:!1}).setView(x,1),h.default.control.zoom({position:"bottomright"}).addTo(O.current),h.default.mapbox.styleLayer("mapbox://styles/mapbox/dark-v9").addTo(O.current)}),[]),t.useEffect((function(){O.current&&(k.current&&O.current.removeLayer(k.current),B?(k.current=h.default.circle(B,1609.34*o,{stroke:!1,fill:!0,fillOpacity:.2,fillColor:"#03BCD4",className:"circle_500"}),k.current.addTo(O.current)):k.current=null)}),[o,B]),t.useEffect((function(){if(O.current){O.current.closePopup(),P.current&&P.current.removeFrom(O.current);var e=u.map((function(e){return e.id})),o=[];n.forEach((function(n){var u=i.get(n,v);if(u&&g(u)){var s=r&&r.id===n.id,l=e.includes(n.id),p=s?c:m,b=s||l?"#00FFFF":S[n.formation],y=s||l?1:.3,q=h.default.circleMarker(u,{radius:p,stroke:!1,fill:!0,fillOpacity:y,fillColor:b,className:"circle_500"});q.addEventListener("mouseover",(function(){if(F){var e=document.createElement("div"),r=t.createElement(F,{well:n,color:S[n.formation]});j.default.render(d.jsx(a.MuiThemeProvider,{theme:f.darkTheme,children:r}),e),h.default.popup().setLatLng(u).setContent(e).openOn(O.current)}})),o.push(q)}})),o.length&&(P.current=h.default.featureGroup(o),P.current.addTo(O.current)),setTimeout((function(){k.current&&k.current.bringToBack(),O.current&&k.current&&n!==N&&O.current.fitBounds(k.current.getBounds(),{padding:[5,5]})}),500)}}),[r,n,u,S]),t.useEffect((function(){setTimeout((function(){k.current&&k.current.bringToBack(),r?O.current&&k.current&&O.current.fitBounds(k.current.getBounds(),{padding:[5,5]}):O.current&&P.current&&O.current.fitBounds(P.current.getBounds())}),500)}),[o,r]),d.jsxs("div",{className:l.map,children:[d.jsx("div",{className:l.mapMain,ref:O}),d.jsxs("div",{className:l.mapFooter,children:[u&&d.jsxs("div",{className:l.mapFooterItem,children:[d.jsx("div",{className:l.mapFooterItemSquare,style:{backgroundColor:"#00FFFF"}}),d.jsx("div",{className:l.mapFooterItemLabel,children:"Selected Offset Wells"})]}),E.map((function(e){return d.jsxs("div",{className:l.mapFooterItem,children:[d.jsx("div",{className:l.mapFooterItemSquare,style:{backgroundColor:S[e]}}),d.jsx("div",{className:l.mapFooterItemLabel,children:e})]},e)}))]})]})}O.propTypes={subjectWell:F.default.shape({id:F.default.number,formation:F.default.string}),wells:F.default.arrayOf(F.default.shape({})).isRequired,offsetWells:F.default.arrayOf(F.default.shape({})),radius:F.default.number.isRequired,subjectWellMarkerSize:F.default.number,wellMarkerSize:F.default.number,popUpFormatter:F.default.func,coordsDataPath:F.default.string},O.defaultProps={subjectWell:null,subjectWellMarkerSize:10,wellMarkerSize:5,popUpFormatter:null,coordsDataPath:"settings.top_hole.coordinates",offsetWells:null};var k=t.memo(O);module.exports=k;
2
2
  //# sourceMappingURL=Map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sources":["../../../../../../src/components/OffsetWellPickerV2/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport L from 'mapbox.js';\nimport { get, sortBy } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport { usePrevious } from '../../effects';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport { theme } from '~/config';\n\nconst { isValidCoordinates } = mapbox;\n\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 10;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#00FFFF';\nconst COLORS = [\n '#FF00FF',\n '#F5BD80',\n '#FF0000',\n '#0080FF',\n '#FF8000',\n '#58ACFA',\n '#FA58F4',\n '#40FF00',\n '#4B8A08',\n '#40FF00',\n '#D8F781',\n];\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n subjectWell,\n wells,\n offsetWells,\n radius,\n subjectWellMarkerSize,\n wellMarkerSize,\n popUpFormatter,\n coordsDataPath,\n}) {\n const mapContainerRef = useRef(null);\n const radiusCircleRef = useRef(null);\n const markersGroupRef = useRef(null);\n\n const prevWells = usePrevious(wells);\n\n const restWells = useMemo(() => {\n return wells.filter(well => !subjectWell || subjectWell.id !== well.id);\n }, [subjectWell, wells]);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Get well marker colors according to its target formation\n const [formations, colorDict] = useMemo(() => {\n // NOTE: Determine well marker colors\n const restFormations = [];\n let hasNullFormation = false;\n\n restWells.forEach(well => {\n if (well.formation === 'Null') {\n hasNullFormation = true;\n } else if (\n (!subjectWell || subjectWell.formation !== well.formation) &&\n !restFormations.includes(well.formation)\n ) {\n restFormations.push(well.formation);\n }\n });\n\n const sortedFormations = subjectWell\n ? [subjectWell.formation].concat(sortBy(restFormations))\n : sortBy(restFormations);\n\n if (hasNullFormation && !sortedFormations.includes('Null')) {\n sortedFormations.push('Null');\n }\n\n const colors = sortedFormations.reduce(\n (result, item, idx) => ({\n ...result,\n [item]: COLORS[idx % COLORS.length],\n }),\n {}\n );\n\n return [sortedFormations, colors];\n }, [subjectWell, restWells]);\n\n // NOTE: Initialize map\n useEffect(() => {\n mapContainerRef.current = L.mapbox\n .map(mapContainerRef.current, null, {\n attributionControl: false,\n scrollWheelZoom: false,\n zoomControl: false,\n })\n .setView(DEFAULT_COORDS, 1);\n\n L.control\n .zoom({\n position: 'bottomright',\n })\n .addTo(mapContainerRef.current);\n L.mapbox.styleLayer('mapbox://styles/mapbox/dark-v9').addTo(mapContainerRef.current);\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n // NOTE: Clean up\n if (radiusCircleRef.current) {\n mapContainerRef.current.removeLayer(radiusCircleRef.current);\n }\n\n if (!subjectWellCoords) {\n radiusCircleRef.current = null;\n return;\n }\n\n radiusCircleRef.current = L.circle(subjectWellCoords, radius * METERS_IN_MILE, {\n stroke: false,\n fill: true,\n fillOpacity: 0.2,\n fillColor: RADIUS_CIRCLE_COLOR,\n className: 'circle_500',\n });\n\n radiusCircleRef.current.addTo(mapContainerRef.current);\n }, [radius, subjectWellCoords]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n mapContainerRef.current.closePopup();\n\n // NOTE: Clean up\n if (markersGroupRef.current) {\n markersGroupRef.current.removeFrom(mapContainerRef.current);\n }\n\n const offsetWellIds = offsetWells.map(well => well.id);\n\n const markers = [];\n wells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? subjectWellMarkerSize : wellMarkerSize;\n const color = isWellSubject || isWellOffset ? OFFSET_WELL_COLOR : colorDict[well.formation];\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n const newMarker = L.circleMarker(coords, {\n radius: r,\n stroke: false,\n fill: true,\n fillOpacity: opacity,\n fillColor: color,\n className: 'circle_500',\n });\n\n newMarker.addEventListener('mouseover', () => {\n if (popUpFormatter) {\n // Container to put React generated content in.\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(popUpFormatter, {\n well,\n color: colorDict[well.formation],\n });\n // NOTE: Custom popup may have buttons\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>{popUpContent}</MuiThemeProvider>,\n popUpContainer\n );\n\n L.popup().setLatLng(coords).setContent(popUpContainer).openOn(mapContainerRef.current);\n }\n });\n\n markers.push(newMarker);\n }\n });\n\n if (markers.length) {\n markersGroupRef.current = L.featureGroup(markers);\n markersGroupRef.current.addTo(mapContainerRef.current);\n }\n\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n\n if (mapContainerRef.current && radiusCircleRef.current && wells !== prevWells) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), { padding: [5, 5] });\n }\n }, 500);\n }, [subjectWell, wells, offsetWells, colorDict]);\n\n useEffect(() => {\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n if (subjectWell) {\n if (mapContainerRef.current && radiusCircleRef.current) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), {\n padding: [5, 5],\n });\n }\n } else if (mapContainerRef.current && markersGroupRef.current) {\n mapContainerRef.current.fitBounds(markersGroupRef.current.getBounds());\n }\n }, 500);\n }, [radius, subjectWell]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n\n <div className={styles.mapFooter}>\n {offsetWells && (\n <div className={styles.mapFooterItem}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: OFFSET_WELL_COLOR }}\n />\n <div className={styles.mapFooterItemLabel}>Selected Offset Wells</div>\n </div>\n )}\n\n {formations.map(item => (\n <div className={styles.mapFooterItem} key={item}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: colorDict[item] }}\n />\n <div className={styles.mapFooterItemLabel}>{item}</div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nWellsMap.propTypes = {\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n subjectWellMarkerSize: PropTypes.number,\n wellMarkerSize: PropTypes.number,\n popUpFormatter: PropTypes.func,\n coordsDataPath: PropTypes.string,\n};\n\nWellsMap.defaultProps = {\n subjectWell: null,\n subjectWellMarkerSize: DEFAULT_SUBJECT_WELL_MARKER_SIZE,\n wellMarkerSize: DEFAULT_WELL_MARKER_SIZE,\n popUpFormatter: null,\n coordsDataPath: 'settings.top_hole.coordinates',\n offsetWells: null,\n};\n\nexport default memo(WellsMap);\n"],"names":["isValidCoordinates","mapbox","COLORS","DEFAULT_COORDS","WellsMap","_ref","subjectWell","wells","offsetWells","radius","subjectWellMarkerSize","wellMarkerSize","popUpFormatter","coordsDataPath","mapContainerRef","useRef","radiusCircleRef","markersGroupRef","prevWells","usePrevious","restWells","useMemo","filter","well","id","subjectWellCoords","get","restFormations","hasNullFormation","forEach","formation","includes","push","sortedFormations","concat","sortBy","colors","reduce","result","item","idx","length","_useMemo2","_slicedToArray","_useMemo","formations","colorDict","useEffect","current","L","map","attributionControl","scrollWheelZoom","zoomControl","setView","control","zoom","position","addTo","styleLayer","removeLayer","circle","stroke","fill","fillOpacity","fillColor","className","closePopup","removeFrom","offsetWellIds","markers","coords","isWellSubject","isWellOffset","r","color","opacity","newMarker","circleMarker","addEventListener","popUpContainer","document","createElement","popUpContent","ReactDOM","render","_jsx","jsx","MuiThemeProvider","theme","darkTheme","children","popup","setLatLng","setContent","openOn","featureGroup","setTimeout","bringToBack","fitBounds","getBounds","padding","_jsxs","styles","mapMain","ref","jsxs","mapFooter","mapFooterItem","mapFooterItemSquare","style","backgroundColor","mapFooterItemLabel","propTypes","PropTypes","shape","number","string","arrayOf","isRequired","func","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sources":["../../../../../../src/components/OffsetWellPickerV2/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport L from 'mapbox.js';\nimport { get, sortBy } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport { usePrevious } from '../../effects';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport { theme } from '~/config';\n\nconst { isValidCoordinates } = mapbox;\n\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 10;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#00FFFF';\nconst COLORS = [\n '#FF00FF',\n '#F5BD80',\n '#FF0000',\n '#0080FF',\n '#FF8000',\n '#58ACFA',\n '#FA58F4',\n '#40FF00',\n '#4B8A08',\n '#40FF00',\n '#D8F781',\n];\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n subjectWell,\n wells,\n offsetWells,\n radius,\n subjectWellMarkerSize,\n wellMarkerSize,\n popUpFormatter,\n coordsDataPath,\n}) {\n const mapContainerRef = useRef(null);\n const radiusCircleRef = useRef(null);\n const markersGroupRef = useRef(null);\n\n const prevWells = usePrevious(wells);\n\n const restWells = useMemo(() => {\n return wells.filter(well => !subjectWell || subjectWell.id !== well.id);\n }, [subjectWell, wells]);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Get well marker colors according to its target formation\n const [formations, colorDict] = useMemo(() => {\n // NOTE: Determine well marker colors\n const restFormations = [];\n let hasNullFormation = false;\n\n restWells.forEach(well => {\n if (well.formation === 'Null') {\n hasNullFormation = true;\n } else if (\n (!subjectWell || subjectWell.formation !== well.formation) &&\n !restFormations.includes(well.formation)\n ) {\n restFormations.push(well.formation);\n }\n });\n\n const sortedFormations = subjectWell\n ? [subjectWell.formation].concat(sortBy(restFormations))\n : sortBy(restFormations);\n\n if (hasNullFormation && !sortedFormations.includes('Null')) {\n sortedFormations.push('Null');\n }\n\n const colors = sortedFormations.reduce(\n (result, item, idx) => ({\n ...result,\n [item]: COLORS[idx % COLORS.length],\n }),\n {}\n );\n\n return [sortedFormations, colors];\n }, [subjectWell, restWells]);\n\n // NOTE: Initialize map\n useEffect(() => {\n mapContainerRef.current = L.mapbox\n .map(mapContainerRef.current, null, {\n attributionControl: false,\n scrollWheelZoom: false,\n zoomControl: false,\n })\n .setView(DEFAULT_COORDS, 1);\n\n L.control\n .zoom({\n position: 'bottomright',\n })\n .addTo(mapContainerRef.current);\n L.mapbox.styleLayer('mapbox://styles/mapbox/dark-v9').addTo(mapContainerRef.current);\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n // NOTE: Clean up\n if (radiusCircleRef.current) {\n mapContainerRef.current.removeLayer(radiusCircleRef.current);\n }\n\n if (!subjectWellCoords) {\n radiusCircleRef.current = null;\n return;\n }\n\n radiusCircleRef.current = L.circle(subjectWellCoords, radius * METERS_IN_MILE, {\n stroke: false,\n fill: true,\n fillOpacity: 0.2,\n fillColor: RADIUS_CIRCLE_COLOR,\n className: 'circle_500',\n });\n\n radiusCircleRef.current.addTo(mapContainerRef.current);\n }, [radius, subjectWellCoords]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n mapContainerRef.current.closePopup();\n\n // NOTE: Clean up\n if (markersGroupRef.current) {\n markersGroupRef.current.removeFrom(mapContainerRef.current);\n }\n\n const offsetWellIds = offsetWells.map(well => well.id);\n\n const markers = [];\n wells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? subjectWellMarkerSize : wellMarkerSize;\n const color = isWellSubject || isWellOffset ? OFFSET_WELL_COLOR : colorDict[well.formation];\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n const newMarker = L.circleMarker(coords, {\n radius: r,\n stroke: false,\n fill: true,\n fillOpacity: opacity,\n fillColor: color,\n className: 'circle_500',\n });\n\n newMarker.addEventListener('mouseover', () => {\n if (popUpFormatter) {\n // Container to put React generated content in.\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(popUpFormatter, {\n well,\n color: colorDict[well.formation],\n });\n // NOTE: Custom popup may have buttons\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>{popUpContent}</MuiThemeProvider>,\n popUpContainer\n );\n\n L.popup().setLatLng(coords).setContent(popUpContainer).openOn(mapContainerRef.current);\n }\n });\n\n markers.push(newMarker);\n }\n });\n\n if (markers.length) {\n markersGroupRef.current = L.featureGroup(markers);\n markersGroupRef.current.addTo(mapContainerRef.current);\n }\n\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n\n if (mapContainerRef.current && radiusCircleRef.current && wells !== prevWells) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), { padding: [5, 5] });\n }\n }, 500);\n }, [subjectWell, wells, offsetWells, colorDict]);\n\n useEffect(() => {\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n if (subjectWell) {\n if (mapContainerRef.current && radiusCircleRef.current) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), {\n padding: [5, 5],\n });\n }\n } else if (mapContainerRef.current && markersGroupRef.current) {\n mapContainerRef.current.fitBounds(markersGroupRef.current.getBounds());\n }\n }, 500);\n }, [radius, subjectWell]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n\n <div className={styles.mapFooter}>\n {offsetWells && (\n <div className={styles.mapFooterItem}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: OFFSET_WELL_COLOR }}\n />\n <div className={styles.mapFooterItemLabel}>Selected Offset Wells</div>\n </div>\n )}\n\n {formations.map(item => (\n <div className={styles.mapFooterItem} key={item}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: colorDict[item] }}\n />\n <div className={styles.mapFooterItemLabel}>{item}</div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nWellsMap.propTypes = {\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n subjectWellMarkerSize: PropTypes.number,\n wellMarkerSize: PropTypes.number,\n popUpFormatter: PropTypes.func,\n coordsDataPath: PropTypes.string,\n};\n\nWellsMap.defaultProps = {\n subjectWell: null,\n subjectWellMarkerSize: DEFAULT_SUBJECT_WELL_MARKER_SIZE,\n wellMarkerSize: DEFAULT_WELL_MARKER_SIZE,\n popUpFormatter: null,\n coordsDataPath: 'settings.top_hole.coordinates',\n offsetWells: null,\n};\n\nexport default memo(WellsMap);\n"],"names":["isValidCoordinates","mapbox","COLORS","DEFAULT_COORDS","WellsMap","_ref","subjectWell","wells","offsetWells","radius","subjectWellMarkerSize","wellMarkerSize","popUpFormatter","coordsDataPath","mapContainerRef","useRef","radiusCircleRef","markersGroupRef","prevWells","usePrevious","restWells","useMemo","filter","well","id","subjectWellCoords","get","restFormations","hasNullFormation","forEach","formation","includes","push","sortedFormations","concat","sortBy","colors","reduce","result","item","idx","length","_useMemo2","_slicedToArray","_useMemo","formations","colorDict","useEffect","current","L","map","attributionControl","scrollWheelZoom","zoomControl","setView","control","zoom","position","addTo","styleLayer","removeLayer","circle","stroke","fill","fillOpacity","fillColor","className","closePopup","removeFrom","offsetWellIds","markers","coords","isWellSubject","isWellOffset","r","color","opacity","newMarker","circleMarker","addEventListener","popUpContainer","document","createElement","popUpContent","ReactDOM","render","_jsx","jsx","MuiThemeProvider","theme","darkTheme","children","popup","setLatLng","setContent","openOn","featureGroup","setTimeout","bringToBack","fitBounds","getBounds","padding","_jsxs","styles","mapMain","ref","jsxs","mapFooter","mapFooterItem","mapFooterItemSquare","style","backgroundColor","mapFooterItemLabel","propTypes","PropTypes","shape","number","string","arrayOf","isRequired","func","defaultProps","memo"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("react"),i=require("react-dom"),n=require("lodash"),u=require("@material-ui/core/styles"),o=require("../components/FiltersToggler.js"),s=require("../utils.js"),l=require("../constants.js"),c=require("../../../config/theme/index.js");require("../../../config/highcharts/highcharts.js"),require("../../../config/mapbox/index.js"),require("../../../clients/subscriptions/constants.js"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../config/extendNative.js");var a=require("react/jsx-runtime");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=d(e),v=d(t),p=d(i);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){f.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}exports.useAppFilterTogglerWidth=function(){var e=r.useState(null),t=v.default(e,2),i=t[0],n=t[1];return r.useEffect((function(){var e=document.createElement("div");e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e),p.default.render(a.jsx(u.MuiThemeProvider,{theme:c.darkTheme,children:a.jsx(o,{})}),e,(function(){var t=e.getBoundingClientRect();e.remove(),n(t.width)}))}),[]),i},exports.useComonentsWidth=function(e){var t=r.useRef(),i=r.useState(null),u=v.default(i,2),o=u[0],s=u[1],l=r.useRef({}),c=e.filter((function(e){return!!e})),d=a.jsx("div",{ref:t,style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:c.map((function(e,t){return a.jsx("div",{"data-key":null==e?void 0:e.key,style:{position:"absolute"},children:e},t)}))});return r.useEffect((function(){var e;if(!n.isEqual(c,l.current)){var r=Array.from(null===(e=t.current)||void 0===e?void 0:e.childNodes).reduce((function(e,t){var r,i=null==t||null===(r=t.getAttribute)||void 0===r?void 0:r.call(t,"data-key"),n=null==t?void 0:t.getBoundingClientRect().width;return y(y({},e),{},f.default({},i,n))}),{});Object.values(r).length===c.length&&(n.isEqual(o,r)||s(r)),l.current=c}})),{componentsWidth:o,hiddenElements:d}},exports.useFilterLayout=function(e,t,i,n){var u=r.useState(null),o=v.default(u,2),c=o[0],a=o[1];return r.useEffect((function(){if(n&&t){var r=s.getStartComponent(e),u=s.getMiddleComponent(e),o=s.getEndComponents(e),c=r&&u&&!o,d=r&&!u&&o,f=r&&u&&o;if(r&&!u&&!o){var v=t[r.key];if(v<=n)return void a(l.LARGE_SIZE_LAYOUT);if(v<=n/2)return void a(l.MEDIUM_SIZE_LAYOUT)}else if(c||d){var p=t[r.key],h=c?t[u.key]:t[o.key];if(p+h<=n)return void a(l.LARGE_SIZE_LAYOUT);if(i+h<=n)return void a(l.MEDIUM_SIZE_LAYOUT)}else if(f){var y=t[r.key],b=t[u.key],j=t[o.key];if(y+b+j<=n)return void a(l.LARGE_SIZE_LAYOUT);if(i+b+j<=n)return void a(l.MEDIUM_SIZE_LAYOUT);if(i+j<=n)return void a(l.SMALL_SIZE_LAYOUT)}a(l.SMALL_SIZE_LAYOUT)}}),[t,n]),c};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("react"),i=require("react-dom"),n=require("lodash"),u=require("@material-ui/core/styles"),o=require("../components/FiltersToggler.js"),s=require("../utils.js"),l=require("../constants.js"),c=require("../../../config/theme/index.js");require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/typeof"),require("@babel/runtime/regenerator"),require("dompurify"),require("../../../config/mapbox/index.js"),require("../../../clients/subscriptions/constants.js"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../config/extendNative.js");var a=require("react/jsx-runtime");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=d(e),p=d(r),v=d(i);function b(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function y(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?b(Object(t),!0).forEach((function(r){f.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}exports.useAppFilterTogglerWidth=function(){var e=t.useState(null),r=p.default(e,2),i=r[0],n=r[1];return t.useEffect((function(){var e=document.createElement("div");e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e),v.default.render(a.jsx(u.MuiThemeProvider,{theme:c.darkTheme,children:a.jsx(o,{})}),e,(function(){var r=e.getBoundingClientRect();e.remove(),n(r.width)}))}),[]),i},exports.useComonentsWidth=function(e){var r=t.useRef(),i=t.useState(null),u=p.default(i,2),o=u[0],s=u[1],l=t.useRef({}),c=e.filter((function(e){return!!e})),d=a.jsx("div",{ref:r,style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:c.map((function(e,r){return a.jsx("div",{"data-key":null==e?void 0:e.key,style:{position:"absolute"},children:e},r)}))});return t.useEffect((function(){var e;if(!n.isEqual(c,l.current)){var t=Array.from(null===(e=r.current)||void 0===e?void 0:e.childNodes).reduce((function(e,r){var t,i=null==r||null===(t=r.getAttribute)||void 0===t?void 0:t.call(r,"data-key"),n=null==r?void 0:r.getBoundingClientRect().width;return y(y({},e),{},f.default({},i,n))}),{});Object.values(t).length===c.length&&(n.isEqual(o,t)||s(t)),l.current=c}})),{componentsWidth:o,hiddenElements:d}},exports.useFilterLayout=function(e,r,i,n){var u=t.useState(null),o=p.default(u,2),c=o[0],a=o[1];return t.useEffect((function(){if(n&&r){var t=s.getStartComponent(e),u=s.getMiddleComponent(e),o=s.getEndComponents(e),c=t&&u&&!o,d=t&&!u&&o,f=t&&u&&o;if(t&&!u&&!o){var p=r[t.key];if(p<=n)return void a(l.LARGE_SIZE_LAYOUT);if(p<=n/2)return void a(l.MEDIUM_SIZE_LAYOUT)}else if(c||d){var v=r[t.key],b=c?r[u.key]:r[o.key];if(v+b<=n)return void a(l.LARGE_SIZE_LAYOUT);if(i+b<=n)return void a(l.MEDIUM_SIZE_LAYOUT)}else if(f){var y=r[t.key],h=r[u.key],m=r[o.key];if(y+h+m<=n)return void a(l.LARGE_SIZE_LAYOUT);if(i+h+m<=n)return void a(l.MEDIUM_SIZE_LAYOUT);if(i+m<=n)return void a(l.SMALL_SIZE_LAYOUT)}a(l.SMALL_SIZE_LAYOUT)}}),[r,n]),c};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/PinnableFilters/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { isEqual } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport FiltersToggler from '../components/FiltersToggler';\nimport { getEndComponents, getMiddleComponent, getStartComponent } from '../utils';\nimport { LARGE_SIZE_LAYOUT, MEDIUM_SIZE_LAYOUT, SMALL_SIZE_LAYOUT } from '../constants';\n\nimport { theme } from '~/config';\n\n// NOTE: Determine layout according to the width of elements\nexport function useFilterLayout(components, componentsWidth, appFilterTogglerWidth, appWidth) {\n const [layout, setLayout] = useState(null);\n\n useEffect(() => {\n if (!appWidth || !componentsWidth) {\n return;\n }\n\n const filtersComponent = getStartComponent(components);\n const goalComponent = getMiddleComponent(components);\n const switchComponent = getEndComponents(components);\n\n const hasFiltersOnly = filtersComponent && !goalComponent && !switchComponent;\n const hasFiltersAndGoals = filtersComponent && goalComponent && !switchComponent;\n const hasFiltersAndSwitch = filtersComponent && !goalComponent && switchComponent;\n const hasAll = filtersComponent && goalComponent && switchComponent;\n\n if (hasFiltersOnly) {\n const filtersWidth = componentsWidth[filtersComponent.key];\n\n if (filtersWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (filtersWidth <= appWidth / 2) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasFiltersAndGoals || hasFiltersAndSwitch) {\n const startWidth = componentsWidth[filtersComponent.key];\n const endWidth = hasFiltersAndGoals\n ? componentsWidth[goalComponent.key]\n : componentsWidth[switchComponent.key];\n\n if (startWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasAll) {\n const startWidth = componentsWidth[filtersComponent.key];\n const middleWidth = componentsWidth[goalComponent.key];\n const endWidth = componentsWidth[switchComponent.key];\n\n if (startWidth + middleWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + middleWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(SMALL_SIZE_LAYOUT);\n return;\n }\n }\n\n setLayout(SMALL_SIZE_LAYOUT);\n }, [componentsWidth, appWidth]);\n\n return layout;\n}\n\n// NOTE: Calculate the width of child components here\nexport function useComonentsWidth(components) {\n // const widthRef = useRef({});\n const hiddenElementsRef = useRef();\n const [widthDict, setWidthDict] = useState(null);\n const prevComponentsRef = useRef({});\n\n const validComponents = components.filter(component => !!component);\n const hiddenElements = (\n <div\n ref={hiddenElementsRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n >\n {validComponents.map((component, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <div key={index} data-key={component?.key} style={{ position: 'absolute' }}>\n {component}\n </div>\n );\n })}\n </div>\n );\n\n // NOTE: Calcualte width of each components\n useEffect(() => {\n // NOTE: Don't calcuate width again\n if (isEqual(validComponents, prevComponentsRef.current)) {\n return;\n }\n\n const nodesArray = Array.from(hiddenElementsRef.current?.childNodes);\n const sizeMap = nodesArray.reduce((acc, node) => {\n const key = node?.getAttribute?.('data-key');\n const value = node?.getBoundingClientRect().width;\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n if (Object.values(sizeMap).length === validComponents.length) {\n if (!isEqual(widthDict, sizeMap)) {\n setWidthDict(sizeMap);\n }\n }\n\n prevComponentsRef.current = validComponents;\n });\n\n return { componentsWidth: widthDict, hiddenElements };\n}\n\n// NOTE: Calculate the width of Toggler Component\nexport function useAppFilterTogglerWidth() {\n const [width, setWidth] = useState(null);\n\n useEffect(() => {\n const element = document.createElement('div');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n document.body.appendChild(element);\n\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>\n <FiltersToggler />\n </MuiThemeProvider>,\n element,\n () => {\n const dims = element.getBoundingClientRect();\n element.remove();\n setWidth(dims.width);\n }\n );\n }, []);\n\n return width;\n}\n"],"names":["useState","_useState6","_slicedToArray","_useState5","width","setWidth","useEffect","element","document","createElement","style","position","visibility","body","appendChild","ReactDOM","render","_jsx","jsx","MuiThemeProvider","theme","darkTheme","children","FiltersToggler","dims","getBoundingClientRect","remove","components","hiddenElementsRef","useRef","_useState4","_useState3","widthDict","setWidthDict","prevComponentsRef","validComponents","filter","component","hiddenElements","ref","height","overflow","map","index","key","_hiddenElementsRef$cu","isEqual","current","sizeMap","Array","from","childNodes","reduce","acc","node","_node$getAttribute","getAttribute","call","value","_objectSpread","_defineProperty","Object","values","length","componentsWidth","appFilterTogglerWidth","appWidth","_useState2","_useState","layout","setLayout","filtersComponent","getStartComponent","goalComponent","getMiddleComponent","switchComponent","getEndComponents","hasFiltersAndGoals","hasFiltersAndSwitch","hasAll","filtersWidth","LARGE_SIZE_LAYOUT","MEDIUM_SIZE_LAYOUT","startWidth","endWidth","middleWidth","SMALL_SIZE_LAYOUT"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/PinnableFilters/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { isEqual } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport FiltersToggler from '../components/FiltersToggler';\nimport { getEndComponents, getMiddleComponent, getStartComponent } from '../utils';\nimport { LARGE_SIZE_LAYOUT, MEDIUM_SIZE_LAYOUT, SMALL_SIZE_LAYOUT } from '../constants';\n\nimport { theme } from '~/config';\n\n// NOTE: Determine layout according to the width of elements\nexport function useFilterLayout(components, componentsWidth, appFilterTogglerWidth, appWidth) {\n const [layout, setLayout] = useState(null);\n\n useEffect(() => {\n if (!appWidth || !componentsWidth) {\n return;\n }\n\n const filtersComponent = getStartComponent(components);\n const goalComponent = getMiddleComponent(components);\n const switchComponent = getEndComponents(components);\n\n const hasFiltersOnly = filtersComponent && !goalComponent && !switchComponent;\n const hasFiltersAndGoals = filtersComponent && goalComponent && !switchComponent;\n const hasFiltersAndSwitch = filtersComponent && !goalComponent && switchComponent;\n const hasAll = filtersComponent && goalComponent && switchComponent;\n\n if (hasFiltersOnly) {\n const filtersWidth = componentsWidth[filtersComponent.key];\n\n if (filtersWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (filtersWidth <= appWidth / 2) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasFiltersAndGoals || hasFiltersAndSwitch) {\n const startWidth = componentsWidth[filtersComponent.key];\n const endWidth = hasFiltersAndGoals\n ? componentsWidth[goalComponent.key]\n : componentsWidth[switchComponent.key];\n\n if (startWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasAll) {\n const startWidth = componentsWidth[filtersComponent.key];\n const middleWidth = componentsWidth[goalComponent.key];\n const endWidth = componentsWidth[switchComponent.key];\n\n if (startWidth + middleWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + middleWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(SMALL_SIZE_LAYOUT);\n return;\n }\n }\n\n setLayout(SMALL_SIZE_LAYOUT);\n }, [componentsWidth, appWidth]);\n\n return layout;\n}\n\n// NOTE: Calculate the width of child components here\nexport function useComonentsWidth(components) {\n // const widthRef = useRef({});\n const hiddenElementsRef = useRef();\n const [widthDict, setWidthDict] = useState(null);\n const prevComponentsRef = useRef({});\n\n const validComponents = components.filter(component => !!component);\n const hiddenElements = (\n <div\n ref={hiddenElementsRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n >\n {validComponents.map((component, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <div key={index} data-key={component?.key} style={{ position: 'absolute' }}>\n {component}\n </div>\n );\n })}\n </div>\n );\n\n // NOTE: Calcualte width of each components\n useEffect(() => {\n // NOTE: Don't calcuate width again\n if (isEqual(validComponents, prevComponentsRef.current)) {\n return;\n }\n\n const nodesArray = Array.from(hiddenElementsRef.current?.childNodes);\n const sizeMap = nodesArray.reduce((acc, node) => {\n const key = node?.getAttribute?.('data-key');\n const value = node?.getBoundingClientRect().width;\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n if (Object.values(sizeMap).length === validComponents.length) {\n if (!isEqual(widthDict, sizeMap)) {\n setWidthDict(sizeMap);\n }\n }\n\n prevComponentsRef.current = validComponents;\n });\n\n return { componentsWidth: widthDict, hiddenElements };\n}\n\n// NOTE: Calculate the width of Toggler Component\nexport function useAppFilterTogglerWidth() {\n const [width, setWidth] = useState(null);\n\n useEffect(() => {\n const element = document.createElement('div');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n document.body.appendChild(element);\n\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>\n <FiltersToggler />\n </MuiThemeProvider>,\n element,\n () => {\n const dims = element.getBoundingClientRect();\n element.remove();\n setWidth(dims.width);\n }\n );\n }, []);\n\n return width;\n}\n"],"names":["useState","_useState6","_slicedToArray","_useState5","width","setWidth","useEffect","element","document","createElement","style","position","visibility","body","appendChild","ReactDOM","render","_jsx","jsx","MuiThemeProvider","theme","darkTheme","children","FiltersToggler","dims","getBoundingClientRect","remove","components","hiddenElementsRef","useRef","_useState4","_useState3","widthDict","setWidthDict","prevComponentsRef","validComponents","filter","component","hiddenElements","ref","height","overflow","map","index","key","_hiddenElementsRef$cu","isEqual","current","sizeMap","Array","from","childNodes","reduce","acc","node","_node$getAttribute","getAttribute","call","value","_objectSpread","_defineProperty","Object","values","length","componentsWidth","appFilterTogglerWidth","appWidth","_useState2","_useState","layout","setLayout","filtersComponent","getStartComponent","goalComponent","getMiddleComponent","switchComponent","getEndComponents","hasFiltersAndGoals","hasFiltersAndSwitch","hasAll","filtersWidth","LARGE_SIZE_LAYOUT","MEDIUM_SIZE_LAYOUT","startWidth","endWidth","middleWidth","SMALL_SIZE_LAYOUT"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.HIGHCHARTS_V10_VERSION="10.3.3",exports.HIGHCHARTS_V8_VERSION="8.1.2";
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/config/highcharts/constants.js"],"sourcesContent":["// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\nexport const HIGHCHARTS_V10_VERSION = '10.3.3';\nexport const HIGHCHARTS_V8_VERSION = '8.1.2';\n"],"names":[],"mappings":"mGACsC,uCACD"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/asyncToGenerator"),t=require("@babel/runtime/regenerator");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=n(e),o=n(r),s=n(t),a=function(e){return e.default||e};function h(){return(h=o.default(s.default.mark((function e(){var r,t,n,o,h,l,c,d,f,m,g,p;return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([Promise.resolve().then((function(){return u(require("highcharts"))})),Promise.resolve().then((function(){return u(require("highcharts/highcharts-more"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/solid-gauge"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/heatmap"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/boost"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/exporting"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/xrange"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/dumbbell"))})),Promise.resolve().then((function(){return u(require("highcharts/modules/pattern-fill"))})),Promise.resolve().then((function(){return u(require("highcharts-multicolor-series"))}))]);case 2:return r=e.sent,t=i.default(r,10),n=t[0],o=t[1],h=t[2],l=t[3],c=t[4],d=t[5],f=t[6],m=t[7],g=t[8],p=t[9],e.abrupt("return",{Highcharts:a(n),highchartsMore:a(o),addSolidGauge:a(h),addHeatmap:a(l),addBoost:a(c),addExporting:a(d),addXrange:a(f),addDumbbell:a(m),addPatternFill:a(g),HighchartsMulticolorSeries:a(p)});case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.getHighchartsV10=function(){return h.apply(this,arguments)};
2
+ //# sourceMappingURL=getHighchartsV10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHighchartsV10.js","sources":["../../../../src/config/highcharts/getHighchartsV10.js"],"sourcesContent":["// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\n\nconst unwrapModule = module => module.default || module;\n\nexport async function getHighchartsV10() {\n const [\n Highcharts,\n highchartsMore,\n addSolidGauge,\n addHeatmap,\n addBoost,\n addExporting,\n addXrange,\n addDumbbell,\n addPatternFill,\n HighchartsMulticolorSeries,\n ] = await Promise.all([\n import('highcharts'),\n import('highcharts/highcharts-more'),\n import('highcharts/modules/solid-gauge'),\n import('highcharts/modules/heatmap'),\n import('highcharts/modules/boost'),\n import('highcharts/modules/exporting'),\n import('highcharts/modules/xrange'),\n import('highcharts/modules/dumbbell'),\n import('highcharts/modules/pattern-fill'),\n import('highcharts-multicolor-series'),\n ]);\n\n return {\n Highcharts: unwrapModule(Highcharts),\n highchartsMore: unwrapModule(highchartsMore),\n addSolidGauge: unwrapModule(addSolidGauge),\n addHeatmap: unwrapModule(addHeatmap),\n addBoost: unwrapModule(addBoost),\n addExporting: unwrapModule(addExporting),\n addXrange: unwrapModule(addXrange),\n addDumbbell: unwrapModule(addDumbbell),\n addPatternFill: unwrapModule(addPatternFill),\n HighchartsMulticolorSeries: unwrapModule(HighchartsMulticolorSeries),\n };\n}\n"],"names":["unwrapModule","module","default","_getHighchartsV","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$Promise$all","_yield$Promise$all2","Highcharts","highchartsMore","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","HighchartsMulticolorSeries","wrap","_context","prev","next","Promise","all","resolve","then","_interopNamespace","require","sent","_slicedToArray","abrupt","stop","apply","this","arguments"],"mappings":"ulBAEMA,EAAe,SAAAC,GAAM,OAAIA,EAAOC,SAAWD,CAAM,EAuCtD,SAAAE,IAAA,OAAAA,EArCMC,EAAAA,QAAAC,EAAAA,QAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAd,UAAAe,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EAYKC,QAAQC,IAAI,CACpBD,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,cAAa,IACpBL,oDAAO,8BAA4B,IACnCA,QAAOE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAA,sCACPL,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,8BAA4B,IACnCL,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,4BAA2B,IAClCL,oDAAO,gCAA8B,IACrCA,QAAOE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAA,6BAA4B,IACnCL,QAAOE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAA,mCACPL,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,mCAAkC,IACzCL,oDAAO,gCAA8B,MACrC,KAAA,EAZ0B,OAY1BhB,EAAAa,EAAAS,KAAArB,EAAAsB,EAAA,QAAAvB,EAAA,IArBAE,EAAUD,EAAA,GACVE,EAAcF,EAAA,GACdG,EAAaH,EAAA,GACbI,EAAUJ,EAAA,GACVK,EAAQL,EAAA,GACRM,EAAYN,EAAA,GACZO,EAASP,EAAA,GACTQ,EAAWR,EAAA,GACXS,EAAcT,EAAA,GACdU,EAA0BV,EAAA,GAcrBY,EAAAW,OAAA,SAAA,CACLtB,WAAYV,EAAaU,GACzBC,eAAgBX,EAAaW,GAC7BC,cAAeZ,EAAaY,GAC5BC,WAAYb,EAAaa,GACzBC,SAAUd,EAAac,GACvBC,aAAcf,EAAae,GAC3BC,UAAWhB,EAAagB,GACxBC,YAAajB,EAAaiB,GAC1BC,eAAgBlB,EAAakB,GAC7BC,2BAA4BnB,EAAamB,KAC1C,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAY,OAAA,GAAA1B,EACF,MAAA2B,MAAAC,KAAAC,UAAA,0BArCD,WAAsC,OAAAjC,EAAA+B,MAAAC,KAAAC,UAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/asyncToGenerator"),t=require("@babel/runtime/regenerator");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=n(e),o=n(r),s=n(t),a=function(e){return e.default||e};function h(){return(h=o.default(s.default.mark((function e(){var r,t,n,o,h,l,c,d,f,m,g,v;return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([Promise.resolve().then((function(){return u(require("highcharts-v8"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/highcharts-more"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/solid-gauge"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/heatmap"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/boost"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/exporting"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/xrange"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/dumbbell"))})),Promise.resolve().then((function(){return u(require("highcharts-v8/modules/pattern-fill"))})),Promise.resolve().then((function(){return u(require("highcharts-multicolor-series-v8"))}))]);case 2:return r=e.sent,t=i.default(r,10),n=t[0],o=t[1],h=t[2],l=t[3],c=t[4],d=t[5],f=t[6],m=t[7],g=t[8],v=t[9],e.abrupt("return",{Highcharts:a(n),highchartsMore:a(o),addSolidGauge:a(h),addHeatmap:a(l),addBoost:a(c),addExporting:a(d),addXrange:a(f),addDumbbell:a(m),addPatternFill:a(g),HighchartsMulticolorSeries:a(v)});case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.getHighchartsV8=function(){return h.apply(this,arguments)};
2
+ //# sourceMappingURL=getHighchartsV8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHighchartsV8.js","sources":["../../../../src/config/highcharts/getHighchartsV8.js"],"sourcesContent":["// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\n\nconst unwrapModule = module => module.default || module;\n\nexport async function getHighchartsV8() {\n const [\n Highcharts,\n highchartsMore,\n addSolidGauge,\n addHeatmap,\n addBoost,\n addExporting,\n addXrange,\n addDumbbell,\n addPatternFill,\n HighchartsMulticolorSeries,\n ] = await Promise.all([\n import('highcharts-v8'),\n import('highcharts-v8/highcharts-more'),\n import('highcharts-v8/modules/solid-gauge'),\n import('highcharts-v8/modules/heatmap'),\n import('highcharts-v8/modules/boost'),\n import('highcharts-v8/modules/exporting'),\n import('highcharts-v8/modules/xrange'),\n import('highcharts-v8/modules/dumbbell'),\n import('highcharts-v8/modules/pattern-fill'),\n import('highcharts-multicolor-series-v8'),\n ]);\n\n return {\n Highcharts: unwrapModule(Highcharts),\n highchartsMore: unwrapModule(highchartsMore),\n addSolidGauge: unwrapModule(addSolidGauge),\n addHeatmap: unwrapModule(addHeatmap),\n addBoost: unwrapModule(addBoost),\n addExporting: unwrapModule(addExporting),\n addXrange: unwrapModule(addXrange),\n addDumbbell: unwrapModule(addDumbbell),\n addPatternFill: unwrapModule(addPatternFill),\n HighchartsMulticolorSeries: unwrapModule(HighchartsMulticolorSeries),\n };\n}\n"],"names":["unwrapModule","module","default","_getHighchartsV","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$Promise$all","_yield$Promise$all2","Highcharts","highchartsMore","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","HighchartsMulticolorSeries","wrap","_context","prev","next","Promise","all","resolve","then","_interopNamespace","require","sent","_slicedToArray","abrupt","stop","apply","this","arguments"],"mappings":"ulBAEMA,EAAe,SAAAC,GAAM,OAAIA,EAAOC,SAAWD,CAAM,EAuCtD,SAAAE,IAAA,OAAAA,EArCMC,EAAAA,QAAAC,EAAAA,QAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAd,UAAAe,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EAYKC,QAAQC,IAAI,CACpBD,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,iBAAgB,IACvBL,oDAAO,iCAA+B,IACtCA,QAAOE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAA,yCACPL,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,iCAA+B,IACtCL,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,+BAA8B,IACrCL,oDAAO,mCAAiC,IACxCA,QAAOE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAA,gCAA+B,IACtCL,QAAOE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAA,sCACPL,QAAAE,UAAAC,MAAA,WAAA,OAAAC,EAAAC,QAAO,sCAAqC,IAC5CL,oDAAO,mCAAiC,MACxC,KAAA,EAZ0B,OAY1BhB,EAAAa,EAAAS,KAAArB,EAAAsB,EAAA,QAAAvB,EAAA,IArBAE,EAAUD,EAAA,GACVE,EAAcF,EAAA,GACdG,EAAaH,EAAA,GACbI,EAAUJ,EAAA,GACVK,EAAQL,EAAA,GACRM,EAAYN,EAAA,GACZO,EAASP,EAAA,GACTQ,EAAWR,EAAA,GACXS,EAAcT,EAAA,GACdU,EAA0BV,EAAA,GAcrBY,EAAAW,OAAA,SAAA,CACLtB,WAAYV,EAAaU,GACzBC,eAAgBX,EAAaW,GAC7BC,cAAeZ,EAAaY,GAC5BC,WAAYb,EAAaa,GACzBC,SAAUd,EAAac,GACvBC,aAAcf,EAAae,GAC3BC,UAAWhB,EAAagB,GACxBC,YAAajB,EAAaiB,GAC1BC,eAAgBlB,EAAakB,GAC7BC,2BAA4BnB,EAAamB,KAC1C,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAY,OAAA,GAAA1B,EACF,MAAA2B,MAAAC,KAAAC,UAAA,yBArCD,WAAqC,OAAAjC,EAAA+B,MAAAC,KAAAC,UAAA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/typeof"),r=require("highcharts"),a=require("highcharts/highcharts-more"),u=require("highcharts-multicolor-series"),i=require("highcharts/modules/solid-gauge"),l=require("highcharts/modules/heatmap"),d=require("highcharts/modules/boost"),h=require("highcharts/modules/exporting"),s=require("highcharts/modules/xrange"),f=require("highcharts/modules/dumbbell"),o=require("highcharts/modules/pattern-fill"),n=require("./highcharts-contour.js"),c=require("dompurify");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=g(e),b=g(t),m=g(r),q=g(a),y=g(u),v=g(i),j=g(l),A=g(d),x=g(h),O=g(s),T=g(f),w=g(o),H=g(c);m.default.AST&&(m.default.AST.bypassHTMLFiltering=!0);var z=function e(t){return"string"==typeof t?H.default.sanitize(t):("object"===b.default(t)&&null!==t&&Object.entries(t).forEach((function(r){var a=p.default(r,2),u=a[0],i=a[1];"string"==typeof i?t[u]=H.default.sanitize(t[u]):Array.isArray(i)?i.forEach((function(r,a){t[u][a]=e(r)})):"object"===b.default(i)&&(t[u]=e(i))})),t)};exports.initHighcharts=function(){window.Highcharts=m.default,y.default(m.default),q.default(m.default),v.default(m.default),j.default(m.default),A.default(m.default),x.default(m.default),O.default(m.default),T.default(m.default),w.default(m.default),n(m.default);var e=m.default.chart;m.default.chart=function(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length,u=new Array(a>2?a-2:0),i=2;i<a;i++)u[i-2]=arguments[i];return e.apply(void 0,[t,z(r)].concat(u))},m.default.setOptions({plotOptions:{series:{states:{inactive:{enabled:!1}}}}})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/asyncToGenerator"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/typeof"),n=require("@babel/runtime/regenerator"),a=require("./constants.js"),i=require("./highcharts-contour.js"),s=require("./getHighchartsV8.js"),u=require("./getHighchartsV10.js"),c=require("dompurify");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(e),h=o(r),d=o(t),f=o(n),p=o(c),g=function e(r){return"string"==typeof r?p.default.sanitize(r):("object"===d.default(r)&&null!==r&&Object.entries(r).forEach((function(t){var n=h.default(t,2),a=n[0],i=n[1];"string"==typeof i?r[a]=p.default.sanitize(r[a]):Array.isArray(i)?i.forEach((function(t,n){r[a][n]=e(t)})):"object"===d.default(i)&&(r[a]=e(i))})),r)};function H(){return H=l.default(f.default.mark((function e(){var r,t,n,c,o,l,h,d,p,H,b,x,v,y,S,V,A=arguments;return f.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=A.length>0&&void 0!==A[0]?A[0]:{},t=r.version,n=void 0===t?a.HIGHCHARTS_V10_VERSION:t,c=n===a.HIGHCHARTS_V8_VERSION?s.getHighchartsV8:u.getHighchartsV10,[a.HIGHCHARTS_V8_VERSION,a.HIGHCHARTS_V10_VERSION].includes(n)){e.next=4;break}throw new Error("Invalid highcharts version: ".concat(n));case 4:return e.next=6,c();case 6:return o=e.sent,l=o.Highcharts,h=o.highchartsMore,d=o.HighchartsMulticolorSeries,p=o.addSolidGauge,H=o.addHeatmap,b=o.addBoost,x=o.addExporting,v=o.addXrange,y=o.addDumbbell,S=o.addPatternFill,e.next=19,c();case 19:return e.next=21,c();case 21:return e.next=23,c();case 23:return e.next=25,c();case 25:return e.next=27,c();case 27:return e.next=29,c();case 29:return e.next=31,c();case 31:return e.next=33,c();case 33:return e.next=35,c();case 35:return e.next=37,c();case 37:return e.next=39,c();case 39:window.Highcharts=l,l.AST&&(l.AST.bypassHTMLFiltering=!0),d(l),h(l),p(l),H(l),b(l),x(l),v(l),y(l),S(l),i(l),V=l.chart,l.chart=function(e){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length,n=new Array(t>2?t-2:0),a=2;a<t;a++)n[a-2]=arguments[a];return V.apply(void 0,[e,g(r)].concat(n))},l.setOptions({plotOptions:{series:{states:{inactive:{enabled:!1}}}}});case 54:case"end":return e.stop()}}),e)}))),H.apply(this,arguments)}exports.initHighcharts=function(){return H.apply(this,arguments)};
2
2
  //# sourceMappingURL=highcharts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"highcharts.js","sources":["../../../../src/config/highcharts/highcharts.js"],"sourcesContent":["/* eslint-disable */\n// TODO: all the plugins should be checked, legacy code\n/**\n * NOTE: Highchart has a bug for pie chart in v8.1.2\n * issue link: https://github.com/highcharts/highcharts/issues/13710\n * workaround:\n * import Highcharts from 'highcharts';\n * window.Highcharts = Highcharts;\n */\n\nimport Highcharts from 'highcharts';\n\n// NOTE: Temporary disable HTML filtering for duration of migration to v10, as this is the main breaking change in v10, should be removed after migration\nif (Highcharts.AST) {\n Highcharts.AST.bypassHTMLFiltering = true;\n}\n\nimport highchartsMore from 'highcharts/highcharts-more';\n\nimport HighchartsMulticolorSeries from 'highcharts-multicolor-series';\nimport addSolidGauge from 'highcharts/modules/solid-gauge';\nimport addHeatmap from 'highcharts/modules/heatmap';\nimport addBoost from 'highcharts/modules/boost';\nimport addExporting from 'highcharts/modules/exporting';\nimport addXrange from 'highcharts/modules/xrange';\nimport addDumbbell from 'highcharts/modules/dumbbell';\nimport addPatternFill from 'highcharts/modules/pattern-fill';\n\nimport addContour from './highcharts-contour';\n\nimport DOMPurify from 'dompurify';\n\nconst stripHTMLRecurse = o => {\n if (typeof o === 'string') {\n return DOMPurify.sanitize(o);\n }\n\n if (typeof o === 'object' && o !== null)\n Object.entries(o).forEach(([key, value]) => {\n if (typeof value === 'string') {\n o[key] = DOMPurify.sanitize(o[key]);\n } else if (Array.isArray(value)) {\n value.forEach((item, i) => {\n o[key][i] = stripHTMLRecurse(item);\n });\n } else if (typeof value === 'object') {\n o[key] = stripHTMLRecurse(value);\n }\n });\n\n return o;\n};\n\nexport function initHighcharts() {\n window.Highcharts = Highcharts;\n\n HighchartsMulticolorSeries(Highcharts);\n // NOTE: Highcharts patching. It should be done in one place before any chart in rendered\n // in order to avoid conflicts\n highchartsMore(Highcharts);\n addSolidGauge(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/angular-gauges\n addHeatmap(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/heatmap\n addBoost(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addExporting(Highcharts); // https://www.highcharts.com/docs/export-module/export-module-overview\n addXrange(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addDumbbell(Highcharts);\n addPatternFill(Highcharts);\n addContour(Highcharts);\n\n // fix security issue for Highcharts 8\n // https://github.com/highcharts/highcharts/security/advisories/GHSA-8j65-4pcq-xq95\n const originalChartFn = Highcharts.chart;\n Highcharts.chart = function (container, options = {}, ...restParams) {\n return originalChartFn(container, stripHTMLRecurse(options), ...restParams);\n };\n\n /**\n * Adjust default highcharts effects globally for better use in our apps\n *\n * 1. Stop animation for inactive series\n * ref: https://api.highcharts.com/highcharts/plotOptions.series.states.inactive.enabled\n *\n */\n Highcharts.setOptions({\n plotOptions: {\n series: {\n states: {\n inactive: {\n enabled: false,\n },\n },\n },\n },\n });\n}\n"],"names":["Highcharts","AST","bypassHTMLFiltering","stripHTMLRecurse","o","DOMPurify","sanitize","_typeof","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","Array","isArray","item","i","window","HighchartsMulticolorSeries","highchartsMore","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","addContour","originalChartFn","chart","container","options","arguments","length","undefined","_len","restParams","_key","setOptions","plotOptions","series","states","inactive","enabled"],"mappings":"mxBAaIA,EAAAA,QAAWC,MACbD,UAAWC,IAAIC,qBAAsB,GAkBvC,IAAMC,EAAmB,SAAnBA,EAAmBC,GACvB,MAAiB,iBAANA,EACFC,EAAS,QAACC,SAASF,IAGX,WAAbG,UAAOH,IAAwB,OAANA,GAC3BI,OAAOC,QAAQL,GAAGM,SAAQ,SAAkBC,GAAA,IAAAC,EAAAC,EAAAA,QAAAF,EAAA,GAAhBG,EAAGF,EAAA,GAAEG,EAAKH,EAAA,GACf,iBAAVG,EACTX,EAAEU,GAAOT,EAAS,QAACC,SAASF,EAAEU,IACrBE,MAAMC,QAAQF,GACvBA,EAAML,SAAQ,SAACQ,EAAMC,GACnBf,EAAEU,GAAKK,GAAKhB,EAAiBe,EAC/B,IAC0B,WAAjBX,EAAA,QAAOQ,KAChBX,EAAEU,GAAOX,EAAiBY,GAE9B,IAEKX,EACT,yBAEO,WACLgB,OAAOpB,WAAaA,UAEpBqB,EAA0B,QAACrB,EAAU,SAGrCsB,EAAc,QAACtB,EAAU,SACzBuB,EAAa,QAACvB,EAAU,SACxBwB,EAAU,QAACxB,EAAU,SACrByB,EAAQ,QAACzB,EAAU,SACnB0B,EAAY,QAAC1B,EAAU,SACvB2B,EAAS,QAAC3B,EAAU,SACpB4B,EAAW,QAAC5B,EAAU,SACtB6B,EAAc,QAAC7B,EAAU,SACzB8B,EAAW9B,EAAU,SAIrB,IAAM+B,EAAkB/B,EAAU,QAACgC,MACnChC,UAAWgC,MAAQ,SAAUC,GAAuB,IAAiB,IAA7BC,EAAUC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAEG,EAAAH,UAAAC,OAAKG,EAAU,IAAAvB,MAAAsB,EAAA,EAAAA,EAAA,EAAA,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAVD,EAAUC,EAAA,GAAAL,UAAAK,GACjE,OAAOT,EAAgBE,WAAAA,EAAAA,CAAAA,EAAW9B,EAAiB+B,IAAaK,OAAAA,KAUlEvC,EAAAA,QAAWyC,WAAW,CACpBC,YAAa,CACXC,OAAQ,CACNC,OAAQ,CACNC,SAAU,CACRC,SAAS,OAMrB"}
1
+ {"version":3,"file":"highcharts.js","sources":["../../../../src/config/highcharts/highcharts.js"],"sourcesContent":["/* eslint-disable */\n// TODO: all the plugins should be checked, legacy code\n\n// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\nimport { HIGHCHARTS_V10_VERSION, HIGHCHARTS_V8_VERSION } from './constants';\n\nimport addContour from './highcharts-contour';\nimport { getHighchartsV8 } from './getHighchartsV8';\nimport { getHighchartsV10 } from './getHighchartsV10';\n\nimport DOMPurify from 'dompurify';\n\nconst stripHTMLRecurse = o => {\n if (typeof o === 'string') {\n return DOMPurify.sanitize(o);\n }\n\n if (typeof o === 'object' && o !== null)\n Object.entries(o).forEach(([key, value]) => {\n if (typeof value === 'string') {\n o[key] = DOMPurify.sanitize(o[key]);\n } else if (Array.isArray(value)) {\n value.forEach((item, i) => {\n o[key][i] = stripHTMLRecurse(item);\n });\n } else if (typeof value === 'object') {\n o[key] = stripHTMLRecurse(value);\n }\n });\n\n return o;\n};\n\nexport async function initHighcharts({ version = HIGHCHARTS_V10_VERSION } = {}) {\n const highchartsGetter = version === HIGHCHARTS_V8_VERSION ? getHighchartsV8 : getHighchartsV10;\n\n if (![HIGHCHARTS_V8_VERSION, HIGHCHARTS_V10_VERSION].includes(version)) {\n throw new Error(`Invalid highcharts version: ${version}`);\n }\n\n const {\n Highcharts,\n highchartsMore,\n HighchartsMulticolorSeries,\n addSolidGauge,\n addHeatmap,\n addBoost,\n addExporting,\n addXrange,\n addDumbbell,\n addPatternFill,\n } = await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n\n /**\n * NOTE: Highchart has a bug for pie chart in v8.1.2\n * issue link: https://github.com/highcharts/highcharts/issues/13710\n * workaround:\n * import Highcharts from 'highcharts';\n * window.Highcharts = Highcharts;\n */\n window.Highcharts = Highcharts;\n\n // NOTE: Temporary disable HTML filtering for duration of migration to v10, as this is the main breaking change in v10, should be removed after migration\n if (Highcharts.AST) {\n Highcharts.AST.bypassHTMLFiltering = true;\n }\n\n HighchartsMulticolorSeries(Highcharts);\n // NOTE: Highcharts patching. It should be done in one place before any chart in rendered\n // in order to avoid conflicts\n highchartsMore(Highcharts);\n addSolidGauge(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/angular-gauges\n addHeatmap(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/heatmap\n addBoost(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addExporting(Highcharts); // https://www.highcharts.com/docs/export-module/export-module-overview\n addXrange(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addDumbbell(Highcharts);\n addPatternFill(Highcharts);\n addContour(Highcharts);\n\n // fix security issue for Highcharts 8\n // https://github.com/highcharts/highcharts/security/advisories/GHSA-8j65-4pcq-xq95\n const originalChartFn = Highcharts.chart;\n Highcharts.chart = function (container, options = {}, ...restParams) {\n return originalChartFn(container, stripHTMLRecurse(options), ...restParams);\n };\n\n /**\n * Adjust default highcharts effects globally for better use in our apps\n *\n * 1. Stop animation for inactive series\n * ref: https://api.highcharts.com/highcharts/plotOptions.series.states.inactive.enabled\n *\n */\n Highcharts.setOptions({\n plotOptions: {\n series: {\n states: {\n inactive: {\n enabled: false,\n },\n },\n },\n },\n });\n}\n"],"names":["stripHTMLRecurse","o","DOMPurify","sanitize","_typeof","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","Array","isArray","item","i","_initHighcharts","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref3","_ref3$version","version","highchartsGetter","_yield$highchartsGett","Highcharts","highchartsMore","HighchartsMulticolorSeries","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","originalChartFn","_args","arguments","wrap","_context","prev","next","length","undefined","HIGHCHARTS_V10_VERSION","HIGHCHARTS_V8_VERSION","getHighchartsV8","getHighchartsV10","includes","Error","sent","window","AST","bypassHTMLFiltering","addContour","chart","container","options","_len","restParams","_key","setOptions","plotOptions","series","states","inactive","enabled","stop","apply","this"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./highcharts/highcharts.js"),i=require("../clients/subscriptions.js");require("./extendNative.js"),exports.initGlobalDependencies=function(){e.initHighcharts(),i.initializeSocketClient()};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./highcharts/highcharts.js"),i=require("../clients/subscriptions.js");require("./extendNative.js"),exports.initGlobalDependencies=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.highchartsVersion;e.initHighcharts({version:r}),i.initializeSocketClient()};
2
2
  //# sourceMappingURL=initGlobalDependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initGlobalDependencies.js","sources":["../../../src/config/initGlobalDependencies.js"],"sourcesContent":["import { initHighcharts } from '~/config/highcharts';\nimport { initializeSocketClient } from '~/clients/subscriptions';\nimport './extendNative.js';\n\nexport function initGlobalDependencies() {\n initHighcharts();\n initializeSocketClient();\n}\n"],"names":["initHighcharts","initializeSocketClient"],"mappings":"qNAIO,WACLA,EAAAA,iBACAC,EAAAA,wBACF"}
1
+ {"version":3,"file":"initGlobalDependencies.js","sources":["../../../src/config/initGlobalDependencies.js"],"sourcesContent":["import { initHighcharts } from '~/config/highcharts';\nimport { initializeSocketClient } from '~/clients/subscriptions';\nimport './extendNative.js';\n\n// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\nexport function initGlobalDependencies({ highchartsVersion } = {}) {\n initHighcharts({ version: highchartsVersion });\n initializeSocketClient();\n}\n"],"names":["_ref","arguments","length","undefined","highchartsVersion","initHighcharts","version","initializeSocketClient"],"mappings":"qNAKO,WAA4D,IAAAA,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAJ,CAAE,EAAxBG,IAAAA,kBACvCC,iBAAe,CAAEC,QAASF,IAC1BG,EAAAA,wBACF"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i=require('./../../ext-esm/tslib/tslib.es6.js'),e=require("../utils.js"),s=require("./abilities.js"),r=require("./settingsApps.js"),t=require("./appsPermissions.js"),a=i.__assign(i.__assign({canViewArchive:e.stringifyPermission({resource_class:"archive_well_btn",ability:s.ABILITIES.view}),companySelectorView:e.stringifyPermission({resource_class:"company_selector",ability:s.ABILITIES.view}),userCreate:e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.create}),getUserUpdate:function(i){return e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.update,resource_id:i})},canViewCorvaAppVersion:e.stringifyPermission({resource_class:"corva_app_version",ability:s.ABILITIES.view}),documentationEdit:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.edit}),documentationCreate:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.create}),documentationDestroy:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.destroy}),canUpdateWellQC:e.stringifyPermission({resource_class:"well_qc",ability:s.ABILITIES.update}),canUpdateDataQualitySettings:e.stringifyPermission({resource_class:"corva.settings_dataQuality",ability:s.ABILITIES.view}),getFeedItemDestroy:function(i){return e.stringifyPermission({resource_class:"Activity",ability:s.ABILITIES.destroy,resource_id:i})},getCommentDestroy:function(i){return e.stringifyPermission({resource_class:"Comment",ability:s.ABILITIES.destroy,resource_id:i})},getAlertUpdate:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.update,resource_id:i})},getAlertDestroy:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.destroy,resource_id:i})},streamVisibilityEdit:e.stringifyPermission({resource_class:"stream",ability:s.ABILITIES.edit}),userImpersonate:e.stringifyPermission({resource_class:"user",ability:s.ABILITIES.impersonate}),getDashboardUpdate:function(i){return e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.update,resource_id:i})},canCreateDashboard:e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.create}),canCopyUsers:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.copy_users}),canViewDocumentsInfo:e.stringifyPermission({resource_class:"documents_info",ability:s.ABILITIES.view}),canViewCostsInfo:e.stringifyPermission({resource_class:"costs_info",ability:s.ABILITIES.view}),canViewBillingCost:e.stringifyPermission({resource_class:"billing_visualization_cost",ability:s.ABILITIES.view}),canReadBillingInfo:e.stringifyPermission({resource_class:"Usage",ability:s.ABILITIES.read}),canUpdateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.update}),canReadTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.read}),canCreateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.create}),canDestroyTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.destroy}),canUpdatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.update}),canReadPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.read}),canCreatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.create}),canDestroyPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.destroy}),canViewPurchasesPage:e.stringifyPermission({resource_class:"company_purchase",ability:s.ABILITIES.access}),canReadPermissions:e.stringifyPermission({resource_class:"Permission",ability:s.ABILITIES.read}),canViewUserPermissions:e.stringifyPermission({resource_class:"mng_permissions_user_btn",ability:s.ABILITIES.view}),canViewGroupPermissions:e.stringifyPermission({resource_class:"mng_permissions_group_btn",ability:s.ABILITIES.view}),canShareGroup:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.share}),getAppStreamUpdate:function(i){return e.stringifyPermission({resource_class:"AppStream",ability:s.ABILITIES.update,resource_id:i})},canViewAlertValidationFilters:e.stringifyPermission({resource_class:"alert_validation_filters",ability:s.ABILITIES.view}),canViewAlertSubscriptionFilters:e.stringifyPermission({resource_class:"alert_subscription_filters",ability:s.ABILITIES.view}),getCanDestroyAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.destroy,resource_id:i})},getCanUpdateAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.update,resource_id:i})},canCreateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.create}),canUpdateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.edit}),canViewAlertCompanyField:e.stringifyPermission({resource_class:"alert_company_field",ability:s.ABILITIES.view}),canViewDashboardSharingCompany:e.stringifyPermission({resource_class:"dashboard_sharing_company",ability:s.ABILITIES.view}),canViewDashboardSharingSharedWith:e.stringifyPermission({resource_class:"dashboard_sharing_shared_with",ability:s.ABILITIES.view}),canViewConfigPage:e.stringifyPermission({resource_class:"config_page",ability:s.ABILITIES.access}),canAccessRequestApp:e.stringifyPermission({resource_class:"request_app",ability:s.ABILITIES.access}),canAccessUserSettingsWidgets:e.stringifyPermission({resource_class:"user_settings_widgets",ability:s.ABILITIES.access}),canViewDevCenter:e.stringifyPermission({resource_class:"dev_center",ability:s.ABILITIES.access}),getCanReadAppPackages:function(i){return e.stringifyPermission({resource_class:"App",ability:"read_packages",resource_id:i})},canViewAppPackageSelector:e.stringifyPermission({resource_class:"app_package_selector",ability:s.ABILITIES.view}),canAccessProvisioning:e.stringifyPermission({resource_class:"provisioning",ability:s.ABILITIES.access}),getCanUpdateAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.update,resource_id:i})},getCanUpdateParentAssetAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:"update_parent_asset",resource_id:i})},getCanCopyActivities:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.copy_activities,resource_id:i})},canRerunWell:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.rerun,resource_id:i})},rigCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Rig"}),wellCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Well"}),programCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Program"}),padCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Pad"}),padUpdate:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad"}),canManagePadWells:e.stringifyPermission({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:e.stringifyPermission({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"FracFleet"}),drilloutUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"InterventionUnit"}),canQCDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:e.stringifyPermission({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:e.stringifyPermission({ability:s.ABILITIES.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"stream_x_api"}),canViewMLFlow:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"MLFlow"}),canCreateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Program",resource_id:i})},getCanUpdatePad:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad",resource_id:i})},getCanUpdateRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Rig",resource_id:i})},getCanUpdateWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Well",resource_id:i})},getCanUpdateFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"FracFleet",resource_id:i})},getCanUpdateDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"DrilloutUnit",resource_id:i})},getCanUpdateInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"InterventionUnit",resource_id:i})},getCanDestroyProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Program",resource_id:i})},getCanDestroyPad:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Pad",resource_id:i})},getCanDestroyRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Rig",resource_id:i})},getCanDestroyWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Well",resource_id:i})},getCanDestroyFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"FracFleet",resource_id:i})},getCanDestroyDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"DrilloutUnit",resource_id:i})},getCanDestroyInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"InterventionUnit",resource_id:i})}},r),t);exports.ABILITIES=s.ABILITIES,exports.PERMISSIONS=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i=require('./../../ext-esm/tslib/tslib.es6.js'),e=require("../utils.js"),s=require("./abilities.js"),r=require("./settingsApps.js"),t=require("./appsPermissions.js"),a=i.__assign(i.__assign({canViewArchive:e.stringifyPermission({resource_class:"archive_well_btn",ability:s.ABILITIES.view}),companySelectorView:e.stringifyPermission({resource_class:"company_selector",ability:s.ABILITIES.view}),userCreate:e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.create}),getUserUpdate:function(i){return e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.update,resource_id:i})},canViewCorvaAppVersion:e.stringifyPermission({resource_class:"corva_app_version",ability:s.ABILITIES.view}),documentationEdit:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.edit}),documentationCreate:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.create}),documentationDestroy:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.destroy}),canUpdateWellQC:e.stringifyPermission({resource_class:"well_qc",ability:s.ABILITIES.update}),canUpdateDataQualitySettings:e.stringifyPermission({resource_class:"corva.settings_dataQuality",ability:s.ABILITIES.view}),getFeedItemDestroy:function(i){return e.stringifyPermission({resource_class:"Activity",ability:s.ABILITIES.destroy,resource_id:i})},getCommentDestroy:function(i){return e.stringifyPermission({resource_class:"Comment",ability:s.ABILITIES.destroy,resource_id:i})},getAlertUpdate:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.update,resource_id:i})},getAlertDestroy:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.destroy,resource_id:i})},streamVisibilityEdit:e.stringifyPermission({resource_class:"stream",ability:s.ABILITIES.edit}),userImpersonate:e.stringifyPermission({resource_class:"user",ability:s.ABILITIES.impersonate}),getDashboardUpdate:function(i){return e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.update,resource_id:i})},canCreateDashboard:e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.create}),canCopyUsers:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.copy_users}),canViewDocumentsInfo:e.stringifyPermission({resource_class:"documents_info",ability:s.ABILITIES.view}),canViewCostsInfo:e.stringifyPermission({resource_class:"costs_info",ability:s.ABILITIES.view}),canViewBillingCost:e.stringifyPermission({resource_class:"billing_visualization_cost",ability:s.ABILITIES.view}),canReadBillingInfo:e.stringifyPermission({resource_class:"Usage",ability:s.ABILITIES.read}),canUpdateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.update}),canReadTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.read}),canCreateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.create}),canDestroyTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.destroy}),canUpdatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.update}),canReadPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.read}),canCreatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.create}),canDestroyPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.destroy}),canViewPurchasesPage:e.stringifyPermission({resource_class:"company_purchase",ability:s.ABILITIES.access}),canReadPermissions:e.stringifyPermission({resource_class:"Permission",ability:s.ABILITIES.read}),canViewUserPermissions:e.stringifyPermission({resource_class:"mng_permissions_user_btn",ability:s.ABILITIES.view}),canViewGroupPermissions:e.stringifyPermission({resource_class:"mng_permissions_group_btn",ability:s.ABILITIES.view}),canShareGroup:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.share}),getAppStreamUpdate:function(i){return e.stringifyPermission({resource_class:"AppStream",ability:s.ABILITIES.update,resource_id:i})},canViewAlertValidationFilters:e.stringifyPermission({resource_class:"alert_validation_filters",ability:s.ABILITIES.view}),canViewAlertSubscriptionFilters:e.stringifyPermission({resource_class:"alert_subscription_filters",ability:s.ABILITIES.view}),getCanDestroyAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.destroy,resource_id:i})},getCanUpdateAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.update,resource_id:i})},canCreateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.create}),canUpdateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.edit}),canViewAlertCompanyField:e.stringifyPermission({resource_class:"alert_company_field",ability:s.ABILITIES.view}),canViewDashboardSharingCompany:e.stringifyPermission({resource_class:"dashboard_sharing_company",ability:s.ABILITIES.view}),canViewDashboardSharingSharedWith:e.stringifyPermission({resource_class:"dashboard_sharing_shared_with",ability:s.ABILITIES.view}),canViewConfigPage:e.stringifyPermission({resource_class:"config_page",ability:s.ABILITIES.access}),canAccessRequestApp:e.stringifyPermission({resource_class:"request_app",ability:s.ABILITIES.access}),canAccessUserSettingsWidgets:e.stringifyPermission({resource_class:"user_settings_widgets",ability:s.ABILITIES.access}),canViewDevCenter:e.stringifyPermission({resource_class:"dev_center",ability:s.ABILITIES.access}),getCanReadAppPackages:function(i){return e.stringifyPermission({resource_class:"App",ability:"read_packages",resource_id:i})},canViewAppPackageSelector:e.stringifyPermission({resource_class:"app_package_selector",ability:s.ABILITIES.view}),canAccessProvisioning:e.stringifyPermission({resource_class:"provisioning",ability:s.ABILITIES.access}),getCanUpdateAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.update,resource_id:i})},getCanUpdateParentAssetAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:"update_parent_asset",resource_id:i})},getCanCopyActivities:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.copy_activities,resource_id:i})},canRerunWell:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.rerun,resource_id:i})},rigCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Rig"}),wellCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Well"}),programCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Program"}),padCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Pad"}),padUpdate:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad"}),canManagePadWells:e.stringifyPermission({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:e.stringifyPermission({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"FracFleet"}),drilloutUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"InterventionUnit"}),canQCDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:e.stringifyPermission({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:e.stringifyPermission({ability:s.ABILITIES.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"stream_x_api"}),canViewMLFlow:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"MLFlow"}),canCreateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Program",resource_id:i})},getCanUpdatePad:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad",resource_id:i})},getCanUpdateRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Rig",resource_id:i})},getCanUpdateWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Well",resource_id:i})},getCanUpdateFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"FracFleet",resource_id:i})},getCanUpdateDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"DrilloutUnit",resource_id:i})},getCanUpdateInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"InterventionUnit",resource_id:i})},getCanDestroyProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Program",resource_id:i})},getCanDestroyPad:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Pad",resource_id:i})},getCanDestroyRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Rig",resource_id:i})},getCanDestroyWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Well",resource_id:i})},getCanDestroyFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"FracFleet",resource_id:i})},getCanDestroyDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"DrilloutUnit",resource_id:i})},getCanDestroyInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"InterventionUnit",resource_id:i})},canViewHomeScreen:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"home_screen"})},r),t);exports.ABILITIES=s.ABILITIES,exports.PERMISSIONS=a;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChartModifier.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/effects/useChartModifier.js"],"names":[],"mappings":"AAeO;;;;;;;;SAuEN"}
1
+ {"version":3,"file":"useChartModifier.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/effects/useChartModifier.js"],"names":[],"mappings":"AAyCO;;;;;;;;SAuEN"}
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/defineProperty";import{makeStyles as e}from"@material-ui/core";import{isEmpty as o}from"lodash";import{useEffect as t}from"react";import{updateAxisStyles as s}from"../formations.js";function a(r,e){var o=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.push.apply(o,t)}return o}function i(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?a(Object(t),!0).forEach((function(o){r(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var n=e({axisGrab:{cursor:"grab"},axisCrosshair:{cursor:"crosshair"}}),c=function(r){var e=r.chart,a=r.chartOptions,c=r.isZoomEnabled,l=r.isMinHeightChart,p=r.handleChartSelection,u=r.onZoomChangeCallback,f=r.isAxesCoordinatesShown,h=n();t((function(){if(!o(e)){var r={zIndex:1,color:"#ffffff",dashStyle:"dash"};e.plotBackground.element.style.cursor=l||!c?"grab":"crosshair",e.series.forEach((function(r){var e;return null==r||null===(e=r.group)||void 0===e?void 0:e.css({cursor:l||!c?"grab":"crosshair"})})),e.update({chart:i(i({},a),{},{plotBackgroundColor:"transparent",zoomType:l||!c?"none":a.zoomType}),xAxis:{crosshair:f?r:null,className:c?h.axisCrosshair:h.axisGrab,events:{afterSetExtremes:function(r){var o,t;"zoom"!==r.trigger&&"navigator"!==r.trigger||p(),null!==(o=e.xAxis)&&void 0!==o&&null!==(t=o[0].userOptions.plotLines)&&void 0!==t&&t.length&&s({chart:e}),u(r)}}},yAxis:{crosshair:f?r:null,className:c?h.axisCrosshair:h.axisGrab,events:{afterSetExtremes:function(r){"zoom"!==r.trigger&&"navigator"!==r.trigger||p(),u(r)}}},plotOptions:{series:{cursor:l||!c?"grab":"crosshair"}}})}}),[c,p,f])};export{c as useChartModifier};
1
+ import r from"@babel/runtime/helpers/defineProperty";import{makeStyles as e}from"@material-ui/core";import{isEmpty as o}from"lodash";import{useEffect as t}from"react";import{updateAxisStyles as n}from"../formations.js";function i(r,e){var o=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.push.apply(o,t)}return o}function s(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?i(Object(t),!0).forEach((function(o){r(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var a=function(r,e,o){var t;return window.Highcharts.version.startsWith("10")?{zooming:{type:o||!e?"none":r.zoomType,panning:{enabled:!e,type:(null===(t=r.panning)||void 0===t?void 0:t.type)||"xy"},panKey:""}}:{zoomType:o||!e?"none":r.zoomType}},c=e({axisGrab:{cursor:"grab"},axisCrosshair:{cursor:"crosshair"}}),l=function(r){var e=r.chart,i=r.chartOptions,l=r.isZoomEnabled,p=r.isMinHeightChart,u=r.handleChartSelection,f=r.onZoomChangeCallback,h=r.isAxesCoordinatesShown,g=c();t((function(){if(!o(e)){var r={zIndex:1,color:"#ffffff",dashStyle:"dash"};e.plotBackground.element.style.cursor=p||!l?"grab":"crosshair",e.series.forEach((function(r){var e;return null==r||null===(e=r.group)||void 0===e?void 0:e.css({cursor:p||!l?"grab":"crosshair"})})),e.update({chart:s(s({},i),{},{plotBackgroundColor:"transparent"},a(i,l,p)),xAxis:{crosshair:h?r:null,className:l?g.axisCrosshair:g.axisGrab,events:{afterSetExtremes:function(r){var o,t;"zoom"!==r.trigger&&"navigator"!==r.trigger||u(),null!==(o=e.xAxis)&&void 0!==o&&null!==(t=o[0].userOptions.plotLines)&&void 0!==t&&t.length&&n({chart:e}),f(r)}}},yAxis:{crosshair:h?r:null,className:l?g.axisCrosshair:g.axisGrab,events:{afterSetExtremes:function(r){"zoom"!==r.trigger&&"navigator"!==r.trigger||u(),f(r)}}},plotOptions:{series:{cursor:p||!l?"grab":"crosshair"}}})}}),[l,u,h])};export{l as useChartModifier};
2
2
  //# sourceMappingURL=useChartModifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChartModifier.js","sources":["../../../../src/components/Chart/effects/useChartModifier.js"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport { isEmpty } from 'lodash';\nimport { useEffect } from 'react';\n\nimport { updateAxisStyles } from '../formations';\n\nconst useStyles = makeStyles({\n axisGrab: {\n cursor: 'grab',\n },\n axisCrosshair: {\n cursor: 'crosshair',\n },\n});\n\nexport const useChartModifier = ({\n chart,\n chartOptions,\n isZoomEnabled,\n isMinHeightChart,\n handleChartSelection,\n onZoomChangeCallback,\n isAxesCoordinatesShown,\n}) => {\n const classes = useStyles();\n\n useEffect(() => {\n if (isEmpty(chart)) {\n return;\n }\n\n const crosshairConfig = {\n zIndex: 1,\n color: '#ffffff',\n dashStyle: 'dash',\n };\n // eslint-disable-next-line no-param-reassign\n chart.plotBackground.element.style.cursor =\n isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair';\n\n chart.series.forEach(seriesItem =>\n seriesItem?.group?.css({\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n })\n );\n\n chart.update({\n chart: {\n ...chartOptions,\n plotBackgroundColor: 'transparent',\n zoomType: isMinHeightChart || !isZoomEnabled ? 'none' : chartOptions.zoomType,\n },\n xAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n if (chart.xAxis?.[0].userOptions.plotLines?.length) {\n updateAxisStyles({ chart });\n }\n onZoomChangeCallback(e);\n },\n },\n },\n yAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n onZoomChangeCallback(e);\n },\n },\n },\n plotOptions: {\n series: {\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n },\n },\n });\n }, [isZoomEnabled, handleChartSelection, isAxesCoordinatesShown]);\n};\n"],"names":["useStyles","makeStyles","axisGrab","cursor","axisCrosshair","useChartModifier","_ref","chart","chartOptions","isZoomEnabled","isMinHeightChart","handleChartSelection","onZoomChangeCallback","isAxesCoordinatesShown","classes","useEffect","isEmpty","crosshairConfig","zIndex","color","dashStyle","plotBackground","element","style","series","forEach","seriesItem","_seriesItem$group","group","css","update","plotBackgroundColor","zoomType","xAxis","crosshair","className","events","afterSetExtremes","e","_chart$xAxis","_chart$xAxis$0$userOp","trigger","userOptions","plotLines","length","updateAxisStyles","yAxis","plotOptions"],"mappings":"0xBAMA,IAAMA,EAAYC,EAAW,CAC3BC,SAAU,CACRC,OAAQ,QAEVC,cAAe,CACbD,OAAQ,eAICE,EAAmB,SAQ1BC,GAAA,IAPJC,IAAAA,MACAC,IAAAA,aACAC,IAAAA,cACAC,IAAAA,iBACAC,IAAAA,qBACAC,IAAAA,qBACAC,IAAAA,uBAEMC,EAAUd,IAEhBe,GAAU,WACR,IAAIC,EAAQT,GAAZ,CAIA,IAAMU,EAAkB,CACtBC,OAAQ,EACRC,MAAO,UACPC,UAAW,QAGbb,EAAMc,eAAeC,QAAQC,MAAMpB,OACjCO,IAAqBD,EAAgB,OAAS,YAEhDF,EAAMiB,OAAOC,SAAQ,SAAAC,GAAU,IAAAC,EAAA,OAC7BD,SAAiB,QAAjBA,EAAAA,EAAYE,aAAK,IAAAD,OAAjBD,EAAAC,EAAmBE,IAAI,CACrB1B,OAAQO,IAAqBD,EAAgB,OAAS,iBAI1DF,EAAMuB,OAAO,CACXvB,aACKC,GAAY,CAAA,EAAA,CACfuB,oBAAqB,cACrBC,SAAUtB,IAAqBD,EAAgB,OAASD,EAAawB,WAEvEC,MAAO,CACLC,UAAWrB,EAAyBI,EAAkB,KACtDkB,UAAW1B,EAAgBK,EAAQV,cAAgBU,EAAQZ,SAC3DkC,OAAQ,CACNC,iBAAgB,SAACC,GAAG,IAAAC,EAAAC,EACA,SAAdF,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B9B,IAEa,QAAf4B,EAAIhC,EAAM0B,aAAK,IAAAM,GAAX,QAAWC,EAAXD,EAAc,GAAGG,YAAYC,iBAA7B,IAAAH,GAAAA,EAAwCI,QAC1CC,EAAiB,CAAEtC,MAAAA,IAErBK,EAAqB0B,EACvB,IAGJQ,MAAO,CACLZ,UAAWrB,EAAyBI,EAAkB,KACtDkB,UAAW1B,EAAgBK,EAAQV,cAAgBU,EAAQZ,SAC3DkC,OAAQ,CACNC,iBAAgB,SAACC,GACG,SAAdA,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B9B,IAEFC,EAAqB0B,EACvB,IAGJS,YAAa,CACXvB,OAAQ,CACNrB,OAAQO,IAAqBD,EAAgB,OAAS,eApD5D,CAwDD,GAAE,CAACA,EAAeE,EAAsBE,GAC3C"}
1
+ {"version":3,"file":"useChartModifier.js","sources":["../../../../src/components/Chart/effects/useChartModifier.js"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport { isEmpty } from 'lodash';\nimport { useEffect } from 'react';\n\nimport { updateAxisStyles } from '../formations';\n\n// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration to v10 ends\n// Helper function to get chart configuration based on Highcharts version\n// This ensures compatibility with both Highcharts v8 and v10\nconst getChartVersionSpecificConfig = (chartOptions, isZoomEnabled, isMinHeightChart) => {\n const isV10 = window.Highcharts.version.startsWith('10');\n\n if (isV10) {\n // Highcharts v10 format\n return {\n zooming: {\n type: isMinHeightChart || !isZoomEnabled ? 'none' : chartOptions.zoomType,\n panning: {\n enabled: !isZoomEnabled,\n type: chartOptions.panning?.type || 'xy',\n },\n panKey: '',\n },\n };\n } else {\n // Highcharts v8 format (backward compatibility)\n return {\n zoomType: isMinHeightChart || !isZoomEnabled ? 'none' : chartOptions.zoomType,\n };\n }\n};\n\nconst useStyles = makeStyles({\n axisGrab: {\n cursor: 'grab',\n },\n axisCrosshair: {\n cursor: 'crosshair',\n },\n});\n\nexport const useChartModifier = ({\n chart,\n chartOptions,\n isZoomEnabled,\n isMinHeightChart,\n handleChartSelection,\n onZoomChangeCallback,\n isAxesCoordinatesShown,\n}) => {\n const classes = useStyles();\n\n useEffect(() => {\n if (isEmpty(chart)) {\n return;\n }\n\n const crosshairConfig = {\n zIndex: 1,\n color: '#ffffff',\n dashStyle: 'dash',\n };\n // eslint-disable-next-line no-param-reassign\n chart.plotBackground.element.style.cursor =\n isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair';\n\n chart.series.forEach(seriesItem =>\n seriesItem?.group?.css({\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n })\n );\n\n chart.update({\n chart: {\n ...chartOptions,\n plotBackgroundColor: 'transparent',\n ...getChartVersionSpecificConfig(chartOptions, isZoomEnabled, isMinHeightChart),\n },\n xAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n if (chart.xAxis?.[0].userOptions.plotLines?.length) {\n updateAxisStyles({ chart });\n }\n onZoomChangeCallback(e);\n },\n },\n },\n yAxis: {\n crosshair: isAxesCoordinatesShown ? crosshairConfig : null,\n className: isZoomEnabled ? classes.axisCrosshair : classes.axisGrab,\n events: {\n afterSetExtremes(e) {\n if (e.trigger === 'zoom' || e.trigger === 'navigator') {\n handleChartSelection();\n }\n onZoomChangeCallback(e);\n },\n },\n },\n plotOptions: {\n series: {\n cursor: isMinHeightChart || !isZoomEnabled ? 'grab' : 'crosshair',\n },\n },\n });\n }, [isZoomEnabled, handleChartSelection, isAxesCoordinatesShown]);\n};\n"],"names":["getChartVersionSpecificConfig","chartOptions","isZoomEnabled","isMinHeightChart","_chartOptions$panning","window","Highcharts","version","startsWith","zooming","type","zoomType","panning","enabled","panKey","useStyles","makeStyles","axisGrab","cursor","axisCrosshair","useChartModifier","_ref","chart","handleChartSelection","onZoomChangeCallback","isAxesCoordinatesShown","classes","useEffect","isEmpty","crosshairConfig","zIndex","color","dashStyle","plotBackground","element","style","series","forEach","seriesItem","_seriesItem$group","group","css","update","plotBackgroundColor","xAxis","crosshair","className","events","afterSetExtremes","e","_chart$xAxis","_chart$xAxis$0$userOp","trigger","userOptions","plotLines","length","updateAxisStyles","yAxis","plotOptions"],"mappings":"0xBASA,IAAMA,EAAgC,SAACC,EAAcC,EAAeC,GAClE,IAEWC,EAAX,OAFcC,OAAOC,WAAWC,QAAQC,WAAW,MAI1C,CACLC,QAAS,CACPC,KAAMP,IAAqBD,EAAgB,OAASD,EAAaU,SACjEC,QAAS,CACPC,SAAUX,EACVQ,MAAM,UAAAT,EAAaW,eAAb,IAAAR,OAAA,EAAAA,EAAsBM,OAAQ,MAEtCI,OAAQ,KAKL,CACLH,SAAUR,IAAqBD,EAAgB,OAASD,EAAaU,SAG3E,EAEMI,EAAYC,EAAW,CAC3BC,SAAU,CACRC,OAAQ,QAEVC,cAAe,CACbD,OAAQ,eAICE,EAAmB,SAQ1BC,GAAA,IAPJC,IAAAA,MACArB,IAAAA,aACAC,IAAAA,cACAC,IAAAA,iBACAoB,IAAAA,qBACAC,IAAAA,qBACAC,IAAAA,uBAEMC,EAAUX,IAEhBY,GAAU,WACR,IAAIC,EAAQN,GAAZ,CAIA,IAAMO,EAAkB,CACtBC,OAAQ,EACRC,MAAO,UACPC,UAAW,QAGbV,EAAMW,eAAeC,QAAQC,MAAMjB,OACjCf,IAAqBD,EAAgB,OAAS,YAEhDoB,EAAMc,OAAOC,SAAQ,SAAAC,GAAU,IAAAC,EAAA,OAC7BD,SAAiB,QAAjBA,EAAAA,EAAYE,aAAK,IAAAD,OAAjBD,EAAAC,EAAmBE,IAAI,CACrBvB,OAAQf,IAAqBD,EAAgB,OAAS,iBAI1DoB,EAAMoB,OAAO,CACXpB,aACKrB,GAAY,CAAA,EAAA,CACf0C,oBAAqB,eAClB3C,EAA8BC,EAAcC,EAAeC,IAEhEyC,MAAO,CACLC,UAAWpB,EAAyBI,EAAkB,KACtDiB,UAAW5C,EAAgBwB,EAAQP,cAAgBO,EAAQT,SAC3D8B,OAAQ,CACNC,iBAAgB,SAACC,GAAG,IAAAC,EAAAC,EACA,SAAdF,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B7B,IAEa,QAAf2B,EAAI5B,EAAMsB,aAAK,IAAAM,GAAX,QAAWC,EAAXD,EAAc,GAAGG,YAAYC,iBAA7B,IAAAH,GAAAA,EAAwCI,QAC1CC,EAAiB,CAAElC,MAAAA,IAErBE,EAAqByB,EACvB,IAGJQ,MAAO,CACLZ,UAAWpB,EAAyBI,EAAkB,KACtDiB,UAAW5C,EAAgBwB,EAAQP,cAAgBO,EAAQT,SAC3D8B,OAAQ,CACNC,iBAAgB,SAACC,GACG,SAAdA,EAAEG,SAAoC,cAAdH,EAAEG,SAC5B7B,IAEFC,EAAqByB,EACvB,IAGJS,YAAa,CACXtB,OAAQ,CACNlB,OAAQf,IAAqBD,EAAgB,OAAS,eApD5D,CAwDD,GAAE,CAACA,EAAeqB,EAAsBE,GAC3C"}
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/slicedToArray";import{memo as t,useRef as o,useMemo as n,useEffect as i,createElement as c}from"react";import a from"react-dom";import s from"prop-types";import l from"mapbox.js";import{get as u,sortBy as m}from"lodash";import{MuiThemeProvider as p}from"@material-ui/core/styles";import{usePrevious as f}from"../../effects/index.js";import d from"./Map.css.js";import{mapbox as b}from"../../../../utils/index.js";import{darkTheme as h}from"../../../../config/theme/index.js";import"../../../../config/highcharts/highcharts.js";import"../../../../config/mapbox/index.js";import"../../../../clients/subscriptions/constants.js";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../config/extendNative.js";import{jsx as F,jsxs as v}from"react/jsx-runtime";function g(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,o)}return t}function j(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?g(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):g(Object(o)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))}))}return e}var y=b.isValidCoordinates,O=["#FF00FF","#F5BD80","#FF0000","#0080FF","#FF8000","#58ACFA","#FA58F4","#40FF00","#4B8A08","#40FF00","#D8F781"],k=[29.749907,-95.358421];function N(t){var s=t.subjectWell,b=t.wells,g=t.offsetWells,N=t.radius,P=t.subjectWellMarkerSize,w=t.wellMarkerSize,x=t.popUpFormatter,B=t.coordsDataPath,S=o(null),W=o(null),C=o(null),D=f(b),T=n((function(){return b.filter((function(r){return!s||s.id!==r.id}))}),[s,b]),M=n((function(){return s&&u(s,B)}),[s,B]),z=n((function(){var e=[],t=!1;T.forEach((function(r){"Null"===r.formation?t=!0:s&&s.formation===r.formation||e.includes(r.formation)||e.push(r.formation)}));var o=s?[s.formation].concat(m(e)):m(e);t&&!o.includes("Null")&&o.push("Null");var n=o.reduce((function(e,t,o){return j(j({},e),{},r({},t,O[o%O.length]))}),{});return[o,n]}),[s,T]),L=e(z,2),E=L[0],I=L[1];return i((function(){S.current=l.mapbox.map(S.current,null,{attributionControl:!1,scrollWheelZoom:!1,zoomControl:!1}).setView(k,1),l.control.zoom({position:"bottomright"}).addTo(S.current),l.mapbox.styleLayer("mapbox://styles/mapbox/dark-v9").addTo(S.current)}),[]),i((function(){S.current&&(W.current&&S.current.removeLayer(W.current),M?(W.current=l.circle(M,1609.34*N,{stroke:!1,fill:!0,fillOpacity:.2,fillColor:"#03BCD4",className:"circle_500"}),W.current.addTo(S.current)):W.current=null)}),[N,M]),i((function(){if(S.current){S.current.closePopup(),C.current&&C.current.removeFrom(S.current);var r=g.map((function(r){return r.id})),e=[];b.forEach((function(t){var o=u(t,B);if(o&&y(o)){var n=s&&s.id===t.id,i=r.includes(t.id),m=n?P:w,f=n||i?"#00FFFF":I[t.formation],d=n||i?1:.3,b=l.circleMarker(o,{radius:m,stroke:!1,fill:!0,fillOpacity:d,fillColor:f,className:"circle_500"});b.addEventListener("mouseover",(function(){if(x){var r=document.createElement("div"),e=c(x,{well:t,color:I[t.formation]});a.render(F(p,{theme:h,children:e}),r),l.popup().setLatLng(o).setContent(r).openOn(S.current)}})),e.push(b)}})),e.length&&(C.current=l.featureGroup(e),C.current.addTo(S.current)),setTimeout((function(){W.current&&W.current.bringToBack(),S.current&&W.current&&b!==D&&S.current.fitBounds(W.current.getBounds(),{padding:[5,5]})}),500)}}),[s,b,g,I]),i((function(){setTimeout((function(){W.current&&W.current.bringToBack(),s?S.current&&W.current&&S.current.fitBounds(W.current.getBounds(),{padding:[5,5]}):S.current&&C.current&&S.current.fitBounds(C.current.getBounds())}),500)}),[N,s]),v("div",{className:d.map,children:[F("div",{className:d.mapMain,ref:S}),v("div",{className:d.mapFooter,children:[g&&v("div",{className:d.mapFooterItem,children:[F("div",{className:d.mapFooterItemSquare,style:{backgroundColor:"#00FFFF"}}),F("div",{className:d.mapFooterItemLabel,children:"Selected Offset Wells"})]}),E.map((function(r){return v("div",{className:d.mapFooterItem,children:[F("div",{className:d.mapFooterItemSquare,style:{backgroundColor:I[r]}}),F("div",{className:d.mapFooterItemLabel,children:r})]},r)}))]})]})}N.propTypes={subjectWell:s.shape({id:s.number,formation:s.string}),wells:s.arrayOf(s.shape({})).isRequired,offsetWells:s.arrayOf(s.shape({})),radius:s.number.isRequired,subjectWellMarkerSize:s.number,wellMarkerSize:s.number,popUpFormatter:s.func,coordsDataPath:s.string},N.defaultProps={subjectWell:null,subjectWellMarkerSize:10,wellMarkerSize:5,popUpFormatter:null,coordsDataPath:"settings.top_hole.coordinates",offsetWells:null};var P=t(N);export{P as default};
1
+ import r from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/slicedToArray";import{memo as t,useRef as o,useMemo as n,useEffect as i,createElement as c}from"react";import a from"react-dom";import l from"prop-types";import s from"mapbox.js";import{get as u,sortBy as m}from"lodash";import{MuiThemeProvider as p}from"@material-ui/core/styles";import{usePrevious as f}from"../../effects/index.js";import d from"./Map.css.js";import{mapbox as b}from"../../../../utils/index.js";import{darkTheme as F}from"../../../../config/theme/index.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/typeof";import"@babel/runtime/regenerator";import"dompurify";import"../../../../config/mapbox/index.js";import"../../../../clients/subscriptions/constants.js";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../config/extendNative.js";import{jsx as h,jsxs as v}from"react/jsx-runtime";function y(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,o)}return t}function j(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?y(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):y(Object(o)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))}))}return e}var g=b.isValidCoordinates,O=["#FF00FF","#F5BD80","#FF0000","#0080FF","#FF8000","#58ACFA","#FA58F4","#40FF00","#4B8A08","#40FF00","#D8F781"],k=[29.749907,-95.358421];function N(t){var l=t.subjectWell,b=t.wells,y=t.offsetWells,N=t.radius,P=t.subjectWellMarkerSize,w=t.wellMarkerSize,x=t.popUpFormatter,B=t.coordsDataPath,S=o(null),T=o(null),W=o(null),C=f(b),D=n((function(){return b.filter((function(r){return!l||l.id!==r.id}))}),[l,b]),M=n((function(){return l&&u(l,B)}),[l,B]),z=n((function(){var e=[],t=!1;D.forEach((function(r){"Null"===r.formation?t=!0:l&&l.formation===r.formation||e.includes(r.formation)||e.push(r.formation)}));var o=l?[l.formation].concat(m(e)):m(e);t&&!o.includes("Null")&&o.push("Null");var n=o.reduce((function(e,t,o){return j(j({},e),{},r({},t,O[o%O.length]))}),{});return[o,n]}),[l,D]),L=e(z,2),E=L[0],I=L[1];return i((function(){S.current=s.mapbox.map(S.current,null,{attributionControl:!1,scrollWheelZoom:!1,zoomControl:!1}).setView(k,1),s.control.zoom({position:"bottomright"}).addTo(S.current),s.mapbox.styleLayer("mapbox://styles/mapbox/dark-v9").addTo(S.current)}),[]),i((function(){S.current&&(T.current&&S.current.removeLayer(T.current),M?(T.current=s.circle(M,1609.34*N,{stroke:!1,fill:!0,fillOpacity:.2,fillColor:"#03BCD4",className:"circle_500"}),T.current.addTo(S.current)):T.current=null)}),[N,M]),i((function(){if(S.current){S.current.closePopup(),W.current&&W.current.removeFrom(S.current);var r=y.map((function(r){return r.id})),e=[];b.forEach((function(t){var o=u(t,B);if(o&&g(o)){var n=l&&l.id===t.id,i=r.includes(t.id),m=n?P:w,f=n||i?"#00FFFF":I[t.formation],d=n||i?1:.3,b=s.circleMarker(o,{radius:m,stroke:!1,fill:!0,fillOpacity:d,fillColor:f,className:"circle_500"});b.addEventListener("mouseover",(function(){if(x){var r=document.createElement("div"),e=c(x,{well:t,color:I[t.formation]});a.render(h(p,{theme:F,children:e}),r),s.popup().setLatLng(o).setContent(r).openOn(S.current)}})),e.push(b)}})),e.length&&(W.current=s.featureGroup(e),W.current.addTo(S.current)),setTimeout((function(){T.current&&T.current.bringToBack(),S.current&&T.current&&b!==C&&S.current.fitBounds(T.current.getBounds(),{padding:[5,5]})}),500)}}),[l,b,y,I]),i((function(){setTimeout((function(){T.current&&T.current.bringToBack(),l?S.current&&T.current&&S.current.fitBounds(T.current.getBounds(),{padding:[5,5]}):S.current&&W.current&&S.current.fitBounds(W.current.getBounds())}),500)}),[N,l]),v("div",{className:d.map,children:[h("div",{className:d.mapMain,ref:S}),v("div",{className:d.mapFooter,children:[y&&v("div",{className:d.mapFooterItem,children:[h("div",{className:d.mapFooterItemSquare,style:{backgroundColor:"#00FFFF"}}),h("div",{className:d.mapFooterItemLabel,children:"Selected Offset Wells"})]}),E.map((function(r){return v("div",{className:d.mapFooterItem,children:[h("div",{className:d.mapFooterItemSquare,style:{backgroundColor:I[r]}}),h("div",{className:d.mapFooterItemLabel,children:r})]},r)}))]})]})}N.propTypes={subjectWell:l.shape({id:l.number,formation:l.string}),wells:l.arrayOf(l.shape({})).isRequired,offsetWells:l.arrayOf(l.shape({})),radius:l.number.isRequired,subjectWellMarkerSize:l.number,wellMarkerSize:l.number,popUpFormatter:l.func,coordsDataPath:l.string},N.defaultProps={subjectWell:null,subjectWellMarkerSize:10,wellMarkerSize:5,popUpFormatter:null,coordsDataPath:"settings.top_hole.coordinates",offsetWells:null};var P=t(N);export{P as default};
2
2
  //# sourceMappingURL=Map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sources":["../../../../../src/components/OffsetWellPickerV2/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport L from 'mapbox.js';\nimport { get, sortBy } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport { usePrevious } from '../../effects';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport { theme } from '~/config';\n\nconst { isValidCoordinates } = mapbox;\n\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 10;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#00FFFF';\nconst COLORS = [\n '#FF00FF',\n '#F5BD80',\n '#FF0000',\n '#0080FF',\n '#FF8000',\n '#58ACFA',\n '#FA58F4',\n '#40FF00',\n '#4B8A08',\n '#40FF00',\n '#D8F781',\n];\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n subjectWell,\n wells,\n offsetWells,\n radius,\n subjectWellMarkerSize,\n wellMarkerSize,\n popUpFormatter,\n coordsDataPath,\n}) {\n const mapContainerRef = useRef(null);\n const radiusCircleRef = useRef(null);\n const markersGroupRef = useRef(null);\n\n const prevWells = usePrevious(wells);\n\n const restWells = useMemo(() => {\n return wells.filter(well => !subjectWell || subjectWell.id !== well.id);\n }, [subjectWell, wells]);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Get well marker colors according to its target formation\n const [formations, colorDict] = useMemo(() => {\n // NOTE: Determine well marker colors\n const restFormations = [];\n let hasNullFormation = false;\n\n restWells.forEach(well => {\n if (well.formation === 'Null') {\n hasNullFormation = true;\n } else if (\n (!subjectWell || subjectWell.formation !== well.formation) &&\n !restFormations.includes(well.formation)\n ) {\n restFormations.push(well.formation);\n }\n });\n\n const sortedFormations = subjectWell\n ? [subjectWell.formation].concat(sortBy(restFormations))\n : sortBy(restFormations);\n\n if (hasNullFormation && !sortedFormations.includes('Null')) {\n sortedFormations.push('Null');\n }\n\n const colors = sortedFormations.reduce(\n (result, item, idx) => ({\n ...result,\n [item]: COLORS[idx % COLORS.length],\n }),\n {}\n );\n\n return [sortedFormations, colors];\n }, [subjectWell, restWells]);\n\n // NOTE: Initialize map\n useEffect(() => {\n mapContainerRef.current = L.mapbox\n .map(mapContainerRef.current, null, {\n attributionControl: false,\n scrollWheelZoom: false,\n zoomControl: false,\n })\n .setView(DEFAULT_COORDS, 1);\n\n L.control\n .zoom({\n position: 'bottomright',\n })\n .addTo(mapContainerRef.current);\n L.mapbox.styleLayer('mapbox://styles/mapbox/dark-v9').addTo(mapContainerRef.current);\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n // NOTE: Clean up\n if (radiusCircleRef.current) {\n mapContainerRef.current.removeLayer(radiusCircleRef.current);\n }\n\n if (!subjectWellCoords) {\n radiusCircleRef.current = null;\n return;\n }\n\n radiusCircleRef.current = L.circle(subjectWellCoords, radius * METERS_IN_MILE, {\n stroke: false,\n fill: true,\n fillOpacity: 0.2,\n fillColor: RADIUS_CIRCLE_COLOR,\n className: 'circle_500',\n });\n\n radiusCircleRef.current.addTo(mapContainerRef.current);\n }, [radius, subjectWellCoords]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n mapContainerRef.current.closePopup();\n\n // NOTE: Clean up\n if (markersGroupRef.current) {\n markersGroupRef.current.removeFrom(mapContainerRef.current);\n }\n\n const offsetWellIds = offsetWells.map(well => well.id);\n\n const markers = [];\n wells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? subjectWellMarkerSize : wellMarkerSize;\n const color = isWellSubject || isWellOffset ? OFFSET_WELL_COLOR : colorDict[well.formation];\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n const newMarker = L.circleMarker(coords, {\n radius: r,\n stroke: false,\n fill: true,\n fillOpacity: opacity,\n fillColor: color,\n className: 'circle_500',\n });\n\n newMarker.addEventListener('mouseover', () => {\n if (popUpFormatter) {\n // Container to put React generated content in.\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(popUpFormatter, {\n well,\n color: colorDict[well.formation],\n });\n // NOTE: Custom popup may have buttons\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>{popUpContent}</MuiThemeProvider>,\n popUpContainer\n );\n\n L.popup().setLatLng(coords).setContent(popUpContainer).openOn(mapContainerRef.current);\n }\n });\n\n markers.push(newMarker);\n }\n });\n\n if (markers.length) {\n markersGroupRef.current = L.featureGroup(markers);\n markersGroupRef.current.addTo(mapContainerRef.current);\n }\n\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n\n if (mapContainerRef.current && radiusCircleRef.current && wells !== prevWells) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), { padding: [5, 5] });\n }\n }, 500);\n }, [subjectWell, wells, offsetWells, colorDict]);\n\n useEffect(() => {\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n if (subjectWell) {\n if (mapContainerRef.current && radiusCircleRef.current) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), {\n padding: [5, 5],\n });\n }\n } else if (mapContainerRef.current && markersGroupRef.current) {\n mapContainerRef.current.fitBounds(markersGroupRef.current.getBounds());\n }\n }, 500);\n }, [radius, subjectWell]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n\n <div className={styles.mapFooter}>\n {offsetWells && (\n <div className={styles.mapFooterItem}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: OFFSET_WELL_COLOR }}\n />\n <div className={styles.mapFooterItemLabel}>Selected Offset Wells</div>\n </div>\n )}\n\n {formations.map(item => (\n <div className={styles.mapFooterItem} key={item}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: colorDict[item] }}\n />\n <div className={styles.mapFooterItemLabel}>{item}</div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nWellsMap.propTypes = {\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n subjectWellMarkerSize: PropTypes.number,\n wellMarkerSize: PropTypes.number,\n popUpFormatter: PropTypes.func,\n coordsDataPath: PropTypes.string,\n};\n\nWellsMap.defaultProps = {\n subjectWell: null,\n subjectWellMarkerSize: DEFAULT_SUBJECT_WELL_MARKER_SIZE,\n wellMarkerSize: DEFAULT_WELL_MARKER_SIZE,\n popUpFormatter: null,\n coordsDataPath: 'settings.top_hole.coordinates',\n offsetWells: null,\n};\n\nexport default memo(WellsMap);\n"],"names":["isValidCoordinates","mapbox","COLORS","DEFAULT_COORDS","WellsMap","_ref","subjectWell","wells","offsetWells","radius","subjectWellMarkerSize","wellMarkerSize","popUpFormatter","coordsDataPath","mapContainerRef","useRef","radiusCircleRef","markersGroupRef","prevWells","usePrevious","restWells","useMemo","filter","well","id","subjectWellCoords","get","restFormations","hasNullFormation","forEach","formation","includes","push","sortedFormations","concat","sortBy","colors","reduce","result","item","idx","length","_useMemo2","_slicedToArray","_useMemo","formations","colorDict","useEffect","current","L","map","attributionControl","scrollWheelZoom","zoomControl","setView","control","zoom","position","addTo","styleLayer","removeLayer","circle","stroke","fill","fillOpacity","fillColor","className","closePopup","removeFrom","offsetWellIds","markers","coords","isWellSubject","isWellOffset","r","color","opacity","newMarker","circleMarker","addEventListener","popUpContainer","document","createElement","popUpContent","ReactDOM","render","_jsx","MuiThemeProvider","theme","children","popup","setLatLng","setContent","openOn","featureGroup","setTimeout","bringToBack","fitBounds","getBounds","padding","_jsxs","styles","mapMain","ref","mapFooter","mapFooterItem","mapFooterItemSquare","style","backgroundColor","mapFooterItemLabel","propTypes","PropTypes","shape","number","string","arrayOf","isRequired","func","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sources":["../../../../../src/components/OffsetWellPickerV2/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport L from 'mapbox.js';\nimport { get, sortBy } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport { usePrevious } from '../../effects';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport { theme } from '~/config';\n\nconst { isValidCoordinates } = mapbox;\n\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 10;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#00FFFF';\nconst COLORS = [\n '#FF00FF',\n '#F5BD80',\n '#FF0000',\n '#0080FF',\n '#FF8000',\n '#58ACFA',\n '#FA58F4',\n '#40FF00',\n '#4B8A08',\n '#40FF00',\n '#D8F781',\n];\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n subjectWell,\n wells,\n offsetWells,\n radius,\n subjectWellMarkerSize,\n wellMarkerSize,\n popUpFormatter,\n coordsDataPath,\n}) {\n const mapContainerRef = useRef(null);\n const radiusCircleRef = useRef(null);\n const markersGroupRef = useRef(null);\n\n const prevWells = usePrevious(wells);\n\n const restWells = useMemo(() => {\n return wells.filter(well => !subjectWell || subjectWell.id !== well.id);\n }, [subjectWell, wells]);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Get well marker colors according to its target formation\n const [formations, colorDict] = useMemo(() => {\n // NOTE: Determine well marker colors\n const restFormations = [];\n let hasNullFormation = false;\n\n restWells.forEach(well => {\n if (well.formation === 'Null') {\n hasNullFormation = true;\n } else if (\n (!subjectWell || subjectWell.formation !== well.formation) &&\n !restFormations.includes(well.formation)\n ) {\n restFormations.push(well.formation);\n }\n });\n\n const sortedFormations = subjectWell\n ? [subjectWell.formation].concat(sortBy(restFormations))\n : sortBy(restFormations);\n\n if (hasNullFormation && !sortedFormations.includes('Null')) {\n sortedFormations.push('Null');\n }\n\n const colors = sortedFormations.reduce(\n (result, item, idx) => ({\n ...result,\n [item]: COLORS[idx % COLORS.length],\n }),\n {}\n );\n\n return [sortedFormations, colors];\n }, [subjectWell, restWells]);\n\n // NOTE: Initialize map\n useEffect(() => {\n mapContainerRef.current = L.mapbox\n .map(mapContainerRef.current, null, {\n attributionControl: false,\n scrollWheelZoom: false,\n zoomControl: false,\n })\n .setView(DEFAULT_COORDS, 1);\n\n L.control\n .zoom({\n position: 'bottomright',\n })\n .addTo(mapContainerRef.current);\n L.mapbox.styleLayer('mapbox://styles/mapbox/dark-v9').addTo(mapContainerRef.current);\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n // NOTE: Clean up\n if (radiusCircleRef.current) {\n mapContainerRef.current.removeLayer(radiusCircleRef.current);\n }\n\n if (!subjectWellCoords) {\n radiusCircleRef.current = null;\n return;\n }\n\n radiusCircleRef.current = L.circle(subjectWellCoords, radius * METERS_IN_MILE, {\n stroke: false,\n fill: true,\n fillOpacity: 0.2,\n fillColor: RADIUS_CIRCLE_COLOR,\n className: 'circle_500',\n });\n\n radiusCircleRef.current.addTo(mapContainerRef.current);\n }, [radius, subjectWellCoords]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapContainerRef.current) {\n return;\n }\n\n mapContainerRef.current.closePopup();\n\n // NOTE: Clean up\n if (markersGroupRef.current) {\n markersGroupRef.current.removeFrom(mapContainerRef.current);\n }\n\n const offsetWellIds = offsetWells.map(well => well.id);\n\n const markers = [];\n wells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? subjectWellMarkerSize : wellMarkerSize;\n const color = isWellSubject || isWellOffset ? OFFSET_WELL_COLOR : colorDict[well.formation];\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n const newMarker = L.circleMarker(coords, {\n radius: r,\n stroke: false,\n fill: true,\n fillOpacity: opacity,\n fillColor: color,\n className: 'circle_500',\n });\n\n newMarker.addEventListener('mouseover', () => {\n if (popUpFormatter) {\n // Container to put React generated content in.\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(popUpFormatter, {\n well,\n color: colorDict[well.formation],\n });\n // NOTE: Custom popup may have buttons\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>{popUpContent}</MuiThemeProvider>,\n popUpContainer\n );\n\n L.popup().setLatLng(coords).setContent(popUpContainer).openOn(mapContainerRef.current);\n }\n });\n\n markers.push(newMarker);\n }\n });\n\n if (markers.length) {\n markersGroupRef.current = L.featureGroup(markers);\n markersGroupRef.current.addTo(mapContainerRef.current);\n }\n\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n\n if (mapContainerRef.current && radiusCircleRef.current && wells !== prevWells) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), { padding: [5, 5] });\n }\n }, 500);\n }, [subjectWell, wells, offsetWells, colorDict]);\n\n useEffect(() => {\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n if (subjectWell) {\n if (mapContainerRef.current && radiusCircleRef.current) {\n mapContainerRef.current.fitBounds(radiusCircleRef.current.getBounds(), {\n padding: [5, 5],\n });\n }\n } else if (mapContainerRef.current && markersGroupRef.current) {\n mapContainerRef.current.fitBounds(markersGroupRef.current.getBounds());\n }\n }, 500);\n }, [radius, subjectWell]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n\n <div className={styles.mapFooter}>\n {offsetWells && (\n <div className={styles.mapFooterItem}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: OFFSET_WELL_COLOR }}\n />\n <div className={styles.mapFooterItemLabel}>Selected Offset Wells</div>\n </div>\n )}\n\n {formations.map(item => (\n <div className={styles.mapFooterItem} key={item}>\n <div\n className={styles.mapFooterItemSquare}\n style={{ backgroundColor: colorDict[item] }}\n />\n <div className={styles.mapFooterItemLabel}>{item}</div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nWellsMap.propTypes = {\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n subjectWellMarkerSize: PropTypes.number,\n wellMarkerSize: PropTypes.number,\n popUpFormatter: PropTypes.func,\n coordsDataPath: PropTypes.string,\n};\n\nWellsMap.defaultProps = {\n subjectWell: null,\n subjectWellMarkerSize: DEFAULT_SUBJECT_WELL_MARKER_SIZE,\n wellMarkerSize: DEFAULT_WELL_MARKER_SIZE,\n popUpFormatter: null,\n coordsDataPath: 'settings.top_hole.coordinates',\n offsetWells: null,\n};\n\nexport default memo(WellsMap);\n"],"names":["isValidCoordinates","mapbox","COLORS","DEFAULT_COORDS","WellsMap","_ref","subjectWell","wells","offsetWells","radius","subjectWellMarkerSize","wellMarkerSize","popUpFormatter","coordsDataPath","mapContainerRef","useRef","radiusCircleRef","markersGroupRef","prevWells","usePrevious","restWells","useMemo","filter","well","id","subjectWellCoords","get","restFormations","hasNullFormation","forEach","formation","includes","push","sortedFormations","concat","sortBy","colors","reduce","result","item","idx","length","_useMemo2","_slicedToArray","_useMemo","formations","colorDict","useEffect","current","L","map","attributionControl","scrollWheelZoom","zoomControl","setView","control","zoom","position","addTo","styleLayer","removeLayer","circle","stroke","fill","fillOpacity","fillColor","className","closePopup","removeFrom","offsetWellIds","markers","coords","isWellSubject","isWellOffset","r","color","opacity","newMarker","circleMarker","addEventListener","popUpContainer","document","createElement","popUpContent","ReactDOM","render","_jsx","MuiThemeProvider","theme","children","popup","setLatLng","setContent","openOn","featureGroup","setTimeout","bringToBack","fitBounds","getBounds","padding","_jsxs","styles","mapMain","ref","mapFooter","mapFooterItem","mapFooterItemSquare","style","backgroundColor","mapFooterItemLabel","propTypes","PropTypes","shape","number","string","arrayOf","isRequired","func","defaultProps","memo"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as r,useEffect as i,useRef as n}from"react";import o from"react-dom";import{isEqual as c}from"lodash";import{MuiThemeProvider as s}from"@material-ui/core/styles";import l from"../components/FiltersToggler.js";import{getStartComponent as u,getMiddleComponent as f,getEndComponents as d}from"../utils.js";import{LARGE_SIZE_LAYOUT as a,MEDIUM_SIZE_LAYOUT as p,SMALL_SIZE_LAYOUT as m}from"../constants.js";import{darkTheme as v}from"../../../config/theme/index.js";import"../../../config/highcharts/highcharts.js";import"../../../config/mapbox/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../config/extendNative.js";import{jsx as y}from"react/jsx-runtime";function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function b(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?h(Object(i),!0).forEach((function(r){e(t,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):h(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function g(e,n,o,c){var s=r(null),l=t(s,2),v=l[0],y=l[1];return i((function(){if(c&&n){var t=u(e),r=f(e),i=d(e),s=t&&r&&!i,l=t&&!r&&i,v=t&&r&&i;if(t&&!r&&!i){var h=n[t.key];if(h<=c)return void y(a);if(h<=c/2)return void y(p)}else if(s||l){var b=n[t.key],g=s?n[r.key]:n[i.key];if(b+g<=c)return void y(a);if(o+g<=c)return void y(p)}else if(v){var j=n[t.key],O=n[r.key],k=n[i.key];if(j+O+k<=c)return void y(a);if(o+O+k<=c)return void y(p);if(o+k<=c)return void y(m)}y(m)}}),[n,c]),v}function j(o){var s=n(),l=r(null),u=t(l,2),f=u[0],d=u[1],a=n({}),p=o.filter((function(e){return!!e})),m=y("div",{ref:s,style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:p.map((function(e,t){return y("div",{"data-key":null==e?void 0:e.key,style:{position:"absolute"},children:e},t)}))});return i((function(){var t;if(!c(p,a.current)){var r=Array.from(null===(t=s.current)||void 0===t?void 0:t.childNodes).reduce((function(t,r){var i,n=null==r||null===(i=r.getAttribute)||void 0===i?void 0:i.call(r,"data-key"),o=null==r?void 0:r.getBoundingClientRect().width;return b(b({},t),{},e({},n,o))}),{});Object.values(r).length===p.length&&(c(f,r)||d(r)),a.current=p}})),{componentsWidth:f,hiddenElements:m}}function O(){var e=r(null),n=t(e,2),c=n[0],u=n[1];return i((function(){var e=document.createElement("div");e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e),o.render(y(s,{theme:v,children:y(l,{})}),e,(function(){var t=e.getBoundingClientRect();e.remove(),u(t.width)}))}),[]),c}export{O as useAppFilterTogglerWidth,j as useComonentsWidth,g as useFilterLayout};
1
+ import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/slicedToArray";import{useState as t,useEffect as i,useRef as n}from"react";import o from"react-dom";import{isEqual as l}from"lodash";import{MuiThemeProvider as c}from"@material-ui/core/styles";import s from"../components/FiltersToggler.js";import{getStartComponent as u,getMiddleComponent as f,getEndComponents as p}from"../utils.js";import{LARGE_SIZE_LAYOUT as m,MEDIUM_SIZE_LAYOUT as a,SMALL_SIZE_LAYOUT as d}from"../constants.js";import{darkTheme as v}from"../../../config/theme/index.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/typeof";import"@babel/runtime/regenerator";import"dompurify";import"../../../config/mapbox/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../config/extendNative.js";import{jsx as b}from"react/jsx-runtime";function y(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function h(r){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?y(Object(i),!0).forEach((function(t){e(r,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):y(Object(i)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))}))}return r}function j(e,n,o,l){var c=t(null),s=r(c,2),v=s[0],b=s[1];return i((function(){if(l&&n){var r=u(e),t=f(e),i=p(e),c=r&&t&&!i,s=r&&!t&&i,v=r&&t&&i;if(r&&!t&&!i){var y=n[r.key];if(y<=l)return void b(m);if(y<=l/2)return void b(a)}else if(c||s){var h=n[r.key],j=c?n[t.key]:n[i.key];if(h+j<=l)return void b(m);if(o+j<=l)return void b(a)}else if(v){var g=n[r.key],O=n[t.key],k=n[i.key];if(g+O+k<=l)return void b(m);if(o+O+k<=l)return void b(a);if(o+k<=l)return void b(d)}b(d)}}),[n,l]),v}function g(o){var c=n(),s=t(null),u=r(s,2),f=u[0],p=u[1],m=n({}),a=o.filter((function(e){return!!e})),d=b("div",{ref:c,style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:a.map((function(e,r){return b("div",{"data-key":null==e?void 0:e.key,style:{position:"absolute"},children:e},r)}))});return i((function(){var r;if(!l(a,m.current)){var t=Array.from(null===(r=c.current)||void 0===r?void 0:r.childNodes).reduce((function(r,t){var i,n=null==t||null===(i=t.getAttribute)||void 0===i?void 0:i.call(t,"data-key"),o=null==t?void 0:t.getBoundingClientRect().width;return h(h({},r),{},e({},n,o))}),{});Object.values(t).length===a.length&&(l(f,t)||p(t)),m.current=a}})),{componentsWidth:f,hiddenElements:d}}function O(){var e=t(null),n=r(e,2),l=n[0],u=n[1];return i((function(){var e=document.createElement("div");e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e),o.render(b(c,{theme:v,children:b(s,{})}),e,(function(){var r=e.getBoundingClientRect();e.remove(),u(r.width)}))}),[]),l}export{O as useAppFilterTogglerWidth,g as useComonentsWidth,j as useFilterLayout};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/PinnableFilters/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { isEqual } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport FiltersToggler from '../components/FiltersToggler';\nimport { getEndComponents, getMiddleComponent, getStartComponent } from '../utils';\nimport { LARGE_SIZE_LAYOUT, MEDIUM_SIZE_LAYOUT, SMALL_SIZE_LAYOUT } from '../constants';\n\nimport { theme } from '~/config';\n\n// NOTE: Determine layout according to the width of elements\nexport function useFilterLayout(components, componentsWidth, appFilterTogglerWidth, appWidth) {\n const [layout, setLayout] = useState(null);\n\n useEffect(() => {\n if (!appWidth || !componentsWidth) {\n return;\n }\n\n const filtersComponent = getStartComponent(components);\n const goalComponent = getMiddleComponent(components);\n const switchComponent = getEndComponents(components);\n\n const hasFiltersOnly = filtersComponent && !goalComponent && !switchComponent;\n const hasFiltersAndGoals = filtersComponent && goalComponent && !switchComponent;\n const hasFiltersAndSwitch = filtersComponent && !goalComponent && switchComponent;\n const hasAll = filtersComponent && goalComponent && switchComponent;\n\n if (hasFiltersOnly) {\n const filtersWidth = componentsWidth[filtersComponent.key];\n\n if (filtersWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (filtersWidth <= appWidth / 2) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasFiltersAndGoals || hasFiltersAndSwitch) {\n const startWidth = componentsWidth[filtersComponent.key];\n const endWidth = hasFiltersAndGoals\n ? componentsWidth[goalComponent.key]\n : componentsWidth[switchComponent.key];\n\n if (startWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasAll) {\n const startWidth = componentsWidth[filtersComponent.key];\n const middleWidth = componentsWidth[goalComponent.key];\n const endWidth = componentsWidth[switchComponent.key];\n\n if (startWidth + middleWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + middleWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(SMALL_SIZE_LAYOUT);\n return;\n }\n }\n\n setLayout(SMALL_SIZE_LAYOUT);\n }, [componentsWidth, appWidth]);\n\n return layout;\n}\n\n// NOTE: Calculate the width of child components here\nexport function useComonentsWidth(components) {\n // const widthRef = useRef({});\n const hiddenElementsRef = useRef();\n const [widthDict, setWidthDict] = useState(null);\n const prevComponentsRef = useRef({});\n\n const validComponents = components.filter(component => !!component);\n const hiddenElements = (\n <div\n ref={hiddenElementsRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n >\n {validComponents.map((component, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <div key={index} data-key={component?.key} style={{ position: 'absolute' }}>\n {component}\n </div>\n );\n })}\n </div>\n );\n\n // NOTE: Calcualte width of each components\n useEffect(() => {\n // NOTE: Don't calcuate width again\n if (isEqual(validComponents, prevComponentsRef.current)) {\n return;\n }\n\n const nodesArray = Array.from(hiddenElementsRef.current?.childNodes);\n const sizeMap = nodesArray.reduce((acc, node) => {\n const key = node?.getAttribute?.('data-key');\n const value = node?.getBoundingClientRect().width;\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n if (Object.values(sizeMap).length === validComponents.length) {\n if (!isEqual(widthDict, sizeMap)) {\n setWidthDict(sizeMap);\n }\n }\n\n prevComponentsRef.current = validComponents;\n });\n\n return { componentsWidth: widthDict, hiddenElements };\n}\n\n// NOTE: Calculate the width of Toggler Component\nexport function useAppFilterTogglerWidth() {\n const [width, setWidth] = useState(null);\n\n useEffect(() => {\n const element = document.createElement('div');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n document.body.appendChild(element);\n\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>\n <FiltersToggler />\n </MuiThemeProvider>,\n element,\n () => {\n const dims = element.getBoundingClientRect();\n element.remove();\n setWidth(dims.width);\n }\n );\n }, []);\n\n return width;\n}\n"],"names":["useFilterLayout","components","componentsWidth","appFilterTogglerWidth","appWidth","useState","_useState2","_slicedToArray","_useState","layout","setLayout","useEffect","filtersComponent","getStartComponent","goalComponent","getMiddleComponent","switchComponent","getEndComponents","hasFiltersAndGoals","hasFiltersAndSwitch","hasAll","filtersWidth","key","LARGE_SIZE_LAYOUT","MEDIUM_SIZE_LAYOUT","startWidth","endWidth","middleWidth","SMALL_SIZE_LAYOUT","useComonentsWidth","hiddenElementsRef","useRef","_useState4","_useState3","widthDict","setWidthDict","prevComponentsRef","validComponents","filter","component","hiddenElements","_jsx","ref","style","position","width","height","overflow","children","map","index","_hiddenElementsRef$cu","isEqual","current","sizeMap","Array","from","childNodes","reduce","acc","node","_node$getAttribute","getAttribute","call","value","getBoundingClientRect","_objectSpread","_defineProperty","Object","values","length","useAppFilterTogglerWidth","_useState6","_useState5","setWidth","element","document","createElement","visibility","body","appendChild","ReactDOM","render","MuiThemeProvider","theme","FiltersToggler","dims","remove"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/PinnableFilters/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { isEqual } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport FiltersToggler from '../components/FiltersToggler';\nimport { getEndComponents, getMiddleComponent, getStartComponent } from '../utils';\nimport { LARGE_SIZE_LAYOUT, MEDIUM_SIZE_LAYOUT, SMALL_SIZE_LAYOUT } from '../constants';\n\nimport { theme } from '~/config';\n\n// NOTE: Determine layout according to the width of elements\nexport function useFilterLayout(components, componentsWidth, appFilterTogglerWidth, appWidth) {\n const [layout, setLayout] = useState(null);\n\n useEffect(() => {\n if (!appWidth || !componentsWidth) {\n return;\n }\n\n const filtersComponent = getStartComponent(components);\n const goalComponent = getMiddleComponent(components);\n const switchComponent = getEndComponents(components);\n\n const hasFiltersOnly = filtersComponent && !goalComponent && !switchComponent;\n const hasFiltersAndGoals = filtersComponent && goalComponent && !switchComponent;\n const hasFiltersAndSwitch = filtersComponent && !goalComponent && switchComponent;\n const hasAll = filtersComponent && goalComponent && switchComponent;\n\n if (hasFiltersOnly) {\n const filtersWidth = componentsWidth[filtersComponent.key];\n\n if (filtersWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (filtersWidth <= appWidth / 2) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasFiltersAndGoals || hasFiltersAndSwitch) {\n const startWidth = componentsWidth[filtersComponent.key];\n const endWidth = hasFiltersAndGoals\n ? componentsWidth[goalComponent.key]\n : componentsWidth[switchComponent.key];\n\n if (startWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasAll) {\n const startWidth = componentsWidth[filtersComponent.key];\n const middleWidth = componentsWidth[goalComponent.key];\n const endWidth = componentsWidth[switchComponent.key];\n\n if (startWidth + middleWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + middleWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(SMALL_SIZE_LAYOUT);\n return;\n }\n }\n\n setLayout(SMALL_SIZE_LAYOUT);\n }, [componentsWidth, appWidth]);\n\n return layout;\n}\n\n// NOTE: Calculate the width of child components here\nexport function useComonentsWidth(components) {\n // const widthRef = useRef({});\n const hiddenElementsRef = useRef();\n const [widthDict, setWidthDict] = useState(null);\n const prevComponentsRef = useRef({});\n\n const validComponents = components.filter(component => !!component);\n const hiddenElements = (\n <div\n ref={hiddenElementsRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n >\n {validComponents.map((component, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <div key={index} data-key={component?.key} style={{ position: 'absolute' }}>\n {component}\n </div>\n );\n })}\n </div>\n );\n\n // NOTE: Calcualte width of each components\n useEffect(() => {\n // NOTE: Don't calcuate width again\n if (isEqual(validComponents, prevComponentsRef.current)) {\n return;\n }\n\n const nodesArray = Array.from(hiddenElementsRef.current?.childNodes);\n const sizeMap = nodesArray.reduce((acc, node) => {\n const key = node?.getAttribute?.('data-key');\n const value = node?.getBoundingClientRect().width;\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n if (Object.values(sizeMap).length === validComponents.length) {\n if (!isEqual(widthDict, sizeMap)) {\n setWidthDict(sizeMap);\n }\n }\n\n prevComponentsRef.current = validComponents;\n });\n\n return { componentsWidth: widthDict, hiddenElements };\n}\n\n// NOTE: Calculate the width of Toggler Component\nexport function useAppFilterTogglerWidth() {\n const [width, setWidth] = useState(null);\n\n useEffect(() => {\n const element = document.createElement('div');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n document.body.appendChild(element);\n\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>\n <FiltersToggler />\n </MuiThemeProvider>,\n element,\n () => {\n const dims = element.getBoundingClientRect();\n element.remove();\n setWidth(dims.width);\n }\n );\n }, []);\n\n return width;\n}\n"],"names":["useFilterLayout","components","componentsWidth","appFilterTogglerWidth","appWidth","useState","_useState2","_slicedToArray","_useState","layout","setLayout","useEffect","filtersComponent","getStartComponent","goalComponent","getMiddleComponent","switchComponent","getEndComponents","hasFiltersAndGoals","hasFiltersAndSwitch","hasAll","filtersWidth","key","LARGE_SIZE_LAYOUT","MEDIUM_SIZE_LAYOUT","startWidth","endWidth","middleWidth","SMALL_SIZE_LAYOUT","useComonentsWidth","hiddenElementsRef","useRef","_useState4","_useState3","widthDict","setWidthDict","prevComponentsRef","validComponents","filter","component","hiddenElements","_jsx","ref","style","position","width","height","overflow","children","map","index","_hiddenElementsRef$cu","isEqual","current","sizeMap","Array","from","childNodes","reduce","acc","node","_node$getAttribute","getAttribute","call","value","getBoundingClientRect","_objectSpread","_defineProperty","Object","values","length","useAppFilterTogglerWidth","_useState6","_useState5","setWidth","element","document","createElement","visibility","body","appendChild","ReactDOM","render","MuiThemeProvider","theme","FiltersToggler","dims","remove"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export const HIGHCHARTS_V10_VERSION: "10.3.3";
2
+ export const HIGHCHARTS_V8_VERSION: "8.1.2";
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/config/highcharts/constants.js"],"names":[],"mappings":"AACA,8CAA+C;AAC/C,4CAA6C"}
@@ -0,0 +1,2 @@
1
+ var r="10.3.3",a="8.1.2";export{r as HIGHCHARTS_V10_VERSION,a as HIGHCHARTS_V8_VERSION};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/config/highcharts/constants.js"],"sourcesContent":["// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\nexport const HIGHCHARTS_V10_VERSION = '10.3.3';\nexport const HIGHCHARTS_V8_VERSION = '8.1.2';\n"],"names":["HIGHCHARTS_V10_VERSION","HIGHCHARTS_V8_VERSION"],"mappings":"AACO,IAAMA,EAAyB,SACzBC,EAAwB"}
@@ -0,0 +1,13 @@
1
+ export function getHighchartsV10(): Promise<{
2
+ Highcharts: any;
3
+ highchartsMore: any;
4
+ addSolidGauge: any;
5
+ addHeatmap: any;
6
+ addBoost: any;
7
+ addExporting: any;
8
+ addXrange: any;
9
+ addDumbbell: any;
10
+ addPatternFill: any;
11
+ HighchartsMulticolorSeries: any;
12
+ }>;
13
+ //# sourceMappingURL=getHighchartsV10.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHighchartsV10.d.ts","sourceRoot":"","sources":["../../../src/config/highcharts/getHighchartsV10.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAqCC"}
@@ -0,0 +1,2 @@
1
+ import r from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/asyncToGenerator";import e from"@babel/runtime/regenerator";var a=function(r){return r.default||r};function i(){return o.apply(this,arguments)}function o(){return(o=t(e.mark((function t(){var i,o,h,s,m,n,l,u,p,c,d,g;return e.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([import("highcharts"),import("highcharts/highcharts-more"),import("highcharts/modules/solid-gauge"),import("highcharts/modules/heatmap"),import("highcharts/modules/boost"),import("highcharts/modules/exporting"),import("highcharts/modules/xrange"),import("highcharts/modules/dumbbell"),import("highcharts/modules/pattern-fill"),import("highcharts-multicolor-series")]);case 2:return i=t.sent,o=r(i,10),h=o[0],s=o[1],m=o[2],n=o[3],l=o[4],u=o[5],p=o[6],c=o[7],d=o[8],g=o[9],t.abrupt("return",{Highcharts:a(h),highchartsMore:a(s),addSolidGauge:a(m),addHeatmap:a(n),addBoost:a(l),addExporting:a(u),addXrange:a(p),addDumbbell:a(c),addPatternFill:a(d),HighchartsMulticolorSeries:a(g)});case 15:case"end":return t.stop()}}),t)})))).apply(this,arguments)}export{i as getHighchartsV10};
2
+ //# sourceMappingURL=getHighchartsV10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHighchartsV10.js","sources":["../../../src/config/highcharts/getHighchartsV10.js"],"sourcesContent":["// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\n\nconst unwrapModule = module => module.default || module;\n\nexport async function getHighchartsV10() {\n const [\n Highcharts,\n highchartsMore,\n addSolidGauge,\n addHeatmap,\n addBoost,\n addExporting,\n addXrange,\n addDumbbell,\n addPatternFill,\n HighchartsMulticolorSeries,\n ] = await Promise.all([\n import('highcharts'),\n import('highcharts/highcharts-more'),\n import('highcharts/modules/solid-gauge'),\n import('highcharts/modules/heatmap'),\n import('highcharts/modules/boost'),\n import('highcharts/modules/exporting'),\n import('highcharts/modules/xrange'),\n import('highcharts/modules/dumbbell'),\n import('highcharts/modules/pattern-fill'),\n import('highcharts-multicolor-series'),\n ]);\n\n return {\n Highcharts: unwrapModule(Highcharts),\n highchartsMore: unwrapModule(highchartsMore),\n addSolidGauge: unwrapModule(addSolidGauge),\n addHeatmap: unwrapModule(addHeatmap),\n addBoost: unwrapModule(addBoost),\n addExporting: unwrapModule(addExporting),\n addXrange: unwrapModule(addXrange),\n addDumbbell: unwrapModule(addDumbbell),\n addPatternFill: unwrapModule(addPatternFill),\n HighchartsMulticolorSeries: unwrapModule(HighchartsMulticolorSeries),\n };\n}\n"],"names":["unwrapModule","module","default","getHighchartsV10","_getHighchartsV","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$Promise$all","_yield$Promise$all2","Highcharts","highchartsMore","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","HighchartsMulticolorSeries","wrap","_context","prev","next","Promise","all","import","sent","_slicedToArray","abrupt","stop"],"mappings":"qJAEA,IAAMA,EAAe,SAAAC,GAAM,OAAIA,EAAOC,SAAWD,CAAM,EAEvD,SAAsBE,IAAgB,OAAAC,EAAAC,MAAAC,KAAAC,UAAA,CAqCrC,SAAAH,IAAA,OAAAA,EArCMI,EAAAC,EAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAd,EAAAe,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EAYKC,QAAQC,IAAI,CACpBC,OAAO,cACPA,OAAO,8BACPA,OAAO,kCACPA,OAAO,8BACPA,OAAO,4BACPA,OAAO,gCACPA,OAAO,6BACPA,OAAO,+BACPA,OAAO,mCACPA,OAAO,kCACP,KAAA,EAZ0B,OAY1BlB,EAAAa,EAAAM,KAAAlB,EAAAmB,EAAApB,EAAA,IArBAE,EAAUD,EAAA,GACVE,EAAcF,EAAA,GACdG,EAAaH,EAAA,GACbI,EAAUJ,EAAA,GACVK,EAAQL,EAAA,GACRM,EAAYN,EAAA,GACZO,EAASP,EAAA,GACTQ,EAAWR,EAAA,GACXS,EAAcT,EAAA,GACdU,EAA0BV,EAAA,GAcrBY,EAAAQ,OAAA,SAAA,CACLnB,WAAYd,EAAac,GACzBC,eAAgBf,EAAae,GAC7BC,cAAehB,EAAagB,GAC5BC,WAAYjB,EAAaiB,GACzBC,SAAUlB,EAAakB,GACvBC,aAAcnB,EAAamB,GAC3BC,UAAWpB,EAAaoB,GACxBC,YAAarB,EAAaqB,GAC1BC,eAAgBtB,EAAasB,GAC7BC,2BAA4BvB,EAAauB,KAC1C,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAS,OAAA,GAAAvB,EACF,MAAAN,MAAAC,KAAAC,UAAA"}
@@ -0,0 +1,13 @@
1
+ export function getHighchartsV8(): Promise<{
2
+ Highcharts: any;
3
+ highchartsMore: any;
4
+ addSolidGauge: any;
5
+ addHeatmap: any;
6
+ addBoost: any;
7
+ addExporting: any;
8
+ addXrange: any;
9
+ addDumbbell: any;
10
+ addPatternFill: any;
11
+ HighchartsMulticolorSeries: any;
12
+ }>;
13
+ //# sourceMappingURL=getHighchartsV8.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHighchartsV8.d.ts","sourceRoot":"","sources":["../../../src/config/highcharts/getHighchartsV8.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAqCC"}
@@ -0,0 +1,2 @@
1
+ import r from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/asyncToGenerator";import e from"@babel/runtime/regenerator";var a=function(r){return r.default||r};function i(){return o.apply(this,arguments)}function o(){return(o=t(e.mark((function t(){var i,o,h,s,m,n,l,u,p,c,d,g;return e.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([import("highcharts-v8"),import("highcharts-v8/highcharts-more"),import("highcharts-v8/modules/solid-gauge"),import("highcharts-v8/modules/heatmap"),import("highcharts-v8/modules/boost"),import("highcharts-v8/modules/exporting"),import("highcharts-v8/modules/xrange"),import("highcharts-v8/modules/dumbbell"),import("highcharts-v8/modules/pattern-fill"),import("highcharts-multicolor-series-v8")]);case 2:return i=t.sent,o=r(i,10),h=o[0],s=o[1],m=o[2],n=o[3],l=o[4],u=o[5],p=o[6],c=o[7],d=o[8],g=o[9],t.abrupt("return",{Highcharts:a(h),highchartsMore:a(s),addSolidGauge:a(m),addHeatmap:a(n),addBoost:a(l),addExporting:a(u),addXrange:a(p),addDumbbell:a(c),addPatternFill:a(d),HighchartsMulticolorSeries:a(g)});case 15:case"end":return t.stop()}}),t)})))).apply(this,arguments)}export{i as getHighchartsV8};
2
+ //# sourceMappingURL=getHighchartsV8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHighchartsV8.js","sources":["../../../src/config/highcharts/getHighchartsV8.js"],"sourcesContent":["// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\n\nconst unwrapModule = module => module.default || module;\n\nexport async function getHighchartsV8() {\n const [\n Highcharts,\n highchartsMore,\n addSolidGauge,\n addHeatmap,\n addBoost,\n addExporting,\n addXrange,\n addDumbbell,\n addPatternFill,\n HighchartsMulticolorSeries,\n ] = await Promise.all([\n import('highcharts-v8'),\n import('highcharts-v8/highcharts-more'),\n import('highcharts-v8/modules/solid-gauge'),\n import('highcharts-v8/modules/heatmap'),\n import('highcharts-v8/modules/boost'),\n import('highcharts-v8/modules/exporting'),\n import('highcharts-v8/modules/xrange'),\n import('highcharts-v8/modules/dumbbell'),\n import('highcharts-v8/modules/pattern-fill'),\n import('highcharts-multicolor-series-v8'),\n ]);\n\n return {\n Highcharts: unwrapModule(Highcharts),\n highchartsMore: unwrapModule(highchartsMore),\n addSolidGauge: unwrapModule(addSolidGauge),\n addHeatmap: unwrapModule(addHeatmap),\n addBoost: unwrapModule(addBoost),\n addExporting: unwrapModule(addExporting),\n addXrange: unwrapModule(addXrange),\n addDumbbell: unwrapModule(addDumbbell),\n addPatternFill: unwrapModule(addPatternFill),\n HighchartsMulticolorSeries: unwrapModule(HighchartsMulticolorSeries),\n };\n}\n"],"names":["unwrapModule","module","default","getHighchartsV8","_getHighchartsV","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$Promise$all","_yield$Promise$all2","Highcharts","highchartsMore","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","HighchartsMulticolorSeries","wrap","_context","prev","next","Promise","all","import","sent","_slicedToArray","abrupt","stop"],"mappings":"qJAEA,IAAMA,EAAe,SAAAC,GAAM,OAAIA,EAAOC,SAAWD,CAAM,EAEvD,SAAsBE,IAAe,OAAAC,EAAAC,MAAAC,KAAAC,UAAA,CAqCpC,SAAAH,IAAA,OAAAA,EArCMI,EAAAC,EAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAd,EAAAe,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EAYKC,QAAQC,IAAI,CACpBC,OAAO,iBACPA,OAAO,iCACPA,OAAO,qCACPA,OAAO,iCACPA,OAAO,+BACPA,OAAO,mCACPA,OAAO,gCACPA,OAAO,kCACPA,OAAO,sCACPA,OAAO,qCACP,KAAA,EAZ0B,OAY1BlB,EAAAa,EAAAM,KAAAlB,EAAAmB,EAAApB,EAAA,IArBAE,EAAUD,EAAA,GACVE,EAAcF,EAAA,GACdG,EAAaH,EAAA,GACbI,EAAUJ,EAAA,GACVK,EAAQL,EAAA,GACRM,EAAYN,EAAA,GACZO,EAASP,EAAA,GACTQ,EAAWR,EAAA,GACXS,EAAcT,EAAA,GACdU,EAA0BV,EAAA,GAcrBY,EAAAQ,OAAA,SAAA,CACLnB,WAAYd,EAAac,GACzBC,eAAgBf,EAAae,GAC7BC,cAAehB,EAAagB,GAC5BC,WAAYjB,EAAaiB,GACzBC,SAAUlB,EAAakB,GACvBC,aAAcnB,EAAamB,GAC3BC,UAAWpB,EAAaoB,GACxBC,YAAarB,EAAaqB,GAC1BC,eAAgBtB,EAAasB,GAC7BC,2BAA4BvB,EAAauB,KAC1C,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAS,OAAA,GAAAvB,EACF,MAAAN,MAAAC,KAAAC,UAAA"}
@@ -1,2 +1,4 @@
1
- export function initHighcharts(): void;
1
+ export function initHighcharts({ version }?: {
2
+ version?: string;
3
+ }): Promise<void>;
2
4
  //# sourceMappingURL=highcharts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"highcharts.d.ts","sourceRoot":"","sources":["../../../src/config/highcharts/highcharts.js"],"names":[],"mappings":"AAqDA,uCAyCC"}
1
+ {"version":3,"file":"highcharts.d.ts","sourceRoot":"","sources":["../../../src/config/highcharts/highcharts.js"],"names":[],"mappings":"AAiCA;;kBAmFC"}
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/typeof";import o from"highcharts";import i from"highcharts/highcharts-more";import e from"highcharts-multicolor-series";import h from"highcharts/modules/solid-gauge";import s from"highcharts/modules/heatmap";import m from"highcharts/modules/boost";import a from"highcharts/modules/exporting";import n from"highcharts/modules/xrange";import c from"highcharts/modules/dumbbell";import p from"highcharts/modules/pattern-fill";import f from"./highcharts-contour.js";import l from"dompurify";o.AST&&(o.AST.bypassHTMLFiltering=!0);var g=function o(i){return"string"==typeof i?l.sanitize(i):("object"===t(i)&&null!==i&&Object.entries(i).forEach((function(e){var h=r(e,2),s=h[0],m=h[1];"string"==typeof m?i[s]=l.sanitize(i[s]):Array.isArray(m)?m.forEach((function(r,t){i[s][t]=o(r)})):"object"===t(m)&&(i[s]=o(m))})),i)};function u(){window.Highcharts=o,e(o),i(o),h(o),s(o),m(o),a(o),n(o),c(o),p(o),f(o);var r=o.chart;o.chart=function(t){for(var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length,e=new Array(i>2?i-2:0),h=2;h<i;h++)e[h-2]=arguments[h];return r.apply(void 0,[t,g(o)].concat(e))},o.setOptions({plotOptions:{series:{states:{inactive:{enabled:!1}}}}})}export{u as initHighcharts};
1
+ import r from"@babel/runtime/helpers/asyncToGenerator";import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/typeof";import n from"@babel/runtime/regenerator";import{HIGHCHARTS_V8_VERSION as a,HIGHCHARTS_V10_VERSION as o}from"./constants.js";import i from"./highcharts-contour.js";import{getHighchartsV8 as s}from"./getHighchartsV8.js";import{getHighchartsV10 as c}from"./getHighchartsV10.js";import u from"dompurify";var h=function r(n){return"string"==typeof n?u.sanitize(n):("object"===t(n)&&null!==n&&Object.entries(n).forEach((function(a){var o=e(a,2),i=o[0],s=o[1];"string"==typeof s?n[i]=u.sanitize(n[i]):Array.isArray(s)?s.forEach((function(e,t){n[i][t]=r(e)})):"object"===t(s)&&(n[i]=r(s))})),n)};function p(){return l.apply(this,arguments)}function l(){return l=r(n.mark((function r(){var e,t,u,p,l,d,f,m,g,b,x,v,y,j,w,H,A=arguments;return n.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(e=A.length>0&&void 0!==A[0]?A[0]:{},t=e.version,p=(u=void 0===t?o:t)===a?s:c,[a,o].includes(u)){r.next=4;break}throw new Error("Invalid highcharts version: ".concat(u));case 4:return r.next=6,p();case 6:return l=r.sent,d=l.Highcharts,f=l.highchartsMore,m=l.HighchartsMulticolorSeries,g=l.addSolidGauge,b=l.addHeatmap,x=l.addBoost,v=l.addExporting,y=l.addXrange,j=l.addDumbbell,w=l.addPatternFill,r.next=19,p();case 19:return r.next=21,p();case 21:return r.next=23,p();case 23:return r.next=25,p();case 25:return r.next=27,p();case 27:return r.next=29,p();case 29:return r.next=31,p();case 31:return r.next=33,p();case 33:return r.next=35,p();case 35:return r.next=37,p();case 37:return r.next=39,p();case 39:window.Highcharts=d,d.AST&&(d.AST.bypassHTMLFiltering=!0),m(d),f(d),g(d),b(d),x(d),v(d),y(d),j(d),w(d),i(d),H=d.chart,d.chart=function(r){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length,n=new Array(t>2?t-2:0),a=2;a<t;a++)n[a-2]=arguments[a];return H.apply(void 0,[r,h(e)].concat(n))},d.setOptions({plotOptions:{series:{states:{inactive:{enabled:!1}}}}});case 54:case"end":return r.stop()}}),r)}))),l.apply(this,arguments)}export{p as initHighcharts};
2
2
  //# sourceMappingURL=highcharts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"highcharts.js","sources":["../../../src/config/highcharts/highcharts.js"],"sourcesContent":["/* eslint-disable */\n// TODO: all the plugins should be checked, legacy code\n/**\n * NOTE: Highchart has a bug for pie chart in v8.1.2\n * issue link: https://github.com/highcharts/highcharts/issues/13710\n * workaround:\n * import Highcharts from 'highcharts';\n * window.Highcharts = Highcharts;\n */\n\nimport Highcharts from 'highcharts';\n\n// NOTE: Temporary disable HTML filtering for duration of migration to v10, as this is the main breaking change in v10, should be removed after migration\nif (Highcharts.AST) {\n Highcharts.AST.bypassHTMLFiltering = true;\n}\n\nimport highchartsMore from 'highcharts/highcharts-more';\n\nimport HighchartsMulticolorSeries from 'highcharts-multicolor-series';\nimport addSolidGauge from 'highcharts/modules/solid-gauge';\nimport addHeatmap from 'highcharts/modules/heatmap';\nimport addBoost from 'highcharts/modules/boost';\nimport addExporting from 'highcharts/modules/exporting';\nimport addXrange from 'highcharts/modules/xrange';\nimport addDumbbell from 'highcharts/modules/dumbbell';\nimport addPatternFill from 'highcharts/modules/pattern-fill';\n\nimport addContour from './highcharts-contour';\n\nimport DOMPurify from 'dompurify';\n\nconst stripHTMLRecurse = o => {\n if (typeof o === 'string') {\n return DOMPurify.sanitize(o);\n }\n\n if (typeof o === 'object' && o !== null)\n Object.entries(o).forEach(([key, value]) => {\n if (typeof value === 'string') {\n o[key] = DOMPurify.sanitize(o[key]);\n } else if (Array.isArray(value)) {\n value.forEach((item, i) => {\n o[key][i] = stripHTMLRecurse(item);\n });\n } else if (typeof value === 'object') {\n o[key] = stripHTMLRecurse(value);\n }\n });\n\n return o;\n};\n\nexport function initHighcharts() {\n window.Highcharts = Highcharts;\n\n HighchartsMulticolorSeries(Highcharts);\n // NOTE: Highcharts patching. It should be done in one place before any chart in rendered\n // in order to avoid conflicts\n highchartsMore(Highcharts);\n addSolidGauge(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/angular-gauges\n addHeatmap(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/heatmap\n addBoost(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addExporting(Highcharts); // https://www.highcharts.com/docs/export-module/export-module-overview\n addXrange(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addDumbbell(Highcharts);\n addPatternFill(Highcharts);\n addContour(Highcharts);\n\n // fix security issue for Highcharts 8\n // https://github.com/highcharts/highcharts/security/advisories/GHSA-8j65-4pcq-xq95\n const originalChartFn = Highcharts.chart;\n Highcharts.chart = function (container, options = {}, ...restParams) {\n return originalChartFn(container, stripHTMLRecurse(options), ...restParams);\n };\n\n /**\n * Adjust default highcharts effects globally for better use in our apps\n *\n * 1. Stop animation for inactive series\n * ref: https://api.highcharts.com/highcharts/plotOptions.series.states.inactive.enabled\n *\n */\n Highcharts.setOptions({\n plotOptions: {\n series: {\n states: {\n inactive: {\n enabled: false,\n },\n },\n },\n },\n });\n}\n"],"names":["Highcharts","AST","bypassHTMLFiltering","stripHTMLRecurse","o","DOMPurify","sanitize","_typeof","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","Array","isArray","item","i","initHighcharts","window","HighchartsMulticolorSeries","highchartsMore","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","addContour","originalChartFn","chart","container","options","arguments","length","undefined","_len","restParams","_key","setOptions","plotOptions","series","states","inactive","enabled"],"mappings":"gkBAaIA,EAAWC,MACbD,EAAWC,IAAIC,qBAAsB,GAkBvC,IAAMC,EAAmB,SAAnBA,EAAmBC,GACvB,MAAiB,iBAANA,EACFC,EAAUC,SAASF,IAGX,WAAbG,EAAOH,IAAwB,OAANA,GAC3BI,OAAOC,QAAQL,GAAGM,SAAQ,SAAkBC,GAAA,IAAAC,EAAAC,EAAAF,EAAA,GAAhBG,EAAGF,EAAA,GAAEG,EAAKH,EAAA,GACf,iBAAVG,EACTX,EAAEU,GAAOT,EAAUC,SAASF,EAAEU,IACrBE,MAAMC,QAAQF,GACvBA,EAAML,SAAQ,SAACQ,EAAMC,GACnBf,EAAEU,GAAKK,GAAKhB,EAAiBe,EAC/B,IAC0B,WAAjBX,EAAOQ,KAChBX,EAAEU,GAAOX,EAAiBY,GAE9B,IAEKX,EACT,EAEO,SAASgB,IACdC,OAAOrB,WAAaA,EAEpBsB,EAA2BtB,GAG3BuB,EAAevB,GACfwB,EAAcxB,GACdyB,EAAWzB,GACX0B,EAAS1B,GACT2B,EAAa3B,GACb4B,EAAU5B,GACV6B,EAAY7B,GACZ8B,EAAe9B,GACf+B,EAAW/B,GAIX,IAAMgC,EAAkBhC,EAAWiC,MACnCjC,EAAWiC,MAAQ,SAAUC,GAAuB,IAAiB,IAA7BC,EAAUC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAEG,EAAAH,UAAAC,OAAKG,EAAU,IAAAxB,MAAAuB,EAAA,EAAAA,EAAA,EAAA,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAVD,EAAUC,EAAA,GAAAL,UAAAK,GACjE,OAAOT,EAAgBE,WAAAA,EAAAA,CAAAA,EAAW/B,EAAiBgC,IAAaK,OAAAA,KAUlExC,EAAW0C,WAAW,CACpBC,YAAa,CACXC,OAAQ,CACNC,OAAQ,CACNC,SAAU,CACRC,SAAS,OAMrB"}
1
+ {"version":3,"file":"highcharts.js","sources":["../../../src/config/highcharts/highcharts.js"],"sourcesContent":["/* eslint-disable */\n// TODO: all the plugins should be checked, legacy code\n\n// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\nimport { HIGHCHARTS_V10_VERSION, HIGHCHARTS_V8_VERSION } from './constants';\n\nimport addContour from './highcharts-contour';\nimport { getHighchartsV8 } from './getHighchartsV8';\nimport { getHighchartsV10 } from './getHighchartsV10';\n\nimport DOMPurify from 'dompurify';\n\nconst stripHTMLRecurse = o => {\n if (typeof o === 'string') {\n return DOMPurify.sanitize(o);\n }\n\n if (typeof o === 'object' && o !== null)\n Object.entries(o).forEach(([key, value]) => {\n if (typeof value === 'string') {\n o[key] = DOMPurify.sanitize(o[key]);\n } else if (Array.isArray(value)) {\n value.forEach((item, i) => {\n o[key][i] = stripHTMLRecurse(item);\n });\n } else if (typeof value === 'object') {\n o[key] = stripHTMLRecurse(value);\n }\n });\n\n return o;\n};\n\nexport async function initHighcharts({ version = HIGHCHARTS_V10_VERSION } = {}) {\n const highchartsGetter = version === HIGHCHARTS_V8_VERSION ? getHighchartsV8 : getHighchartsV10;\n\n if (![HIGHCHARTS_V8_VERSION, HIGHCHARTS_V10_VERSION].includes(version)) {\n throw new Error(`Invalid highcharts version: ${version}`);\n }\n\n const {\n Highcharts,\n highchartsMore,\n HighchartsMulticolorSeries,\n addSolidGauge,\n addHeatmap,\n addBoost,\n addExporting,\n addXrange,\n addDumbbell,\n addPatternFill,\n } = await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n await highchartsGetter();\n\n /**\n * NOTE: Highchart has a bug for pie chart in v8.1.2\n * issue link: https://github.com/highcharts/highcharts/issues/13710\n * workaround:\n * import Highcharts from 'highcharts';\n * window.Highcharts = Highcharts;\n */\n window.Highcharts = Highcharts;\n\n // NOTE: Temporary disable HTML filtering for duration of migration to v10, as this is the main breaking change in v10, should be removed after migration\n if (Highcharts.AST) {\n Highcharts.AST.bypassHTMLFiltering = true;\n }\n\n HighchartsMulticolorSeries(Highcharts);\n // NOTE: Highcharts patching. It should be done in one place before any chart in rendered\n // in order to avoid conflicts\n highchartsMore(Highcharts);\n addSolidGauge(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/angular-gauges\n addHeatmap(Highcharts); // https://www.highcharts.com/docs/chart-and-series-types/heatmap\n addBoost(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addExporting(Highcharts); // https://www.highcharts.com/docs/export-module/export-module-overview\n addXrange(Highcharts); // https://www.highcharts.com/docs/advanced-chart-features/boost-module\n addDumbbell(Highcharts);\n addPatternFill(Highcharts);\n addContour(Highcharts);\n\n // fix security issue for Highcharts 8\n // https://github.com/highcharts/highcharts/security/advisories/GHSA-8j65-4pcq-xq95\n const originalChartFn = Highcharts.chart;\n Highcharts.chart = function (container, options = {}, ...restParams) {\n return originalChartFn(container, stripHTMLRecurse(options), ...restParams);\n };\n\n /**\n * Adjust default highcharts effects globally for better use in our apps\n *\n * 1. Stop animation for inactive series\n * ref: https://api.highcharts.com/highcharts/plotOptions.series.states.inactive.enabled\n *\n */\n Highcharts.setOptions({\n plotOptions: {\n series: {\n states: {\n inactive: {\n enabled: false,\n },\n },\n },\n },\n });\n}\n"],"names":["stripHTMLRecurse","o","DOMPurify","sanitize","_typeof","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","Array","isArray","item","i","initHighcharts","_initHighcharts","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref3","_ref3$version","version","highchartsGetter","_yield$highchartsGett","Highcharts","highchartsMore","HighchartsMulticolorSeries","addSolidGauge","addHeatmap","addBoost","addExporting","addXrange","addDumbbell","addPatternFill","originalChartFn","_args","wrap","_context","prev","next","length","undefined","HIGHCHARTS_V10_VERSION","HIGHCHARTS_V8_VERSION","getHighchartsV8","getHighchartsV10","includes","Error","sent","window","AST","bypassHTMLFiltering","addContour","chart","container","options","_len","restParams","_key","setOptions","plotOptions","series","states","inactive","enabled","stop"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { initHighcharts } from "./highcharts";
2
+ export { HIGHCHARTS_V10_VERSION, HIGHCHARTS_V8_VERSION } from "./constants";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export function initGlobalDependencies(): void;
1
+ export function initGlobalDependencies({ highchartsVersion }?: {}): void;
2
2
  //# sourceMappingURL=initGlobalDependencies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initGlobalDependencies.d.ts","sourceRoot":"","sources":["../../src/config/initGlobalDependencies.js"],"names":[],"mappings":"AAIA,+CAGC"}
1
+ {"version":3,"file":"initGlobalDependencies.d.ts","sourceRoot":"","sources":["../../src/config/initGlobalDependencies.js"],"names":[],"mappings":"AAKA,yEAGC"}
@@ -1,2 +1,2 @@
1
- import{initHighcharts as t}from"./highcharts/highcharts.js";import{initializeSocketClient as i}from"../clients/subscriptions.js";import"./extendNative.js";function r(){t(),i()}export{r as initGlobalDependencies};
1
+ import{initHighcharts as i}from"./highcharts/highcharts.js";import{initializeSocketClient as r}from"../clients/subscriptions.js";import"./extendNative.js";function t(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=t.highchartsVersion;i({version:s}),r()}export{t as initGlobalDependencies};
2
2
  //# sourceMappingURL=initGlobalDependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initGlobalDependencies.js","sources":["../../src/config/initGlobalDependencies.js"],"sourcesContent":["import { initHighcharts } from '~/config/highcharts';\nimport { initializeSocketClient } from '~/clients/subscriptions';\nimport './extendNative.js';\n\nexport function initGlobalDependencies() {\n initHighcharts();\n initializeSocketClient();\n}\n"],"names":["initGlobalDependencies","initHighcharts","initializeSocketClient"],"mappings":"2JAIO,SAASA,IACdC,IACAC,GACF"}
1
+ {"version":3,"file":"initGlobalDependencies.js","sources":["../../src/config/initGlobalDependencies.js"],"sourcesContent":["import { initHighcharts } from '~/config/highcharts';\nimport { initializeSocketClient } from '~/clients/subscriptions';\nimport './extendNative.js';\n\n// [HIGHCHARTS-10-MIGRATION-TAG]: Find and delete/clean all places like this once the migration ends\nexport function initGlobalDependencies({ highchartsVersion } = {}) {\n initHighcharts({ version: highchartsVersion });\n initializeSocketClient();\n}\n"],"names":["initGlobalDependencies","_ref","arguments","length","undefined","highchartsVersion","initHighcharts","version","initializeSocketClient"],"mappings":"2JAKO,SAASA,IAAmD,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAJ,CAAE,EAAxBG,IAAAA,kBACvCC,EAAe,CAAEC,QAASF,IAC1BG,GACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.27.0-0",
3
+ "version": "3.27.0-2",
4
4
  "description": "Shared components/utils for Corva ui projects",
5
5
  "keywords": [
6
6
  "corva-ui"
@@ -121,8 +121,10 @@
121
121
  "file-extension": "4.0.5",
122
122
  "file-saver": "1.3.8",
123
123
  "fparser": "^2.0.2",
124
- "highcharts": "8.1.2",
125
- "highcharts-multicolor-series": "2.2.7",
124
+ "highcharts-v8": "npm:highcharts@8.1.2",
125
+ "highcharts-multicolor-series-v8": "npm:highcharts-multicolor-series@2.2.7",
126
+ "highcharts": "10.3.3",
127
+ "highcharts-multicolor-series": "2.4.1",
126
128
  "highcharts-react-official": "2.2.2",
127
129
  "html2canvas": "1.0.0-alpha.12",
128
130
  "image-extensions": "1.1.0",
@@ -138,5 +138,6 @@ export declare const PERMISSIONS: {
138
138
  readonly getCanDestroyFracFleet: (fracFleetId: any) => import("../utils").StringifiedPermission;
139
139
  readonly getCanDestroyDrilloutUnit: (drilloutUnitId: any) => import("../utils").StringifiedPermission;
140
140
  readonly getCanDestroyInterventionUnit: (interventionUnitId: any) => import("../utils").StringifiedPermission;
141
+ readonly canViewHomeScreen: import("../utils").StringifiedPermission;
141
142
  };
142
143
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/permissions/constants/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAidd,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/permissions/constants/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqdd,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__assign as e}from'./../../ext-esm/tslib/tslib.es6.js';import{stringifyPermission as r}from"../utils.js";import{ABILITIES as s}from"./abilities.js";export{ABILITIES}from"./abilities.js";import a from"./settingsApps.js";import i from"./appsPermissions.js";var t=e(e({canViewArchive:r({resource_class:"archive_well_btn",ability:s.view}),companySelectorView:r({resource_class:"company_selector",ability:s.view}),userCreate:r({resource_class:"User",ability:s.create}),getUserUpdate:function(e){return r({resource_class:"User",ability:s.update,resource_id:e})},canViewCorvaAppVersion:r({resource_class:"corva_app_version",ability:s.view}),documentationEdit:r({resource_class:"Document",ability:s.edit}),documentationCreate:r({resource_class:"Document",ability:s.create}),documentationDestroy:r({resource_class:"Document",ability:s.destroy}),canUpdateWellQC:r({resource_class:"well_qc",ability:s.update}),canUpdateDataQualitySettings:r({resource_class:"corva.settings_dataQuality",ability:s.view}),getFeedItemDestroy:function(e){return r({resource_class:"Activity",ability:s.destroy,resource_id:e})},getCommentDestroy:function(e){return r({resource_class:"Comment",ability:s.destroy,resource_id:e})},getAlertUpdate:function(e){return r({resource_class:"Alert",ability:s.update,resource_id:e})},getAlertDestroy:function(e){return r({resource_class:"Alert",ability:s.destroy,resource_id:e})},streamVisibilityEdit:r({resource_class:"stream",ability:s.edit}),userImpersonate:r({resource_class:"user",ability:s.impersonate}),getDashboardUpdate:function(e){return r({resource_class:"Dashboard",ability:s.update,resource_id:e})},canCreateDashboard:r({resource_class:"Dashboard",ability:s.create}),canCopyUsers:r({resource_class:"Group",ability:s.copy_users}),canViewDocumentsInfo:r({resource_class:"documents_info",ability:s.view}),canViewCostsInfo:r({resource_class:"costs_info",ability:s.view}),canViewBillingCost:r({resource_class:"billing_visualization_cost",ability:s.view}),canReadBillingInfo:r({resource_class:"Usage",ability:s.read}),canUpdateTiers:r({resource_class:"Tier",ability:s.update}),canReadTiers:r({resource_class:"Tier",ability:s.read}),canCreateTiers:r({resource_class:"Tier",ability:s.create}),canDestroyTiers:r({resource_class:"Tier",ability:s.destroy}),canUpdatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.update}),canReadPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.read}),canCreatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.create}),canDestroyPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.destroy}),canViewPurchasesPage:r({resource_class:"company_purchase",ability:s.access}),canReadPermissions:r({resource_class:"Permission",ability:s.read}),canViewUserPermissions:r({resource_class:"mng_permissions_user_btn",ability:s.view}),canViewGroupPermissions:r({resource_class:"mng_permissions_group_btn",ability:s.view}),canShareGroup:r({resource_class:"Group",ability:s.share}),getAppStreamUpdate:function(e){return r({resource_class:"AppStream",ability:s.update,resource_id:e})},canViewAlertValidationFilters:r({resource_class:"alert_validation_filters",ability:s.view}),canViewAlertSubscriptionFilters:r({resource_class:"alert_subscription_filters",ability:s.view}),getCanDestroyAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.destroy,resource_id:e})},getCanUpdateAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.update,resource_id:e})},canCreateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.create}),canUpdateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.edit}),canViewAlertCompanyField:r({resource_class:"alert_company_field",ability:s.view}),canViewDashboardSharingCompany:r({resource_class:"dashboard_sharing_company",ability:s.view}),canViewDashboardSharingSharedWith:r({resource_class:"dashboard_sharing_shared_with",ability:s.view}),canViewConfigPage:r({resource_class:"config_page",ability:s.access}),canAccessRequestApp:r({resource_class:"request_app",ability:s.access}),canAccessUserSettingsWidgets:r({resource_class:"user_settings_widgets",ability:s.access}),canViewDevCenter:r({resource_class:"dev_center",ability:s.access}),getCanReadAppPackages:function(e){return r({resource_class:"App",ability:"read_packages",resource_id:e})},canViewAppPackageSelector:r({resource_class:"app_package_selector",ability:s.view}),canAccessProvisioning:r({resource_class:"provisioning",ability:s.access}),getCanUpdateAsset:function(e){return r({resource_class:"Asset",ability:s.update,resource_id:e})},getCanUpdateParentAssetAsset:function(e){return r({resource_class:"Asset",ability:"update_parent_asset",resource_id:e})},getCanCopyActivities:function(e){return r({resource_class:"Asset",ability:s.copy_activities,resource_id:e})},canRerunWell:function(e){return r({resource_class:"Asset",ability:s.rerun,resource_id:e})},rigCreate:r({ability:s.create,resource_class:"Rig"}),wellCreate:r({ability:s.create,resource_class:"Well"}),programCreate:r({ability:s.create,resource_class:"Program"}),padCreate:r({ability:s.create,resource_class:"Pad"}),padUpdate:r({ability:s.update,resource_class:"Pad"}),canManagePadWells:r({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:r({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:r({ability:s.create,resource_class:"FracFleet"}),drilloutUnitCreate:r({ability:s.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:r({ability:s.create,resource_class:"InterventionUnit"}),canQCDrillstring:r({ability:s.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:r({ability:s.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:r({ability:s.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:r({ability:s.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:r({ability:s.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:r({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:r({ability:s.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:r({ability:s.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:r({ability:s.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:r({ability:s.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:r({ability:s.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:r({ability:s.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:r({ability:s.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:r({ability:s.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:r({ability:s.access,resource_class:"stream_x_api"}),canViewMLFlow:r({ability:s.view,resource_class:"MLFlow"}),canCreateEdrProvider:r({ability:s.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:r({ability:s.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:r({ability:s.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:r({ability:s.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(e){return r({ability:s.update,resource_class:"Program",resource_id:e})},getCanUpdatePad:function(e){return r({ability:s.update,resource_class:"Pad",resource_id:e})},getCanUpdateRig:function(e){return r({ability:s.update,resource_class:"Rig",resource_id:e})},getCanUpdateWell:function(e){return r({ability:s.update,resource_class:"Well",resource_id:e})},getCanUpdateFracFleet:function(e){return r({ability:s.update,resource_class:"FracFleet",resource_id:e})},getCanUpdateDrilloutUnit:function(e){return r({ability:s.update,resource_class:"DrilloutUnit",resource_id:e})},getCanUpdateInterventionUnit:function(e){return r({ability:s.update,resource_class:"InterventionUnit",resource_id:e})},getCanDestroyProgram:function(e){return r({ability:s.destroy,resource_class:"Program",resource_id:e})},getCanDestroyPad:function(e){return r({ability:s.destroy,resource_class:"Pad",resource_id:e})},getCanDestroyRig:function(e){return r({ability:s.destroy,resource_class:"Rig",resource_id:e})},getCanDestroyWell:function(e){return r({ability:s.destroy,resource_class:"Well",resource_id:e})},getCanDestroyFracFleet:function(e){return r({ability:s.destroy,resource_class:"FracFleet",resource_id:e})},getCanDestroyDrilloutUnit:function(e){return r({ability:s.destroy,resource_class:"DrilloutUnit",resource_id:e})},getCanDestroyInterventionUnit:function(e){return r({ability:s.destroy,resource_class:"InterventionUnit",resource_id:e})}},a),i);export{t as PERMISSIONS};
1
+ import{__assign as e}from'./../../ext-esm/tslib/tslib.es6.js';import{stringifyPermission as r}from"../utils.js";import{ABILITIES as s}from"./abilities.js";export{ABILITIES}from"./abilities.js";import a from"./settingsApps.js";import i from"./appsPermissions.js";var t=e(e({canViewArchive:r({resource_class:"archive_well_btn",ability:s.view}),companySelectorView:r({resource_class:"company_selector",ability:s.view}),userCreate:r({resource_class:"User",ability:s.create}),getUserUpdate:function(e){return r({resource_class:"User",ability:s.update,resource_id:e})},canViewCorvaAppVersion:r({resource_class:"corva_app_version",ability:s.view}),documentationEdit:r({resource_class:"Document",ability:s.edit}),documentationCreate:r({resource_class:"Document",ability:s.create}),documentationDestroy:r({resource_class:"Document",ability:s.destroy}),canUpdateWellQC:r({resource_class:"well_qc",ability:s.update}),canUpdateDataQualitySettings:r({resource_class:"corva.settings_dataQuality",ability:s.view}),getFeedItemDestroy:function(e){return r({resource_class:"Activity",ability:s.destroy,resource_id:e})},getCommentDestroy:function(e){return r({resource_class:"Comment",ability:s.destroy,resource_id:e})},getAlertUpdate:function(e){return r({resource_class:"Alert",ability:s.update,resource_id:e})},getAlertDestroy:function(e){return r({resource_class:"Alert",ability:s.destroy,resource_id:e})},streamVisibilityEdit:r({resource_class:"stream",ability:s.edit}),userImpersonate:r({resource_class:"user",ability:s.impersonate}),getDashboardUpdate:function(e){return r({resource_class:"Dashboard",ability:s.update,resource_id:e})},canCreateDashboard:r({resource_class:"Dashboard",ability:s.create}),canCopyUsers:r({resource_class:"Group",ability:s.copy_users}),canViewDocumentsInfo:r({resource_class:"documents_info",ability:s.view}),canViewCostsInfo:r({resource_class:"costs_info",ability:s.view}),canViewBillingCost:r({resource_class:"billing_visualization_cost",ability:s.view}),canReadBillingInfo:r({resource_class:"Usage",ability:s.read}),canUpdateTiers:r({resource_class:"Tier",ability:s.update}),canReadTiers:r({resource_class:"Tier",ability:s.read}),canCreateTiers:r({resource_class:"Tier",ability:s.create}),canDestroyTiers:r({resource_class:"Tier",ability:s.destroy}),canUpdatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.update}),canReadPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.read}),canCreatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.create}),canDestroyPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.destroy}),canViewPurchasesPage:r({resource_class:"company_purchase",ability:s.access}),canReadPermissions:r({resource_class:"Permission",ability:s.read}),canViewUserPermissions:r({resource_class:"mng_permissions_user_btn",ability:s.view}),canViewGroupPermissions:r({resource_class:"mng_permissions_group_btn",ability:s.view}),canShareGroup:r({resource_class:"Group",ability:s.share}),getAppStreamUpdate:function(e){return r({resource_class:"AppStream",ability:s.update,resource_id:e})},canViewAlertValidationFilters:r({resource_class:"alert_validation_filters",ability:s.view}),canViewAlertSubscriptionFilters:r({resource_class:"alert_subscription_filters",ability:s.view}),getCanDestroyAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.destroy,resource_id:e})},getCanUpdateAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.update,resource_id:e})},canCreateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.create}),canUpdateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.edit}),canViewAlertCompanyField:r({resource_class:"alert_company_field",ability:s.view}),canViewDashboardSharingCompany:r({resource_class:"dashboard_sharing_company",ability:s.view}),canViewDashboardSharingSharedWith:r({resource_class:"dashboard_sharing_shared_with",ability:s.view}),canViewConfigPage:r({resource_class:"config_page",ability:s.access}),canAccessRequestApp:r({resource_class:"request_app",ability:s.access}),canAccessUserSettingsWidgets:r({resource_class:"user_settings_widgets",ability:s.access}),canViewDevCenter:r({resource_class:"dev_center",ability:s.access}),getCanReadAppPackages:function(e){return r({resource_class:"App",ability:"read_packages",resource_id:e})},canViewAppPackageSelector:r({resource_class:"app_package_selector",ability:s.view}),canAccessProvisioning:r({resource_class:"provisioning",ability:s.access}),getCanUpdateAsset:function(e){return r({resource_class:"Asset",ability:s.update,resource_id:e})},getCanUpdateParentAssetAsset:function(e){return r({resource_class:"Asset",ability:"update_parent_asset",resource_id:e})},getCanCopyActivities:function(e){return r({resource_class:"Asset",ability:s.copy_activities,resource_id:e})},canRerunWell:function(e){return r({resource_class:"Asset",ability:s.rerun,resource_id:e})},rigCreate:r({ability:s.create,resource_class:"Rig"}),wellCreate:r({ability:s.create,resource_class:"Well"}),programCreate:r({ability:s.create,resource_class:"Program"}),padCreate:r({ability:s.create,resource_class:"Pad"}),padUpdate:r({ability:s.update,resource_class:"Pad"}),canManagePadWells:r({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:r({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:r({ability:s.create,resource_class:"FracFleet"}),drilloutUnitCreate:r({ability:s.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:r({ability:s.create,resource_class:"InterventionUnit"}),canQCDrillstring:r({ability:s.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:r({ability:s.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:r({ability:s.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:r({ability:s.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:r({ability:s.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:r({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:r({ability:s.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:r({ability:s.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:r({ability:s.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:r({ability:s.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:r({ability:s.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:r({ability:s.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:r({ability:s.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:r({ability:s.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:r({ability:s.access,resource_class:"stream_x_api"}),canViewMLFlow:r({ability:s.view,resource_class:"MLFlow"}),canCreateEdrProvider:r({ability:s.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:r({ability:s.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:r({ability:s.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:r({ability:s.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(e){return r({ability:s.update,resource_class:"Program",resource_id:e})},getCanUpdatePad:function(e){return r({ability:s.update,resource_class:"Pad",resource_id:e})},getCanUpdateRig:function(e){return r({ability:s.update,resource_class:"Rig",resource_id:e})},getCanUpdateWell:function(e){return r({ability:s.update,resource_class:"Well",resource_id:e})},getCanUpdateFracFleet:function(e){return r({ability:s.update,resource_class:"FracFleet",resource_id:e})},getCanUpdateDrilloutUnit:function(e){return r({ability:s.update,resource_class:"DrilloutUnit",resource_id:e})},getCanUpdateInterventionUnit:function(e){return r({ability:s.update,resource_class:"InterventionUnit",resource_id:e})},getCanDestroyProgram:function(e){return r({ability:s.destroy,resource_class:"Program",resource_id:e})},getCanDestroyPad:function(e){return r({ability:s.destroy,resource_class:"Pad",resource_id:e})},getCanDestroyRig:function(e){return r({ability:s.destroy,resource_class:"Rig",resource_id:e})},getCanDestroyWell:function(e){return r({ability:s.destroy,resource_class:"Well",resource_id:e})},getCanDestroyFracFleet:function(e){return r({ability:s.destroy,resource_class:"FracFleet",resource_id:e})},getCanDestroyDrilloutUnit:function(e){return r({ability:s.destroy,resource_class:"DrilloutUnit",resource_id:e})},getCanDestroyInterventionUnit:function(e){return r({ability:s.destroy,resource_class:"InterventionUnit",resource_id:e})},canViewHomeScreen:r({ability:s.view,resource_class:"home_screen"})},a),i);export{t as PERMISSIONS};
2
2
  //# sourceMappingURL=index.js.map