From a89ba9afe33d973c50c0a66aec73db1e22367913 Mon Sep 17 00:00:00 2001 From: srichman333 Date: Thu, 10 Aug 2023 11:28:09 -0400 Subject: undo/redo for colors + titles --- src/client/views/nodes/DataVizBox/components/Histogram.tsx | 9 +++++---- src/client/views/nodes/DataVizBox/components/LineChart.tsx | 3 ++- src/client/views/nodes/DataVizBox/components/PieChart.tsx | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/client/views/nodes/DataVizBox/components/Histogram.tsx b/src/client/views/nodes/DataVizBox/components/Histogram.tsx index ed663006f..883cc006b 100644 --- a/src/client/views/nodes/DataVizBox/components/Histogram.tsx +++ b/src/client/views/nodes/DataVizBox/components/Histogram.tsx @@ -14,6 +14,7 @@ import { FaFillDrip } from "react-icons/fa"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { listSpec } from "../../../../../fields/Schema"; import { scaleCreatorNumerical, yAxisCreator } from "../utils/D3Utils"; +import { undoBatch, undoable } from "../../../../util/UndoManager"; export interface HistogramProps { rootDoc: Doc; @@ -426,7 +427,7 @@ export class Histogram extends React.Component {
this.props.layoutDoc[titleAccessor] = val as string)} + setVal={undoable (action(val => this.props.layoutDoc[titleAccessor] = val as string), "Change Graph Title")} color={"black"} size={Size.LARGE} fillWidth @@ -437,7 +438,7 @@ export class Histogram extends React.Component { type={Type.SEC} icon={} selectedColor={StrCast(this.props.layoutDoc.defaultHistogramColor)} - setSelectedColor={color => this.props.layoutDoc.defaultHistogramColor = color} + setSelectedColor={undoable (color => this.props.layoutDoc.defaultHistogramColor = color, "Change Default Bar Color")} size={Size.XSMALL} />
@@ -451,7 +452,7 @@ export class Histogram extends React.Component { type={Type.SEC} icon={} selectedColor={selectedBarColor? selectedBarColor : this.curBarSelected.attr("fill")} - setSelectedColor={color => this.changeSelectedColor(color)} + setSelectedColor={undoable (color => this.changeSelectedColor(color), "Change Selected Bar Color")} size={Size.XSMALL} />   @@ -461,7 +462,7 @@ export class Histogram extends React.Component { color={'black'} type={Type.SEC} tooltip={'Revert to the default bar color'} - onClick={action(() => this.eraseSelectedColor())} + onClick={undoable (action(() => this.eraseSelectedColor()), "Change Selected Bar Color")} /> : null} diff --git a/src/client/views/nodes/DataVizBox/components/LineChart.tsx b/src/client/views/nodes/DataVizBox/components/LineChart.tsx index 053696807..49ef577e4 100644 --- a/src/client/views/nodes/DataVizBox/components/LineChart.tsx +++ b/src/client/views/nodes/DataVizBox/components/LineChart.tsx @@ -15,6 +15,7 @@ import { DataVizBox } from '../DataVizBox'; import { createLineGenerator, drawLine, minMaxRange, scaleCreatorNumerical, xAxisCreator, xGrid, yAxisCreator, yGrid } from '../utils/D3Utils'; import './Chart.scss'; import { EditableText, Size } from 'browndash-components'; +import { undoable } from '../../../../util/UndoManager'; export interface DataPoint { x: number; @@ -363,7 +364,7 @@ export class LineChart extends React.Component {
this.props.layoutDoc[titleAccessor] = val as string)} + setVal={undoable (action(val => this.props.layoutDoc[titleAccessor] = val as string), "Change Graph Title")} color={"black"} size={Size.LARGE} fillWidth diff --git a/src/client/views/nodes/DataVizBox/components/PieChart.tsx b/src/client/views/nodes/DataVizBox/components/PieChart.tsx index 6581b6b75..de725209d 100644 --- a/src/client/views/nodes/DataVizBox/components/PieChart.tsx +++ b/src/client/views/nodes/DataVizBox/components/PieChart.tsx @@ -12,6 +12,7 @@ import './Chart.scss'; import { ColorPicker, EditableText, Size, Type } from "browndash-components"; import { FaFillDrip } from "react-icons/fa"; import { listSpec } from "../../../../../fields/Schema"; +import { undoable } from "../../../../util/UndoManager"; export interface PieChartProps { rootDoc: Doc; @@ -342,7 +343,7 @@ export class PieChart extends React.Component {
this.props.layoutDoc[titleAccessor] = val as string)} + setVal={undoable (action(val => this.props.layoutDoc[titleAccessor] = val as string), "Change Graph Title")} color={"black"} size={Size.LARGE} fillWidth @@ -358,7 +359,7 @@ export class PieChart extends React.Component { type={Type.SEC} icon={} selectedColor={selectedSliceColor? selectedSliceColor : this.curSliceSelected.attr("fill")} - setSelectedColor={color => this.changeSelectedColor(color)} + setSelectedColor={undoable (color => this.changeSelectedColor(color), "Change Selected Slice Color")} size={Size.XSMALL} />
-- cgit v1.2.3-70-g09d2