From 7eb6038f9291bfb88c989d53454796d7abc1b6ea Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 20 Feb 2021 11:05:46 +0900 Subject: :art: --- src/client/widgets/job-queue.vue | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'src/client/widgets') 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 @@
Process
-
{{ number(inbox.activeSincePrevTick) }}
+
{{ number(inbox.activeSincePrevTick) }}
Active
-
{{ number(inbox.active) }}
+
{{ number(inbox.active) }}
Delayed
-
{{ number(inbox.delayed) }}
+
{{ number(inbox.delayed) }}
Waiting
-
{{ number(inbox.waiting) }}
+
{{ number(inbox.waiting) }}
@@ -26,19 +26,19 @@
Process
-
{{ number(deliver.activeSincePrevTick) }}
+
{{ number(deliver.activeSincePrevTick) }}
Active
-
{{ number(deliver.active) }}
+
{{ number(deliver.active) }}
Delayed
-
{{ number(deliver.delayed) }}
+
{{ number(deliver.delayed) }}
Waiting
-
{{ number(deliver.waiting) }}
+
{{ number(deliver.waiting) }}
@@ -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); + } + } } } } -- cgit v1.2.3-freya From 65fbca47f9831a2850c5c10e1f93520cc6f19203 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 20 Feb 2021 15:57:30 +0900 Subject: Improve widget performance --- src/client/widgets/define.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/client/widgets') 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 (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 (data: { this.save(); }, - - save() { - this.$emit('updateProps', this.props); - } } }); } -- cgit v1.2.3-freya