diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2019-07-06 18:14:50 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-07-06 18:14:50 +0900 |
| commit | 64397708fdd706d28918cee8859c68ab8ed925c8 (patch) | |
| tree | 01be85e8b9e129a6041df2381dedbcf4c7c67a05 /src/client | |
| parent | やった (#5110) (diff) | |
| download | misskey-64397708fdd706d28918cee8859c68ab8ed925c8.tar.gz misskey-64397708fdd706d28918cee8859c68ab8ed925c8.tar.bz2 misskey-64397708fdd706d28918cee8859c68ab8ed925c8.zip | |
MisskeyPagesにイベント送信ボタンを追加
Diffstat (limited to 'src/client')
3 files changed, 24 insertions, 3 deletions
diff --git a/src/client/app/common/views/pages/page-editor/els/page-editor.el.button.vue b/src/client/app/common/views/pages/page-editor/els/page-editor.el.button.vue index f89279f05a..579de6a8fc 100644 --- a/src/client/app/common/views/pages/page-editor/els/page-editor.el.button.vue +++ b/src/client/app/common/views/pages/page-editor/els/page-editor.el.button.vue @@ -8,8 +8,15 @@ <template #label>{{ $t('blocks._button.action') }}</template> <option value="dialog">{{ $t('blocks._button._action.dialog') }}</option> <option value="resetRandom">{{ $t('blocks._button._action.resetRandom') }}</option> + <option value="pushEvent">{{ $t('blocks._button._action.pushEvent') }}</option> </ui-select> - <ui-input v-if="value.action === 'dialog'" v-model="value.content"><span>{{ $t('blocks._button._action._dialog.content') }}</span></ui-input> + <template v-if="value.action === 'dialog'"> + <ui-input v-model="value.content"><span>{{ $t('blocks._button._action._dialog.content') }}</span></ui-input> + </template> + <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> + </template> </section> </x-container> </template> @@ -43,6 +50,8 @@ export default Vue.extend({ if (this.value.text == null) Vue.set(this.value, 'text', ''); if (this.value.action == null) Vue.set(this.value, 'action', 'dialog'); 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); }, }); </script> diff --git a/src/client/app/common/views/pages/page/page.button.vue b/src/client/app/common/views/pages/page/page.button.vue index 3747be96ce..9f760bf48c 100644 --- a/src/client/app/common/views/pages/page/page.button.vue +++ b/src/client/app/common/views/pages/page/page.button.vue @@ -27,6 +27,16 @@ export default Vue.extend({ } else if (this.value.action === 'resetRandom') { this.script.aiScript.updateRandomSeed(Math.random()); this.script.eval(); + } else if (this.value.action === 'pushEvent') { + this.$root.api('page-push', { + pageId: this.script.page.id, + event: this.value.event + }); + + this.$root.dialog({ + type: 'success', + text: this.script.interpolate(this.value.message) + }); } } } diff --git a/src/client/app/common/views/pages/page/page.vue b/src/client/app/common/views/pages/page/page.vue index 96a2cfafb7..a93d5316d5 100644 --- a/src/client/app/common/views/pages/page/page.vue +++ b/src/client/app/common/views/pages/page/page.vue @@ -35,8 +35,10 @@ class Script { public aiScript: ASEvaluator; private onError: any; public vars: Record<string, any>; + public page: Record<string, any>; - constructor(aiScript, onError) { + constructor(page, aiScript, onError) { + this.page = page; this.aiScript = aiScript; this.onError = onError; this.eval(); @@ -113,7 +115,7 @@ export default Vue.extend({ icon: faStickyNote }); const pageVars = this.getPageVars(); - this.script = new Script(new ASEvaluator(this.page.variables, pageVars, { + this.script = new Script(this.page, new ASEvaluator(this.page.variables, pageVars, { randomSeed: Math.random(), user: page.user, visitor: this.$store.state.i, |