Hi all,
In a TypeScript callback I am trying to use mongoose (installed via npm) to connect to a database and I get an error “RuntimeError: no such module: mongoose”.
Is there any work-around to support node packages, like e.g. by moving some .js files to bokeh import directory?
from bokeh.core.properties import String, Instance
from bokeh.models import LayoutDOM, Slider
CODE ="""
import {div, empty} from “core/dom”
import * as p from “core/properties”
import {LayoutDOM, LayoutDOMView} from “models/layouts/layout_dom”
import mongoose from “mongoose”
console.log(mongoose.Document)
export class CustomView extends LayoutDOMView {
initialize(options) {
super.initialize(options)
this.render()
this.connect(this.model.slider.change, () => this.render())
}
render() {
empty(this.el)
this.el.appendChild(div({
style: {
‘padding’: ‘2px’,
‘color’: ‘#b88d8e’,
‘background-color’: ‘#2a3153’,
},
}, ${this.model.text}: ${this.model.slider.value}
))
}
}
export class Custom extends LayoutDOM {
default_view = CustomView
type = “Custom”
}
Custom.define({
text: [ p.String ],
slider: [ p.Any ],
})
“”"
from bokeh.util.compiler import TypeScript
from bokeh.io import show
from bokeh.layouts import column
from bokeh.models import Slider
class Custom(LayoutDOM):
implementation = TypeScript(CODE)
text = String(default=“Custom text”)
slider = Instance(Slider)
slider = Slider(start=0, end=10, step=0.1, value=0, title=“value”)
custom = Custom(text=“Special Slider Display”, slider=slider)
layout = column(slider, custom)
show(layout)
``