 e159f15600
			
		
	
	e159f15600
	
	
	
		
			
			* wip * wip? * ? * streamingのuser storage updateイベントを監視して更新 * 必要な時以外はストレージを更新しない * fix? * wip * fix * fix
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
| <FormBase>
 | |
| 	<XQueue :connection="connection" domain="inbox">
 | |
| 		<template #title>In</template>
 | |
| 	</XQueue>
 | |
| 	<XQueue :connection="connection" domain="deliver">
 | |
| 		<template #title>Out</template>
 | |
| 	</XQueue>
 | |
| 	<FormButton danger @click="clear()"><i class="fas fa-trash-alt"></i> {{ $ts.clearQueue }}</FormButton>
 | |
| </FormBase>
 | |
| </template>
 | |
| 
 | |
| <script lang="ts">
 | |
| import { defineComponent, markRaw } from 'vue';
 | |
| import MkButton from '@/components/ui/button.vue';
 | |
| import XQueue from './queue.chart.vue';
 | |
| import FormBase from '@/components/debobigego/base.vue';
 | |
| import FormButton from '@/components/debobigego/button.vue';
 | |
| import * as os from '@/os';
 | |
| import { stream } from '@/stream';
 | |
| import * as symbols from '@/symbols';
 | |
| 
 | |
| export default defineComponent({
 | |
| 	components: {
 | |
| 		FormBase,
 | |
| 		FormButton,
 | |
| 		MkButton,
 | |
| 		XQueue,
 | |
| 	},
 | |
| 
 | |
| 	emits: ['info'],
 | |
| 
 | |
| 	data() {
 | |
| 		return {
 | |
| 			[symbols.PAGE_INFO]: {
 | |
| 				title: this.$ts.jobQueue,
 | |
| 				icon: 'fas fa-clipboard-list',
 | |
| 				bg: 'var(--bg)',
 | |
| 			},
 | |
| 			connection: markRaw(stream.useChannel('queueStats')),
 | |
| 		}
 | |
| 	},
 | |
| 
 | |
| 	mounted() {
 | |
| 		this.$emit('info', this[symbols.PAGE_INFO]);
 | |
| 
 | |
| 		this.$nextTick(() => {
 | |
| 			this.connection.send('requestLog', {
 | |
| 				id: Math.random().toString().substr(2, 8),
 | |
| 				length: 200
 | |
| 			});
 | |
| 		});
 | |
| 	},
 | |
| 
 | |
| 	beforeUnmount() {
 | |
| 		this.connection.dispose();
 | |
| 	},
 | |
| 
 | |
| 	methods: {
 | |
| 		clear() {
 | |
| 			os.confirm({
 | |
| 				type: 'warning',
 | |
| 				title: this.$ts.clearQueueConfirmTitle,
 | |
| 				text: this.$ts.clearQueueConfirmText,
 | |
| 			}).then(({ canceled }) => {
 | |
| 				if (canceled) return;
 | |
| 
 | |
| 				os.apiWithDialog('admin/queue/clear', {});
 | |
| 			});
 | |
| 		}
 | |
| 	}
 | |
| });
 | |
| </script>
 |