back-testing-react 1.0.5 → 1.0.7

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 (59) hide show
  1. package/dist/cjs/index.js +21 -21
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/index.js +21 -21
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/index.d.ts +11 -1
  6. package/package.json +5 -1
  7. package/src/components/back-testing-cat-legend/back-testing-cat-legend.css +1 -1
  8. package/src/components/back-testing-cat-legend/back-testing-cat-legend.tsx +7 -7
  9. package/src/components/back-testing-map/back-testing-map.css +1 -1
  10. package/src/components/back-testing-map/back-testing-map.service.ts +19 -4
  11. package/src/components/back-testing-map/back-testing-map.tsx +51 -18
  12. package/src/components/back-testing-map/back-testing-map.types.ts +68 -10
  13. package/src/components/back-testing-payout-info/back-testing-payout-info.css +112 -0
  14. package/src/components/back-testing-payout-info/back-testing-payout-info.tsx +371 -0
  15. package/src/components/back-testing-payout-info/back-testing-payout-info.types.ts +9 -0
  16. package/src/components/back-testing-stepper/back-testing-stepper.css +30 -0
  17. package/src/components/back-testing-stepper/back-testing-stepper.tsx +322 -0
  18. package/src/components/back-testing-stepper/back-testing-stepper.types.ts +41 -0
  19. package/src/components/back-testing-stepper/inputs/distance-input/distance-input.css +57 -0
  20. package/src/components/back-testing-stepper/inputs/distance-input/distance-input.stories.tsx +20 -0
  21. package/src/components/back-testing-stepper/inputs/distance-input/distance-input.tsx +93 -0
  22. package/src/components/back-testing-stepper/inputs/distance-input/distance-input.types.ts +41 -0
  23. package/src/components/back-testing-stepper/inputs/file-input/file-input.css +26 -0
  24. package/src/components/back-testing-stepper/inputs/file-input/file-input.stories.tsx +20 -0
  25. package/src/components/back-testing-stepper/inputs/file-input/file-input.tsx +43 -0
  26. package/src/components/back-testing-stepper/inputs/file-input/file-input.types.ts +10 -0
  27. package/src/components/back-testing-stepper/inputs/number-input/number-input.css +48 -0
  28. package/src/components/back-testing-stepper/inputs/number-input/number-input.stories.tsx +20 -0
  29. package/src/components/back-testing-stepper/inputs/number-input/number-input.tsx +55 -0
  30. package/src/components/back-testing-stepper/inputs/number-input/number-input.types.ts +12 -0
  31. package/src/components/back-testing-stepper/inputs/select-input/select-input.css +13 -0
  32. package/src/components/back-testing-stepper/inputs/select-input/select-input.stories.tsx +27 -0
  33. package/src/components/back-testing-stepper/inputs/select-input/select-input.tsx +63 -0
  34. package/src/components/back-testing-stepper/inputs/select-input/select-input.types.ts +8 -0
  35. package/src/components/back-testing-stepper/inputs/text-input/text-input.css +35 -0
  36. package/src/components/back-testing-stepper/inputs/text-input/text-input.stories.tsx +18 -0
  37. package/src/components/back-testing-stepper/inputs/text-input/text-input.tsx +32 -0
  38. package/src/components/back-testing-stepper/inputs/text-input/text-input.types.ts +6 -0
  39. package/src/components/back-testing-stepper/inputs/worldmap-search/worldmap-search.css +16 -0
  40. package/src/components/back-testing-stepper/inputs/worldmap-search/worldmap-search.stories.tsx +20 -0
  41. package/src/components/back-testing-stepper/inputs/worldmap-search/worldmap-search.tsx +151 -0
  42. package/src/components/back-testing-stepper/inputs/worldmap-search/worldmap-search.types.ts +11 -0
  43. package/src/components/back-testing-stepper/steps/input-anemometer/input-anemometer.css +0 -0
  44. package/src/components/back-testing-stepper/steps/input-anemometer/input-anemometer.tsx +188 -0
  45. package/src/components/back-testing-stepper/steps/input-anemometer/input-anemometer.types.ts +16 -0
  46. package/src/components/back-testing-stepper/steps/input-ciac/input-ciac.scss +0 -0
  47. package/src/components/back-testing-stepper/steps/input-ciac/input-ciac.tsx +225 -0
  48. package/src/components/back-testing-stepper/steps/input-ciac/input-ciac.types.ts +17 -0
  49. package/src/components/back-testing-stepper/steps/input-location/input-location.css +0 -0
  50. package/src/components/back-testing-stepper/steps/input-location/input-location.tsx +135 -0
  51. package/src/components/back-testing-stepper/steps/input-location/input-location.types.ts +16 -0
  52. package/src/components/back-testing-stepper/steps/input-proxy/input-proxy.css +0 -0
  53. package/src/components/back-testing-stepper/steps/input-proxy/input-proxy.tsx +173 -0
  54. package/src/components/back-testing-stepper/steps/input-proxy/input-proxy.types.ts +16 -0
  55. package/src/components/back-testing-stepper/steps/step.types.ts +58 -0
  56. package/src/components/back-testing-wizard/back-testing-wizard.css +36 -0
  57. package/src/components/back-testing-wizard/back-testing-wizard.stories.tsx +735 -0
  58. package/src/components/back-testing-wizard/back-testing-wizard.tsx +103 -0
  59. package/src/components/back-testing-wizard/back-testing-wizard.types.ts +13 -0
@@ -0,0 +1,103 @@
1
+ import "./back-testing-wizard.css"
2
+
3
+ import React from "react";
4
+ import { BackTestingMap } from "../back-testing-map";
5
+ import { generateInitialPayoutRequest, PayoutRequest } from "../back-testing-map/back-testing-map.types";
6
+ import BackTestingStepper from "../back-testing-stepper/back-testing-stepper";
7
+ import { BackTestingWizardProps } from "./back-testing-wizard.types";
8
+ import { StormPayout } from "../back-testing-map/back-testing-map.service";
9
+ import { PayoutWizardStepType, RadioChoice } from "../back-testing-stepper/steps/step.types";
10
+
11
+ function BackTestingWizard(props: BackTestingWizardProps){
12
+
13
+ const [payoutRequest, setPayoutRequest] = React.useState(generateInitialPayoutRequest());
14
+ const [stormPayouts, setStormPayouts] = React.useState<StormPayout[]>([])
15
+ const [mapInstanceRef, setMapInstanceRef] = React.useState<React.MutableRefObject<mapboxgl.Map | undefined>>();
16
+
17
+ const [wizardStep, setWizardStep] = React.useState<PayoutWizardStepType>(PayoutWizardStepType.INPUT_LOCATION);
18
+ const [proxyChoice, setProxyChoice] = React.useState<RadioChoice>(RadioChoice.DEFAULT);
19
+ const [anemometerChoice, setAnemometerChoice] = React.useState<RadioChoice>(RadioChoice.DEFAULT);
20
+ const [ciacChoice, setCIACChoice] = React.useState<RadioChoice>(RadioChoice.DEFAULT);
21
+ const [selectedProxyPayoutOption, setProxyPayoutOption] = React.useState<number>(props.selectedProxyPayoutOptionIndex);
22
+ const [selectedAnemometerPayoutOption, setAnemometerPayoutOption] = React.useState<number>(props.selectedAnemometerPayoutOptionIndex);
23
+ const [selectedCIACPayoutOption, setCIACPayoutOption] = React.useState<number>(props.selectedCIACPayoutOptionIndex);
24
+ const [isCalculatePayoutsEnabled, setCalculatePayoutsEnabled] = React.useState<boolean>(false);
25
+ const [appStatus, setAppStatus] = React.useState<'loading'|'idle'>('idle');
26
+
27
+
28
+ const handlePayoutRequestChange = (e: PayoutRequest) => {
29
+ setPayoutRequest(e);
30
+ }
31
+
32
+ const handleStormPayoutsChange = (e:StormPayout[]) => {
33
+ setStormPayouts(e);
34
+ }
35
+
36
+ return (
37
+ <div className="wizard-container">
38
+ <aside className="side-panel">
39
+ {props.apiAccessToken && mapInstanceRef && mapInstanceRef.current &&
40
+ <BackTestingStepper
41
+ mapAccessToken={props.mapAccessToken}
42
+ apiKey={props.apiAccessToken}
43
+ mapInstanceRef={mapInstanceRef}
44
+ payoutRequest={payoutRequest}
45
+ onPayoutRequestChange={handlePayoutRequestChange}
46
+ stormPayouts={stormPayouts}
47
+ currentStep={wizardStep}
48
+ onCurrentStepChange={setWizardStep}
49
+ proxyChoice={proxyChoice}
50
+ onProxyChoiceChange={setProxyChoice}
51
+ anemometerChoice={anemometerChoice}
52
+ onAnemometerChoiceChange={setAnemometerChoice}
53
+ ciacChoice={ciacChoice}
54
+ onCIACChoiceChange={setCIACChoice}
55
+ proxyPayoutOptions={props.proxyPayoutOptions}
56
+ anemometerPayoutOptions={props.anemometerPayoutOptions}
57
+ ciacPayoutOptions={props.ciacPayoutOptions}
58
+ selectedProxyPayoutOptionIndex={selectedProxyPayoutOption}
59
+ selectedAnemometerPayoutOptionIndex={selectedAnemometerPayoutOption}
60
+ selectedCIACPayoutOptionIndex={selectedCIACPayoutOption}
61
+ onProxyPayoutOptionChange={setProxyPayoutOption}
62
+ onAnemometerPayoutOptionChange={setAnemometerPayoutOption}
63
+ onCIACPayoutOptionChange={setCIACPayoutOption}
64
+ onStormPayoutsChanged={setStormPayouts}
65
+ onCalculatePayoutEnabledChanged={setCalculatePayoutsEnabled}
66
+ appStatus={appStatus}
67
+ >
68
+ </BackTestingStepper>
69
+ }
70
+ </aside>
71
+ <section className="main-panel">
72
+ {props.apiAccessToken &&
73
+ <BackTestingMap
74
+ apiAccessToken={props.apiAccessToken}
75
+ mapAccessToken={props.mapAccessToken}
76
+ env={props.env}
77
+ appStatus={appStatus}
78
+ onAppStatusChange={setAppStatus}
79
+ location={payoutRequest.longitude && payoutRequest.latitude ? {longitude: payoutRequest.longitude, latitude:payoutRequest.latitude} : undefined}
80
+ ciacRadius={payoutRequest.ciac.shapes[0].radius}
81
+ anemometerCode={payoutRequest.anemometer.code}
82
+ proxyPayouts={payoutRequest.proxy.payouts}
83
+ anemometerPayouts={payoutRequest.anemometer.payouts}
84
+ stormPayouts={stormPayouts}
85
+ ciacPayouts={payoutRequest.ciac.payouts}
86
+ proxyEnabled={payoutRequest.proxy.enabled}
87
+ anemometerEnabled={payoutRequest.anemometer.enabled}
88
+ ciacEnabled={payoutRequest.ciac.enabled}
89
+ includeNoNameStorms={payoutRequest.ciac.includeNotNamedStorms}
90
+ includeZeroPayouts={payoutRequest.includeZeroPayouts}
91
+ limit={payoutRequest.limit}
92
+ isCalculatePayoutEnabled={isCalculatePayoutsEnabled}
93
+ onCalculatePayouts={(e:StormPayout[]) => {handleStormPayoutsChange(e)}}
94
+ onCalculatePayoutEnabledChanged={setCalculatePayoutsEnabled}
95
+ onLoad={(e:React.MutableRefObject<mapboxgl.Map | undefined>) => setMapInstanceRef(e)}>
96
+ </BackTestingMap>
97
+ }
98
+ </section>
99
+ </div>
100
+ )
101
+ }
102
+
103
+ export default BackTestingWizard
@@ -0,0 +1,13 @@
1
+ import { Payout } from "../back-testing-map/back-testing-map.types";
2
+
3
+ export interface BackTestingWizardProps {
4
+ apiAccessToken:string,
5
+ mapAccessToken:string,
6
+ env: 'dev'|'uat'|'prod',
7
+ selectedProxyPayoutOptionIndex:number;
8
+ proxyPayoutOptions: {key:string,value: Payout[]}[],
9
+ selectedAnemometerPayoutOptionIndex:number;
10
+ anemometerPayoutOptions: {key:string,value: Payout[]}[],
11
+ selectedCIACPayoutOptionIndex:number;
12
+ ciacPayoutOptions: {key:string,value: Payout[]}[],
13
+ }