diff --git a/components/IconSvg/IconSvg.vue b/components/IconSvg/IconSvg.vue index 2a0b3bf0..b3868912 100644 --- a/components/IconSvg/IconSvg.vue +++ b/components/IconSvg/IconSvg.vue @@ -426,6 +426,11 @@ + + + diff --git a/components/IconSvg/collapsed.svg b/components/IconSvg/collapsed.svg new file mode 100644 index 00000000..64752c90 --- /dev/null +++ b/components/IconSvg/collapsed.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/RayDumpPreview/RayTypesPreview/MailablePayload.stories.ts b/components/RayDumpPreview/RayTypesPreview/MailablePayload.stories.ts new file mode 100644 index 00000000..08352965 --- /dev/null +++ b/components/RayDumpPreview/RayTypesPreview/MailablePayload.stories.ts @@ -0,0 +1,23 @@ +import { Meta, Story } from "@storybook/vue3"; +import { normalizeRayDumpEvent } from "~/utils/normalize-event"; +import eventMock from '~/mocks/ray-laravel-mailable.json'; +import MailablePayload from "~/components/RayDumpPreview/RayTypesPreview/MailablePayload.vue"; + +export default { + title: "RayDump/Types/Mailable", + component: MailablePayload +} as Meta; + +const Template: Story = (args) => ({ + components: { MailablePayload}, + setup() { + return { + args, + }; + }, + template: ``, +}); + +export const Mailable = Template.bind({}); +Mailable.args = {payload: normalizeRayDumpEvent(eventMock).payload.payload.payloads[0]}; + diff --git a/components/RayDumpPreview/RayTypesPreview/MailablePayload.vue b/components/RayDumpPreview/RayTypesPreview/MailablePayload.vue new file mode 100644 index 00000000..2293ff7b --- /dev/null +++ b/components/RayDumpPreview/RayTypesPreview/MailablePayload.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/components/RayDumpTypeMapper/RayDumpTypeMapper.vue b/components/RayDumpTypeMapper/RayDumpTypeMapper.vue index 6d27422d..585a0ae0 100644 --- a/components/RayDumpTypeMapper/RayDumpTypeMapper.vue +++ b/components/RayDumpTypeMapper/RayDumpTypeMapper.vue @@ -17,6 +17,7 @@ import ViewsPayload from "~/components/RayDumpPreview/RayTypesPreview/ViewsPaylo import EventPayload from "~/components/RayDumpPreview/RayTypesPreview/EventPayload.vue"; import JobPayload from "~/components/RayDumpPreview/RayTypesPreview/JobPayload.vue"; import LockPayload from "~/components/RayDumpPreview/RayTypesPreview/LockPayload.vue"; +import MailablePayload from "~/components/RayDumpPreview/RayTypesPreview/MailablePayload.vue"; export default defineComponent({ props: { @@ -55,6 +56,8 @@ export default defineComponent({ h(JobPayload, {payload}), [RAY_EVENT_TYPES.LOCK]: (payload: RayPayload) => h(LockPayload, {payload}), + [RAY_EVENT_TYPES.MAILABLE]: (payload: RayPayload) => + h(MailablePayload, {payload}), }; if (this.payload.type === 'hide') { diff --git a/config/constants.ts b/config/constants.ts index 85bf5e04..e9288f4d 100644 --- a/config/constants.ts +++ b/config/constants.ts @@ -21,6 +21,7 @@ export const RAY_EVENT_TYPES = { //HIDE: "hide", MEASURE: "measure", //NOTIFY: "notify", + MAILABLE: "mailable", TABLE: "table", TRACE: "trace", QUERY: "executed_query",