Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import { Resolve } from "@paperbits/react/decorators";
import { Router } from "@paperbits/common/routing";
import { Stack } from "@fluentui/react";
import { Badge, Dropdown, FluentProvider, Option, Spinner } from "@fluentui/react-components";
import { MarkdownRenderer } from "@microsoft/api-docs-ui";
import { Api } from "../../../../../models/api";
import { KnownMimeTypes } from "../../../../../models/knownMimeTypes"
import { ApiService } from "../../../../../services/apiService";
import { RouteHelper } from "../../../../../routing/routeHelper";
import { TypeOfApi, fuiTheme } from "../../../../../constants";
import { MarkdownProcessor } from "../../../../utils/react/MarkdownProcessor";

interface ApiDetailsProps {
changeLogPageUrl?: string
Expand Down Expand Up @@ -165,7 +165,7 @@ const ApiDetailsFC = ({
</Stack>
}
{api.description &&
<span style={{display: "block"}}><MarkdownProcessor markdownToDisplay={api.description} /></span>
<span style={{display: "block"}}><MarkdownRenderer markdown={api.description} /></span>
}
{(api.contact || api.license || api.termsOfServiceUrl) &&
<div className={"api-additional-info"}>
Expand Down
39 changes: 15 additions & 24 deletions src/components/apis/history-of-api/react/runtime/ApiHistory.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ import { useEffect, useState } from "react";
import { Resolve } from "@paperbits/react/decorators";
import { Router } from "@paperbits/common/routing";
import { Stack } from "@fluentui/react";
import { FluentProvider, Spinner, Table, TableBody, TableCell, TableHeader, TableHeaderCell, TableRow } from "@fluentui/react-components";
import { FluentProvider, Spinner, TableCell, TableRow } from "@fluentui/react-components";
import { InfoTable } from "@microsoft/api-docs-ui";
import { Api } from "../../../../../models/api";
import { Page } from "../../../../../models/page";
import { ChangeLogContract } from "../../../../../contracts/apiChangeLog";
import { ApiService } from "../../../../../services/apiService";
import { RouteHelper } from "../../../../../routing/routeHelper";
import { Pagination } from "../../../../utils/react/Pagination";
import { NoRecordsRow } from "../../../../utils/react/NoRecordsRow";
import { ScrollableTableContainer } from "../../../../utils/react/ScrollableTableContainer";
import { defaultPageSize, fuiTheme } from "../../../../../constants";
import { Utils } from "../../../../../utils";

Expand Down Expand Up @@ -91,27 +90,19 @@ const ApiHistoryFC = ({
<a href={routeHelper.getApiReferenceUrl(apiName, detailsPageUrl)}>Go back to the API reference page</a>
}
</Stack>
<ScrollableTableContainer>
<Table className={"fui-table"}>
<TableHeader>
<TableRow className={"fui-table-headerRow"}>
<TableHeaderCell><span className="strong">Release date</span></TableHeaderCell>
<TableHeaderCell><span className="strong">Notes</span></TableHeaderCell>
</TableRow>
</TableHeader>
<TableBody>
{currentChangelogPage?.value?.length > 0
? currentChangelogPage.value.map((changelog, index) => (
<TableRow key={index}>
<TableCell>{Utils.formatDateTime(changelog.createdDateTime)}</TableCell>
<TableCell>{changelog.notes}</TableCell>
</TableRow>
))
: <NoRecordsRow colspan={2} />
}
</TableBody>
</Table>
</ScrollableTableContainer>
<InfoTable
columnLabels={["Release date", "Notes"]}
children={
currentChangelogPage?.value?.length > 0
&& currentChangelogPage.value.map((changelog, index) => (
<TableRow key={index}>
<TableCell>{Utils.formatDateTime(changelog.createdDateTime)}</TableCell>
<TableCell>{changelog.notes}</TableCell>
</TableRow>
))
}
noDataMessage="No records to show"
/>
{currentChangelogPage?.count > 1 &&
<div className={"pagination-container"}>
<Pagination pageNumber={pageNumber} setPageNumber={setPageNumber} pageMax={Math.ceil(currentChangelogPage?.count / defaultPageSize)} />
Expand Down
34 changes: 1 addition & 33 deletions src/components/apis/list-of-apis/react/runtime/ApisCards.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import * as React from "react";
import { useState } from "react";
import { Stack } from "@fluentui/react";
import { ApiCard } from "@microsoft/api-docs-ui";
import { Api } from "../../../../../models/api";
import { TagGroup } from "../../../../../models/tagGroup";
import { MarkdownProcessor } from "../../../../utils/react/MarkdownProcessor";
import { markdownMaxCharsMap } from "../../../../../constants";
import { isApisGrouped, toggleValueInSet, TagGroupToggleBtn, TApisData } from "./utils";

type Props = {
Expand All @@ -13,36 +11,6 @@ type Props = {
detailsPageTarget: string;
};

const ApiCard = ({ api, getReferenceUrl, showApiType, detailsPageTarget }: Props & { api: Api }) => {
return (
<div className={"fui-list-card"}>
<div style={{ height: "100%" }}>
{showApiType && (
<div className={"fui-list-card-tags"}>
<span className="caption1">API</span>
<span className="caption1">{api.typeName}</span>
</div>
)}
<h4>{api.displayName}</h4>

<MarkdownProcessor markdownToDisplay={api.description} maxChars={markdownMaxCharsMap.cards} />
</div>

<Stack horizontal>
<a
href={getReferenceUrl(api.name)}
target={detailsPageTarget}
title={api.displayName}
role="button"
className="button"
>
Go to API
</a>
</Stack>
</div>
);
};

const ApisCardsContainer = ({ apis, ...props }: Props & { apis: Api[] }) => (
<>
{apis?.length > 0
Expand Down
65 changes: 21 additions & 44 deletions src/components/apis/list-of-apis/react/runtime/ApisTable.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
import * as React from "react";
import { useState } from "react";
import {
Table,
TableBody,
TableCell,
TableHeader,
TableHeaderCell,
TableRow,
} from "@fluentui/react-components";
import { TableCell, TableRow } from "@fluentui/react-components";
import { InfoTable, MarkdownRenderer } from "@microsoft/api-docs-ui";
import { Api } from "../../../../../models/api";
import { Page } from "../../../../../models/page";
import { TagGroup } from "../../../../../models/tagGroup";
import { MarkdownProcessor } from "../../../../utils/react/MarkdownProcessor";
import { NoRecordsRow } from "../../../../utils/react/NoRecordsRow";
import { ScrollableTableContainer } from "../../../../utils/react/ScrollableTableContainer";
import { markdownMaxCharsMap } from "../../../../../constants";
import {
isApisGrouped,
Expand All @@ -40,7 +32,7 @@ const TableBodyApis = ({ showApiType, apis, getReferenceUrl, detailsPageTarget }
</a>
</TableCell>
<TableCell>
<MarkdownProcessor markdownToDisplay={api.description} maxChars={markdownMaxCharsMap.table} />
<MarkdownRenderer markdown={api.description} maxLength={markdownMaxCharsMap.table} />
</TableCell>
{showApiType && <TableCell>{api.typeName}</TableCell>}
</TableRow>
Expand Down Expand Up @@ -88,38 +80,23 @@ const TableBodyTags = ({ tags, ...props }: Props & { tags: Page<TagGroup<Api>> }
);
};

export const ApisTable = ({ apis, ...props }: Props & { apis: TApisData }) => (
<ScrollableTableContainer>
<Table className={"fui-table"} size={"small"} aria-label={"APIs List table"}>
<TableHeader>
<TableRow className={"fui-table-headerRow"}>
<TableHeaderCell>
<span className="strong">Name</span>
</TableHeaderCell>
<TableHeaderCell>
<span className="strong">Description</span>
</TableHeaderCell>
{props.showApiType && (
<TableHeaderCell style={{ width: "8em" }}>
<span className="strong">Type</span>
</TableHeaderCell>
)}
</TableRow>
</TableHeader>
export const ApisTable = ({ apis, ...props }: Props & { apis: TApisData }) => {
const tableColumns = ["Name", "Description"];
props.showApiType && tableColumns.push("Type");

<TableBody>
{isApisGrouped(apis) ? (
<TableBodyTags
{...props}
tags={apis}
/>
return (
<InfoTable
title="APIs List table"
columnLabels={tableColumns}
columnWidths={["calc(50% - 4em)", "calc(50% - 4em)", "8em"]}
children={
isApisGrouped(apis) ? (
<TableBodyTags {...props} tags={apis} />
) : (
<TableBodyApis
{...props}
apis={apis.value}
/>
)}
</TableBody>
</Table>
</ScrollableTableContainer>
);
<TableBodyApis {...props} apis={apis.value} />
)
}
noDataMessage="No APIs to display"
/>
);
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import * as React from "react";
import { useCallback, useEffect, useState } from "react";
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
import { a11yLight } from "react-syntax-highlighter/dist/esm/styles/hljs";
import Editor, { Monaco } from '@monaco-editor/react';
import { ISettingsProvider } from "@paperbits/common/configuration";
import { SessionManager } from "@paperbits/common/persistence/sessionManager";
Expand Down Expand Up @@ -36,6 +34,7 @@ import {
truncateBreadcrumbLongName
} from "@fluentui/react-components";
import { DismissRegular, SearchRegular } from "@fluentui/react-icons";
import { MarkdownRenderer, SyntaxHighlighter } from "@microsoft/api-docs-ui";
import { RouteHelper } from "../../../../../routing/routeHelper";
import { Api } from "../../../../../models/api";
import { ConsoleHeader } from "../../../../../models/console/consoleHeader";
Expand All @@ -49,7 +48,6 @@ import { ProductService } from "../../../../../services/productService";
import { UsersService } from "../../../../../services/usersService";
import { GraphqlService, TGraphqlTypes } from "../../../../../services/graphqlService";
import { GqlWsMessageType, GraphqlProtocols, graphqlSubProtocol, GraphqlTypes } from "../../../../../constants";
import { MarkdownProcessor } from "../../../../utils/react/MarkdownProcessor";
import { Utils } from "../../../../../utils";
import { ConsoleAuthorization } from "./operation-console/ConsoleAuthorization";
import { ConsoleHeaders } from "./operation-console/ConsoleHeaders";
Expand Down Expand Up @@ -702,8 +700,8 @@ export const OperationConsoleGql = ({
}
{selectedTab === ConsoleTab.response &&
(requestError
? <MarkdownProcessor markdownToDisplay={requestError} />
: response && <SyntaxHighlighter children={response} language={responseLanguage} style={a11yLight} />
? <MarkdownRenderer markdown={requestError} />
: response && <SyntaxHighlighter children={response} language={responseLanguage} />
)
}
{selectedTab === ConsoleTab.wsconsole &&
Expand Down
Loading
Loading