Skip to content

Commit 5064b7b

Browse files
committed
port leftover layout objects to dynobj v4
1 parent b84581d commit 5064b7b

18 files changed

+329
-360
lines changed

src/Plotly.NET/Layout/ObjectAbstractions/3D/AspectRatio.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ type AspectRatio() =
2626

2727
fun (aspectRatio: AspectRatio) ->
2828

29-
X |> DynObj.setOptionalProperty aspectRatio "x"
30-
Y |> DynObj.setOptionalProperty aspectRatio "y"
31-
Z |> DynObj.setOptionalProperty aspectRatio "z"
32-
3329
aspectRatio
30+
|> DynObj.withOptionalProperty "x" X
31+
|> DynObj.withOptionalProperty "y" Y
32+
|> DynObj.withOptionalProperty "z" Z
33+

src/Plotly.NET/Layout/ObjectAbstractions/3D/Camera.fs

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ type CameraCenter() =
2626
) =
2727

2828
fun (cameraCenter: CameraCenter) ->
29-
30-
X |> DynObj.setOptionalProperty cameraCenter "x"
31-
Y |> DynObj.setOptionalProperty cameraCenter "y"
32-
Z |> DynObj.setOptionalProperty cameraCenter "z"
33-
29+
3430
cameraCenter
31+
|> DynObj.withOptionalProperty "x" X
32+
|> DynObj.withOptionalProperty "y" Y
33+
|> DynObj.withOptionalProperty "z" Z
3534

3635
type CameraEye() =
3736
inherit DynamicObj()
@@ -53,11 +52,10 @@ type CameraEye() =
5352

5453
fun (cameraEye: CameraEye) ->
5554

56-
X |> DynObj.setOptionalProperty cameraEye "x"
57-
Y |> DynObj.setOptionalProperty cameraEye "y"
58-
Z |> DynObj.setOptionalProperty cameraEye "z"
59-
6055
cameraEye
56+
|> DynObj.withOptionalProperty "x" X
57+
|> DynObj.withOptionalProperty "y" Y
58+
|> DynObj.withOptionalProperty "z" Z
6159

6260
type CameraUp() =
6361
inherit DynamicObj()
@@ -79,11 +77,11 @@ type CameraUp() =
7977

8078
fun (cameraUp: CameraUp) ->
8179

82-
X |> DynObj.setOptionalProperty cameraUp "x"
83-
Y |> DynObj.setOptionalProperty cameraUp "y"
84-
Z |> DynObj.setOptionalProperty cameraUp "z"
85-
8680
cameraUp
81+
|> DynObj.withOptionalProperty "x" X
82+
|> DynObj.withOptionalProperty "y" Y
83+
|> DynObj.withOptionalProperty "z" Z
84+
8785

8886
type CameraProjection() =
8987
inherit DynamicObj()
@@ -95,9 +93,9 @@ type CameraProjection() =
9593

9694
fun (cameraProjection: CameraProjection) ->
9795

98-
ProjectionType |> DynObj.setOptionalPropertyBy cameraProjection "type" StyleParam.CameraProjectionType.convert
96+
cameraProjection |> DynObj.withOptionalPropertyBy "type" ProjectionType StyleParam.CameraProjectionType.convert
9997

100-
cameraProjection
98+
10199

102100
type Camera() =
103101
inherit DynamicObj()
@@ -121,9 +119,9 @@ type Camera() =
121119

122120
fun (camera: Camera) ->
123121

124-
Center |> DynObj.setOptionalProperty camera "center"
125-
Eye |> DynObj.setOptionalProperty camera "eye"
126-
Projection |> DynObj.setOptionalProperty camera "projection"
127-
Up |> DynObj.setOptionalProperty camera "up"
128-
129122
camera
123+
|> DynObj.withOptionalProperty "center" Center
124+
|> DynObj.withOptionalProperty "eye" Eye
125+
|> DynObj.withOptionalProperty "projection" Projection
126+
|> DynObj.withOptionalProperty "up" Up
127+

src/Plotly.NET/Layout/ObjectAbstractions/3D/Scene.fs

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -86,22 +86,21 @@ type Scene() =
8686
[<Optional; DefaultParameterValue(null)>] ?YAxis: LinearAxis,
8787
[<Optional; DefaultParameterValue(null)>] ?ZAxis: LinearAxis
8888
) =
89-
(fun (scene: Scene) ->
90-
91-
Annotations |> DynObj.setOptionalProperty scene "annotations"
92-
AspectMode |> DynObj.setOptionalPropertyBy scene "aspectmode" StyleParam.AspectMode.convert
93-
AspectRatio |> DynObj.setOptionalProperty scene "aspectratio"
94-
BGColor |> DynObj.setOptionalProperty scene "bgcolor"
95-
Camera |> DynObj.setOptionalProperty scene "camera"
96-
Domain |> DynObj.setOptionalProperty scene "domain"
97-
DragMode |> DynObj.setOptionalPropertyBy scene "dragmode" StyleParam.DragMode.convert
98-
HoverMode |> DynObj.setOptionalPropertyBy scene "hovermode" StyleParam.HoverMode.convert
99-
UIRevision |> DynObj.setOptionalProperty scene "uirevision"
100-
XAxis |> DynObj.setOptionalProperty scene "xaxis"
101-
YAxis |> DynObj.setOptionalProperty scene "yaxis"
102-
ZAxis |> DynObj.setOptionalProperty scene "zaxis"
89+
fun (scene: Scene) ->
10390

104-
scene)
91+
scene
92+
|> DynObj.withOptionalProperty "annotations" Annotations
93+
|> DynObj.withOptionalPropertyBy "aspectmode" AspectMode StyleParam.AspectMode.convert
94+
|> DynObj.withOptionalProperty "aspectratio" AspectRatio
95+
|> DynObj.withOptionalProperty "bgcolor" BGColor
96+
|> DynObj.withOptionalProperty "camera" Camera
97+
|> DynObj.withOptionalProperty "domain" Domain
98+
|> DynObj.withOptionalPropertyBy "dragmode" DragMode StyleParam.DragMode.convert
99+
|> DynObj.withOptionalPropertyBy "hovermode" HoverMode StyleParam.HoverMode.convert
100+
|> DynObj.withOptionalProperty "uirevision" UIRevision
101+
|> DynObj.withOptionalProperty "xaxis" XAxis
102+
|> DynObj.withOptionalProperty "yaxis" YAxis
103+
|> DynObj.withOptionalProperty "zaxis" ZAxis
105104

106105
/// <summary>
107106
/// Returns Some(dynamic member value) of the scene object's underlying DynamicObj when a dynamic member with the given name exists, and None otherwise.

src/Plotly.NET/Layout/ObjectAbstractions/Common/Shape.fs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ type Shape() =
197197
[<Optional; DefaultParameterValue(null)>] ?Yref: string,
198198
[<Optional; DefaultParameterValue(null)>] ?YSizeMode: StyleParam.ShapeSizeMode
199199
) =
200-
(fun (shape: Shape) ->
200+
fun (shape: Shape) ->
201201

202202
shape
203203
|> DynObj.withProperty "editable" Editable
@@ -227,5 +227,4 @@ type Shape() =
227227
|> DynObj.withProperty "y1" Y1
228228
|> DynObj.withOptionalPropertyBy "yanchor" YAnchor StyleParam.LinearAxisId.convert
229229
|> DynObj.withProperty "yref" Yref
230-
|> DynObj.withOptionalPropertyBy "ysizemode" YSizeMode StyleParam.ShapeSizeMode.convert)
231-
)
230+
|> DynObj.withOptionalPropertyBy "ysizemode" YSizeMode StyleParam.ShapeSizeMode.convert

src/Plotly.NET/Layout/ObjectAbstractions/Map/Geo.fs

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -177,46 +177,45 @@ type Geo() =
177177
[<Optional; DefaultParameterValue(null)>] ?LatAxis: LinearAxis,
178178
[<Optional; DefaultParameterValue(null)>] ?LonAxis: LinearAxis
179179
) =
180-
(fun (geo: Geo) ->
180+
fun (geo: Geo) ->
181181

182-
Domain |> DynObj.setOptionalProperty geo "domain"
183-
FitBounds |> DynObj.setOptionalPropertyBy geo "fitbounds" StyleParam.GeoFitBounds.convert
184-
Resolution |> DynObj.setOptionalPropertyBy geo "resolution" StyleParam.GeoResolution.convert
185-
Scope |> DynObj.setOptionalPropertyBy geo "scope" StyleParam.GeoScope.convert
186-
Projection |> DynObj.setOptionalProperty geo "projection"
182+
let center =
183+
Center
184+
|> Option.map (fun (lon, lat) ->
185+
DynamicObj()
186+
|> DynObj.withProperty "lon" lon
187+
|> DynObj.withProperty "lat" lat
188+
)
187189

188-
Center
189-
|> Option.map (fun (lon, lat) ->
190-
let t = DynamicObj()
191-
t?lon <- lon
192-
t?lat <- lat
193-
t)
194-
|> DynObj.setOptionalProperty geo "center"
195-
196-
Visible |> DynObj.setOptionalProperty geo "visible"
197-
ShowCoastLines |> DynObj.setOptionalProperty geo "showcoastline"
198-
CoastLineColor |> DynObj.setOptionalProperty geo "coastlinecolor"
199-
CoastLineWidth |> DynObj.setOptionalProperty geo "coastlinewidth"
200-
ShowLand |> DynObj.setOptionalProperty geo "showland"
201-
LandColor |> DynObj.setOptionalProperty geo "landcolor"
202-
ShowOcean |> DynObj.setOptionalProperty geo "showocean"
203-
OceanColor |> DynObj.setOptionalProperty geo "oceancolor"
204-
ShowLakes |> DynObj.setOptionalProperty geo "showlakes"
205-
LakeColor |> DynObj.setOptionalProperty geo "lakecolor"
206-
ShowRivers |> DynObj.setOptionalProperty geo "showrivers"
207-
RiverColor |> DynObj.setOptionalProperty geo "rivercolor"
208-
RiverWidth |> DynObj.setOptionalProperty geo "riverwidth"
209-
ShowCountries |> DynObj.setOptionalProperty geo "showcountries"
210-
CountryColor |> DynObj.setOptionalProperty geo "countrycolor"
211-
CountryWidth |> DynObj.setOptionalProperty geo "countrywidth"
212-
ShowSubunits |> DynObj.setOptionalProperty geo "showsubunits"
213-
SubunitColor |> DynObj.setOptionalProperty geo "subunitcolor"
214-
SubunitWidth |> DynObj.setOptionalProperty geo "subunitwidth"
215-
ShowFrame |> DynObj.setOptionalProperty geo "showframe"
216-
FrameColor |> DynObj.setOptionalProperty geo "framecolor"
217-
FrameWidth |> DynObj.setOptionalProperty geo "framewidth"
218-
BgColor |> DynObj.setOptionalProperty geo "bgcolor"
219-
LatAxis |> DynObj.setOptionalProperty geo "lataxis"
220-
LonAxis |> DynObj.setOptionalProperty geo "lonaxis"
221-
222-
geo)
190+
geo
191+
|> DynObj.withOptionalProperty "domain" Domain
192+
|> DynObj.withOptionalPropertyBy "fitbounds" FitBounds StyleParam.GeoFitBounds.convert
193+
|> DynObj.withOptionalPropertyBy "resolution" Resolution StyleParam.GeoResolution.convert
194+
|> DynObj.withOptionalPropertyBy "scope" Scope StyleParam.GeoScope.convert
195+
|> DynObj.withOptionalProperty "projection" Projection
196+
|> DynObj.withOptionalProperty "center" center
197+
|> DynObj.withOptionalProperty "visible" Visible
198+
|> DynObj.withOptionalProperty "showcoastline" ShowCoastLines
199+
|> DynObj.withOptionalProperty "coastlinecolor" CoastLineColor
200+
|> DynObj.withOptionalProperty "coastlinewidth" CoastLineWidth
201+
|> DynObj.withOptionalProperty "showland" ShowLand
202+
|> DynObj.withOptionalProperty "landcolor" LandColor
203+
|> DynObj.withOptionalProperty "showocean" ShowOcean
204+
|> DynObj.withOptionalProperty "oceancolor" OceanColor
205+
|> DynObj.withOptionalProperty "showlakes" ShowLakes
206+
|> DynObj.withOptionalProperty "lakecolor" LakeColor
207+
|> DynObj.withOptionalProperty "showrivers" ShowRivers
208+
|> DynObj.withOptionalProperty "rivercolor" RiverColor
209+
|> DynObj.withOptionalProperty "riverwidth" RiverWidth
210+
|> DynObj.withOptionalProperty "showcountries" ShowCountries
211+
|> DynObj.withOptionalProperty "countrycolor" CountryColor
212+
|> DynObj.withOptionalProperty "countrywidth" CountryWidth
213+
|> DynObj.withOptionalProperty "showsubunits" ShowSubunits
214+
|> DynObj.withOptionalProperty "subunitcolor" SubunitColor
215+
|> DynObj.withOptionalProperty "subunitwidth" SubunitWidth
216+
|> DynObj.withOptionalProperty "showframe" ShowFrame
217+
|> DynObj.withOptionalProperty "framecolor" FrameColor
218+
|> DynObj.withOptionalProperty "framewidth" FrameWidth
219+
|> DynObj.withOptionalProperty "bgcolor" BgColor
220+
|> DynObj.withOptionalProperty "lataxis" LatAxis
221+
|> DynObj.withOptionalProperty "lonaxis" LonAxis

src/Plotly.NET/Layout/ObjectAbstractions/Map/GeoProjection.fs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ type GeoProjectionRotation() =
3232
[<Optional; DefaultParameterValue(null)>] ?Latitude: float,
3333
[<Optional; DefaultParameterValue(null)>] ?Roll: int
3434
) =
35-
(fun (rotation: GeoProjectionRotation) ->
36-
Longitude |> DynObj.setOptionalProperty rotation "lon"
37-
Latitude |> DynObj.setOptionalProperty rotation "lat"
38-
Roll |> DynObj.setOptionalProperty rotation "roll"
35+
fun (rotation: GeoProjectionRotation) ->
3936

40-
rotation)
37+
rotation
38+
|> DynObj.withOptionalProperty "lon" Longitude
39+
|> DynObj.withOptionalProperty "lat" Latitude
40+
|> DynObj.withOptionalProperty "roll" Roll
4141

4242
/// <summary>Determines the map projection in geo traces.</summary>
4343
type GeoProjection() =
@@ -75,13 +75,10 @@ type GeoProjection() =
7575
[<Optional; DefaultParameterValue(null)>] ?Parallels: (float * float),
7676
[<Optional; DefaultParameterValue(null)>] ?Scale: float
7777
) =
78-
(fun (projection: GeoProjection) ->
78+
fun (projection: GeoProjection) ->
7979

80-
projectionType |> StyleParam.GeoProjectionType.convert |> DynObj.withProperty projection "type"
81-
82-
Parallels |> Option.map (fun (a, b) -> sprintf "[%f,%f]" a b) |> DynObj.setOptionalProperty projection "parallels"
83-
84-
Rotation |> DynObj.setOptionalProperty projection "rotation"
85-
Scale |> DynObj.setOptionalProperty projection "scale"
86-
87-
projection)
80+
projection
81+
|> DynObj.withProperty "type" (StyleParam.GeoProjectionType.convert projectionType)
82+
|> DynObj.withOptionalProperty "rotation" Rotation
83+
|> DynObj.withOptionalPropertyBy "parallels" Parallels (fun (a, b) -> sprintf "[%f,%f]" a b)
84+
|> DynObj.withOptionalProperty "scale" Scale

src/Plotly.NET/Layout/ObjectAbstractions/Map/Mapbox.fs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -69,24 +69,23 @@ type Mapbox() =
6969
[<Optional; DefaultParameterValue(null)>] ?Pitch: float,
7070
[<Optional; DefaultParameterValue(null)>] ?Layers: seq<MapboxLayer>
7171
) =
72-
(fun (mapBox: Mapbox) ->
72+
fun (mapBox: Mapbox) ->
7373

74-
Domain |> DynObj.setOptionalProperty mapBox "domain"
75-
AccessToken |> DynObj.setOptionalProperty mapBox "accesstoken"
76-
Style |> DynObj.setOptionalPropertyBy mapBox "style" StyleParam.MapboxStyle.convert
77-
Bounds |> DynObj.setOptionalProperty mapBox "bounds"
74+
let center =
75+
Center
76+
|> Option.map (fun (lon, lat) ->
77+
DynamicObj()
78+
|> DynObj.withProperty "lon" lon
79+
|> DynObj.withProperty "lat" lat
80+
)
7881

79-
Center
80-
|> Option.map (fun (lon, lat) ->
81-
let t = DynamicObj()
82-
t?lon <- lon
83-
t?lat <- lat
84-
t)
85-
|> DynObj.setOptionalProperty mapBox "center"
86-
87-
Zoom |> DynObj.setOptionalProperty mapBox "zoom"
88-
Bearing |> DynObj.setOptionalProperty mapBox "bearing"
89-
Pitch |> DynObj.setOptionalProperty mapBox "pitch"
90-
Layers |> DynObj.setOptionalProperty mapBox "layers"
91-
92-
mapBox)
82+
mapBox
83+
|> DynObj.withOptionalProperty "domain" Domain
84+
|> DynObj.withOptionalProperty "accesstoken" AccessToken
85+
|> DynObj.withOptionalPropertyBy "style" Style StyleParam.MapboxStyle.convert
86+
|> DynObj.withOptionalProperty "bounds" Bounds
87+
|> DynObj.withOptionalProperty "center" center
88+
|> DynObj.withOptionalProperty "zoom" Zoom
89+
|> DynObj.withOptionalProperty "bearing" Bearing
90+
|> DynObj.withOptionalProperty "pitch" Pitch
91+
|> DynObj.withOptionalProperty "layers" Layers

src/Plotly.NET/Layout/ObjectAbstractions/Map/MapboxBounds.fs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,10 @@ type MapboxBounds() =
4040
[<Optional; DefaultParameterValue(null)>] ?South: float,
4141
[<Optional; DefaultParameterValue(null)>] ?West: float
4242
) =
43-
(fun (mapboxBounds: MapboxBounds) ->
43+
fun (mapboxBounds: MapboxBounds) ->
4444

45-
East |> DynObj.setOptionalProperty mapboxBounds "east"
46-
North |> DynObj.setOptionalProperty mapboxBounds "north"
47-
South |> DynObj.setOptionalProperty mapboxBounds "south"
48-
West |> DynObj.setOptionalProperty mapboxBounds "west"
49-
50-
mapboxBounds)
45+
mapboxBounds
46+
|> DynObj.withOptionalProperty "east" East
47+
|> DynObj.withOptionalProperty "north" North
48+
|> DynObj.withOptionalProperty "south" South
49+
|> DynObj.withOptionalProperty "west" West

src/Plotly.NET/Layout/ObjectAbstractions/Map/MapboxCluster.fs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,11 @@ type MapboxCluster() =
6767
[<Optional; DefaultParameterValue(null)>] ?MultiStep: seq<int>
6868

6969
) =
70-
(fun (mapboxCluster: MapboxCluster) ->
71-
72-
Color |> DynObj.setOptionalProperty mapboxCluster "color"
73-
Enabled |> DynObj.setOptionalProperty mapboxCluster "enabled"
74-
MaxZoom |> DynObj.setOptionalProperty mapboxCluster "maxzoom"
75-
Opacity |> DynObj.setOptionalProperty mapboxCluster "opacity"
76-
(Size, MultiSize) |> DynObj.setOptionalSingleOrMultiProperty mapboxCluster "size"
77-
(Step, MultiStep) |> DynObj.setOptionalSingleOrMultiProperty mapboxCluster "step"
78-
79-
mapboxCluster)
70+
fun (mapboxCluster: MapboxCluster) ->
71+
mapboxCluster
72+
|> DynObj.withOptionalProperty "color" Color
73+
|> DynObj.withOptionalProperty "enabled" Enabled
74+
|> DynObj.withOptionalProperty "maxzoom" MaxZoom
75+
|> DynObj.withOptionalProperty "opacity" Opacity
76+
|> DynObj.withOptionalSingleOrMultiProperty"size" (Size, MultiSize)
77+
|> DynObj.withOptionalSingleOrMultiProperty"step" (Step, MultiStep)

0 commit comments

Comments
 (0)