mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-06 06:48:21 +00:00
* Expose setPage action of table on application load itself * Coalesce target pageIndex to 1 for set table page action * Do not fire onPageChanged for set table page action * Change exposed pageIndex when set table page action is fired * Use setExposedVariable to set pageIndex on set table page action * Do not display functions on side bar inspector
73 lines
2.3 KiB
JavaScript
73 lines
2.3 KiB
JavaScript
import React from 'react';
|
|
import usePinnedPopover from '@/_hooks/usePinnedPopover';
|
|
import { LeftSidebarItem } from './SidebarItem';
|
|
import { SidebarPinnedButton } from './SidebarPinnedButton';
|
|
import ReactJson from 'react-json-view';
|
|
|
|
export const LeftSidebarInspector = ({ darkMode, globals, components, queries }) => {
|
|
const [open, trigger, content, popoverPinned, updatePopoverPinnedState] = usePinnedPopover(false);
|
|
|
|
return (
|
|
<>
|
|
<LeftSidebarItem
|
|
tip="Inspector"
|
|
{...trigger}
|
|
icon="inspector"
|
|
className={`left-sidebar-item ${open && 'active'}`}
|
|
/>
|
|
<div
|
|
{...content}
|
|
className={`card popover ${open || popoverPinned ? 'show' : 'hide'}`}
|
|
style={{ resize: 'horizontal', maxWidth: '50%' }}
|
|
>
|
|
<SidebarPinnedButton
|
|
darkMode={darkMode}
|
|
component={'Inspector'}
|
|
state={popoverPinned}
|
|
updateState={updatePopoverPinnedState}
|
|
/>
|
|
<div style={{ marginTop: '1rem' }} className="card-body">
|
|
<ReactJson
|
|
src={queries}
|
|
theme={darkMode ? 'shapeshifter' : 'rjv-default'}
|
|
name={'queries'}
|
|
style={{ fontSize: '0.7rem' }}
|
|
enableClipboard={false}
|
|
displayDataTypes={false}
|
|
collapsed={true}
|
|
displayObjectSize={false}
|
|
quotesOnKeys={false}
|
|
sortKeys={true}
|
|
collapseStringsAfterLength={1000}
|
|
/>
|
|
<ReactJson
|
|
src={JSON.parse(JSON.stringify(components))}
|
|
theme={darkMode ? 'shapeshifter' : 'rjv-default'}
|
|
name={'components'}
|
|
style={{ fontSize: '0.7rem' }}
|
|
enableClipboard={false}
|
|
displayDataTypes={false}
|
|
collapsed={true}
|
|
displayObjectSize={false}
|
|
quotesOnKeys={false}
|
|
sortKeys={true}
|
|
// indentWidth={0.5}
|
|
/>
|
|
<ReactJson
|
|
style={{ fontSize: '0.7rem' }}
|
|
theme={darkMode ? 'shapeshifter' : 'rjv-default'}
|
|
enableClipboard={false}
|
|
src={globals}
|
|
name={'globals'}
|
|
displayDataTypes={false}
|
|
collapsed={true}
|
|
displayObjectSize={false}
|
|
quotesOnKeys={false}
|
|
sortKeys={false}
|
|
// indentWidth={1}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</>
|
|
);
|
|
};
|