- WIP prepping activities view for adjustable swimlane height.
- Refactored ActivityTimeline.vue to not draw SVG if no activities in timeframe.
- ActivityTimeline.vue `leftOffset` now uses absolute position `left` instead of `left-margin`.
This commit is contained in:
Charles Hacskaylo 2024-12-19 15:25:30 -08:00
parent cfa2129660
commit e6cb940ee7
2 changed files with 58 additions and 58 deletions

View File

@ -25,7 +25,8 @@
{{ heading }} {{ heading }}
</template> </template>
<template #object> <template #object>
<svg :height="height" :width="svgWidth" :style="alignmentStyle"> <div class="c-plan-av" :style="alignmentStyle">
<svg v-if="activities.length > 0" :height="height" :width="svgWidth">
<symbol id="activity-bar-bg" :height="rowHeight" width="2" preserveAspectRatio="none"> <symbol id="activity-bar-bg" :height="rowHeight" width="2" preserveAspectRatio="none">
<rect x="0" y="0" width="100%" height="100%" fill="currentColor" /> <rect x="0" y="0" width="100%" height="100%" fill="currentColor" />
<line <line
@ -78,15 +79,9 @@
</text> </text>
</g> </g>
</template> </template>
<text
v-if="activities.length === 0"
x="10"
y="20"
class="c-plan__activity-label--outside-rect"
>
No activities within current timeframe
</text>
</svg> </svg>
<div v-else class="c-timeline__no-items">No activities within timeframe</div>
</div>
</template> </template>
</SwimLane> </SwimLane>
</template> </template>
@ -166,7 +161,7 @@ export default {
leftOffset = this.alignmentData.multiple ? 2 * AXES_PADDING : AXES_PADDING; leftOffset = this.alignmentData.multiple ? 2 * AXES_PADDING : AXES_PADDING;
} }
return { return {
marginLeft: `${this.alignmentData.leftWidth + leftOffset}px` left: `${this.alignmentData.leftWidth + leftOffset}px`
}; };
}, },
svgWidth() { svgWidth() {

View File

@ -29,6 +29,11 @@
} }
} }
&-av {
// Activities view
@include abs();
}
&__activity { &__activity {
cursor: pointer; cursor: pointer;