summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkObjectView.value.vue
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-14 12:23:39 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-05-14 12:23:39 +0900
commit0717afc3124a5d7434af3df31dfa54cbf420f109 (patch)
tree6182a31c905872a6cd25f28f9c97322f6f1579e4 /packages/frontend/src/components/MkObjectView.value.vue
parentrefactor(frontend): use composition api (diff)
downloadsharkey-0717afc3124a5d7434af3df31dfa54cbf420f109.tar.gz
sharkey-0717afc3124a5d7434af3df31dfa54cbf420f109.tar.bz2
sharkey-0717afc3124a5d7434af3df31dfa54cbf420f109.zip
refactor(frontend): use composition api
Diffstat (limited to 'packages/frontend/src/components/MkObjectView.value.vue')
-rw-r--r--packages/frontend/src/components/MkObjectView.value.vue64
1 files changed, 24 insertions, 40 deletions
diff --git a/packages/frontend/src/components/MkObjectView.value.vue b/packages/frontend/src/components/MkObjectView.value.vue
index e7fc73bce3..d48e7886eb 100644
--- a/packages/frontend/src/components/MkObjectView.value.vue
+++ b/packages/frontend/src/components/MkObjectView.value.vue
@@ -28,54 +28,38 @@
</div>
</template>
-<script lang="ts">
-import { defineComponent, reactive } from 'vue';
+<script lang="ts" setup>
+import { reactive } from 'vue';
import number from '@/filters/number';
+import XValue from '@/components/MkObjectView.value.vue';
-export default defineComponent({
- name: 'XValue',
+const props = defineProps<{
+ value: any;
+}>();
- props: {
- value: {
- required: true,
- },
- },
+const collapsed = reactive({});
- setup(props) {
- const collapsed = reactive({});
-
- if (isObject(props.value)) {
- for (const key in props.value) {
- collapsed[key] = collapsable(props.value[key]);
- }
- }
-
- function isObject(v): boolean {
- return typeof v === 'object' && !Array.isArray(v) && v !== null;
- }
+if (isObject(props.value)) {
+ for (const key in props.value) {
+ collapsed[key] = collapsable(props.value[key]);
+ }
+}
- function isArray(v): boolean {
- return Array.isArray(v);
- }
+function isObject(v): boolean {
+ return typeof v === 'object' && !Array.isArray(v) && v !== null;
+}
- function isEmpty(v): boolean {
- return (isArray(v) && v.length === 0) || (isObject(v) && Object.keys(v).length === 0);
- }
+function isArray(v): boolean {
+ return Array.isArray(v);
+}
- function collapsable(v): boolean {
- return (isObject(v) || isArray(v)) && !isEmpty(v);
- }
+function isEmpty(v): boolean {
+ return (isArray(v) && v.length === 0) || (isObject(v) && Object.keys(v).length === 0);
+}
- return {
- number,
- collapsed,
- isObject,
- isArray,
- isEmpty,
- collapsable,
- };
- },
-});
+function collapsable(v): boolean {
+ return (isObject(v) || isArray(v)) && !isEmpty(v);
+}
</script>
<style lang="scss" scoped>