mirror of
https://github.com/arnaucube/konstrui.git
synced 2026-02-06 19:16:41 +01:00
implemented konstrui-repeatArray
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/Jeffail/gabs"
|
||||
@@ -37,6 +36,10 @@ func duplicateText(original string, count int) string {
|
||||
|
||||
return templateContent
|
||||
}*/
|
||||
func replaceVariable(templateContent string, variable string, value string) string {
|
||||
templateContent = strings.Replace(templateContent, "{{"+variable+"}}", value, -1)
|
||||
return templateContent
|
||||
}
|
||||
func replaceEntry(templateContent string, entry dataEntry, jsonData *gabs.Container, elemName string) string {
|
||||
//fmt.Println(jsonData)
|
||||
children, _ := jsonData.S().ChildrenMap()
|
||||
@@ -58,6 +61,32 @@ func replaceEntry(templateContent string, entry dataEntry, jsonData *gabs.Contai
|
||||
}
|
||||
return templateContent
|
||||
}
|
||||
func konstruiRepeatArray(templateContent string) string {
|
||||
for strings.Contains(templateContent, "<konstrui-repeatArray") {
|
||||
tlines := getLines(templateContent)
|
||||
tp := locateStringInArray(tlines, "konstrui-repeatArray")
|
||||
dataPath, _ := getTagParameters(tlines[tp[0]], "konstrui-repeatArray", "repeatArray", "nil")
|
||||
dataPath = strings.Replace(dataPath, "\n", "", -1)
|
||||
_, jsonData := getDataFromJson(rawFolderPath + "/" + dataPath)
|
||||
//get the part of the html where is the konstrui-repeatArray
|
||||
extracted := extractText(templateContent, "<konstrui-repeatArray", "</konstrui-repeatArray>")
|
||||
var replaced string
|
||||
children, _ := jsonData.S().Children()
|
||||
for _, child := range children {
|
||||
replaced = replaced + replaceVariable(extracted, "var", child.Data().(string))
|
||||
}
|
||||
|
||||
fragmentLines := getLines(replaced)
|
||||
fragmentLines = deleteArrayElementsWithString(fragmentLines, "konstrui-repeatArray")
|
||||
//afegir fragment al newContent, substituint el fragment original
|
||||
lines := getLines(templateContent)
|
||||
p := locateStringInArray(lines, "konstrui-repeatArray")
|
||||
lines = deleteLinesBetween(lines, p[0], p[1])
|
||||
lines = addElementsToArrayPosition(lines, fragmentLines, p[0])
|
||||
templateContent = concatStringsWithJumps(lines)
|
||||
}
|
||||
return templateContent
|
||||
}
|
||||
func konstruiRepeatJSONPartTwo(templateContent string, entries []dataEntry, jsonData *gabs.Container, elemName string) string {
|
||||
var newContent string
|
||||
newContent = templateContent
|
||||
@@ -111,13 +140,13 @@ func konstruiRepeatElem(templateContent string, entry dataEntry, jsonData *gabs.
|
||||
children, _ := jsonData.S(elemName).Children()
|
||||
var replaced string
|
||||
for _, child := range children {
|
||||
fmt.Println(child)
|
||||
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)
|
||||
fmt.Println(replaced)
|
||||
//fmt.Println(replaced)
|
||||
|
||||
/*lines := getLines(templateContent)
|
||||
p := locateStringInArray(lines, "konstrui-repeatElem")*/
|
||||
@@ -226,6 +255,7 @@ func startTemplating(folderPath string, newDir string) {
|
||||
fileContent = konstruiTemplate(fileContent)
|
||||
generatedPage := konstruiRepeatJSON(fileContent)
|
||||
generatedPage = konstruiInclude(generatedPage)
|
||||
generatedPage = konstruiRepeatArray(generatedPage)
|
||||
writeFile(newDir+"/"+fName, generatedPage)
|
||||
}
|
||||
//REPEATPAGES
|
||||
|
||||
Reference in New Issue
Block a user