arnaucube
arnaucube/konstruiPublic Self-hosted repository
multi repeatElem
arnaucode arnaucode@gmail.com
Wed, 11 Oct 2017 10:08:59 +0200
commit

9d654445f41bf29030856f06e00c73ce766f54a7

parent

5a9ebd9c4d039016e35c9233ce29c32dd17ac97b

2 files changed, 14 insertions(+), 9 deletions(-)

jump to
M templating.go → templating.go

@@ -1,6 +1,7 @@

package main import ( + "fmt" "strings" "github.com/Jeffail/gabs"

@@ -96,8 +97,11 @@ }

return templateContent } func konstruiRepeatElem(templateContent string, entry dataEntry, jsonData *gabs.Container) string { - if strings.Contains(templateContent, "<konstrui-repeatElem") { - elemName, _ := getTagParameters(templateContent, "konstrui-repeatElem", "repeatElem", "nil") + for strings.Contains(templateContent, "<konstrui-repeatElem") { + tlines := getLines(templateContent) + tp := locateStringInArray(tlines, "konstrui-repeatElem") + elemName, _ := getTagParameters(tlines[tp[0]], "konstrui-repeatElem", "repeatElem", "nil") + extracted := extractText(templateContent, "<konstrui-repeatElem", "</konstrui-repeatElem>") fragmentLines := getLines(extracted) fragmentLines = deleteArrayElementsWithString(fragmentLines, "konstrui-repeatElem")

@@ -105,18 +109,19 @@ f := concatStringsWithJumps(fragmentLines)

children, _ := jsonData.S(elemName).Children() var replaced string for _, child := range children { - //fmt.Println(child.Data().(string)) + fmt.Println(child) + fmt.Println(child.Data().(string)) replacedElem := strings.Replace(f, "{{"+elemName+"}}", child.Data().(string), -1) replaced = replaced + replacedElem } fragmentLines = getLines(replaced) - - lines := getLines(templateContent) - p := locateStringInArray(lines, "konstrui-repeatElem") - lines = deleteLinesBetween(lines, p[0], p[1]) - lines = addElementsToArrayPosition(lines, fragmentLines, p[0]) - templateContent = concatStringsWithJumps(lines) + fmt.Println(replaced) + /*lines := getLines(templateContent) + p := locateStringInArray(lines, "konstrui-repeatElem")*/ + tlines = deleteLinesBetween(tlines, tp[0], tp[1]) + tlines = addElementsToArrayPosition(tlines, fragmentLines, tp[0]) + templateContent = concatStringsWithJumps(tlines) } return templateContent }