Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove interactive-graph-locked-features-labels flag #2063

Merged
merged 2 commits into from
Jan 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/chilled-lizards-rush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@khanacademy/perseus": patch
"@khanacademy/perseus-editor": patch
---

Remove the interactive-graph-locked-features-labels flag
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ export const flags = {
none: true,

// Locked figures flags
"interactive-graph-locked-features-labels": true,
"locked-figures-aria": true,
"locked-point-labels": true,
"locked-line-labels": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ export const MafsWithLockedFiguresCurrent = (): React.ReactElement => {
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": false,
"locked-figures-aria": false,
"locked-point-labels": false,
"locked-line-labels": false,
Expand All @@ -185,36 +184,13 @@ MafsWithLockedFiguresCurrent.parameters = {
},
};

export const MafsWithLockedLabelsFlag = (): React.ReactElement => {
return (
<EditorPageWithStorybookPreview
apiOptions={{
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": false,
"locked-line-labels": false,
"locked-vector-labels": false,
"locked-ellipse-labels": false,
"locked-polygon-labels": false,
"locked-function-labels": false,
},
},
}}
question={segmentWithLockedFigures}
/>
);
};

export const MafsWithLockedPointLabelsFlag = (): React.ReactElement => {
return (
<EditorPageWithStorybookPreview
apiOptions={{
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": true,
"locked-line-labels": false,
"locked-vector-labels": false,
Expand All @@ -236,7 +212,6 @@ export const MafsWithLockedLineLabelsFlag = (): React.ReactElement => {
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": false,
"locked-line-labels": true,
"locked-vector-labels": false,
Expand All @@ -258,7 +233,6 @@ export const MafsWithLockedVectorLabelsFlag = (): React.ReactElement => {
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": false,
"locked-line-labels": false,
"locked-vector-labels": true,
Expand All @@ -280,7 +254,6 @@ export const MafsWithLockedEllipseLabelsFlag = (): React.ReactElement => {
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": false,
"locked-line-labels": false,
"locked-vector-labels": false,
Expand All @@ -302,7 +275,6 @@ export const MafsWithLockedPolygonLabelsFlag = (): React.ReactElement => {
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": false,
"locked-line-labels": false,
"locked-vector-labels": false,
Expand All @@ -324,7 +296,6 @@ export const MafsWithLockedFunctionLabelsFlag = (): React.ReactElement => {
flags: {
mafs: {
...flags.mafs,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": false,
"locked-line-labels": false,
"locked-vector-labels": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -853,11 +853,6 @@ class InteractiveGraphEditor extends React.Component<Props> {
] && (
<LockedFiguresSection
flags={this.props.apiOptions.flags}
showLabelsFlag={
this.props.apiOptions?.flags?.mafs?.[
"interactive-graph-locked-features-labels"
]
}
figures={this.props.lockedFigures}
onChange={this.props.onChange}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ import * as React from "react";
import type {LockedFigureType} from "@khanacademy/perseus";

type Props = {
// Whether to show the locked labels in the locked figure settings.
// TODO(LEMS-2274): Remove this prop once the label flag is
// sfully rolled out.
showLabelsFlag?: boolean;
id: string;
onChange: (value: LockedFigureType) => void;
};
Expand All @@ -32,7 +28,7 @@ const LockedFigureSelect = (props: Props) => {
"ellipse",
"polygon",
"function",
...(props.showLabelsFlag ? ["label" as const] : []),
"label",
];

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* Used in the interactive graph editor's locked figures section.
*/

import {UnreachableCaseError} from "@khanacademy/wonder-stuff-core";
import * as React from "react";

import LockedEllipseSettings from "./locked-ellipse-settings";
Expand All @@ -27,10 +28,6 @@ import type {APIOptions} from "@khanacademy/perseus";

export type LockedFigureSettingsCommonProps = {
flags?: APIOptions["flags"];
// Whether to show the locked labels in the locked figure settings.
// TODO(LEMS-2274): Remove this prop once the label flag is
// sfully rolled out.
showLabelsFlag?: boolean;

// Movement props
/**
Expand Down Expand Up @@ -80,13 +77,10 @@ const LockedFigureSettings = (props: Props) => {
case "function":
return <LockedFunctionSettings {...props} />;
case "label":
if (props.showLabelsFlag) {
return <LockedLabelSettings {...props} />;
}
break;
return <LockedLabelSettings {...props} />;
default:
throw new UnreachableCaseError(props);
}

return null;
};

export default LockedFigureSettings;
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ import type {

type Props = {
flags?: APIOptions["flags"];
// Whether to show the locked labels in the locked figure settings.
// TODO(LEMS-2274): Remove this prop once the label flag is
// sfully rolled out.
showLabelsFlag?: boolean;
figures?: Array<LockedFigure>;
onChange: (props: Partial<InteractiveGraphEditorProps>) => void;
};
Expand Down Expand Up @@ -170,7 +166,6 @@ const LockedFiguresSection = (props: Props) => {
<LockedFigureSettings
key={`${uniqueId}-locked-${figure}-${index}`}
flags={props.flags}
showLabelsFlag={props.showLabelsFlag}
expanded={expandedStates[index]}
onToggle={(newValue) => {
const newExpanded = [...expandedStates];
Expand All @@ -190,7 +185,6 @@ const LockedFiguresSection = (props: Props) => {
})}
<View style={styles.buttonContainer}>
<LockedFigureSelect
showLabelsFlag={props.showLabelsFlag}
id={`${uniqueId}-select`}
onChange={addLockedFigure}
/>
Expand Down
5 changes: 0 additions & 5 deletions packages/perseus/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,6 @@ export const MafsGraphTypeFlags = [
] as const;

export const InteractiveGraphLockedFeaturesFlags = [
/**
* Enables/Disables locked features in the new Mafs interactive-graph
* widget (locked labels).
*/
"interactive-graph-locked-features-labels",
/**
* Enables/disables the aria labels associated with specific locked
* figures in the updated Interactive Graph widget.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ const enableMafs: APIOptions = {
"unlimited-polygon": true,
"unlimited-point": true,
angle: true,
"interactive-graph-locked-features-labels": true,
},
},
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1068,7 +1068,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-polygon-labels": true,
},
},
Expand Down Expand Up @@ -1276,7 +1275,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
},
},
});
Expand Down Expand Up @@ -1320,7 +1318,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-point-labels": true,
},
},
Expand All @@ -1347,7 +1344,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-line-labels": true,
},
},
Expand Down Expand Up @@ -1395,7 +1391,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-line-labels": true,
"locked-point-labels": true,
},
Expand All @@ -1422,7 +1417,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-vector-labels": true,
},
},
Expand Down Expand Up @@ -1450,7 +1444,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-ellipse-labels": true,
},
},
Expand Down Expand Up @@ -1478,7 +1471,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
"locked-function-labels": true,
},
},
Expand Down Expand Up @@ -1506,7 +1498,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
},
},
});
Expand All @@ -1529,7 +1520,6 @@ describe("Interactive Graph", function () {
flags: {
mafs: {
segment: true,
"interactive-graph-locked-features-labels": true,
},
},
});
Expand Down
15 changes: 6 additions & 9 deletions packages/perseus/src/widgets/interactive-graphs/mafs-graph.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -270,15 +270,12 @@ export const MafsGraph = (props: MafsGraphProps) => {
)}
</svg>
</Mafs>
{props.flags?.["mafs"]?.[
"interactive-graph-locked-features-labels"
] &&
props.lockedFigures && (
<GraphLockedLabelsLayer
flags={props.flags}
lockedFigures={props.lockedFigures}
/>
)}
{props.lockedFigures && (
<GraphLockedLabelsLayer
flags={props.flags}
lockedFigures={props.lockedFigures}
/>
)}
<View style={{position: "absolute"}}>
<Mafs
preserveAspectRatio={false}
Expand Down
Loading