diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2021-02-21 13:38:29 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2021-02-21 13:38:29 +0900 |
| commit | 3d68a0988bb40567e71a23cbe809d9eff4e1a2c0 (patch) | |
| tree | dbecada3558bfaeef7ae72a44c0e643f678f252a /src/client/widgets | |
| parent | Merge branch 'develop' (diff) | |
| parent | 12.71.0 (diff) | |
| download | misskey-3d68a0988bb40567e71a23cbe809d9eff4e1a2c0.tar.gz misskey-3d68a0988bb40567e71a23cbe809d9eff4e1a2c0.tar.bz2 misskey-3d68a0988bb40567e71a23cbe809d9eff4e1a2c0.zip | |
Merge branch 'develop'
Diffstat (limited to 'src/client/widgets')
| -rw-r--r-- | src/client/widgets/define.ts | 10 | ||||
| -rw-r--r-- | src/client/widgets/job-queue.vue | 32 |
2 files changed, 29 insertions, 13 deletions
diff --git a/src/client/widgets/define.ts b/src/client/widgets/define.ts index b5498204b3..08a346d97c 100644 --- a/src/client/widgets/define.ts +++ b/src/client/widgets/define.ts @@ -1,4 +1,5 @@ import { defineComponent } from 'vue'; +import { throttle } from 'throttle-debounce'; import { Form } from '@/scripts/form'; import * as os from '@/os'; @@ -21,7 +22,10 @@ export default function <T extends Form>(data: { data() { return { - props: this.widget ? JSON.parse(JSON.stringify(this.widget.data)) : {} + props: this.widget ? JSON.parse(JSON.stringify(this.widget.data)) : {}, + save: throttle(3000, () => { + this.$emit('updateProps', this.props); + }), }; }, @@ -66,10 +70,6 @@ export default function <T extends Form>(data: { this.save(); }, - - save() { - this.$emit('updateProps', this.props); - } } }); } diff --git a/src/client/widgets/job-queue.vue b/src/client/widgets/job-queue.vue index 11bb20979b..b7bfb6de27 100644 --- a/src/client/widgets/job-queue.vue +++ b/src/client/widgets/job-queue.vue @@ -5,19 +5,19 @@ <div class="values"> <div> <div>Process</div> - <div>{{ number(inbox.activeSincePrevTick) }}</div> + <div :class="{ inc: inbox.activeSincePrevTick > prev.inbox.activeSincePrevTick, dec: inbox.activeSincePrevTick < prev.inbox.activeSincePrevTick }">{{ number(inbox.activeSincePrevTick) }}</div> </div> <div> <div>Active</div> - <div>{{ number(inbox.active) }}</div> + <div :class="{ inc: inbox.active > prev.inbox.active, dec: inbox.active < prev.inbox.active }">{{ number(inbox.active) }}</div> </div> <div> <div>Delayed</div> - <div>{{ number(inbox.delayed) }}</div> + <div :class="{ inc: inbox.delayed > prev.inbox.delayed, dec: inbox.delayed < prev.inbox.delayed }">{{ number(inbox.delayed) }}</div> </div> <div> <div>Waiting</div> - <div>{{ number(inbox.waiting) }}</div> + <div :class="{ inc: inbox.waiting > prev.inbox.waiting, dec: inbox.waiting < prev.inbox.waiting }">{{ number(inbox.waiting) }}</div> </div> </div> </div> @@ -26,19 +26,19 @@ <div class="values"> <div> <div>Process</div> - <div>{{ number(deliver.activeSincePrevTick) }}</div> + <div :class="{ inc: deliver.activeSincePrevTick > prev.deliver.activeSincePrevTick, dec: deliver.activeSincePrevTick < prev.deliver.activeSincePrevTick }">{{ number(deliver.activeSincePrevTick) }}</div> </div> <div> <div>Active</div> - <div>{{ number(deliver.active) }}</div> + <div :class="{ inc: deliver.active > prev.deliver.active, dec: deliver.active < prev.deliver.active }">{{ number(deliver.active) }}</div> </div> <div> <div>Delayed</div> - <div>{{ number(deliver.delayed) }}</div> + <div :class="{ inc: deliver.delayed > prev.deliver.delayed, dec: deliver.delayed < prev.deliver.delayed }">{{ number(deliver.delayed) }}</div> </div> <div> <div>Waiting</div> - <div>{{ number(deliver.waiting) }}</div> + <div :class="{ inc: deliver.waiting > prev.deliver.waiting, dec: deliver.waiting < prev.deliver.waiting }">{{ number(deliver.waiting) }}</div> </div> </div> </div> @@ -79,10 +79,15 @@ export default defineComponent({ waiting: 0, delayed: 0, }, + prev: {}, faExclamationTriangle, }; }, created() { + for (const domain of ['inbox', 'deliver']) { + this.prev[domain] = JSON.parse(JSON.stringify(this[domain])); + } + this.connection.on('stats', this.onStats); this.connection.on('statsLog', this.onStatsLog); @@ -99,6 +104,7 @@ export default defineComponent({ methods: { onStats(stats) { for (const domain of ['inbox', 'deliver']) { + this.prev[domain] = JSON.parse(JSON.stringify(this[domain])); this[domain].activeSincePrevTick = stats[domain].activeSincePrevTick; this[domain].active = stats[domain].active; this[domain].waiting = stats[domain].waiting; @@ -152,6 +158,16 @@ export default defineComponent({ > div:first-child { opacity: 0.7; } + + > div:last-child { + &.inc { + color: var(--warn); + } + + &.dec { + color: var(--success); + } + } } } } |