@@ -6,7 +6,6 @@ import { Menu as VMenu } from 'floating-vue'
6
6
import { computed , ref } from ' vue'
7
7
import { settings } from ' ~~/app/state/settings'
8
8
import { parseReadablePath } from ' ~/utils/filepath'
9
- import { normalizeTimestamp } from ' ~/utils/format'
10
9
import { getFileTypeFromModuleId , ModuleTypeRules } from ' ~/utils/icon'
11
10
12
11
const props = defineProps <{
@@ -116,12 +115,6 @@ function toggleDurationSortType() {
116
115
</VMenu >
117
116
</button >
118
117
</div >
119
- <div v-if =" selectedFields.includes('startTime')" role =" columnheader" rounded-tr-2 bg-base flex-none min-w52 ws-nowrap p1 text-center font-600 >
120
- Start Time
121
- </div >
122
- <div v-if =" selectedFields.includes('endTime')" role =" columnheader" rounded-tr-2 bg-base flex-none min-w52 ws-nowrap p1 text-center font-600 >
123
- End Time
124
- </div >
125
118
<div v-if =" selectedFields.includes('duration')" role =" columnheader" rounded-tr-2 bg-base flex-none ws-nowrap p1 text-center font-600 w-27 >
126
119
<button flex =" ~ row gap1 items-center justify-center" w-full @click =" toggleDurationSortType" >
127
120
Duration
@@ -130,6 +123,12 @@ function toggleDurationSortType() {
130
123
</span >
131
124
</button >
132
125
</div >
126
+ <div v-if =" selectedFields.includes('startTime')" role =" columnheader" rounded-tr-2 bg-base flex-none min-w52 ws-nowrap p1 text-center font-600 >
127
+ Start Time
128
+ </div >
129
+ <div v-if =" selectedFields.includes('endTime')" role =" columnheader" rounded-tr-2 bg-base flex-none min-w52 ws-nowrap p1 text-center font-600 >
130
+ End Time
131
+ </div >
133
132
</div >
134
133
135
134
<DataVirtualList
@@ -145,27 +144,27 @@ function toggleDurationSortType() {
145
144
class =" border-base border-b-1 border-dashed"
146
145
:class =" [index === filtered.length - 1 ? 'border-b-0' : '']"
147
146
>
148
- <div v-if =" selectedFields.includes('hookName')" role =" cell" flex =" ~ items-center justify-center" flex-none w32 ws-nowrap text-sm op80 >
149
- {{ HOOK_NAME_MAP[item.type] }}
147
+ <div v-if =" selectedFields.includes('hookName')" role =" cell" flex =" ~ items-center justify-center" flex-none w32 ws-nowrap op80 >
148
+ < DisplayBadge :text = " HOOK_NAME_MAP[item.type]" />
150
149
</div >
151
150
<div v-if =" selectedFields.includes('module')" role =" cell" flex-1 min-w100 text-left text-ellipsis line-clamp-2 >
152
151
<DisplayModuleId
153
152
:id =" item.module"
154
- w-full border-none
153
+ w-full border-none ws-nowrap
155
154
:session =" session"
156
155
:link =" `/session/${session.id}/graph?module=${item.module}`"
157
156
hover =" bg-active"
158
157
border =" ~ base rounded" block px2 py1
159
158
/>
160
159
</div >
160
+ <div v-if =" selectedFields.includes('duration')" role =" cell" flex =" ~ items-center justify-center" flex-none text-center text-sm w-27 >
161
+ <DisplayDuration :duration =" item.duration" />
162
+ </div >
161
163
<div v-if =" selectedFields.includes('startTime')" role =" cell" flex =" ~ items-center justify-center" flex-none text-center font-mono text-sm min-w52 op80 >
162
- <time v-if = " item.timestamp_start " :datetime = " new Date( item.timestamp_start).toISOString() " >{{ normalizeTimestamp(item.timestamp_start) }}</ time >
164
+ <DisplayTimestamp :timestamp = " item.timestamp_start" / >
163
165
</div >
164
166
<div v-if =" selectedFields.includes('endTime')" role =" cell" flex =" ~ items-center justify-center" flex-none text-center font-mono text-sm min-w52 op80 >
165
- <time v-if =" item.timestamp_end" :datetime =" new Date(item.timestamp_end).toISOString()" >{{ normalizeTimestamp(item.timestamp_end) }}</time >
166
- </div >
167
- <div v-if =" selectedFields.includes('duration')" role =" cell" flex =" ~ items-center justify-center" flex-none text-center text-sm w-27 >
168
- <DisplayDuration :duration =" item.duration" />
167
+ <DisplayTimestamp :timestamp =" item.timestamp_end" />
169
168
</div >
170
169
</div >
171
170
</template >
0 commit comments