Improve API console
This commit is contained in:
		| @@ -14,7 +14,7 @@ | ||||
|  | ||||
| 	<section> | ||||
| 		<header><fa icon="terminal"/> {{ $t('console.title') }}</header> | ||||
| 		<ui-input v-model="endpoint" :datalist="endpoints"> | ||||
| 		<ui-input v-model="endpoint" :datalist="endpoints" @change="onEndpointChange()"> | ||||
| 			<span>{{ $t('console.endpoint') }}</span> | ||||
| 		</ui-input> | ||||
| 		<ui-textarea v-model="body"> | ||||
| @@ -80,6 +80,22 @@ export default Vue.extend({ | ||||
| 				this.sending = false; | ||||
| 				this.res = JSON5.stringify(err, null, 2); | ||||
| 			}); | ||||
| 		}, | ||||
|  | ||||
| 		onEndpointChange() { | ||||
| 			this.$root.api('endpoint', { endpoint: this.endpoint }).then(endpoint => { | ||||
| 				const body = {}; | ||||
| 				for (const p of endpoint.params) { | ||||
| 					body[p.name] = | ||||
| 						p.type === 'String' ? '' : | ||||
| 						p.type === 'Number' ? 0 : | ||||
| 						p.type === 'Boolean' ? false : | ||||
| 						p.type === 'Array' ? [] : | ||||
| 						p.type === 'Object' ? {} : | ||||
| 						null; | ||||
| 				} | ||||
| 				this.body = JSON5.stringify(body, null, 2); | ||||
| 			}); | ||||
| 		} | ||||
| 	} | ||||
| }); | ||||
|   | ||||
| @@ -23,6 +23,7 @@ | ||||
| 				@focus="focused = true" | ||||
| 				@blur="focused = false" | ||||
| 				@keydown="$emit('keydown', $event)" | ||||
| 				@change="$emit('change', $event)" | ||||
| 				:list="id" | ||||
| 			> | ||||
| 			<input v-else ref="input" | ||||
| @@ -38,6 +39,7 @@ | ||||
| 				@focus="focused = true" | ||||
| 				@blur="focused = false" | ||||
| 				@keydown="$emit('keydown', $event)" | ||||
| 				@change="$emit('change', $event)" | ||||
| 				:list="id" | ||||
| 			> | ||||
| 			<datalist :id="id" v-if="datalist"> | ||||
| @@ -60,7 +62,7 @@ | ||||
| 		<div class="suffix" ref="suffix"><slot name="suffix"></slot></div> | ||||
| 	</div> | ||||
| 	<div class="toggle" v-if="withPasswordToggle"> | ||||
| 		<a @click='togglePassword'> | ||||
| 		<a @click="togglePassword"> | ||||
| 			<span v-if="type == 'password'"><fa :icon="['fa', 'eye']"/> {{ $t('@.show-password') }}</span> | ||||
| 			<span v-if="type != 'password'"><fa :icon="['far', 'eye-slash']"/> {{ $t('@.hide-password') }}</span> | ||||
| 		</a> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo