Better UX

This commit is contained in:
syuilo 2018-11-16 05:26:36 +09:00
parent e15b03ef9f
commit 36c3b726b6
2 changed files with 11 additions and 7 deletions

View file

@ -148,7 +148,7 @@ export default Vue.extend({
},
updateStats() {
this.$root.api('stats').then(stats => {
this.$root.api('stats', {}, false, true).then(stats => {
this.stats = stats;
});
}

View file

@ -385,15 +385,19 @@ export default class MiOS extends EventEmitter {
* @param data
*/
@autobind
public api(endpoint: string, data: { [x: string]: any } = {}, forceFetch = false): Promise<{ [x: string]: any }> {
if (++pending === 1) {
spinner = document.createElement('div');
spinner.setAttribute('id', 'wait');
document.body.appendChild(spinner);
public api(endpoint: string, data: { [x: string]: any } = {}, forceFetch = false, silent = false): Promise<{ [x: string]: any }> {
if (!silent) {
if (++pending === 1) {
spinner = document.createElement('div');
spinner.setAttribute('id', 'wait');
document.body.appendChild(spinner);
}
}
const onFinally = () => {
if (--pending === 0) spinner.parentNode.removeChild(spinner);
if (!silent) {
if (--pending === 0) spinner.parentNode.removeChild(spinner);
}
};
const promise = new Promise((resolve, reject) => {