Skip to content
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
2 changes: 1 addition & 1 deletion apps/roam/src/components/DiscourseContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import getShallowTreeByParentUid from "roamjs-components/queries/getShallowTreeB
import { Result } from "roamjs-components/types/query-builder";
import nanoId from "nanoid";
import getDiscourseContextResults from "../utils/getDiscourseContextResults";
import ResultsView from "./ResultsView/ResultsView";
import ResultsView from "./results-view/ResultsView";
import { getPageTitleValueByHtmlElement } from "roamjs-components/dom";
import getPageUidByPageTitle from "roamjs-components/queries/getPageUidByPageTitle";
import renderWithUnmount from "roamjs-components/util/renderWithUnmount";
Expand Down
2 changes: 1 addition & 1 deletion apps/roam/src/components/QueryBuilder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import React, {
import fireQuery from "../utils/fireQuery";
import parseQuery from "../utils/parseQuery";
import type { Result } from "roamjs-components/types/query-builder";
import ResultsView from "./ResultsView/ResultsView";
import ResultsView from "./results-view/ResultsView";
import ReactDOM from "react-dom";
import QueryEditor from "./QueryEditor";
import getSubTree from "roamjs-components/util/getSubTree";
Expand Down
2 changes: 1 addition & 1 deletion apps/roam/src/components/QueryDrawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import getParentUidByBlockUid from "roamjs-components/queries/getParentUidByBloc
import renderOverlay from "roamjs-components/util/renderOverlay";
import fireQuery from "../utils/fireQuery";
import parseQuery from "../utils/parseQuery";
import ResultsView from "./ResultsView/ResultsView";
import ResultsView from "./results-view/ResultsView";
import ExtensionApiContextProvider from "roamjs-components/components/ExtensionApiContext";
import QueryEditor from "./QueryEditor";
import { Column } from "../utils/types";
Expand Down
4 changes: 2 additions & 2 deletions apps/roam/src/components/canvas/Tldraw.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ import ExtensionApiContextProvider, {
} from "roamjs-components/components/ExtensionApiContext";
import calcCanvasNodeSizeAndImg from "~/utils/calcCanvasNodeSizeAndImg";
import getPageTitleByPageUid from "roamjs-components/queries/getPageTitleByPageUid";
import { useRoamStore } from "./useRoamStore";
import { createUiOverrides } from "./uiOverrides";
import { useRoamStore } from "~/utils/useRoamStore";
import { createUiOverrides } from "~/utils/canvasUiOverrides";
import { DiscourseNodeShape, DiscourseNodeUtil } from "./DiscourseNodeUtil";
import {
AddReferencedNodeType,
Expand Down
4 changes: 2 additions & 2 deletions apps/roam/src/components/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ export { default as QueryEditor } from "./QueryEditor";
export { default as QueryBuilder } from "./QueryBuilder";
export { default as QueryPagesPanel } from "./settings/QueryPagesPanel";
export { default as ResizableDrawer } from "./ResizableDrawer";
export { default as ResultsView } from "./ResultsView/ResultsView";
export { default as Timeline } from "./ResultsView/views/Timeline";
export { default as ResultsView } from "./results-view/ResultsView";
export { default as Timeline } from "./results-view/Timeline";
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@ import { useExtensionAPI } from "roamjs-components/components/ExtensionApiContex
import postProcessResults from "~/utils/postProcessResults";
import setInputSetting from "roamjs-components/util/setInputSetting";
import getUids from "roamjs-components/dom/getUids";
import Charts from "./views/Charts";
import Timeline from "./views/Timeline";
import Kanban from "./views/Kanban";
import Charts from "./Charts";
import Timeline from "./Timeline";
import Kanban from "./Kanban";
import MenuItemSelect from "roamjs-components/components/MenuItemSelect";
import { RoamBasicNode } from "roamjs-components/types";
import { render as renderToast } from "roamjs-components/components/Toast";
import { Column, Result } from "~/utils/types";
import updateBlock from "roamjs-components/writes/updateBlock";
import { Condition } from "~/utils/types";
import ResultsTable from "./views/ResultsTable";
import ResultsTable from "./ResultsTable";
import { render as renderSimpleAlert } from "roamjs-components/components/SimpleAlert";
import setInputSettings from "roamjs-components/util/setInputSettings";
import posthog from "posthog-js";
Expand Down
2 changes: 1 addition & 1 deletion apps/roam/src/components/settings/NodeConfig.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const NodeConfig = ({
<div className="flex flex-col gap-4 p-1">
<TextPanel
title="Format"
description={`DEPRACATED - Use specification instead. The format ${node.text} pages should have.`}
description={`DEPRECATED - Use specification instead. The format ${node.text} pages should have.`}
order={0}
parentUid={node.type}
uid={formatUid}
Expand Down
2 changes: 1 addition & 1 deletion apps/roam/src/components/settings/Settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import DiscourseRelationConfigPanel from "./DiscourseRelationConfigPanel";
import DEFAULT_RELATION_VALUES from "~/data/defaultDiscourseRelations";
import { getFormattedConfigTree } from "~/utils/discourseConfigRef";
import DiscourseGraphHome from "./GeneralSettings";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/settings/configPages";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/utils/renderNodeConfigPage";
import DiscourseGraphExport from "./ExportSettings";
import QuerySettings from "./QuerySettings";
import DiscourseNodeConfigPanel from "./DiscourseNodeConfigPanel";
Expand Down
22 changes: 8 additions & 14 deletions apps/roam/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,25 @@
import { addStyle } from "roamjs-components/dom";
import { render as renderToast } from "roamjs-components/components/Toast";

import getCurrentUserUid from "roamjs-components/queries/getCurrentUserUid";
import { runExtension } from "roamjs-components/util";

import { queryBuilderLoadedToast } from "./data/toastMessages";

import runQuery from "./utils/runQuery";
import isDiscourseNode from "./utils/isDiscourseNode";
import { fireQuerySync } from "./utils/fireQuery";
import parseQuery from "./utils/parseQuery";
import refreshConfigTree from "./utils/refreshConfigTree";

import styles from "./styles/styles.css";
import settingsStyles from "./styles/settingsStyles.css";
import discourseGraphStyles from "./styles/discourseGraphStyles.css";

import { registerCommandPaletteCommands } from "./settings/commandPalette";
import { createSettingsPanel } from "./settings/settingsPanel";

import { registerCommandPaletteCommands } from "./utils/registerCommandPaletteCommands";
import { createSettingsPanel } from "~/utils/createSettingsPanel";
import { listActiveQueries } from "./utils/listActiveQueries";
import { registerSmartBlock } from "./utils/registerSmartBlock";
import { initObservers } from "./utils/initializeObserversAndListeners";
import { addGraphViewNodeStyling } from "./utils/graphViewNodeStyling";
import { setQueryPages } from "./utils/setQueryPages";
import initializeDiscourseNodes from "./utils/initializeDiscourseNodes";
import styles from "./styles/styles.css";
import settingsStyles from "./styles/settingsStyles.css";
import discourseGraphStyles from "./styles/discourseGraphStyles.css";
import posthog from "posthog-js";
import getCurrentUserUid from "roamjs-components/queries/getCurrentUserUid";

const initPostHog = () => {
posthog.init("phc_SNMmBqwNfcEpNduQ41dBUjtGNEUEKAy6jTn63Fzsrax", {
Expand Down Expand Up @@ -87,7 +81,7 @@ export default runExtension(async (onloadArgs) => {
setQueryPages(onloadArgs);

const style = addStyle(styles);
const dgraphStyles = addStyle(discourseGraphStyles);
const discourseGraphStyle = addStyle(discourseGraphStyles);
const settingsStyle = addStyle(settingsStyles);

const { observers, listeners } = await initObservers({ onloadArgs });
Expand All @@ -112,7 +106,7 @@ export default runExtension(async (onloadArgs) => {
};

return {
elements: [style, settingsStyle, dgraphStyles],
elements: [style, settingsStyle, discourseGraphStyle],
observers: observers,
unload: () => {
window.roamjs.extension?.smartblocks?.unregisterCommand("QUERYBUILDER");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ import {
SubMenu,
} from "@tldraw/tldraw";
import { DiscourseNode } from "~/utils/getDiscourseNodes";
import { COLOR_ARRAY, discourseContext } from "./Tldraw";
import { formatHexColor } from "../settings/DiscourseNodeCanvasSettings";
import { openCanvasDrawer } from "./CanvasDrawer";
import { COLOR_ARRAY, discourseContext } from "~/components/canvas/Tldraw";
import { formatHexColor } from "~/components/settings/DiscourseNodeCanvasSettings";
import { openCanvasDrawer } from "~/components/canvas/CanvasDrawer";
import { OnloadArgs } from "roamjs-components/types";
import { getNewDiscourseNodeText } from "~/utils/formatUtils";
import createDiscourseNode from "~/utils/createDiscourseNode";
import calcCanvasNodeSizeAndImg from "~/utils/calcCanvasNodeSizeAndImg";
import renderToast from "roamjs-components/components/Toast";
import { AddReferencedNodeType } from "./DiscourseRelationsUtil";
import { AddReferencedNodeType } from "~/components/canvas/DiscourseRelationsUtil";

type TldrawAppRef = React.MutableRefObject<TldrawApp | undefined>;
type CreateUiOverridesProps = {
Expand Down
155 changes: 155 additions & 0 deletions apps/roam/src/utils/configPageTabs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
import { OnloadArgs } from "roamjs-components/types";
import MultiTextPanel from "roamjs-components/components/ConfigPanels/MultiTextPanel";
import NumberPanel from "roamjs-components/components/ConfigPanels/NumberPanel";
import FlagPanel from "roamjs-components/components/ConfigPanels/FlagPanel";
import CustomPanel from "roamjs-components/components/ConfigPanels/CustomPanel";
import SelectPanel from "roamjs-components/components/ConfigPanels/SelectPanel";
import TextPanel from "roamjs-components/components/ConfigPanels/TextPanel";
import DiscourseNodeConfigPanel from "~/components/settings/DiscourseNodeConfigPanel";
import DiscourseRelationConfigPanel from "~/components/settings/DiscourseRelationConfigPanel";
import DEFAULT_RELATION_VALUES from "~/data/defaultDiscourseRelations";
import {
onPageRefObserverChange,
previewPageRefHandler,
overlayPageRefHandler,
} from "~/utils/pageRefObserverHandlers";
import { ConfigTab } from "roamjs-components/components/ConfigPage";
import {
Field,
CustomField,
SelectField,
FlagField,
} from "roamjs-components/components/ConfigPanels/types";

export const configPageTabs = (args: OnloadArgs): ConfigTab[] => [
{
id: "home",
fields: [
{
title: "trigger",
description:
"The trigger to create the node menu. Must refresh after editing",
defaultValue: "\\",
// @ts-ignore
Panel: TextPanel,
},
// @ts-ignore
{
title: "disable sidebar open",
description: "Disable opening new nodes in the sidebar when created",
Panel: FlagPanel,
} as Field<FlagField>,
// @ts-ignore
{
title: "preview",
description:
"Whether or not to display page previews when hovering over page refs",
Panel: FlagPanel,
options: {
onChange: onPageRefObserverChange(previewPageRefHandler),
},
} as Field<FlagField>,
],
},
{
id: "grammar",
fields: [
// @ts-ignore
{
title: "nodes",
Panel: CustomPanel,
description: "The types of nodes in your discourse graph",
options: {
component: DiscourseNodeConfigPanel,
},
} as Field<CustomField>,
// @ts-ignore
{
title: "relations",
Panel: CustomPanel,
description: "The types of relations in your discourse graph",
defaultValue: DEFAULT_RELATION_VALUES,
options: {
component: DiscourseRelationConfigPanel,
},
} as Field<CustomField>,
// @ts-ignore
{
title: "overlay",
Panel: FlagPanel,
// description:
// "Whether to overlay discourse context information over node references",
description: "Currently disabled. Being reworked.",
disabled: true,
options: {
onChange: (val) => {
onPageRefObserverChange((s) => overlayPageRefHandler(s, args))(val);
},
},
} as Field<FlagField>,
],
},
{
id: "export",
fields: [
{
title: "max filename length",
// @ts-ignore
Panel: NumberPanel,
description: "Set the maximum name length for markdown file exports",
defaultValue: 64,
},
{
title: "remove special characters",
// @ts-ignore
Panel: FlagPanel,
description:
"Whether or not to remove the special characters in a file name",
},
{
title: "simplified filename",
// @ts-ignore
Panel: FlagPanel,
description:
"For discourse nodes, extract out the {content} from the page name to become the file name",
},
{
title: "frontmatter",
// @ts-ignore
Panel: MultiTextPanel,
description:
"Specify all the lines that should go to the Frontmatter of the markdown file",
},
{
title: "resolve block references",
// @ts-ignore
Panel: FlagPanel,
description:
"Replaces block references in the markdown content with the block's content",
},
{
title: "resolve block embeds",
// @ts-ignore
Panel: FlagPanel,
description:
"Replaces block embeds in the markdown content with the block's content tree",
},
// @ts-ignore
{
title: "link type",
Panel: SelectPanel,
description: "How to format links that appear in your export.",
options: {
items: ["alias", "wikilinks", "roam url"],
},
} as Field<SelectField>,
{
title: "append referenced node",
// @ts-ignore
Panel: FlagPanel,
description:
"If a referenced node is defined in a node's format, it will be appended to the discourse context",
},
],
},
];
2 changes: 1 addition & 1 deletion apps/roam/src/utils/discourseConfigRef.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
getUidAndStringSetting,
getUidAndBooleanSetting,
} from "./getExportSettings";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/settings/configPages";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/utils/renderNodeConfigPage";
import getPageUidByPageTitle from "roamjs-components/queries/getPageUidByPageTitle";

const configTreeRef: {
Expand Down
2 changes: 1 addition & 1 deletion apps/roam/src/utils/getExportSettings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import getBasicTreeByParentUid from "roamjs-components/queries/getBasicTreeByPar
import getPageUidByPageTitle from "roamjs-components/queries/getPageUidByPageTitle";
import { RoamBasicNode } from "roamjs-components/types";
import { getSubTree } from "roamjs-components/util";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/settings/configPages";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/utils/renderNodeConfigPage";

type UidPair<T> = {
uid?: string;
Expand Down
4 changes: 2 additions & 2 deletions apps/roam/src/utils/initializeObserversAndListeners.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ import { createConfigObserver } from "roamjs-components/components/ConfigPage";
import { renderTldrawCanvas } from "~/components/canvas/Tldraw";
import { renderQueryPage, renderQueryBlock } from "~/components/QueryBuilder";
import {
configPageTabs,
DISCOURSE_CONFIG_PAGE_TITLE,
renderNodeConfigPage,
} from "~/settings/configPages";
} from "~/utils/renderNodeConfigPage";
import isFlagEnabled from "~/utils/isFlagEnabled";
import { isCurrentPageCanvas as isCanvasPage } from "~/utils/isCanvasPage";
import { isDiscourseNodeConfigPage as isNodeConfigPage } from "~/utils/isDiscourseNodeConfigPage";
Expand All @@ -34,6 +33,7 @@ import {
render as renderDiscourseNodeMenu,
} from "~/components/DiscourseNodeMenu";
import { IKeyCombo } from "@blueprintjs/core";
import { configPageTabs } from "~/utils/configPageTabs";

export const initObservers = async ({
onloadArgs,
Expand Down
2 changes: 1 addition & 1 deletion apps/roam/src/utils/isDiscourseNodeConfigPage.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NODE_CONFIG_PAGE_TITLE } from "~/settings/configPages";
import { NODE_CONFIG_PAGE_TITLE } from "~/utils/renderNodeConfigPage";

export const isDiscourseNodeConfigPage = (title: string) =>
title.startsWith(NODE_CONFIG_PAGE_TITLE);
2 changes: 1 addition & 1 deletion apps/roam/src/utils/refreshConfigTree.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import discourseConfigRef from "./discourseConfigRef";
import registerDiscourseDatalogTranslators from "./registerDiscourseDatalogTranslators";
import { unregisterDatalogTranslator } from "./conditionToDatalog";
import type { PullBlock } from "roamjs-components/types/native";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/settings/configPages";
import { DISCOURSE_CONFIG_PAGE_TITLE } from "~/utils/renderNodeConfigPage";

const getPagesStartingWithPrefix = (prefix: string) =>
(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import {
} from "roamjs-components/dom";
import getPageTitleByPageUid from "roamjs-components/queries/getPageTitleByPageUid";
import { OnloadArgs } from "roamjs-components/types";
import getDiscourseNodes from "../utils/getDiscourseNodes";
import fireQuery from "../utils/fireQuery";
import getDiscourseNodes from "./getDiscourseNodes";
import fireQuery from "./fireQuery";

import { excludeDefaultNodes } from "~/utils/getDiscourseNodes";
import { render as renderSettings } from "~/components/settings/Settings";
Expand Down
Loading
Loading