Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 0486d642

Přidáno uživatelem Jan Čarnogurský před téměř 4 roky(ů)

re #8155 - added spinner after press button to table generation

Zobrazit rozdíly:

src/main/webapp/WEB-INF/templates/assembly.html
200 200
                    </div>
201 201

  
202 202
                    <div class="buttons-wrap">
203
                        <button type="submit" class="btn btn-secondary mb-2 " name="generateTable">Vygenerovat tabulku</button>
204
                        <button type="submit" class="btn btn-secondary mb-2 " name="exportXls">Export do XLS</button>
205
                        <button type="submit" class="btn btn-secondary mb-2 " name="exportPdf">Export do PDF</button>
203
                        <button type="submit" class="btn btn-secondary mb-2 show-spinner" name="generateTable">Vygenerovat tabulku</button>
204
                        <button type="submit" class="btn btn-secondary mb-2 show-spinner" name="exportXls">Export do XLS</button>
205
                        <button type="submit" class="btn btn-secondary mb-2 show-spinner" name="exportPdf">Export do PDF</button>
206 206
                    </div>
207 207
                </div>
208 208
            </div>
src/main/webapp/WEB-INF/templates/layouts/layout.html
28 28

  
29 29
    </head>
30 30
    <body>
31
        <div th:if="${!#strings.isEmpty(errorText)}" >
31
    <div id="spinner-overlay">
32
        <div class="loader"></div>
33
    </div>
34

  
35

  
36
    <div th:if="${!#strings.isEmpty(errorText)}" >
32 37
            <div class="alert alert-danger">
33 38
                <span th:text="${errorText}"></span>
34 39
            </div>
src/main/webapp/css/style.css
331 331

  
332 332
.exported-table {
333 333
  overflow: auto;
334
}
335

  
336
#spinner-overlay{
337
  position:fixed;
338
  width:100%;
339
  height:100%;
340
  top:0px;
341
  left:0px;
342
  background: rgba(0,0,0,0.5);
343
  z-index: 9999;
344
  display: none;
345
}
346

  
347
.loader {
348
  color: #ffffff;
349
  font-size: 20px;
350
  top: 50%;
351
  left: 50%;
352
  margin: -15px 0 0 -15px;
353
  width: 30px;
354
  height: 30px;
355
  border-radius: 50%;
356
  position: absolute;
357
  text-indent: -9999em;
358
  -webkit-animation: load4 1.3s infinite linear;
359
  animation: load4 1.3s infinite linear;
360
  -webkit-transform: translateZ(0);
361
  -ms-transform: translateZ(0);
362
  transform: translateZ(0);
363
}
364
@-webkit-keyframes load4 {
365
  0%,
366
  100% {
367
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
368
  }
369
  12.5% {
370
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
371
  }
372
  25% {
373
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
374
  }
375
  37.5% {
376
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
377
  }
378
  50% {
379
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
380
  }
381
  62.5% {
382
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
383
  }
384
  75% {
385
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
386
  }
387
  87.5% {
388
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
389
  }
390
}
391
@keyframes load4 {
392
  0%,
393
  100% {
394
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
395
  }
396
  12.5% {
397
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
398
  }
399
  25% {
400
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
401
  }
402
  37.5% {
403
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
404
  }
405
  50% {
406
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
407
  }
408
  62.5% {
409
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
410
  }
411
  75% {
412
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
413
  }
414
  87.5% {
415
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
416
  }
334 417
}
src/main/webapp/js/assemblyScripts.js
36 36
    // init actions
37 37
    initParameters();
38 38

  
39
    initSpinnerToButtons();
40

  
39 41
});
40 42

  
41 43
/**
......
251 253
    if (configurationName.value == null || configurationName.value == "") {
252 254
        alert("Není vyplněn název šablony !");
253 255
    }
256
}
257

  
258
/**
259
 * Set up listener to export buttons to show spinner
260
 */
261
function initSpinnerToButtons() {
262
    hideSpinner();
263

  
264
    document.querySelectorAll('.show-spinner').forEach(button => {
265
        button.addEventListener('click', showSpinner);
266
    })
267
}
268

  
269
function showSpinner() {
270
    let spinner = document.getElementById('spinner-overlay');
271

  
272
    spinner.style.display = 'block';
273
}
274

  
275
function hideSpinner() {
276
    let spinner = document.getElementById('spinner-overlay');
277

  
278
    spinner.style.display = 'none';
254 279
}

Také k dispozici: Unified diff