From 28001f034e20f4b4b5294235dac81901538767bb Mon Sep 17 00:00:00 2001 From: Timur Ismagilov Date: Fri, 1 Jul 2022 22:38:44 +0500 Subject: [PATCH] Do not show impossible actions for empty hyphae --- views/nav.qtpl | 21 ++-- views/nav.qtpl.go | 284 +++++++++++++++++++++++++--------------------- 2 files changed, 167 insertions(+), 138 deletions(-) diff --git a/views/nav.qtpl b/views/nav.qtpl index 1885dd2..1591ace 100644 --- a/views/nav.qtpl +++ b/views/nav.qtpl @@ -5,8 +5,13 @@ {% import "github.com/bouncepaw/mycorrhiza/util" %} {% import "github.com/bouncepaw/mycorrhiza/viewutil" %} -{% func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) %} -{% if u.CanProceed(action) %} +{% func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) %} +{% code flag := true %} +{% switch h.(type) %} +{% case *hyphae.EmptyHypha %} + {% code flag = !hasToExist %} +{% endswitch %} +{% if u.CanProceed(action) && flag %}
  • {%s displayText %}
  • @@ -21,12 +26,12 @@ %} {% endfunc %} diff --git a/views/nav.qtpl.go b/views/nav.qtpl.go index 5c14894..04bc609 100644 --- a/views/nav.qtpl.go +++ b/views/nav.qtpl.go @@ -36,33 +36,28 @@ var ( ) //line views/nav.qtpl:8 -func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) { +func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) { //line views/nav.qtpl:8 qw422016.N().S(` `) //line views/nav.qtpl:9 - if u.CanProceed(action) { + flag := true + //line views/nav.qtpl:9 + qw422016.N().S(` +`) +//line views/nav.qtpl:10 + switch h.(type) { +//line views/nav.qtpl:11 + case *hyphae.EmptyHypha: +//line views/nav.qtpl:11 + qw422016.N().S(` + `) +//line views/nav.qtpl:12 + flag = !hasToExist + +//line views/nav.qtpl:12 qw422016.N().S(` -
  • - `) -//line views/nav.qtpl:11 - qw422016.E().S(displayText) -//line views/nav.qtpl:11 - qw422016.N().S(` -
  • `) //line views/nav.qtpl:13 } @@ -70,196 +65,225 @@ func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.Use qw422016.N().S(` `) //line views/nav.qtpl:14 -} - + if u.CanProceed(action) && flag { //line views/nav.qtpl:14 -func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) { -//line views/nav.qtpl:14 - qw422016 := qt422016.AcquireWriter(qq422016) -//line views/nav.qtpl:14 - streamhyphaInfoEntry(qw422016, h, u, action, displayText) -//line views/nav.qtpl:14 - qt422016.ReleaseWriter(qw422016) -//line views/nav.qtpl:14 -} - -//line views/nav.qtpl:14 -func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) string { -//line views/nav.qtpl:14 - qb422016 := qt422016.AcquireByteBuffer() -//line views/nav.qtpl:14 - writehyphaInfoEntry(qb422016, h, u, action, displayText) -//line views/nav.qtpl:14 - qs422016 := string(qb422016.B) -//line views/nav.qtpl:14 - qt422016.ReleaseByteBuffer(qb422016) -//line views/nav.qtpl:14 - return qs422016 -//line views/nav.qtpl:14 -} - + qw422016.N().S(` +
  • + `) +//line views/nav.qtpl:16 + qw422016.E().S(displayText) +//line views/nav.qtpl:16 + qw422016.N().S(` +
  • `) //line views/nav.qtpl:18 + } +//line views/nav.qtpl:18 + qw422016.N().S(` +`) +//line views/nav.qtpl:19 +} + +//line views/nav.qtpl:19 +func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) { +//line views/nav.qtpl:19 + qw422016 := qt422016.AcquireWriter(qq422016) +//line views/nav.qtpl:19 + streamhyphaInfoEntry(qw422016, h, u, action, hasToExist, displayText) +//line views/nav.qtpl:19 + qt422016.ReleaseWriter(qw422016) +//line views/nav.qtpl:19 +} + +//line views/nav.qtpl:19 +func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) string { +//line views/nav.qtpl:19 + qb422016 := qt422016.AcquireByteBuffer() +//line views/nav.qtpl:19 + writehyphaInfoEntry(qb422016, h, u, action, hasToExist, displayText) +//line views/nav.qtpl:19 + qs422016 := string(qb422016.B) +//line views/nav.qtpl:19 + qt422016.ReleaseByteBuffer(qb422016) +//line views/nav.qtpl:19 + return qs422016 +//line views/nav.qtpl:19 +} + +//line views/nav.qtpl:21 +func streamhyphaInfo(qw422016 *qt422016.Writer, meta viewutil.Meta, h hyphae.Hypha) { +//line views/nav.qtpl:21 + qw422016.N().S(` +`) +//line views/nav.qtpl:23 u := meta.U lc := meta.Lc backs := backlinks.BacklinksCount(h) -//line views/nav.qtpl:21 +//line views/nav.qtpl:26 qw422016.N().S(` `) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 } -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 func writehyphaInfo(qq422016 qtio422016.Writer, meta viewutil.Meta, h hyphae.Hypha) { -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 streamhyphaInfo(qw422016, meta, h) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 qt422016.ReleaseWriter(qw422016) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 } -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 func hyphaInfo(meta viewutil.Meta, h hyphae.Hypha) string { -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 qb422016 := qt422016.AcquireByteBuffer() -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 writehyphaInfo(qb422016, meta, h) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 qs422016 := string(qb422016.B) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 qt422016.ReleaseByteBuffer(qb422016) -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 return qs422016 -//line views/nav.qtpl:32 +//line views/nav.qtpl:37 } -//line views/nav.qtpl:34 +//line views/nav.qtpl:39 func streamcommonScripts(qw422016 *qt422016.Writer) { -//line views/nav.qtpl:34 +//line views/nav.qtpl:39 qw422016.N().S(` `) -//line views/nav.qtpl:35 +//line views/nav.qtpl:40 for _, scriptPath := range cfg.CommonScripts { -//line views/nav.qtpl:35 +//line views/nav.qtpl:40 qw422016.N().S(` `) -//line views/nav.qtpl:37 +//line views/nav.qtpl:42 } -//line views/nav.qtpl:37 +//line views/nav.qtpl:42 qw422016.N().S(` `) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 } -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 func writecommonScripts(qq422016 qtio422016.Writer) { -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 streamcommonScripts(qw422016) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 qt422016.ReleaseWriter(qw422016) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 } -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 func commonScripts() string { -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 qb422016 := qt422016.AcquireByteBuffer() -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 writecommonScripts(qb422016) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 qs422016 := string(qb422016.B) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 qt422016.ReleaseByteBuffer(qb422016) -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 return qs422016 -//line views/nav.qtpl:38 +//line views/nav.qtpl:43 } -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 func streambeautifulLink(qw422016 *qt422016.Writer, hyphaName string) { -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qw422016.N().S(``) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qw422016.E().S(util.BeautifulName(hyphaName)) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qw422016.N().S(``) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 } -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 func writebeautifulLink(qq422016 qtio422016.Writer, hyphaName string) { -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 streambeautifulLink(qw422016, hyphaName) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qt422016.ReleaseWriter(qw422016) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 } -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 func beautifulLink(hyphaName string) string { -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qb422016 := qt422016.AcquireByteBuffer() -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 writebeautifulLink(qb422016, hyphaName) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qs422016 := string(qb422016.B) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 qt422016.ReleaseByteBuffer(qb422016) -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 return qs422016 -//line views/nav.qtpl:40 +//line views/nav.qtpl:45 }