@scm-manager/ui-components 4.0.0-REACT19-20251104-145242 → 4.0.0-REACT19-20251105-104255
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scm-manager/ui-components",
|
|
3
|
-
"version": "4.0.0-REACT19-
|
|
3
|
+
"version": "4.0.0-REACT19-20251105-104255",
|
|
4
4
|
"description": "UI Components for SCM-Manager and its plugins",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"files": [
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@scm-manager/eslint-config": "^2.18.2",
|
|
35
35
|
"@scm-manager/prettier-config": "^2.12.0",
|
|
36
36
|
"@scm-manager/tsconfig": "^2.13.0",
|
|
37
|
-
"@scm-manager/ui-syntaxhighlighting": "4.0.0-REACT19-
|
|
38
|
-
"@scm-manager/ui-types": "4.0.0-REACT19-
|
|
37
|
+
"@scm-manager/ui-syntaxhighlighting": "4.0.0-REACT19-20251105-104255",
|
|
38
|
+
"@scm-manager/ui-types": "4.0.0-REACT19-20251105-104255",
|
|
39
39
|
"@storybook/addon-actions": "^9.0.8",
|
|
40
40
|
"@storybook/addon-docs": "^9.1.5",
|
|
41
41
|
"@storybook/addon-essentials": "^9.0.0-alpha.12",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"vitest": "^3.2.4"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@scm-manager/ui-api": "4.0.0-REACT19-
|
|
70
|
-
"@scm-manager/ui-core": "4.0.0-REACT19-
|
|
71
|
-
"@scm-manager/ui-extensions": "4.0.0-REACT19-
|
|
69
|
+
"@scm-manager/ui-api": "4.0.0-REACT19-20251105-104255",
|
|
70
|
+
"@scm-manager/ui-core": "4.0.0-REACT19-20251105-104255",
|
|
71
|
+
"@scm-manager/ui-extensions": "4.0.0-REACT19-20251105-104255",
|
|
72
72
|
"deepmerge": "^4.2.2",
|
|
73
73
|
"hast-util-sanitize": "^3.0.2",
|
|
74
74
|
"react-diff-view": "2.6.0",
|
|
@@ -58,12 +58,6 @@ class ConfigurationBinder {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
bindAdminSetting(to: string, labelI18nKey: string, linkName: string, ConfigurationComponent: any, sortKey?: string) {
|
|
61
|
-
// create predicate based on the link name of the index resource
|
|
62
|
-
// if the linkname is not available, the navigation link and the route are not bound to the extension points
|
|
63
|
-
const configPredicate = (props: any) => {
|
|
64
|
-
return props.links && props.links[linkName];
|
|
65
|
-
};
|
|
66
|
-
|
|
67
61
|
// create NavigationLink with translated label
|
|
68
62
|
const sanitizedTo = to.startsWith("/") ? to.substring(1) : to;
|
|
69
63
|
const ConfigNavLink = withTranslation(this.i18nNamespace)(({ t }) => {
|
|
@@ -71,7 +65,7 @@ class ConfigurationBinder {
|
|
|
71
65
|
});
|
|
72
66
|
|
|
73
67
|
// bind navigation link to extension point
|
|
74
|
-
binder.bind("admin.setting", ConfigNavLink,
|
|
68
|
+
binder.bind("admin.setting", ConfigNavLink, () => {}, sortKey ?? linkName);
|
|
75
69
|
|
|
76
70
|
// route for global configuration, passes the link from the index resource to component
|
|
77
71
|
const ConfigRoute = ({ ...additionalProps }: GlobalRouteProps = {} as GlobalRouteProps) => {
|
package/src/layout/Page.tsx
CHANGED
|
@@ -19,7 +19,6 @@ import classNames from "classnames";
|
|
|
19
19
|
import styled from "styled-components";
|
|
20
20
|
import Loading from "./../Loading";
|
|
21
21
|
import { ErrorNotification, Subtitle, Title } from "@scm-manager/ui-core";
|
|
22
|
-
import ErrorBoundary from "../ErrorBoundary";
|
|
23
22
|
import PageActions from "./PageActions";
|
|
24
23
|
|
|
25
24
|
type Props = {
|
|
@@ -118,10 +117,8 @@ const Page: FC<Props> = ({ title, afterTitle, subtitle, loading, error, showCont
|
|
|
118
117
|
<section className="section">
|
|
119
118
|
<div className="container">
|
|
120
119
|
{renderPageHeader()}
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
{renderContent()}
|
|
124
|
-
</ErrorBoundary>
|
|
120
|
+
<ErrorNotification error={error} />
|
|
121
|
+
{renderContent()}
|
|
125
122
|
</div>
|
|
126
123
|
</section>
|
|
127
124
|
);
|
|
@@ -23,7 +23,6 @@ import remark2rehype from "remark-rehype";
|
|
|
23
23
|
import rehype2react from "rehype-react";
|
|
24
24
|
import gfm from "remark-gfm";
|
|
25
25
|
import { BinderContext } from "@scm-manager/ui-extensions";
|
|
26
|
-
import ErrorBoundary from "../ErrorBoundary";
|
|
27
26
|
import { create as createMarkdownHeadingRenderer } from "./MarkdownHeadingRenderer";
|
|
28
27
|
import { create as createMarkdownLinkRenderer } from "./MarkdownLinkRenderer";
|
|
29
28
|
import { create as createMarkdownImageRenderer } from "./MarkdownImageRenderer";
|
|
@@ -74,7 +73,7 @@ const xmlMarkupSample = `\`\`\`xml
|
|
|
74
73
|
</your>
|
|
75
74
|
\`\`\``;
|
|
76
75
|
|
|
77
|
-
const MarkdownErrorNotification: FC = () => {
|
|
76
|
+
export const MarkdownErrorNotification: FC = () => {
|
|
78
77
|
const [t] = useTranslation("commons");
|
|
79
78
|
return (
|
|
80
79
|
<Notification type="danger">
|
|
@@ -182,14 +181,14 @@ class LazyMarkdownView extends React.Component<Props, State> {
|
|
|
182
181
|
if (!remarkRendererList.link) {
|
|
183
182
|
// @ts-ignore
|
|
184
183
|
const extensionPoints = this.context.getExtensions(
|
|
185
|
-
"markdown-renderer.link.protocol"
|
|
184
|
+
"markdown-renderer.link.protocol",
|
|
186
185
|
) as ProtocolLinkRendererExtension[];
|
|
187
186
|
protocolLinkRendererExtensions = extensionPoints.reduce<ProtocolLinkRendererExtensionMap>(
|
|
188
187
|
(prev, { protocol, renderer }) => {
|
|
189
188
|
prev[protocol] = renderer;
|
|
190
189
|
return prev;
|
|
191
190
|
},
|
|
192
|
-
{}
|
|
191
|
+
{},
|
|
193
192
|
);
|
|
194
193
|
remarkRendererList.link = createMarkdownLinkRenderer(basePath, protocolLinkRendererExtensions);
|
|
195
194
|
}
|
|
@@ -199,7 +198,7 @@ class LazyMarkdownView extends React.Component<Props, State> {
|
|
|
199
198
|
}
|
|
200
199
|
|
|
201
200
|
const remarkPlugins = [...mdastPlugins, createChangesetShortlinkParser(t), createValuelessTextAdapter()].map(
|
|
202
|
-
createMdastPlugin
|
|
201
|
+
createMdastPlugin,
|
|
203
202
|
);
|
|
204
203
|
|
|
205
204
|
let processor = unified()
|
|
@@ -224,7 +223,7 @@ class LazyMarkdownView extends React.Component<Props, State> {
|
|
|
224
223
|
protocols: {
|
|
225
224
|
href: Object.keys(protocolLinkRendererExtensions),
|
|
226
225
|
},
|
|
227
|
-
})
|
|
226
|
+
}),
|
|
228
227
|
)
|
|
229
228
|
.use(rehype2react, {
|
|
230
229
|
createElement: React.createElement,
|
|
@@ -235,14 +234,9 @@ class LazyMarkdownView extends React.Component<Props, State> {
|
|
|
235
234
|
const renderedMarkdown: any = processor.processSync(content).result;
|
|
236
235
|
|
|
237
236
|
return (
|
|
238
|
-
<
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
className={classNames("content", className)}
|
|
242
|
-
>
|
|
243
|
-
{renderedMarkdown}
|
|
244
|
-
</HorizontalScrollDiv>
|
|
245
|
-
</ErrorBoundary>
|
|
237
|
+
<HorizontalScrollDiv ref={(el) => this.setState({ contentRef: el })} className={classNames("content", className)}>
|
|
238
|
+
{renderedMarkdown}
|
|
239
|
+
</HorizontalScrollDiv>
|
|
246
240
|
);
|
|
247
241
|
}
|
|
248
242
|
}
|