summaryrefslogtreecommitdiff
path: root/src/client/widgets
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2021-02-21 13:38:29 +0900
committersyuilo <syuilotan@yahoo.co.jp>2021-02-21 13:38:29 +0900
commit3d68a0988bb40567e71a23cbe809d9eff4e1a2c0 (patch)
treedbecada3558bfaeef7ae72a44c0e643f678f252a /src/client/widgets
parentMerge branch 'develop' (diff)
parent12.71.0 (diff)
downloadmisskey-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.ts10
-rw-r--r--src/client/widgets/job-queue.vue32
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);
+ }
+ }
}
}
}