diff options
Diffstat (limited to 'packages/frontend/src/components/page/page.textarea.vue')
| -rw-r--r-- | packages/frontend/src/components/page/page.textarea.vue | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/frontend/src/components/page/page.textarea.vue b/packages/frontend/src/components/page/page.textarea.vue new file mode 100644 index 0000000000..f809925081 --- /dev/null +++ b/packages/frontend/src/components/page/page.textarea.vue @@ -0,0 +1,39 @@ +<template> +<MkTextarea :model-value="text" readonly></MkTextarea> +</template> + +<script lang="ts"> +import { TextBlock } from '@/scripts/hpml/block'; +import { Hpml } from '@/scripts/hpml/evaluator'; +import { defineComponent, PropType } from 'vue'; +import MkTextarea from '../form/textarea.vue'; + +export default defineComponent({ + components: { + MkTextarea, + }, + props: { + block: { + type: Object as PropType<TextBlock>, + required: true, + }, + hpml: { + type: Object as PropType<Hpml>, + required: true, + }, + }, + data() { + return { + text: this.hpml.interpolate(this.block.text), + }; + }, + watch: { + 'hpml.vars': { + handler() { + this.text = this.hpml.interpolate(this.block.text); + }, + deep: true, + }, + }, +}); +</script> |