Skip to content
This repository was archived by the owner on Oct 11, 2023. It is now read-only.

Commit feeb4fb

Browse files
committed
Allow a subtype or implicit view in Field.apply(column)
1 parent 98577e5 commit feeb4fb

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

bokeh/src/main/scala/HasFields.scala

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,12 @@ trait Vectorization { self: HasFields =>
9494
owner
9595
}
9696

97-
def apply[M[_]](column: ColumnDataSource#Column[M, FieldType]): SelfType = {
97+
def apply[M[_], T <: FieldType](column: ColumnDataSource#Column[M, T]): SelfType = {
98+
setField(Some(column.name))
99+
owner
100+
}
101+
102+
def apply[M[_], T <% FieldType](column: ColumnDataSource#Column[M, T]): SelfType = {
98103
setField(Some(column.name))
99104
owner
100105
}
@@ -136,7 +141,12 @@ trait Vectorization { self: HasFields =>
136141
owner
137142
}
138143

139-
def apply[M[_]](column: ColumnDataSource#Column[M, FieldType], units: UnitsType): SelfType = {
144+
def apply[M[_], T <: FieldType](column: ColumnDataSource#Column[M, T], units: UnitsType): SelfType = {
145+
setUnits(units)
146+
apply(column)
147+
}
148+
149+
def apply[M[_], T <% FieldType](column: ColumnDataSource#Column[M, T], units: UnitsType): SelfType = {
140150
setUnits(units)
141151
apply(column)
142152
}

examples/src/main/scala/models/ColorSpec.scala

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ package examples
33
package models
44

55
object ColorSpec extends Example {
6-
val colors: List[Color] = List(RGB(0, 100, 120), Color.Green, Color.Blue, "#2c7fb8", RGBA(120, 230, 150, 0.5))
7-
86
object source extends ColumnDataSource {
9-
val x = column(Array[Double](1, 2, 3, 4, 5))
10-
val y = column(Array[Double](5, 4, 3, 2, 1))
11-
val color = column(colors)
7+
val x = values(1, 2, 3, 4, 5)
8+
val y = values(5, 4, 3, 2, 1)
9+
val color = values(RGB(0, 100, 120), Color.Green, "#2c7fb8": Color, RGBA(120, 230, 150, 0.5))
1210
}
1311

1412
import source.{x,y,color}

examples/src/main/scala/models/Maps.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ object Maps extends Example {
6666
object source extends ColumnDataSource {
6767
val lat = values(30.2861, 30.2855, 30.2869)
6868
val lon = values(-97.7394, -97.7390, -97.7405)
69-
val fill = values[Color](Color.Orange, Color.Blue, Color.Green)
69+
val fill = values(Color.Orange, Color.Blue, Color.Green)
7070
}
7171

7272
import source.{lat,lon,fill}

0 commit comments

Comments
 (0)