Skip to content

Commit

Permalink
add origin to Base64Cell
Browse files Browse the repository at this point in the history
  • Loading branch information
molotgor committed Jun 7, 2024
1 parent bd97fa4 commit 3d4878f
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 15 deletions.
31 changes: 16 additions & 15 deletions src/components/JSONViewer/Table.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import React from 'react';
import { SimpleField, TreeNode } from '../../models/JSONSchema';
import { SimpleField, TreeNode, TreeViewType } from '../../models/JSONSchema';
import { createBemBlock } from '../../helpers/styleCreators';
import DetailedMessageRaw from '../message/message-card/raw/DetailedMessageRaw';
import { decodeBase64RawContent } from '../../helpers/rawFormatter';
import { MessageViewType } from '../../models/EventMessage';
import SimpleMessageRaw from '../message/message-card/raw/SimpleMessageRaw';
import LeafTools from './LeafTools';

Expand Down Expand Up @@ -36,29 +35,31 @@ const Table = ({
);

const Base64Cell = ({ value }: { value: string }) => {
const [viewType, setViewType] = React.useState(MessageViewType.ASCII);
const [viewType, setViewType] = React.useState(TreeViewType.ASCII);
const viewTypes = [TreeViewType.ORIGIN, TreeViewType.BINARY, TreeViewType.ASCII];

switch (viewType) {
case MessageViewType.ASCII:
case TreeViewType.ASCII:
return (
<div className='json-table-Base64Cell'>
<SimpleMessageRaw rawContent={value} />
<LeafTools
activeViewType={viewType}
toggleViewType={setViewType}
viewTypes={[MessageViewType.BINARY, MessageViewType.ASCII]}
/>
<LeafTools activeViewType={viewType} toggleViewType={setViewType} viewTypes={viewTypes} />
</div>
);
case MessageViewType.BINARY:
case TreeViewType.BINARY:
return (
<div className='json-table-Base64Cell'>
<DetailedMessageRaw rawContent={value} />
<LeafTools
activeViewType={viewType}
toggleViewType={setViewType}
viewTypes={[MessageViewType.BINARY, MessageViewType.ASCII]}
/>
<LeafTools activeViewType={viewType} toggleViewType={setViewType} viewTypes={viewTypes} />
</div>
);
case TreeViewType.ORIGIN:
return (
<div className='json-table-Base64Cell'>
<div>
<p>{String(value)}</p>
</div>
<LeafTools activeViewType={viewType} toggleViewType={setViewType} viewTypes={viewTypes} />
</div>
);
default:
Expand Down
3 changes: 3 additions & 0 deletions src/models/JSONSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ export enum TreeViewType {
EVENTS_LIST = 'Tree',
JSON = 'Json',
PRETTY = 'Formatted Json',
ASCII = 'ASCII',
BINARY = 'binary',
ORIGIN = 'Origin',
}

export interface SimpleField {
Expand Down
2 changes: 2 additions & 0 deletions src/styles/JSONviewer.scss
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,9 @@
}

&-Base64Cell {
width: 100%;
display: flex;
justify-content: space-between;
}

&-row-toogler {
Expand Down

0 comments on commit 3d4878f

Please sign in to comment.