From f61ee183444899625c64ee9f5b80999c03e81fdf Mon Sep 17 00:00:00 2001 From: Damnae Date: Wed, 3 Apr 2024 12:48:50 +0200 Subject: [PATCH] Add loading display to changes. --- src/components/LoadingArea.vue | 16 +++++++++++ src/views/pages/changes/Abilities.vue | 36 ++++++++++++++----------- src/views/pages/changes/Modifiers.vue | 36 ++++++++++++++----------- src/views/pages/changes/Statuses.vue | 38 +++++++++++++++------------ 4 files changed, 77 insertions(+), 49 deletions(-) create mode 100644 src/components/LoadingArea.vue diff --git a/src/components/LoadingArea.vue b/src/components/LoadingArea.vue new file mode 100644 index 0000000..caff84b --- /dev/null +++ b/src/components/LoadingArea.vue @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/src/views/pages/changes/Abilities.vue b/src/views/pages/changes/Abilities.vue index 24e8a9c..7380389 100644 --- a/src/views/pages/changes/Abilities.vue +++ b/src/views/pages/changes/Abilities.vue @@ -2,18 +2,20 @@ import { computed, ref, watch, } from 'vue'; import { TaskContext, TaskContextType, getTaskContext } from '@/sources/ability'; import AbilityItem from './AbilityItem.vue'; + import LoadingArea from '@/components/LoadingArea.vue'; const props = defineProps<{fromCommitId:string, commitId:string, contextType:TaskContextType}>() - const taskContextFrom = ref(await getTaskContext(props.fromCommitId, props.contextType)) - const taskContext = ref(await getTaskContext(props.commitId, props.contextType)) + const loading = ref(true) + const taskContextFrom = ref(await getTaskContext(props.fromCommitId, TaskContextType.Empty)) + const taskContext = ref(await getTaskContext(props.commitId, TaskContextType.Empty)) watch(props, async () => { - const from = await getTaskContext(props.fromCommitId, props.contextType) - const to = await getTaskContext(props.commitId, props.contextType) - taskContextFrom.value = from - taskContext.value = to - }) + loading.value = true + taskContextFrom.value = await getTaskContext(props.fromCommitId, props.contextType) + taskContext.value = await getTaskContext(props.commitId, props.contextType) + loading.value = false + }, { immediate:true }) const addedAbilities = computed(() => Object.values(taskContext.value.Abilities) .filter(v => taskContextFrom.value.Abilities[v.Name] == undefined) @@ -29,15 +31,17 @@

Abilities

-

{{ addedAbilities.length }} Added

- - -

{{ removedAbilities.length }} Removed

- + +

{{ addedAbilities.length }} Added

+ + +

{{ removedAbilities.length }} Removed

+ +
diff --git a/src/views/pages/changes/Modifiers.vue b/src/views/pages/changes/Modifiers.vue index 851b0ec..cc7bdcb 100644 --- a/src/views/pages/changes/Modifiers.vue +++ b/src/views/pages/changes/Modifiers.vue @@ -2,18 +2,20 @@ import { computed, ref, watch, } from 'vue'; import { TaskContext, TaskContextType, getTaskContext } from '@/sources/ability'; import ModifierItem from './ModifierItem.vue'; + import LoadingArea from '@/components/LoadingArea.vue'; const props = defineProps<{fromCommitId:string, commitId:string, contextType:TaskContextType}>() - const taskContextFrom = ref(await getTaskContext(props.fromCommitId, props.contextType)) - const taskContext = ref(await getTaskContext(props.commitId, props.contextType)) + const loading = ref(true) + const taskContextFrom = ref(await getTaskContext(props.fromCommitId, TaskContextType.Empty)) + const taskContext = ref(await getTaskContext(props.commitId, TaskContextType.Empty)) watch(props, async () => { - const from = await getTaskContext(props.fromCommitId, props.contextType) - const to = await getTaskContext(props.commitId, props.contextType) - taskContextFrom.value = from - taskContext.value = to - }) + loading.value = true + taskContextFrom.value = await getTaskContext(props.fromCommitId, props.contextType) + taskContext.value = await getTaskContext(props.commitId, props.contextType) + loading.value = false + }, { immediate:true }) const addedModifiers = computed(() => Object.values(taskContext.value.Modifiers) .filter(v => taskContextFrom.value.Modifiers[v.Name] == undefined) @@ -29,15 +31,17 @@

Modifiers

-

{{ addedModifiers.length }} Added

- - -

{{ removedModifiers.length }} Removed

- + +

{{ addedModifiers.length }} Added

+ + +

{{ removedModifiers.length }} Removed

+ +
diff --git a/src/views/pages/changes/Statuses.vue b/src/views/pages/changes/Statuses.vue index 2dbd4d1..bd41a35 100644 --- a/src/views/pages/changes/Statuses.vue +++ b/src/views/pages/changes/Statuses.vue @@ -2,18 +2,20 @@ import { computed, ref, watch, } from 'vue'; import { StatusConfig, getStatuses } from '@/sources/status'; import StatusItem from './StatusItem.vue'; + import LoadingArea from '@/components/LoadingArea.vue'; const props = defineProps<{fromCommitId:string, commitId:string}>() - - const statusesFrom = ref(await getStatuses(props.fromCommitId)) - const statuses = ref(await getStatuses(props.commitId)) + + const loading = ref(true) + const statusesFrom = ref({}) + const statuses = ref({}) watch(props, async () => { - const from = await getStatuses(props.fromCommitId) - const to = await getStatuses(props.commitId) - statusesFrom.value = from - statuses.value = to - }) + loading.value = true + statusesFrom.value = await getStatuses(props.fromCommitId) + statuses.value = await getStatuses(props.commitId) + loading.value = false + }, { immediate:true }) const addedStatuses = computed(() => Object.values(statuses.value) .filter(v => statusesFrom.value[v.StatusID] == undefined) @@ -29,15 +31,17 @@

Statuses

-

{{ addedStatuses.length }} Added

- - -

{{ removedStatuses.length }} Removed

- + +

{{ addedStatuses.length }} Added

+ + +

{{ removedStatuses.length }} Removed

+ +