Skip to content

Commit 370ce65

Browse files
committed
fix: styling and icons
1 parent 4d60bd0 commit 370ce65

13 files changed

+152
-64
lines changed
Binary file not shown.

packages/pluggableWidgets/document-viewer-web/components/DocxViewer.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ const DocxViewer: DocRendererElement = (props: DocumentViewerContainerProps) =>
4343

4444
return (
4545
<Fragment>
46+
<div className="widget-document-viewer-controls">
47+
<div className="widget-document-viewer-controls-left">{file.value?.name}</div>
48+
</div>
4649
{docxHtml && (
4750
<div className="widget-document-viewer-content" dangerouslySetInnerHTML={{ __html: docxHtml }}>
4851
{/* {docHtmlStr} */}

packages/pluggableWidgets/document-viewer-web/components/PDFViewer.tsx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,25 @@ const PDFViewer: DocRendererElement = (props: DocumentViewerContainerProps) => {
3333
return (
3434
<Fragment>
3535
<div className="widget-document-viewer-controls">
36-
<button onClick={() => setCurrentPage(prev => Math.max(prev - 1, 1))} disabled={currentPage <= 1}>
37-
Previous
38-
</button>
39-
<span>
40-
Page {currentPage} of {numberOfPages}
41-
</span>
42-
<button onClick={() => setCurrentPage(prev => Math.min(prev + 1, numberOfPages))}>Next</button>
36+
<div className="widget-document-viewer-controls-left">{file.value?.name}</div>
37+
<div className="widget-document-viewer-controls-icons">
38+
<div className="widget-document-viewer-pagination">
39+
<button
40+
onClick={() => setCurrentPage(prev => Math.max(prev - 1, 1))}
41+
disabled={currentPage <= 1}
42+
className="icons icon-Left btn btn-icon-only"
43+
aria-label={"Go to previous page"}
44+
></button>
45+
<span>
46+
{currentPage} / {numberOfPages}
47+
</span>
48+
<button
49+
onClick={() => setCurrentPage(prev => Math.min(prev + 1, numberOfPages))}
50+
className="icons icon-Right btn btn-icon-only"
51+
aria-label={"Go to next page"}
52+
></button>
53+
</div>
54+
</div>
4355
</div>
4456
<div className="widget-document-viewer-content">
4557
{pdfUrl && (
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { Properties } from "@mendix/pluggable-widgets-tools";
2+
import {
3+
StructurePreviewProps,
4+
structurePreviewPalette
5+
} from "@mendix/widget-plugin-platform/preview/structure-preview-api";
6+
import { DocumentViewerPreviewProps } from "typings/DocumentViewerProps";
7+
8+
export function getProperties(_values: DocumentViewerPreviewProps, defaultProperties: Properties): Properties {
9+
return defaultProperties;
10+
}
11+
12+
export function getPreview(_values: DocumentViewerPreviewProps, isDarkMode: boolean): StructurePreviewProps {
13+
const palette = structurePreviewPalette[isDarkMode ? "dark" : "light"];
14+
return {
15+
type: "Container",
16+
children: [
17+
{
18+
type: "RowLayout",
19+
grow: 2,
20+
columnSize: "grow",
21+
borders: true,
22+
borderWidth: 1,
23+
borderRadius: 2,
24+
backgroundColor: _values.readOnly ? palette.background.containerDisabled : palette.background.container,
25+
children: [
26+
{
27+
type: "Container",
28+
grow: 1,
29+
padding: 4,
30+
children: [
31+
{
32+
type: "Text",
33+
content: getCustomCaption(_values),
34+
fontColor: palette.text.data
35+
}
36+
]
37+
}
38+
],
39+
padding: 8
40+
}
41+
],
42+
backgroundColor: palette.background.container,
43+
borderRadius: 8
44+
};
45+
}
46+
47+
export function getCustomCaption(_values: DocumentViewerPreviewProps): string {
48+
return `[${_values.file ?? "No attribute selected"}]`;
49+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { createElement, ReactElement } from "react";
2+
import { DocumentViewerPreviewProps } from "typings/DocumentViewerProps";
3+
import "../ui/DocumentViewer.scss";
4+
5+
export const preview = (props: DocumentViewerPreviewProps): ReactElement => {
6+
const { file } = props;
7+
return (
8+
<div className="widget-document-viewer">
9+
<div className="widget-document-viewer-content">{file ? `[${file}]` : "[No attribute selected]"}</div>
10+
</div>
11+
);
12+
};
Loading
Loading
Loading
Loading

packages/pluggableWidgets/document-viewer-web/src/DocumentViewer.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { createElement, ReactElement } from "react";
22
import { DocumentContext } from "../store";
33
import { DocumentViewerContainerProps } from "../typings/DocumentViewerProps";
44
import { useRendererSelector } from "../utils/useRendererSelector";
5-
import "../ui/DocumentViewer.scss";
5+
import "../ui/documentViewer.scss";
6+
import "../ui/documentViewerIcons.scss";
67
import classNames from "classnames";
78

89
export default function DocumentViewer(props: DocumentViewerContainerProps): ReactElement {

0 commit comments

Comments
 (0)