summaryrefslogtreecommitdiff
path: root/packages/client/src
diff options
context:
space:
mode:
authorAndreas Nedbal <github-bf215181b5140522137b3d4f6b73544a@desu.email>2022-06-18 11:39:04 +0200
committerGitHub <noreply@github.com>2022-06-18 18:39:04 +0900
commit54465d36a791654317ad6ecc0e5a727984991b76 (patch)
treebdaeac48040d84a6d4b719a32d8846548d917e96 /packages/client/src
parentfix typo (diff)
downloadmisskey-54465d36a791654317ad6ecc0e5a727984991b76.tar.gz
misskey-54465d36a791654317ad6ecc0e5a727984991b76.tar.bz2
misskey-54465d36a791654317ad6ecc0e5a727984991b76.zip
Refactor page-editor elements to use Composition API (#8721)
* refactor(client): refactor page-editor elements to use Composition API * Apply review suggestions from @Johann150 Co-authored-by: Johann150 <johann@qwertqwefsday.eu> Co-authored-by: Johann150 <johann@qwertqwefsday.eu>
Diffstat (limited to 'packages/client/src')
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.button.vue48
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.canvas.vue34
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.counter.vue30
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.if.vue61
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.image.vue64
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.note.vue57
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.number-input.vue30
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.post.vue34
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue49
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.section.vue83
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.switch.vue30
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.text-input.vue30
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.text.vue30
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.textarea-input.vue30
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.textarea.vue30
15 files changed, 213 insertions, 427 deletions
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.button.vue b/packages/client/src/pages/page-editor/els/page-editor.el.button.vue
index 827679d6a9..4c2e0e4eb4 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.button.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.button.vue
@@ -38,44 +38,28 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkSelect from '@/components/form/select.vue';
import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkSelect, MkInput, MkSwitch
- },
-
- props: {
- value: {
- required: true
- },
- hpml: {
- required: true,
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.text == null) this.value.text = '';
- if (this.value.action == null) this.value.action = 'dialog';
- if (this.value.content == null) this.value.content = null;
- if (this.value.event == null) this.value.event = null;
- if (this.value.message == null) this.value.message = null;
- if (this.value.primary == null) this.value.primary = false;
- if (this.value.var == null) this.value.var = null;
- if (this.value.fn == null) this.value.fn = null;
- },
+withDefaults(defineProps<{
+ value: any,
+ hpml: any
+}>(), {
+ value: {
+ text: '',
+ action: 'dialog',
+ content: null,
+ event: null,
+ message: null,
+ primary: false,
+ var: null,
+ fn: null
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.canvas.vue b/packages/client/src/pages/page-editor/els/page-editor.el.canvas.vue
index ba5d0ba1f7..191321ae14 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.canvas.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.canvas.vue
@@ -20,33 +20,19 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkInput
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.name == null) this.value.name = '';
- if (this.value.width == null) this.value.width = 300;
- if (this.value.height == null) this.value.height = 200;
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: '',
+ width: 300,
+ height: 200
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.counter.vue b/packages/client/src/pages/page-editor/els/page-editor.el.counter.vue
index dc98a610ba..1a2078448d 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.counter.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.counter.vue
@@ -18,31 +18,17 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkInput
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.name == null) this.value.name = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.if.vue b/packages/client/src/pages/page-editor/els/page-editor.el.if.vue
index be3a520ea5..d763070b15 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.if.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.if.vue
@@ -25,54 +25,39 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent, defineAsyncComponent } from 'vue';
+import { defineAsyncComponent, inject } from 'vue';
import { v4 as uuid } from 'uuid';
import XContainer from '../page-editor.container.vue';
import MkSelect from '@/components/form/select.vue';
import * as os from '@/os';
+import { i18n } from '@/i18n';
-export default defineComponent({
- components: {
- XContainer, MkSelect,
- XBlocks: defineAsyncComponent(() => import('../page-editor.blocks.vue')),
- },
+const XBlocks = defineAsyncComponent(() => import('../page-editor.blocks.vue'));
- inject: ['getPageBlockList'],
-
- props: {
- value: {
- required: true
- },
- hpml: {
- required: true,
- },
- },
-
- data() {
- return {
- };
- },
+const props = withDefaults(defineProps<{
+ value: any,
+ hpml: any
+}>(), {
+ value: {
+ children: [],
+ var: null
+ }
+});
- created() {
- if (this.value.children == null) this.value.children = [];
- if (this.value.var === undefined) this.value.var = null;
- },
+const getPageBlockList = inject<(any) => any>('getPageBlockList');
- methods: {
- async add() {
- const { canceled, result: type } = await os.select({
- title: this.$ts._pages.chooseBlock,
- groupedItems: this.getPageBlockList()
- });
- if (canceled) return;
+async function add() {
+ const { canceled, result: type } = await os.select({
+ title: i18n.ts._pages.chooseBlock,
+ groupedItems: getPageBlockList()
+ });
+ if (canceled) return;
- const id = uuid();
- this.value.children.push({ id, type });
- },
- }
-});
+ const id = uuid();
+ props.value.children.push({ id, type });
+}
</script>
<style lang="scss" scoped>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.image.vue b/packages/client/src/pages/page-editor/els/page-editor.el.image.vue
index 9a6adab30a..b22bf1cb34 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.image.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.image.vue
@@ -14,53 +14,39 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { onMounted } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkDriveFileThumbnail from '@/components/drive-file-thumbnail.vue';
import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkDriveFileThumbnail
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- file: null,
- };
- },
+const props = withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ fileId: null
+ }
+});
- created() {
- if (this.value.fileId === undefined) this.value.fileId = null;
- },
+let file: any = $ref(null);
- mounted() {
- if (this.value.fileId == null) {
- this.choose();
- } else {
- os.api('drive/files/show', {
- fileId: this.value.fileId
- }).then(file => {
- this.file = file;
- });
- }
- },
+async function choose() {
+ os.selectDriveFile(false).then((fileResponse: any) => {
+ file = fileResponse;
+ props.value.fileId = fileResponse.id;
+ });
+}
- methods: {
- async choose() {
- os.selectDriveFile(false).then(file => {
- this.file = file;
- this.value.fileId = file.id;
- });
- },
+onMounted(async () => {
+ if (props.value.fileId == null) {
+ await choose();
+ } else {
+ os.api('drive/files/show', {
+ fileId: props.value.fileId
+ }).then(fileResponse => {
+ file = fileResponse;
+ });
}
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.note.vue b/packages/client/src/pages/page-editor/els/page-editor.el.note.vue
index 2d4d9c5dcc..27f9f961f3 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.note.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.note.vue
@@ -16,9 +16,9 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { watch } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue';
@@ -26,42 +26,27 @@ import XNote from '@/components/note.vue';
import XNoteDetailed from '@/components/note-detailed.vue';
import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkInput, MkSwitch, XNote, XNoteDetailed,
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- id: this.value.note,
- note: null,
- };
- },
+const props = withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ note: null,
+ detailed: false
+ }
+});
- watch: {
- id: {
- async handler() {
- if (this.id && (this.id.startsWith('http://') || this.id.startsWith('https://'))) {
- this.value.note = this.id.endsWith('/') ? this.id.substr(0, this.id.length - 1).split('/').pop() : this.id.split('/').pop();
- } else {
- this.value.note = this.id;
- }
+let id: any = $ref(props.value.note);
+let note: any = $ref(null);
- this.note = await os.api('notes/show', { noteId: this.value.note });
- },
- immediate: true
- },
- },
+watch(id, async () => {
+ if (id && (id.startsWith('http://') || id.startsWith('https://'))) {
+ props.value.note = (id.endsWith('/') ? id.slice(0, -1) : id).split('/').pop();
+ } else {
+ props.value.note = id;
+ }
- created() {
- if (this.value.note == null) this.value.note = null;
- if (this.value.detailed == null) this.value.detailed = false;
- },
+ note = await os.api('notes/show', { noteId: props.value.note });
+}, {
+ immediate: true
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.number-input.vue b/packages/client/src/pages/page-editor/els/page-editor.el.number-input.vue
index 9083f0c493..479a859e76 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.number-input.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.number-input.vue
@@ -18,31 +18,17 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkInput
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.name == null) this.value.name = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.post.vue b/packages/client/src/pages/page-editor/els/page-editor.el.post.vue
index 3af720f4b7..f8c42c296b 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.post.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.post.vue
@@ -11,35 +11,21 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkTextarea from '@/components/form/textarea.vue';
import MkInput from '@/components/form/input.vue';
import MkSwitch from '@/components/form/switch.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkTextarea, MkInput, MkSwitch
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.text == null) this.value.text = '';
- if (this.value.attachCanvasImage == null) this.value.attachCanvasImage = false;
- if (this.value.canvasId == null) this.value.canvasId = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ text: '',
+ attachCanvasImage: false,
+ canvasId: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue b/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue
index 2502a54d79..183e60a69a 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue
@@ -12,41 +12,28 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { watch } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkTextarea from '@/components/form/textarea.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkTextarea, MkInput
- },
- props: {
- value: {
- required: true
- },
- },
- data() {
- return {
- values: '',
- };
- },
- watch: {
- values: {
- handler() {
- this.value.values = this.values.split('\n');
- },
- deep: true
- }
- },
- created() {
- if (this.value.name == null) this.value.name = '';
- if (this.value.title == null) this.value.title = '';
- if (this.value.values == null) this.value.values = [];
- this.values = this.value.values.join('\n');
- },
+const props = withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: '',
+ title: '',
+ values: []
+ }
+});
+
+let values: string = $ref(props.value.values.join('\n'));
+
+watch(values, () => {
+ props.value.values = values.split('\n')
+}, {
+ deep: true
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.section.vue b/packages/client/src/pages/page-editor/els/page-editor.el.section.vue
index 1684895fe1..7276cc1e1b 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.section.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.section.vue
@@ -17,66 +17,51 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent, defineAsyncComponent } from 'vue';
+import { defineAsyncComponent, inject, onMounted } from 'vue';
import { v4 as uuid } from 'uuid';
import XContainer from '../page-editor.container.vue';
import * as os from '@/os';
+import { i18n } from '@/i18n';
-export default defineComponent({
- components: {
- XContainer,
- XBlocks: defineAsyncComponent(() => import('../page-editor.blocks.vue')),
- },
+const XBlocks = defineAsyncComponent(() => import('../page-editor.blocks.vue'));
- inject: ['getPageBlockList'],
-
- props: {
- value: {
- required: true
- },
- hpml: {
- required: true,
- },
- },
-
- data() {
- return {
- };
- },
+const props = withDefaults(defineProps<{
+ value: any,
+ hpml: any
+}>(), {
+ value: {
+ title: null,
+ children: []
+ }
+});
- created() {
- if (this.value.title == null) this.value.title = null;
- if (this.value.children == null) this.value.children = [];
- },
+const getPageBlockList = inject<(any) => any>('getPageBlockList');
- mounted() {
- if (this.value.title == null) {
- this.rename();
- }
- },
+async function rename() {
+ const { canceled, result: title } = await os.inputText({
+ title: 'Enter title',
+ default: props.value.title
+ });
+ if (canceled) return;
+ props.value.title = title;
+}
- methods: {
- async rename() {
- const { canceled, result: title } = await os.inputText({
- title: 'Enter title',
- default: this.value.title
- });
- if (canceled) return;
- this.value.title = title;
- },
+async function add() {
+ const { canceled, result: type } = await os.select({
+ title: i18n.ts._pages.chooseBlock,
+ groupedItems: getPageBlockList()
+ });
+ if (canceled) return;
- async add() {
- const { canceled, result: type } = await os.select({
- title: this.$ts._pages.chooseBlock,
- groupedItems: this.getPageBlockList()
- });
- if (canceled) return;
+ const id = uuid();
+ props.value.children.push({ id, type });
+}
- const id = uuid();
- this.value.children.push({ id, type });
- },
+onMounted(() => {
+ if (props.value.title == null) {
+ rename();
}
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.switch.vue b/packages/client/src/pages/page-editor/els/page-editor.el.switch.vue
index b989dce0ac..ded57cf304 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.switch.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.switch.vue
@@ -11,33 +11,19 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkSwitch from '@/components/form/switch.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkSwitch, MkInput
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.name == null) this.value.name = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.text-input.vue b/packages/client/src/pages/page-editor/els/page-editor.el.text-input.vue
index b25ac38d51..1e269ae58c 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.text-input.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.text-input.vue
@@ -11,31 +11,17 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkInput
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.name == null) this.value.name = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.text.vue b/packages/client/src/pages/page-editor/els/page-editor.el.text.vue
index f23a8ded90..e0ebe68dda 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.text.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.text.vue
@@ -9,31 +9,17 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.text == null) this.value.text = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ text: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.textarea-input.vue b/packages/client/src/pages/page-editor/els/page-editor.el.textarea-input.vue
index f61f0cb1b7..1bb4aaa543 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.textarea-input.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.textarea-input.vue
@@ -11,32 +11,18 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
import MkTextarea from '@/components/form/textarea.vue';
import MkInput from '@/components/form/input.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer, MkTextarea, MkInput
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.name == null) this.value.name = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ name: ''
+ }
});
</script>
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.textarea.vue b/packages/client/src/pages/page-editor/els/page-editor.el.textarea.vue
index bbabe28488..dca7de8df9 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.textarea.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.textarea.vue
@@ -9,31 +9,17 @@
</XContainer>
</template>
-<script lang="ts">
+<script lang="ts" setup>
/* eslint-disable vue/no-mutating-props */
-import { defineComponent } from 'vue';
+import { } from 'vue';
import XContainer from '../page-editor.container.vue';
-import * as os from '@/os';
-export default defineComponent({
- components: {
- XContainer
- },
-
- props: {
- value: {
- required: true
- },
- },
-
- data() {
- return {
- };
- },
-
- created() {
- if (this.value.text == null) this.value.text = '';
- },
+withDefaults(defineProps<{
+ value: any
+}>(), {
+ value: {
+ text: ''
+ }
});
</script>