From 8c1b15b7241e7d242ebc8928f4c667300f4cc57c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Helmut=20H=C3=A4nsel?= Date: Wed, 17 Jan 2024 01:46:16 +0100 Subject: [PATCH] accept AbstractStrings and Vectors for headconent, accept head_content in DEFAULT_LAYOUT --- src/Layout.jl | 6 +++--- src/ReactiveTools.jl | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Layout.jl b/src/Layout.jl index a5980076..85d3ee07 100644 --- a/src/Layout.jl +++ b/src/Layout.jl @@ -39,7 +39,7 @@ julia> layout([ ``` """ function layout(output::Union{S,Vector}, m::M; - partial::Bool = false, title::String = "", class::String = "", style::String = "", head_content::String = "", + partial::Bool = false, title::String = "", class::String = "", style::String = "", head_content::Union{AbstractString, Vector{<:AbstractString}} = "", channel::String = Stipple.channel_js_name, core_theme::Bool = true)::ParsedHTMLString where {M<:ReactiveModel, S<:AbstractString} @@ -58,7 +58,7 @@ function layout(output::Union{S,Vector}, m::M; Genie.Renderer.Html.head([ Genie.Renderer.Html.title(title) Genie.Renderer.Html.meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no") - head_content + join(head_content) ]) Genie.Renderer.Html.body(content, class=class, style=style) ]) @@ -83,7 +83,7 @@ julia> page(:elemid, [ """ function page(model::M, args...; partial::Bool = false, title::String = "", class::String = "container", style::String = "", - channel::String = Genie.config.webchannels_default_route, head_content::String = "", + channel::String = Genie.config.webchannels_default_route, head_content::Union{AbstractString, Vector{<:AbstractString}} = "", prepend::Union{S,Vector} = "", append::Union{T,Vector} = [], core_theme::Bool = true, kwargs...)::ParsedHTMLString where {M<:Stipple.ReactiveModel, S<:AbstractString,T<:AbstractString} diff --git a/src/ReactiveTools.jl b/src/ReactiveTools.jl index af976e9e..94b382fb 100644 --- a/src/ReactiveTools.jl +++ b/src/ReactiveTools.jl @@ -39,7 +39,7 @@ const TYPES = LittleDict{Module,Union{<:DataType,Nothing}}() const HANDLERS_FUNCTIONS = LittleDict{Type{<:ReactiveModel},Function}() function DEFAULT_LAYOUT(; title::String = "Genie App", - meta::D = Dict()) where {D <:AbstractDict} + meta::D = Dict(), head_content::Union{AbstractString, Vector} = "") where {D <:AbstractDict} tags = Genie.Renderers.Html.for_each(x -> """\n""", meta) """ @@ -64,6 +64,7 @@ function DEFAULT_LAYOUT(; title::String = "Genie App", } ._genie .row .col-12 { width:50%;margin:auto; } + $(join(head_content, "\n "))