Using the HelloStipple example (or any other), I get the following error when trying to run it. Additionally, there is a warning that the init
method used is deprecated, but I cannot find any documentation of the updated method, unless I missed it somewhere?
[ Info: Precompiling StippleUI [a3c5d34a-b254-4859-a8fa-b86abb7e84a3]
┌ Warning: Module Genie with build ID 1914804180495427 is missing from the cache.
│ This may mean Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1030
[ Info: Skipping precompilation since __precompile__(false). Importing StippleUI [a3c5d34a-b254-4859-a8fa-b86abb7e84a3].
┌ Warning: This method has been deprecated and will be removed soon. Please use `init(m::Type{M}, kwargs...)` instead.
└ @ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:769
ERROR: LoadError: type Name has no field channel__
Stacktrace:
[1] setproperty!(x::Name, f::Symbol, v::String)
@ Base ./Base.jl:34
[2] init(m::Type{Name}; vue_app_name::String, endpoint::String, channel::Nothing, debounce::Int64, transport::Module, parse_errors::Bool, core_theme::Bool)
@ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:720
[3] init
@ ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:710 [inlined]
[4] init(m::Name; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:770
[5] init(m::Name)
@ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:769
[6] top-level scope
@ ~/Code/projects/stippledemo/StippleDemos/testexamples/teste.jl:9
in expression starting at /Users/markus/Code/projects/stippledemo/StippleDemos/testexamples/teste.jl:9
HelloStipple example
using Stipple, StippleUI
# Stipple's ReactiveModel with name field which is mapped to frontend input
# i.e. julia can access name's data in backend
Base.@kwdef mutable struct Name <: ReactiveModel
name::R{String} = "Stipple!"
end
hs_model = Stipple.init(Name())
function ui()
[
page(
vm(hs_model), class="container", title="Hello Stipple", partial=true,
[
row(
cell([
h1([
"Hello, "
span("", @text(:name))
])
p([
"What is your name? "
input("", placeholder="Type your name", @bind(:name)) # bind is a replacement to vuejs's v-model
])
])
)
]
)
] |> html
end
route("/", ui)
Thanks!