Skip to content

Commit

Permalink
feat(): clear evaluation refs BRICK_STORE-1486
Browse files Browse the repository at this point in the history
  • Loading branch information
morance committed May 20, 2020
1 parent 3c284d4 commit d8bc15d
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/hook/emit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export function emit(data: EmitData): void {
try {
const repo: any[] = [];
const payload = dehydrate(data.payload, repo);
console.log(data);
window.postMessage(
{
source: MESSAGE_SOURCE_HOOK,
Expand Down
20 changes: 19 additions & 1 deletion src/panel/components/EvaluationsPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@ import { useEvaluationsContext } from "../libs/EvaluationsContext";
import { PropList, PropItem } from "./PropList";

export function EvaluationsPanel(): React.ReactElement {
const { evaluations, setEvaluations } = useEvaluationsContext();
const {
evaluations,
setEvaluations,
preLogs,
savePreLogs,
} = useEvaluationsContext();
const [stringWrap, setStringWrap] = React.useState(false);
const [q, setQ] = React.useState<string>();

Expand Down Expand Up @@ -43,6 +48,14 @@ export function EvaluationsPanel(): React.ReactElement {
[]
);

const handleToggleLogs = React.useCallback(
(event: React.FormEvent<HTMLInputElement>) => {
console.log((event.target as HTMLInputElement).checked);
savePreLogs((event.target as HTMLInputElement).checked);
},
[]
);

return (
<div
className={classNames("panel evaluations-panel", {
Expand All @@ -65,6 +78,11 @@ export function EvaluationsPanel(): React.ReactElement {
/>
</div>
<div className="toolbar-group">
<Switch
checked={preLogs}
label="preserve logs"
onChange={handleToggleLogs}
/>
<Switch
checked={stringWrap}
label="String Wrap"
Expand Down
10 changes: 9 additions & 1 deletion src/panel/components/Layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,26 @@ export function Layout(): React.ReactElement {
Storage.getItem("selectedPanel") ?? "Bricks"
);
const [evaluations, setEvaluations] = React.useState<Evaluation[]>([]);
const [preLogs, savePreLogs] = React.useState<boolean>(true);
const [transformations, setTransformations] = React.useState<
Transformation[]
>([]);

React.useEffect(() => {
function onMessage(event: MessageEvent): void {
let data: DehydratedPayload;
console.log(preLogs);
if (
event.data?.source === MESSAGE_SOURCE_HOOK &&
((data = event.data.payload), data?.type === "evaluation")
) {
setEvaluations((prev) => prev.concat(hydrate(data.payload, data.repo)));
} else if (
event.data?.source === MESSAGE_SOURCE_HOOK &&
((data = event.data.payload), data?.type === "locationChange") &&
!preLogs
) {
setEvaluations([]);
}
}
window.addEventListener("message", onMessage);
Expand Down Expand Up @@ -73,7 +81,7 @@ export function Layout(): React.ReactElement {
>
{selectedPanel === "Evaluations" ? (
<EvaluationsContext.Provider
value={{ evaluations, setEvaluations }}
value={{ evaluations, setEvaluations, preLogs, savePreLogs }}
>
<EvaluationsPanel />
</EvaluationsContext.Provider>
Expand Down
2 changes: 2 additions & 0 deletions src/panel/libs/EvaluationsContext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { Evaluation } from "../../shared/interfaces";
export interface ContextOfEvaluations {
evaluations?: Evaluation[];
setEvaluations?: React.Dispatch<React.SetStateAction<Evaluation[]>>;
preLogs?: boolean;
savePreLogs?: React.Dispatch<React.SetStateAction<boolean>>;
}

export const EvaluationsContext = React.createContext<ContextOfEvaluations>({});
Expand Down

0 comments on commit d8bc15d

Please sign in to comment.