Skip to content

Commit c5932d9

Browse files
authored
ENG-1195 add a constant in userSettings for use-reified-relations (#634)
* ENG-1195 add a constant for the use-reified-relations setting
1 parent 122c030 commit c5932d9

7 files changed

Lines changed: 17 additions & 10 deletions

File tree

apps/roam/src/components/CreateRelationDialog.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import type { DiscourseNode } from "~/utils/getDiscourseNodes";
2323
import type { Result } from "~/utils/types";
2424
import internalError from "~/utils/internalError";
2525
import getDiscourseNodes from "~/utils/getDiscourseNodes";
26+
import { USE_REIFIED_RELATIONS } from "~/data/userSettings";
2627

2728
export type CreateRelationDialogProps = {
2829
onClose: () => void;
@@ -373,7 +374,7 @@ export const renderCreateRelationDialog = (
373374
export const CreateRelationButton = (
374375
props: CreateRelationDialogProps,
375376
): React.JSX.Element | null => {
376-
const showAddRelation = getSetting("use-reified-relations");
377+
const showAddRelation = getSetting<boolean>(USE_REIFIED_RELATIONS, false);
377378
if (!showAddRelation) return null;
378379
let extProps: ExtendedCreateRelationDialogProps | null = null;
379380
try {

apps/roam/src/components/canvas/DiscourseRelationShape/DiscourseRelationUtil.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ import getPageTitleByPageUid from "roamjs-components/queries/getPageTitleByPageU
8181
import { AddReferencedNodeType } from "./DiscourseRelationTool";
8282
import { dispatchToastEvent } from "~/components/canvas/ToastListener";
8383
import internalError from "~/utils/internalError";
84+
import { USE_REIFIED_RELATIONS } from "~/data/userSettings";
8485

8586
const COLOR_ARRAY = Array.from(textShapeProps.color.values)
8687
.filter((c) => !["red", "green", "grey"].includes(c))
@@ -553,7 +554,7 @@ export const createAllRelationShapeUtils = (
553554
if (arrow.type !== target.type) {
554555
editor.updateShapes([{ id: arrow.id, type: target.type }]);
555556
}
556-
if (getSetting("use-reified-relations")) {
557+
if (getSetting<boolean>(USE_REIFIED_RELATIONS, false)) {
557558
const sourceAsDNS = asDiscourseNodeShape(source, editor);
558559
const targetAsDNS = asDiscourseNodeShape(target, editor);
559560

apps/roam/src/components/results-view/ResultsTable.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import toCellValue from "~/utils/toCellValue";
2222
import { ContextContent } from "~/components/DiscourseContext";
2323
import DiscourseContextOverlay from "~/components/DiscourseContextOverlay";
2424
import { CONTEXT_OVERLAY_SUGGESTION } from "~/utils/predefinedSelections";
25+
import { USE_REIFIED_RELATIONS } from "~/data/userSettings";
2526
import { getSetting } from "~/utils/extensionSettings";
2627
import { strictQueryForReifiedBlocks } from "~/utils/createReifiedBlock";
2728

@@ -205,7 +206,7 @@ const ResultRow = ({
205206
onDragEnd,
206207
onRefresh,
207208
}: ResultRowProps) => {
208-
const useReifiedRel = getSetting<boolean>("use-reified-relations");
209+
const useReifiedRel = getSetting<boolean>(USE_REIFIED_RELATIONS, false);
209210
const cell = (key: string) => {
210211
const value = toCellValue({
211212
value: r[`${key}-display`] || r[key] || "",

apps/roam/src/components/settings/AdminPanel.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { getFormattedConfigTree } from "~/utils/discourseConfigRef";
3636
import refreshConfigTree from "~/utils/refreshConfigTree";
3737
import createBlock from "roamjs-components/writes/createBlock";
3838
import deleteBlock from "roamjs-components/writes/deleteBlock";
39+
import { USE_REIFIED_RELATIONS } from "~/data/userSettings";
3940

4041
const NodeRow = ({ node }: { node: PConceptFull }) => {
4142
return (
@@ -260,7 +261,7 @@ const MigrationTab = (): React.ReactElement => {
260261
const [useMigrationResults, setMigrationResults] = useState<string>("");
261262
const [useOngoing, setOngoing] = useState<boolean>(false);
262263
const [useDryRun, setDryRun] = useState<boolean>(false);
263-
const enabled = getSetting("use-reified-relations", false);
264+
const enabled = getSetting<boolean>(USE_REIFIED_RELATIONS, false);
264265
const doMigrateRelations = async () => {
265266
setOngoing(true);
266267
try {
@@ -331,7 +332,7 @@ const MigrationTab = (): React.ReactElement => {
331332

332333
const FeatureFlagsTab = (): React.ReactElement => {
333334
const [useReifiedRelations, setUseReifiedRelations] = useState<boolean>(
334-
getSetting("use-reified-relations"),
335+
getSetting<boolean>(USE_REIFIED_RELATIONS, false),
335336
);
336337
const settings = useMemo(() => {
337338
refreshConfigTree();
@@ -428,7 +429,7 @@ const FeatureFlagsTab = (): React.ReactElement => {
428429
onChange={(e) => {
429430
const target = e.target as HTMLInputElement;
430431
setUseReifiedRelations(target.checked);
431-
void setSetting("use-reified-relations", target.checked).catch(
432+
void setSetting(USE_REIFIED_RELATIONS, target.checked).catch(
432433
() => undefined,
433434
);
434435
}}

apps/roam/src/data/userSettings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ export const DISCOURSE_CONTEXT_OVERLAY_IN_CANVAS_KEY =
99
"discourse-context-overlay-in-canvas";
1010
export const STREAMLINE_STYLING_KEY = "streamline-styling";
1111
export const DISALLOW_DIAGNOSTICS = "disallow-diagnostics";
12+
export const USE_REIFIED_RELATIONS = "use-reified-relations";

apps/roam/src/utils/migrateRelations.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import getBlockProps from "./getBlockProps";
33
import type { json } from "./getBlockProps";
44
import setBlockProps from "./setBlockProps";
55
import { getSetting, setSetting } from "./extensionSettings";
6+
import { USE_REIFIED_RELATIONS } from "~/data/userSettings";
67
import {
78
createReifiedRelation,
89
DISCOURSE_GRAPH_PROP_NAME,
@@ -11,10 +12,10 @@ import {
1112
const MIGRATION_PROP_NAME = "relation-migration";
1213

1314
const migrateRelations = async (dryRun = false): Promise<number> => {
14-
const authorized = getSetting("use-reified-relations");
15+
const authorized = getSetting<boolean>(USE_REIFIED_RELATIONS, false);
1516
if (!authorized) return 0;
1617
let numProcessed = 0;
17-
await setSetting("use-reified-relations", false); // so queries use patterns
18+
await setSetting(USE_REIFIED_RELATIONS, false); // so queries use patterns
1819
// wait for the settings to propagate
1920
await new Promise((resolve) => setTimeout(resolve, 150));
2021
try {
@@ -64,7 +65,7 @@ const migrateRelations = async (dryRun = false): Promise<number> => {
6465
numProcessed++;
6566
}
6667
} finally {
67-
await setSetting("use-reified-relations", true);
68+
await setSetting(USE_REIFIED_RELATIONS, true);
6869
}
6970
return numProcessed;
7071
};

apps/roam/src/utils/registerDiscourseDatalogTranslators.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { fireQuerySync, getWhereClauses } from "./fireQuery";
2121
import { toVar } from "./compileDatalog";
2222
import { getSetting } from "./extensionSettings";
2323
import { getExistingRelationPageUid } from "./createReifiedBlock";
24+
import { USE_REIFIED_RELATIONS } from "~/data/userSettings";
2425

2526
const hasTag = (node: DiscourseNode): node is DiscourseNode & { tag: string } =>
2627
!!node.tag;
@@ -410,7 +411,7 @@ const registerDiscourseDatalogTranslators = () => {
410411
key: label,
411412
callback: ({ source, target, uid }) => {
412413
const useReifiedRelations = getSetting<boolean>(
413-
"use-reified-relations",
414+
USE_REIFIED_RELATIONS,
414415
false,
415416
);
416417
const relationPageUid = getExistingRelationPageUid();

0 commit comments

Comments
 (0)