import {BoundItemBase} from "./BoundItemBase"; import {UkuleleUtil} from "../util/UkuleleUtil"; import {IUkulele} from "../core/IUkulele"; export class BoundItemRepeat extends BoundItemBase{ expression:string; renderTemplate:string; parentElement:Node; beginCommentString:string; endCommentString:string; constructor(attrName, itemName, element, uku){ super(attrName, element, uku); this.expression = itemName; this.renderTemplate = element.outerHTML; this.parentElement = element.parentNode; this.beginCommentString = undefined; this.endCommentString = undefined; } replaceVarible(element:HTMLElement, varName, alias){ let pattern = new RegExp("\\b"+ varName + "(?!\\w)","gm"); let attributes = element.attributes; for(let i=0; i","gm")) let innerText = element.innerHTML.match(new RegExp("\\{{[\\w\\W]*\\}\\}","gm")); if(childTag === null && innerText !== null && innerText.length === 1){ element.textContent = element.textContent.replace(pattern, alias); } if(element.children && element.children.length > 0){ for(let j=0; j{ if (this.element.tagName === "OPTION") { let expression = (this.parentElement as HTMLInputElement).getAttribute("uku-selected"); let tempArr = expression.split("|"); expression = tempArr[0]; let key = tempArr[1]; let value = this.uku._internal_getDefinitionManager().getFinalValueByExpression(expression); if (key) { (this.parentElement as HTMLInputElement).value = value[key]; } else { (this.parentElement as HTMLInputElement).value = value; } } }); child = sibling; } } } } }