Changed: DB Params
This commit is contained in:
19
templ/generator/test-script-usage-nonce/expected.html
Normal file
19
templ/generator/test-script-usage-nonce/expected.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<script nonce="nonce1">
|
||||
function __templ_withParameters_1056(a, b, c){console.log(a, b, c);
|
||||
}function __templ_withoutParameters_6bbf(){alert("hello");
|
||||
}
|
||||
</script>
|
||||
<button onClick="__templ_withParameters_1056("test","A",123)" onMouseover="__templ_withoutParameters_6bbf()" type="button">A</button>
|
||||
<button onClick="__templ_withParameters_1056("test","B",123)" onMouseover="__templ_withoutParameters_6bbf()" type="button">B</button>
|
||||
<button onMouseover="console.log('mouseover')" type="button">Button C</button>
|
||||
<button hx-on::click="alert('clicked inline')" type="button">Button D</button>
|
||||
<script nonce="nonce1">
|
||||
function __templ_onClick_657d(){alert("clicked");
|
||||
}
|
||||
</script>
|
||||
<button hx-on::click="__templ_onClick_657d()" type="button">Button E</button>
|
||||
<script nonce="nonce1">
|
||||
function __templ_conditionalScript_de41(){alert("conditional");
|
||||
}
|
||||
</script>
|
||||
<input type="button" value="Click me" onclick="__templ_conditionalScript_de41()" />
|
26
templ/generator/test-script-usage-nonce/render_test.go
Normal file
26
templ/generator/test-script-usage-nonce/render_test.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package testscriptusage
|
||||
|
||||
import (
|
||||
"context"
|
||||
_ "embed"
|
||||
"testing"
|
||||
|
||||
"github.com/a-h/templ"
|
||||
"github.com/a-h/templ/generator/htmldiff"
|
||||
)
|
||||
|
||||
//go:embed expected.html
|
||||
var expected string
|
||||
|
||||
func Test(t *testing.T) {
|
||||
component := ThreeButtons()
|
||||
|
||||
ctx := templ.WithNonce(context.Background(), "nonce1")
|
||||
_, diff, err := htmldiff.DiffCtx(ctx, component, expected)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if diff != "" {
|
||||
t.Error(diff)
|
||||
}
|
||||
}
|
44
templ/generator/test-script-usage-nonce/template.templ
Normal file
44
templ/generator/test-script-usage-nonce/template.templ
Normal file
@@ -0,0 +1,44 @@
|
||||
package testscriptusage
|
||||
|
||||
script withParameters(a string, b string, c int) {
|
||||
console.log(a, b, c);
|
||||
}
|
||||
|
||||
script withoutParameters() {
|
||||
alert("hello");
|
||||
}
|
||||
|
||||
script onClick() {
|
||||
alert("clicked");
|
||||
}
|
||||
|
||||
templ Button(text string) {
|
||||
<button onClick={ withParameters("test", text, 123) } onMouseover={ withoutParameters() } type="button">{ text }</button>
|
||||
}
|
||||
|
||||
script withComment() {
|
||||
//'
|
||||
}
|
||||
|
||||
templ ThreeButtons() {
|
||||
@Button("A")
|
||||
@Button("B")
|
||||
<button onMouseover="console.log('mouseover')" type="button">Button C</button>
|
||||
<button hx-on::click="alert('clicked inline')" type="button">Button D</button>
|
||||
<button hx-on::click={ onClick() } type="button">Button E</button>
|
||||
@Conditional(true)
|
||||
}
|
||||
|
||||
script conditionalScript() {
|
||||
alert("conditional");
|
||||
}
|
||||
|
||||
templ Conditional(show bool) {
|
||||
<input
|
||||
type="button"
|
||||
value="Click me"
|
||||
if show {
|
||||
onclick={ conditionalScript() }
|
||||
}
|
||||
/>
|
||||
}
|
235
templ/generator/test-script-usage-nonce/template_templ.go
Normal file
235
templ/generator/test-script-usage-nonce/template_templ.go
Normal file
@@ -0,0 +1,235 @@
|
||||
// Code generated by templ - DO NOT EDIT.
|
||||
|
||||
// templ: version: v0.3.833
|
||||
package testscriptusage
|
||||
|
||||
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||||
|
||||
import "github.com/a-h/templ"
|
||||
import templruntime "github.com/a-h/templ/runtime"
|
||||
|
||||
func withParameters(a string, b string, c int) templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_withParameters_1056`,
|
||||
Function: `function __templ_withParameters_1056(a, b, c){console.log(a, b, c);
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_withParameters_1056`, a, b, c),
|
||||
CallInline: templ.SafeScriptInline(`__templ_withParameters_1056`, a, b, c),
|
||||
}
|
||||
}
|
||||
|
||||
func withoutParameters() templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_withoutParameters_6bbf`,
|
||||
Function: `function __templ_withoutParameters_6bbf(){alert("hello");
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_withoutParameters_6bbf`),
|
||||
CallInline: templ.SafeScriptInline(`__templ_withoutParameters_6bbf`),
|
||||
}
|
||||
}
|
||||
|
||||
func onClick() templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_onClick_657d`,
|
||||
Function: `function __templ_onClick_657d(){alert("clicked");
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_onClick_657d`),
|
||||
CallInline: templ.SafeScriptInline(`__templ_onClick_657d`),
|
||||
}
|
||||
}
|
||||
|
||||
func Button(text string) templ.Component {
|
||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||
return templ_7745c5c3_CtxErr
|
||||
}
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
defer func() {
|
||||
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err == nil {
|
||||
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
||||
}
|
||||
}()
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var1 == nil {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, withParameters("test", text, 123), withoutParameters())
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<button onClick=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var2 templ.ComponentScript = withParameters("test", text, 123)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var2.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "\" onMouseover=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var3 templ.ComponentScript = withoutParameters()
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var3.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "\" type=\"button\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var4 string
|
||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(text)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `templ/generator/test-script-usage-nonce/template.templ`, Line: 16, Col: 111}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</button>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func withComment() templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_withComment_9cf8`,
|
||||
Function: `function __templ_withComment_9cf8(){//'
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_withComment_9cf8`),
|
||||
CallInline: templ.SafeScriptInline(`__templ_withComment_9cf8`),
|
||||
}
|
||||
}
|
||||
|
||||
func ThreeButtons() templ.Component {
|
||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||
return templ_7745c5c3_CtxErr
|
||||
}
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
defer func() {
|
||||
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err == nil {
|
||||
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
||||
}
|
||||
}()
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var5 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var5 == nil {
|
||||
templ_7745c5c3_Var5 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Err = Button("A").Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = Button("B").Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<button onMouseover=\"console.log('mouseover')\" type=\"button\">Button C</button> <button hx-on::click=\"alert('clicked inline')\" type=\"button\">Button D</button> ")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, onClick())
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "<button hx-on::click=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var6 templ.ComponentScript = onClick()
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var6.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "\" type=\"button\">Button E</button>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = Conditional(true).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func conditionalScript() templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_conditionalScript_de41`,
|
||||
Function: `function __templ_conditionalScript_de41(){alert("conditional");
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_conditionalScript_de41`),
|
||||
CallInline: templ.SafeScriptInline(`__templ_conditionalScript_de41`),
|
||||
}
|
||||
}
|
||||
|
||||
func Conditional(show bool) templ.Component {
|
||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||
return templ_7745c5c3_CtxErr
|
||||
}
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
defer func() {
|
||||
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err == nil {
|
||||
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
||||
}
|
||||
}()
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var7 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var7 == nil {
|
||||
templ_7745c5c3_Var7 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, conditionalScript())
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<input type=\"button\" value=\"Click me\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if show {
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " onclick=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var8 templ.ComponentScript = conditionalScript()
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, ">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
var _ = templruntime.GeneratedTemplate
|
Reference in New Issue
Block a user