From 0811299639cfdced8ad9ac1a0476ec04604af4b5 Mon Sep 17 00:00:00 2001 From: Aaquib Naved Date: Tue, 15 Dec 2020 21:51:51 +0000 Subject: [PATCH 1/5] Add optional filename override --- src/components/FileName.tsx | 22 ++++++++++++++-------- src/plugins/pdf/components/PDFControls.tsx | 2 +- src/types/index.ts | 1 + 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/components/FileName.tsx b/src/components/FileName.tsx index d64353bd..4df4c46d 100644 --- a/src/components/FileName.tsx +++ b/src/components/FileName.tsx @@ -10,16 +10,22 @@ export const FileName: FC<{}> = () => { if (!currentDocument || config?.header?.disableFileName) return null; - let fileName = currentDocument.uri || ""; - fileName = decodeURI(fileName); + let fileName = ""; - if (!config?.header?.retainURLParams) { - fileName = fileName.split("?")[0]; - } + if (currentDocument.fileName) { + fileName = currentDocument.fileName; + } else { + fileName = currentDocument.uri || ""; + fileName = decodeURI(fileName); + + if (!config?.header?.retainURLParams) { + fileName = fileName.split("?")[0]; + } - const splitURL = fileName.split("/"); - if (splitURL.length) { - fileName = splitURL[splitURL.length - 1]; + const splitURL = fileName.split("/"); + if (splitURL.length) { + fileName = splitURL[splitURL.length - 1]; + } } return ( diff --git a/src/plugins/pdf/components/PDFControls.tsx b/src/plugins/pdf/components/PDFControls.tsx index a9a5e0af..ddd7f567 100644 --- a/src/plugins/pdf/components/PDFControls.tsx +++ b/src/plugins/pdf/components/PDFControls.tsx @@ -30,7 +30,7 @@ const PDFControls: FC<{}> = () => { diff --git a/src/types/index.ts b/src/types/index.ts index eb50b4a4..adc561b9 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -37,6 +37,7 @@ export interface IDocument { uri: string; fileType?: string; fileData?: string | ArrayBuffer; + fileName?: string; } export interface DocRendererProps { From 42505473a489c3aad881e5e9fe2dd1c0700f1dc3 Mon Sep 17 00:00:00 2001 From: Aaquib Naved Date: Sun, 20 Dec 2020 12:14:36 +0000 Subject: [PATCH 2/5] Update Readme --- README.md | 58 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index a473f63a..a201545d 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,39 @@ # Contents -- [Current Renderable File Types](#current-renderable-file-types) -- [Installation](#installation) - - [Core](#core) -- [Usage](#usage) - - [Basic](#basic) - - [Included Renderers](#included-renderers) - - [Custom Renderer](#custom-renderer) - - [Themed](#themed) - - [Styling](#styling) - - [CSS Class](#css-class) - - [CSS Class Default Override](#css-class-default-override) - - [React Inline](#react-inline) - - [StyledComponent](#styledcomponent) - - [Config](#config) -- [Contributing](#contributing) - - [Creating a Renderer Plugin](#creating-a-renderer-plugin) -- [Overriding Header Component](#overriding-header-component) -- [API](#api) +- [react-doc-viewer](#react-doc-viewer) +- [Contents](#contents) + - [Current Renderable File Types](#current-renderable-file-types) + - [Installation](#installation) + - [Core](#core) + - [Usage](#usage) + - [Basic](#basic) + - [Included Renderers](#included-renderers) + - [Custom Renderer](#custom-renderer) + - [Custom File Loader](#custom-file-loader) + - [Themed](#themed) + - [Styling](#styling) + - [- CSS Class](#--css-class) + - [- CSS Class Default Override](#--css-class-default-override) + - [- React Inline](#--react-inline) + - [- StyledComponent](#--styledcomponent) + - [Config](#config) + - [Contributing](#contributing) + - [Creating a Renderer Plugin](#creating-a-renderer-plugin) + - [Overriding Header Component](#overriding-header-component) + - [API](#api) + - [`DocViewer props`](#docviewer-props) + - [`IDocument`](#idocument) + - [`IConfig`](#iconfig) + - [`IHeaderConfig`](#iheaderconfig) + - [`IHeaderOverride` () => `ReactElement | null`](#iheaderoverride---reactelementany-any--null) + - [`ITheme`](#itheme) + - [`DocRenderer` extends React.FC\<`DocRendererProps`\>](#docrenderer-extends-reactfcdocrendererprops) + - [`FileLoaderFunction`](#fileloaderfunction) + - [`FileLoaderFuncProps`](#fileloaderfuncprops) + - [`FileLoaderComplete`](#fileloadercomplete) + - [`DocRendererProps`](#docrendererprops) + - [`IMainState`](#imainstate)

@@ -374,9 +389,10 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `IDocument` | name | type | -| --------- | -------- | +| --------- | -------- | ----------------------------------------------------------------- | | uri | `string` | | fileType? | `string` | +| fileName? | `string` | | fileData? | `string | ArrayBuffer` - **Used Internally - Ignored if passed into props** | --- @@ -403,7 +419,7 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `IHeaderOverride` () => `ReactElement | null` | name | type | -| ---------------- | --------------------------- | +| ---------------- | --------------------------- | ----- | | state | [`IMainState`](#imainstate) | | previousDocument | `() => void` | | nextDocument | `() => void` | @@ -428,7 +444,7 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `DocRenderer` extends React.FC\<[`DocRendererProps`](#docrendererprops)\> | name | type | -| ----------- | --------------------------------------------- | +| ----------- | --------------------------------------------- | ---- | ---------- | | fileTypes | `string[]` | | weight | `number` | | fileLoader? | [`FileLoaderFunction`](#fileloaderfunction) ` | null | undefined` | From db3739da0008a62304ad70d0b048bd539e89a1ad Mon Sep 17 00:00:00 2001 From: Aaquib Naved Date: Sun, 20 Dec 2020 12:28:25 +0000 Subject: [PATCH 3/5] Correct Readme --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a201545d..a851e7d1 100644 --- a/README.md +++ b/README.md @@ -389,11 +389,11 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `IDocument` | name | type | -| --------- | -------- | ----------------------------------------------------------------- | +| --------- | -------- | | uri | `string` | | fileType? | `string` | | fileName? | `string` | -| fileData? | `string | ArrayBuffer` - **Used Internally - Ignored if passed into props** | +| fileData? | `string` | --- @@ -419,11 +419,11 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `IHeaderOverride` () => `ReactElement | null` | name | type | -| ---------------- | --------------------------- | ----- | +| ---------------- | --------------------------- | | state | [`IMainState`](#imainstate) | | previousDocument | `() => void` | | nextDocument | `() => void` | -| `returns` | `ReactElement | null` | +| `returns` | `ReactElement` | --- @@ -443,11 +443,11 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `DocRenderer` extends React.FC\<[`DocRendererProps`](#docrendererprops)\> -| name | type | -| ----------- | --------------------------------------------- | ---- | ---------- | -| fileTypes | `string[]` | -| weight | `number` | -| fileLoader? | [`FileLoaderFunction`](#fileloaderfunction) ` | null | undefined` | +| name | type | +| ----------- | ------------------------------------------- | +| fileTypes | `string[]` | +| weight | `number` | +| fileLoader? | [`FileLoaderFunction`](#fileloaderfunction) | --- From afe7e97d85f55a4b838ef97757bae096d2bdd4b7 Mon Sep 17 00:00:00 2001 From: Aaquib Naved Date: Sun, 20 Dec 2020 13:13:44 +0000 Subject: [PATCH 4/5] Corrected Readme --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a851e7d1..a289b884 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,7 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { | uri | `string` | | fileType? | `string` | | fileName? | `string` | -| fileData? | `string` | +| fileData? | `string | ArrayBuffer` - **Used Internally - Ignored if passed into props** | --- @@ -423,7 +423,7 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { | state | [`IMainState`](#imainstate) | | previousDocument | `() => void` | | nextDocument | `() => void` | -| `returns` | `ReactElement` | +| `returns` | `ReactElement | null` | --- @@ -443,11 +443,11 @@ const myHeader: IHeaderOverride = (state, previousDocument, nextDocument) => { ### `DocRenderer` extends React.FC\<[`DocRendererProps`](#docrendererprops)\> -| name | type | -| ----------- | ------------------------------------------- | -| fileTypes | `string[]` | -| weight | `number` | -| fileLoader? | [`FileLoaderFunction`](#fileloaderfunction) | +| name | type | +| ----------- | --------------------------------------------- | +| fileTypes | `string[]` | +| weight | `number` | +| fileLoader? | [`FileLoaderFunction`](#fileloaderfunction) ` | null | undefined` | --- From 35b9fe16c31a93f644b3d842010ba2664d1b09a4 Mon Sep 17 00:00:00 2001 From: Aaquib Naved <46406457+aaquibnaved@users.noreply.github.com> Date: Sun, 20 Dec 2020 13:17:47 +0000 Subject: [PATCH 5/5] Update README.md --- README.md | 51 ++++++++++++++++++--------------------------------- 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index a289b884..00db0aae 100644 --- a/README.md +++ b/README.md @@ -2,39 +2,24 @@ # Contents -- [react-doc-viewer](#react-doc-viewer) -- [Contents](#contents) - - [Current Renderable File Types](#current-renderable-file-types) - - [Installation](#installation) - - [Core](#core) - - [Usage](#usage) - - [Basic](#basic) - - [Included Renderers](#included-renderers) - - [Custom Renderer](#custom-renderer) - - [Custom File Loader](#custom-file-loader) - - [Themed](#themed) - - [Styling](#styling) - - [- CSS Class](#--css-class) - - [- CSS Class Default Override](#--css-class-default-override) - - [- React Inline](#--react-inline) - - [- StyledComponent](#--styledcomponent) - - [Config](#config) - - [Contributing](#contributing) - - [Creating a Renderer Plugin](#creating-a-renderer-plugin) - - [Overriding Header Component](#overriding-header-component) - - [API](#api) - - [`DocViewer props`](#docviewer-props) - - [`IDocument`](#idocument) - - [`IConfig`](#iconfig) - - [`IHeaderConfig`](#iheaderconfig) - - [`IHeaderOverride` () => `ReactElement | null`](#iheaderoverride---reactelementany-any--null) - - [`ITheme`](#itheme) - - [`DocRenderer` extends React.FC\<`DocRendererProps`\>](#docrenderer-extends-reactfcdocrendererprops) - - [`FileLoaderFunction`](#fileloaderfunction) - - [`FileLoaderFuncProps`](#fileloaderfuncprops) - - [`FileLoaderComplete`](#fileloadercomplete) - - [`DocRendererProps`](#docrendererprops) - - [`IMainState`](#imainstate) +- [Current Renderable File Types](#current-renderable-file-types) +- [Installation](#installation) + - [Core](#core) +- [Usage](#usage) + - [Basic](#basic) + - [Included Renderers](#included-renderers) + - [Custom Renderer](#custom-renderer) + - [Themed](#themed) + - [Styling](#styling) + - [CSS Class](#css-class) + - [CSS Class Default Override](#css-class-default-override) + - [React Inline](#react-inline) + - [StyledComponent](#styledcomponent) + - [Config](#config) +- [Contributing](#contributing) + - [Creating a Renderer Plugin](#creating-a-renderer-plugin) +- [Overriding Header Component](#overriding-header-component) +- [API](#api)