Skip to content

Commit 15d9c6a

Browse files
committed
more simple templaterstate@movecharacters
1 parent b281a57 commit 15d9c6a

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

coffee/templaterState.coffee

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
module.exports=class TemplaterState
44
moveCharacters:(numXmlTag,newTextLength,oldTextLength)->
5-
if typeof newTextLength!='number' then return @moveCharacters(numXmlTag,newTextLength.length,oldTextLength)
6-
if typeof oldTextLength!='number' then return @moveCharacters(numXmlTag,newTextLength,oldTextLength.length)
75
for k in [numXmlTag..@matches.length]
86
@charactersAdded[k]+=newTextLength-oldTextLength
97
calcStartTag: (tag) -> @calcPosition(tag.start)

coffee/xmlTemplater.coffee

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ module.exports=class XmlTemplater #abstract class !!
8080
replaceSimpleTagRawXml:()->
8181
subContent=new SubContent(@content).getInnerTag(@templaterState).getOuterXml('w:p')
8282
newText=@scopeManager.getValueFromScope(@templaterState.tag)
83-
@templaterState.moveCharacters(@templaterState.tagStart.numXmlTag,newText,subContent.text)
83+
@templaterState.moveCharacters(@templaterState.tagStart.numXmlTag,newText.length,subContent.text.length)
8484
@content= subContent.replace(newText).fullText
8585
deleteTag:(xml,tag)->
8686
@templaterState.tagStart=tag.start
@@ -92,7 +92,7 @@ module.exports=class XmlTemplater #abstract class !!
9292
dashLoop: (elementDashLoop,sharp=false) ->
9393
{_,start,end}= @templaterState.findOuterTagsContent(@content)
9494
outerXml = DocUtils.getOuterXml @content, start, end, elementDashLoop
95-
@templaterState.moveCharacters(0,"",outerXml.startTag)
95+
@templaterState.moveCharacters(0,0,outerXml.startTag)
9696
outerXmlText= outerXml.text
9797
innerXmlText=@deleteOuterTags(outerXmlText,sharp)
9898
@forLoop(innerXmlText,outerXmlText)
@@ -115,7 +115,7 @@ module.exports=class XmlTemplater #abstract class !!
115115
@templaterState.matches[xmlTagNumber][2]=insideValue #so that the templaterState.matches are still correct
116116
startTag= @templaterState.calcXmlTagPosition(xmlTagNumber)#where the open tag starts: <w:t>
117117
#calculate the replacer according to the params
118-
@templaterState.moveCharacters(xmlTagNumber+1,replacer,@templaterState.matches[xmlTagNumber][0])
118+
@templaterState.moveCharacters(xmlTagNumber+1,replacer.length,@templaterState.matches[xmlTagNumber][0].length)
119119
if content.indexOf(@templaterState.matches[xmlTagNumber][0])==-1 then throw new Error("content #{@templaterState.matches[xmlTagNumber][0]} not found in content")
120120
content = DocUtils.replaceFirstFrom content,@templaterState.matches[xmlTagNumber][0], replacer, startTag
121121
@templaterState.matches[xmlTagNumber][0]=replacer

0 commit comments

Comments
 (0)