diff --git a/components/SheetDataView.vue/SheetDataChart.vue b/components/SheetDataView.vue/SheetDataChart.vue index 70eda0e..54b8700 100644 --- a/components/SheetDataView.vue/SheetDataChart.vue +++ b/components/SheetDataView.vue/SheetDataChart.vue @@ -3,6 +3,10 @@ import { computed, inject, Ref } from '@nuxtjs/composition-api'; import VChart from 'vue-echarts/dist/csp'; import * as echarts from 'echarts'; import { useDataStore } from '~/stores/data'; +import useGtag from '~/composables/useGtag'; +import useGameInfo from '~/composables/useGameInfo'; +import useGameData from '~/composables/useGameData'; +import useSheetComboDialog from '~/composables/useSheetComboDialog'; import type { Sheet, Filters, FilterOptions } from '~/types'; import 'vue-echarts/dist/csp/style.css'; @@ -10,8 +14,21 @@ const sheets: Ref = inject('sheets')!; const filters: Ref = inject('filters')!; const filterOptions: Ref = inject('filterOptions')!; +const gtag = useGtag(); const dataStore = useDataStore(); +const { gameCode } = useGameInfo(); +const { getTypeIndex, getDifficultyIndex } = useGameData(); +const { viewSheetCombo } = useSheetComboDialog(); + const data = computed(() => dataStore.currentData); +const sortedSheets = computed(() => sheets.value.toSorted( + (a, b) => 0 + || (b.levelValue ?? 0) - (a.levelValue ?? 0) + || (b.internalLevelValue ?? 0) - (a.internalLevelValue ?? 0) + || (b.internalLevel != null ? 1 : 0) - (a.internalLevel != null ? 1 : 0) + || (getDifficultyIndex(b.difficulty)) - (getDifficultyIndex(a.difficulty)) + || (getTypeIndex(a.type)) - (getTypeIndex(b.type)), +)); function getSheetLevelValueInUse(sheet: Sheet) { return ( @@ -92,6 +109,7 @@ const option = computed(() => ({ tooltip: { trigger: 'axis', order: 'seriesDesc', + extraCssText: 'z-index: 200 !important;', }, xAxis: { type: 'category', @@ -123,6 +141,8 @@ const option = computed(() => ({ .filter((sheet) => getSheetDifficultyInUse(sheet) === difficulty) .filter((sheet) => getSheetLevelValueInUse(sheet) === level.value) .length, + _getSheets: () => sortedSheets.value + .filter((sheet) => getSheetLevelValueInUse(sheet) === level.value), })), } satisfies echarts.BarSeriesOption)), ], @@ -136,6 +156,10 @@ const option = computed(() => ({ :init-options="initOptions" :option="option" autoresize + @click=" + viewSheetCombo($event.data._getSheets()); + gtag('event', 'SheetComboViewed', { gameCode, eventSource: 'SheetDataChart' }); + " />