fix(share): render conflict modal in public shares

Handle templates with license comments in `octemplate.js`.

Signed-off-by: Max <max@nextcloud.com>
This commit is contained in:
Max 2024-12-19 09:54:21 +01:00
parent 7e57d0df2b
commit 13189d7990
No known key found for this signature in database
GPG key ID: 0F5BFA367A00BACE

View file

@ -83,7 +83,7 @@ const Template = {
},
// From stackoverflow.com/questions/1408289/best-way-to-do-variable-interpolation-in-javascript
_build(o) {
const data = this.elem.attr('type') === 'text/template' ? this.elem.html() : this.elem.get(0).outerHTML
const data = this._getData()
try {
return data.replace(/{([^{}]*)}/g,
function(a, b) {
@ -95,6 +95,15 @@ const Template = {
console.error(e, 'data:', data)
}
},
_getData() {
if (this.elem.attr('type') === 'text/template') {
return this.elem.html()
}
// Leave out comments, etc and take the first html element
const htmlElem = $.makeArray(this.elem)
.find(e => e instanceof HTMLElement)
return htmlElem.outerHTML
},
options: {
escapeFunction: escapeHTML,
},