Enhance App.vue with transition effects and show/hide panel logic
This commit is contained in:
parent
0cad1e7787
commit
95dc8be6e8
10
src/App.vue
10
src/App.vue
@ -1,6 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { ElMessage } from 'element-plus';
|
import { ElMessage } from 'element-plus';
|
||||||
import { isProxy } from 'vue';
|
import { isProxy } from 'vue';
|
||||||
|
import { sprintf } from 'sprintf-js';
|
||||||
import lang from './lang.js';
|
import lang from './lang.js';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -35,6 +36,7 @@ export default {
|
|||||||
title: undefined,
|
title: undefined,
|
||||||
started: undefined,
|
started: undefined,
|
||||||
items: [],
|
items: [],
|
||||||
|
showPanel: true,
|
||||||
currentIdx: undefined,
|
currentIdx: undefined,
|
||||||
itemStatus: {
|
itemStatus: {
|
||||||
item: undefined,
|
item: undefined,
|
||||||
@ -139,6 +141,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.showPanel = false;
|
||||||
item.answer = this.itemStatus.answer;
|
item.answer = this.itemStatus.answer;
|
||||||
item.refilled = this.itemStatus.refilled;
|
item.refilled = this.itemStatus.refilled;
|
||||||
item.responseTime = new Date().getTime() - this.itemStatus.timestamp;
|
item.responseTime = new Date().getTime() - this.itemStatus.timestamp;
|
||||||
@ -156,8 +159,11 @@ export default {
|
|||||||
if (this.currentIdx === this.items.length - 1) {
|
if (this.currentIdx === this.items.length - 1) {
|
||||||
this.submit();
|
this.submit();
|
||||||
} else {
|
} else {
|
||||||
|
setTimeout(() => {
|
||||||
this.currentIdx++;
|
this.currentIdx++;
|
||||||
this.updateItem();
|
this.updateItem();
|
||||||
|
this.showPanel = true;
|
||||||
|
}, 300);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
autoNext() {
|
autoNext() {
|
||||||
@ -195,7 +201,7 @@ export default {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div v-if="!isReady">Loading...</div>
|
<div v-if="!isReady">Loading...</div>
|
||||||
<el-container id="main" v-if="isReady">
|
<transition name="el-fade-in-linear"><el-container id="main" v-if="isReady" v-show="showPanel">
|
||||||
<el-header height=24pt>
|
<el-header height=24pt>
|
||||||
<el-text class="mx-1" type="primary"><span id="display-title">{{ itemStatus.title }}</span></el-text>
|
<el-text class="mx-1" type="primary"><span id="display-title">{{ itemStatus.title }}</span></el-text>
|
||||||
</el-header>
|
</el-header>
|
||||||
@ -252,7 +258,7 @@ export default {
|
|||||||
</el-button-group>
|
</el-button-group>
|
||||||
</el-footer>
|
</el-footer>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container></transition>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
Loading…
Reference in New Issue
Block a user