Fix multi reload of UI.php and js files

This commit is contained in:
acognet
2021-01-21 15:35:29 +01:00
parent 154156f4a1
commit 63c1a1d2d3
2 changed files with 37 additions and 21 deletions

View File

@@ -27,33 +27,44 @@
<script type="text/javascript">
var aFilesToLoad{{ sId }} = [];
{% for sJsFile in aPage.aJsFiles %}
aFilesToLoad{{ sId }}.push('{{ sJsFile|raw }}');
if (! $.inArray('{{ sJsFile|raw }}',aListJsFiles))
{
aFilesToLoad{{ sId }}.push('{{ sJsFile|add_itop_version }}');
aListJsFiles.push("{{ sJsFile }}");
}
{% endfor %}
var iCurrentIdx{{ sId }} = 0;
var iFilesToLoadCount{{ sId }} = aFilesToLoad{{ sId }}.length;
var fLoadScript{{ sId }} = function(){
$.when(
$.ajax({
if(iFilesToLoadCount{{ sId }}>0)
{
var fLoadScript{{ sId }} = function () {
$.when(
$.ajax({
url: aFilesToLoad{{ sId }}[iCurrentIdx{{ sId }}],
dataType: 'script',
cache: true
})
)
.then(function(){
iCurrentIdx{{ sId }}++;
if (iCurrentIdx{{ sId }} !== iFilesToLoadCount{{ sId }})
{
fLoadScript{{ sId }}();
}
else
{
{% for sJsInlineOnDomReady in aPage.aJsInlineOnDomReady %}
{{ sJsInlineOnDomReady|raw }}
{% endfor %}
}
});
};
fLoadScript{{ sId }}();
)
.then(function () {
iCurrentIdx{{ sId }}++;
if (iCurrentIdx{{ sId }} !== iFilesToLoadCount{{ sId }})
{
fLoadScript{{ sId }}();
}
else
{
{% for sJsInlineOnDomReady in aPage.aJsInlineOnDomReady %}
{{ sJsInlineOnDomReady|raw }}
{% endfor %}
}
});
};
fLoadScript{{ sId }}();
} else {
{% for sJsInlineOnDomReady in aPage.aJsInlineOnDomReady %}
{{ sJsInlineOnDomReady|raw }}
{% endfor %}
}
</script>
{% endblock %}
{% else %}

View File

@@ -54,7 +54,12 @@
{{ render_block(oBlock, {aPage: aPage}) }}
{% endfor %}
{% endblock %}
<script type="text/javascript">
var aListJsFiles = [];
{% for sJsFile in aPage.aJsFiles %}
aListJsFiles.push("{{ sJsFile}}");
{% endfor %}
</script>
{% block iboPageJsFiles %}
{% for sJsFile in aPage.aJsFiles %}
<script type="text/javascript" src="{{ sJsFile|add_itop_version }}"></script>