Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 24c7eef

Browse files
committedApr 30, 2025
Add busy spinners when generating configuration
1 parent 56a6a0a commit 24c7eef

File tree

1 file changed

+51
-13
lines changed

1 file changed

+51
-13
lines changed
 

‎src/templates/home.html

Lines changed: 51 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
var button = $(buttonSelector);
2222
button.click(function() {
2323
button.attr("disabled", true);
24-
$(document.body).css("cursor", 'wait');
24+
button.find('div.spinner').css('display', 'inline-block');
25+
$('#logs').find(tabSelector).css("cursor", 'wait');
26+
$(tabSelector + "-tab").find('div.spinner').css('display', 'inline-block');
2527
$(tabSelector + "-tab").click();
2628

2729
var reqUrl = url;
@@ -63,13 +65,17 @@
6365
}
6466
}).done(function(data, status) {
6567
button.prop("disabled", false);
66-
$(document.body).css("cursor", '');
68+
button.find('div.spinner').css('display', 'none');
69+
$('#logs').find(tabSelector).css("cursor", '');
70+
$(tabSelector + "-tab").find('div.spinner').css('display', 'none');
6771

6872
// show response
6973
logElement.html(data);
7074
}).fail(function(jqXHR, status) {
7175
button.prop("disabled", false);
72-
$(document.body).css("cursor", '');
76+
button.find('div.spinner').css('display', 'none');
77+
$('#logs').find(tabSelector).css("cursor", '');
78+
$(tabSelector + "-tab").find('div.spinner').css('display', 'none');
7379

7480
// show errors
7581
var msg = jqXHR.statusText;
@@ -97,8 +103,8 @@
97103
"{{ url_for('generate_configs') }}",
98104
['use_cached_project_metadata', 'force_readonly_datasets'],
99105
'#nav-confgen',
100-
"Service configurations generated:",
101-
"Error while refreshing config cache:"
106+
"Generating configuration... ",
107+
"Error while generating configuration"
102108
);
103109
{% endif %}
104110

@@ -119,8 +125,8 @@
119125
"{{ url_for('update_solr_index') }}",
120126
[],
121127
'#nav-solr',
122-
"Solr search index update:",
123-
"Error while updating Solr search index:"
128+
"Updating Solr search index",
129+
"Error while updating Solr search index"
124130
);
125131
{% endif %}
126132
});
@@ -141,6 +147,32 @@
141147
color: white;
142148
background: black;
143149
}
150+
151+
.spinner {
152+
box-sizing: border-box;
153+
display: inline-block;
154+
width: 1em;
155+
height: 1em
156+
}
157+
.spinner:after {
158+
box-sizing: border-box;
159+
content: " ";
160+
display: block;
161+
width: 1em;
162+
height: 1em;
163+
border-radius: 50%;
164+
border: 2px solid currentColor;
165+
border-color: currentColor transparent currentColor transparent;
166+
animation: spinner 1.2s linear infinite;
167+
}
168+
@keyframes spinner {
169+
0% {
170+
transform: rotate(0deg);
171+
}
172+
100% {
173+
transform: rotate(360deg);
174+
}
175+
}
144176
</style>
145177
{% endblock %}
146178

@@ -153,7 +185,7 @@ <h1>{{ admin_gui_title }}</h1>
153185
{% if have_config_generator %}
154186
<br><br>
155187
<button id="generate_configs" class="btn btn-success">
156-
{{ utils.render_icon('arrow-clockwise') }} {{ i18n('interface.main.generate_configs') }}
188+
<div class="spinner" style="display: none"></div> {{ i18n('interface.main.generate_configs') }}
157189
</button>
158190
<br>
159191
<label style="padding-top: 0.5em"><input id="use_cached_project_metadata" type="checkbox" /> {{ i18n('interface.main.use_cached_project_metadata') }}</label>
@@ -166,7 +198,7 @@ <h1>{{ admin_gui_title }}</h1>
166198
{% if have_qgis_server %}
167199
<br><br>
168200
<button id="qgis_server_logs" class="btn btn-success">
169-
{{ utils.render_icon('arrow-clockwise') }} {{ i18n('interface.main.read_qgis_server_logs') }}
201+
<div class="spinner" style="display: none"></div> {{ i18n('interface.main.read_qgis_server_logs') }}
170202
</button>
171203
<br>
172204
<label style="padding-top: 0.5em"><input id="qgis_server_log_lines" type="number" min="0" max="10000" value="100" /> {{ i18n('interface.main.qgis_server_log_lines') }}</label>
@@ -175,21 +207,27 @@ <h1>{{ admin_gui_title }}</h1>
175207
{% if solr_index_update_enabled %}
176208
<br><br>
177209
<button id="update_solr_index" class="btn btn-success">
178-
{{ utils.render_icon('arrow-clockwise') }} Update Solr search index
210+
<div class="spinner" style="display: none"></div> Update Solr search index
179211
</button>
180212
{% endif %}
181213

182214
<div id="logs" class="row mt-4">
183215
<nav>
184216
<div class="nav nav-tabs" id="nav-tab" role="tablist">
185217
{% if have_config_generator %}
186-
<button class="nav-link active" id="nav-confgen-tab" data-bs-toggle="tab" data-bs-target="#nav-confgen" type="button" role="tab" aria-controls="nav-confgen" aria-selected="true">ConfigGenerator logs</button>
218+
<button class="nav-link active" id="nav-confgen-tab" data-bs-toggle="tab" data-bs-target="#nav-confgen" type="button" role="tab" aria-controls="nav-confgen" aria-selected="true">
219+
<div class="spinner" style="display: none"></div> ConfigGenerator logs
220+
</button>
187221
{% endif %}
188222
{% if have_qgis_server %}
189-
<button class="nav-link" id="nav-qgisserver-tab" data-bs-toggle="tab" data-bs-target="#nav-qgisserver" type="button" role="tab" aria-controls="nav-qgisserver" aria-selected="false">QGIS Server logs</button>
223+
<button class="nav-link" id="nav-qgisserver-tab" data-bs-toggle="tab" data-bs-target="#nav-qgisserver" type="button" role="tab" aria-controls="nav-qgisserver" aria-selected="false">
224+
<div class="spinner" style="display: none"></div> QGIS Server logs
225+
</button>
190226
{% endif %}
191227
{% if solr_index_update_enabled %}
192-
<button class="nav-link" id="nav-solr-tab" data-bs-toggle="tab" data-bs-target="#nav-solr" type="button" role="tab" aria-controls="nav-solr" aria-selected="false">Solr index logs</button>
228+
<button class="nav-link" id="nav-solr-tab" data-bs-toggle="tab" data-bs-target="#nav-solr" type="button" role="tab" aria-controls="nav-solr" aria-selected="false">
229+
<div class="spinner" style="display: none"></div> Solr index logs
230+
</button>
193231
{% endif %}
194232
</div>
195233
</nav>

0 commit comments

Comments
 (0)
Please sign in to comment.