11import { Meta , Story } from "@storybook/vue3" ;
2- import PreviewEventMapper from ' ~/components/PreviewEventMapper/PreviewEventMapper.vue' ;
3- import monologEventMock from ' ~/mocks/monolog.json'
4- import sentryEventMock from ' ~/mocks/sentry-spiral.json'
5- import smtpEventMock from ' ~/mocks/smtp-welcome.json'
6- import varDumpEventMock from ' ~/mocks/var-dump-object.json'
7- import profilerEventMock from ' ~/mocks/profiler.json'
8- import inspectorEventMock from ' ~/mocks/inspector.json'
9- import httpDumpEventMock from ' ~/mocks/http-dump.json'
2+ import PreviewEventMapper from " ~/components/PreviewEventMapper/PreviewEventMapper.vue" ;
3+ import monologEventMock from " ~/mocks/monolog.json" ;
4+ import sentryEventMock from " ~/mocks/sentry-spiral.json" ;
5+ import smtpEventMock from " ~/mocks/smtp-welcome.json" ;
6+ import varDumpEventMock from " ~/mocks/var-dump-object.json" ;
7+ import profilerEventMock from " ~/mocks/profiler.json" ;
8+ import inspectorEventMock from " ~/mocks/inspector.json" ;
9+ import httpDumpEventMock from " ~/mocks/http-dump.json" ;
1010
1111export default {
1212 title : "Preview/PreviewEventMapper" ,
13- component : PreviewEventMapper
13+ component : PreviewEventMapper ,
1414} as Meta < typeof PreviewEventMapper > ;
1515
1616const Template : Story = ( args ) => ( {
@@ -26,7 +26,7 @@ const Template: Story = (args) => ({
2626export const Default = Template . bind ( { } ) ;
2727
2828Default . args = {
29- event : { ...smtpEventMock , type : ' unknown' } ,
29+ event : { ...smtpEventMock , type : " unknown" } ,
3030} ;
3131
3232export const Monolog = Template . bind ( { } ) ;
@@ -70,21 +70,57 @@ HttpDump.args = {
7070 event : httpDumpEventMock ,
7171} ;
7272
73+ const eventsList = [
74+ monologEventMock ,
75+ sentryEventMock ,
76+ smtpEventMock ,
77+ varDumpEventMock ,
78+ profilerEventMock ,
79+ inspectorEventMock ,
80+ httpDumpEventMock ,
81+ ] ;
82+
7383const TemplateList : Story = ( args ) => ( {
7484 components : { PreviewEventMapper } ,
7585 setup ( ) {
76-
7786 return {
7887 args,
79- eventsList : [ monologEventMock , sentryEventMock , smtpEventMock , varDumpEventMock , profilerEventMock , inspectorEventMock , httpDumpEventMock ]
88+ eventsList,
8089 } ;
8190 } ,
8291 template : `<PreviewEventMapper class="border-b" v-for="event in eventsList" :event="event" :key="event.uuid"/>` ,
8392} ) ;
8493
85-
8694export const EventsList = TemplateList . bind ( { } ) ;
8795
8896EventsList . args = {
8997 event : inspectorEventMock ,
9098} ;
99+
100+ const TemplateListVirtual : Story = ( args ) => ( {
101+ components : { PreviewEventMapper } ,
102+ setup ( ) {
103+ return {
104+ args,
105+ eventsList : eventsList
106+ . concat ( eventsList )
107+ . concat ( eventsList )
108+ . concat ( eventsList )
109+ . concat ( eventsList )
110+ . concat ( eventsList )
111+ . map ( ( item , index ) => ( { ...item , uuid : String ( index + 1 ) } ) ) // make uniq ids
112+ . sort ( ( ) => Math . random ( ) - 0.5 ) , // shuffle
113+ } ;
114+ } ,
115+ template : `
116+ <template v-for="item in eventsList">
117+ <PreviewEventMapper class="border-b" :event="item" />
118+ </template>
119+ ` ,
120+ } ) ;
121+
122+ export const EventsListVirtual = TemplateListVirtual . bind ( { } ) ;
123+
124+ EventsListVirtual . args = {
125+ event : inspectorEventMock ,
126+ } ;
0 commit comments