@@ -3,16 +3,17 @@ import routeLinks from "@/router/routeLinks";
3
3
import { ColumnNames , useAuditStore } from " @/stores/AuditStore" ;
4
4
import { storeToRefs } from " pinia" ;
5
5
import { useRoute } from " vue-router" ;
6
- import DataView from " ../DataView.vue" ;
7
6
import SortableColumn from " ../SortableColumn.vue" ;
8
7
import { MessageStatus } from " @/resources/Message" ;
9
8
import moment from " moment" ;
10
9
import { useFormatTime } from " @/composables/formatter" ;
11
10
import RefreshConfig from " ../RefreshConfig.vue" ;
11
+ import ItemsPerPage from " ../ItemsPerPage.vue" ;
12
+ import PaginationStrip from " ../PaginationStrip.vue" ;
12
13
13
14
const route = useRoute ();
14
15
const store = useAuditStore ();
15
- const { messages, sortByInstances, itemsPerPage } = storeToRefs (store );
16
+ const { messages, sortByInstances, itemsPerPage, selectedPage, totalCount } = storeToRefs (store );
16
17
17
18
function statusToName(messageStatus : MessageStatus ) {
18
19
switch (messageStatus ) {
@@ -87,38 +88,38 @@ function formatDotNetTimespan(timespan: string) {
87
88
</div >
88
89
<!-- Table rows-->
89
90
<!-- NOTE: currently the DataView pages on the client only: we need to make it server data aware (i.e. the total will be the count from the server, not the length of the data we have locally)-->
90
- <DataView :data =" messages" :show-items-per-page =" true" :items-per-page =" itemsPerPage" @items-per-page-changed =" store.setItemsPerPage" >
91
- <template #data =" { pageData } " >
92
- <div role =" rowgroup" aria-label =" endpoints" >
93
- <div role =" row" :aria-label =" message.message_id" class =" row grid-row" v-for =" message in pageData" :key =" message.id" >
94
- <div role =" cell" aria-label =" status" class =" status" :title =" statusToName(message.status)" >
95
- <div class =" status-icon" :class =" statusToIcon(message.status)" ></div >
96
- </div >
97
- <div role =" cell" aria-label =" message-id" class =" col-3 message-id" >
98
- <div class =" box-header" >
99
- <tippy :aria-label =" message.message_id" :delay =" [700, 0]" class =" no-side-padding lead righ-side-ellipsis endpoint-details-link" >
100
- <template #content >
101
- <p :style =" { overflowWrap: 'break-word' }" >{{ message.message_id }}</p >
102
- </template >
103
- <RouterLink class =" hackToPreventSafariFromShowingTooltip" aria-label =" details-link" :to =" { path: routeLinks.audit.message.link(message.id), query: { back: route.path } }" >
104
- {{ message.message_id }}
105
- </RouterLink >
106
- </tippy >
107
- </div >
108
- </div >
109
- <div role =" cell" aria-label =" message-type" class =" col-3 message-type" >
110
- {{ friendlyTypeName(message.message_type) }}
111
- </div >
112
- <div role =" cell" aria-label =" time-sent" class =" col-2 time-sent" >
113
- {{ moment(message.time_sent).local().format("LLLL") }}
114
- </div >
115
- <div role =" cell" aria-label =" processing-time" class =" col-2 processing-time" >
116
- {{ formatDotNetTimespan(message.processing_time) }}
117
- </div >
91
+ <div role =" rowgroup" aria-label =" endpoints" >
92
+ <div role =" row" :aria-label =" message.message_id" class =" row grid-row" v-for =" message in messages" :key =" message.id" >
93
+ <div role =" cell" aria-label =" status" class =" status" :title =" statusToName(message.status)" >
94
+ <div class =" status-icon" :class =" statusToIcon(message.status)" ></div >
95
+ </div >
96
+ <div role =" cell" aria-label =" message-id" class =" col-3 message-id" >
97
+ <div class =" box-header" >
98
+ <tippy :aria-label =" message.message_id" :delay =" [700, 0]" class =" no-side-padding lead righ-side-ellipsis endpoint-details-link" >
99
+ <template #content >
100
+ <p :style =" { overflowWrap: 'break-word' }" >{{ message.message_id }}</p >
101
+ </template >
102
+ <RouterLink class =" hackToPreventSafariFromShowingTooltip" aria-label =" details-link" :to =" { path: routeLinks.audit.message.link(message.id), query: { back: route.path } }" >
103
+ {{ message.message_id }}
104
+ </RouterLink >
105
+ </tippy >
118
106
</div >
119
107
</div >
120
- </template >
121
- </DataView >
108
+ <div role =" cell" aria-label =" message-type" class =" col-3 message-type" >
109
+ {{ friendlyTypeName(message.message_type) }}
110
+ </div >
111
+ <div role =" cell" aria-label =" time-sent" class =" col-2 time-sent" >
112
+ {{ moment(message.time_sent).local().format("LLLL") }}
113
+ </div >
114
+ <div role =" cell" aria-label =" processing-time" class =" col-2 processing-time" >
115
+ {{ formatDotNetTimespan(message.processing_time) }}
116
+ </div >
117
+ </div >
118
+ </div >
119
+ <div class =" row" >
120
+ <ItemsPerPage v-model =" itemsPerPage" />
121
+ <PaginationStrip v-model =" selectedPage" :totalCount =" totalCount" :itemsPerPage =" itemsPerPage" />
122
+ </div >
122
123
</section >
123
124
</template >
124
125
0 commit comments