イベント送信時に指定の変数の値を添付出来るように
This commit is contained in:
		
							parent
							
								
									e97dd13e81
								
							
						
					
					
						commit
						e9251debe0
					
				|  | @ -2035,6 +2035,8 @@ pages: | |||
|         _pushEvent: | ||||
|           event: "イベント名" | ||||
|           message: "押したときに表示するメッセージ" | ||||
|           variable: "送信する変数" | ||||
|           no-variable: "なし" | ||||
| 
 | ||||
|   script: | ||||
|     categories: | ||||
|  |  | |||
|  | @ -17,6 +17,17 @@ | |||
| 		<template v-else-if="value.action === 'pushEvent'"> | ||||
| 			<ui-input v-model="value.event"><span>{{ $t('blocks._button._action._pushEvent.event') }}</span></ui-input> | ||||
| 			<ui-input v-model="value.message"><span>{{ $t('blocks._button._action._pushEvent.message') }}</span></ui-input> | ||||
| 			<ui-select v-model="value.var"> | ||||
| 				<template #label>{{ $t('blocks._button._action._pushEvent.variable') }}</template> | ||||
| 				<option :value="null">{{ $t('blocks._button._action._pushEvent.no-variable') }}</option> | ||||
| 				<option v-for="v in aiScript.getVarsByType()" :value="v.name">{{ v.name }}</option> | ||||
| 				<optgroup :label="$t('script.pageVariables')"> | ||||
| 					<option v-for="v in aiScript.getPageVarsByType()" :value="v">{{ v }}</option> | ||||
| 				</optgroup> | ||||
| 				<optgroup :label="$t('script.enviromentVariables')"> | ||||
| 					<option v-for="v in aiScript.getEnvVarsByType()" :value="v">{{ v }}</option> | ||||
| 				</optgroup> | ||||
| 			</ui-select> | ||||
| 		</template> | ||||
| 	</section> | ||||
| </x-container> | ||||
|  | @ -39,6 +50,9 @@ export default Vue.extend({ | |||
| 		value: { | ||||
| 			required: true | ||||
| 		}, | ||||
| 		aiScript: { | ||||
| 			required: true, | ||||
| 		}, | ||||
| 	}, | ||||
| 
 | ||||
| 	data() { | ||||
|  | @ -53,7 +67,8 @@ export default Vue.extend({ | |||
| 		if (this.value.content == null) Vue.set(this.value, 'content', null); | ||||
| 		if (this.value.event == null) Vue.set(this.value, 'event', null); | ||||
| 		if (this.value.message == null) Vue.set(this.value, 'message', null); | ||||
| 		if (this.value.message == null) Vue.set(this.value, 'primary', false); | ||||
| 		if (this.value.primary == null) Vue.set(this.value, 'primary', false); | ||||
| 		if (this.value.var == null) Vue.set(this.value, 'var', null); | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
|  |  | |||
|  | @ -30,7 +30,10 @@ export default Vue.extend({ | |||
| 			} else if (this.value.action === 'pushEvent') { | ||||
| 				this.$root.api('page-push', { | ||||
| 					pageId: this.script.page.id, | ||||
| 					event: this.value.event | ||||
| 					event: this.value.event, | ||||
| 					...(this.value.var ? { | ||||
| 						var: this.script.vars[this.value.var] | ||||
| 					} : {}) | ||||
| 				}); | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
|  |  | |||
|  | @ -16,6 +16,10 @@ export const meta = { | |||
| 
 | ||||
| 		event: { | ||||
| 			validator: $.str | ||||
| 		}, | ||||
| 
 | ||||
| 		var: { | ||||
| 			validator: $.optional.nullable.any | ||||
| 		} | ||||
| 	}, | ||||
| 
 | ||||
|  | @ -37,6 +41,7 @@ export default define(meta, async (ps, user) => { | |||
| 	publishMainStream(user.id, 'pageEvent', { | ||||
| 		pageId: ps.pageId, | ||||
| 		event: ps.event, | ||||
| 		var: ps.var, | ||||
| 		user: await Users.pack(user, page.userId, { | ||||
| 			detail: true | ||||
| 		}) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue