138138 {{ MC_ClimbingStylesByStyle[style].icon }}
139139 </v-icon >
140140 </template >
141+ <template
142+ v-once
143+ #[` item.subLevel ` ]=" { item } "
144+ >
145+ <gym-route-sub-level-scale
146+ v-if =" item.subLevel"
147+ :gym-route =" { sub_level: item.subLevel, sub_level_max: item.subLevelMax }"
148+ />
149+ </template >
141150 <template
142151 v-once
143152 #[` item.openedAt ` ]=" { item } "
@@ -435,6 +444,8 @@ import {
435444} from ' @mdi/js'
436445import { DateHelpers } from ' @/mixins/DateHelpers'
437446import { GymRolesHelpers } from ' ~/mixins/GymRolesHelpers'
447+ import { ClimbingStylesMixin } from ' ~/mixins/ClimbingStylesMixin'
448+ import { ImageVariantHelpers } from ' ~/mixins/ImageVariantHelpers'
438449import GymApi from ' ~/services/oblyk-api/GymApi'
439450import GymRoute from ' @/models/GymRoute'
440451import GymRouteTagAndHold from ' @/components/gymRoutes/partial/GymRouteTagAndHold'
@@ -446,13 +457,13 @@ import GymSpace from '~/models/GymSpace'
446457import DownToCloseDialog from ' ~/components/ui/DownToCloseDialog'
447458import GymRouteInfo from ' ~/components/gymRoutes/GymRouteInfo'
448459import OpeningSheetDialog from ' ~/components/gymOpeningSheets/OpeningSheetDialog'
449- import { ImageVariantHelpers } from ' ~/mixins/ImageVariantHelpers'
450460import AscentGymRouteIcon from ' ~/components/ascentGymRoutes/AscentGymRouteIcon'
451- import { ClimbingStylesMixin } from ' ~/mixins/ClimbingStylesMixin '
461+ import GymRouteSubLevelScale from ' ~/components/gymRoutes/GymRouteSubLevelScale '
452462
453463export default {
454464 name: ' GymRoutesTable' ,
455465 components: {
466+ GymRouteSubLevelScale,
456467 AscentGymRouteIcon,
457468 OpeningSheetDialog,
458469 GymRouteInfo,
@@ -599,6 +610,7 @@ export default {
599610 let haveAnchor = false
600611 let haveName = false
601612 let haveGrade = false
613+ let haveSubLevel = false
602614 for (const route of this .routes ) {
603615 // Add anchor column
604616 if (! haveAnchor && route .anchor_number !== null ) {
@@ -613,6 +625,21 @@ export default {
613625 })
614626 haveAnchor = true
615627 }
628+
629+ // Add subLevel column
630+ if (! haveSubLevel && route .sub_level > 0 ) {
631+ headers .push ({
632+ order: 4.1 ,
633+ text: this .$t (' models.gymRoute.intensity' ),
634+ align: ' start' ,
635+ sortable: true ,
636+ cellClass: ' text-no-wrap' ,
637+ class: ' text-no-wrap' ,
638+ value: ' subLevel'
639+ })
640+ haveSubLevel = true
641+ }
642+
616643 // Add name column
617644 if (! haveName && route .name !== null ) {
618645 headers .push ({
@@ -625,6 +652,7 @@ export default {
625652 })
626653 haveName = true
627654 }
655+
628656 // Add grade column
629657 if (! haveGrade && route .grade_to_s !== null ) {
630658 headers .push ({
@@ -754,6 +782,8 @@ export default {
754782 point_to_s: route .points_to_s ,
755783 points: route .points ,
756784 styles,
785+ subLevel: route .sub_level ,
786+ subLevelMax: route .sub_level_max ,
757787 anchorNumber: route .anchor_number ,
758788 sector: route .gym_sector .name ,
759789 gym_space: {
0 commit comments