asma-doc-viewer 0.1.2 → 1.0.3
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/.idea/asma-doc-viewer.iml +9 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +66 -0
- package/README.md +3 -1
- package/package.json +62 -63
- package/build/components/DocumentNav.d.ts +0 -2
- package/build/components/DocumentNav.js +0 -60
- package/build/components/FileName.d.ts +0 -2
- package/build/components/FileName.js +0 -51
- package/build/components/HeaderBar.d.ts +0 -2
- package/build/components/HeaderBar.js +0 -54
- package/build/components/ProxyRenderer.d.ts +0 -2
- package/build/components/ProxyRenderer.js +0 -76
- package/build/components/common/Button.d.ts +0 -11
- package/build/components/common/Button.js +0 -34
- package/build/components/common/index.d.ts +0 -1
- package/build/components/common/index.js +0 -13
- package/build/components/icons/index.d.ts +0 -9
- package/build/components/icons/index.js +0 -45
- package/build/index.d.ts +0 -26
- package/build/index.js +0 -87
- package/build/plugins/bmp/index.d.ts +0 -3
- package/build/plugins/bmp/index.js +0 -22
- package/build/plugins/html/index.d.ts +0 -3
- package/build/plugins/html/index.js +0 -56
- package/build/plugins/image/index.d.ts +0 -3
- package/build/plugins/image/index.js +0 -34
- package/build/plugins/index.d.ts +0 -1
- package/build/plugins/index.js +0 -26
- package/build/plugins/jpg/index.d.ts +0 -3
- package/build/plugins/jpg/index.js +0 -22
- package/build/plugins/msdoc/index.d.ts +0 -3
- package/build/plugins/msdoc/index.js +0 -50
- package/build/plugins/msg/index.d.ts +0 -3
- package/build/plugins/msg/index.js +0 -89
- package/build/plugins/pdf/components/PDFControls.d.ts +0 -3
- package/build/plugins/pdf/components/PDFControls.js +0 -57
- package/build/plugins/pdf/components/PDFPagination.d.ts +0 -3
- package/build/plugins/pdf/components/PDFPagination.js +0 -53
- package/build/plugins/pdf/components/icons/index.d.ts +0 -9
- package/build/plugins/pdf/components/icons/index.js +0 -73
- package/build/plugins/pdf/components/pages/PDFAllPages.d.ts +0 -6
- package/build/plugins/pdf/components/pages/PDFAllPages.js +0 -37
- package/build/plugins/pdf/components/pages/PDFPages.d.ts +0 -3
- package/build/plugins/pdf/components/pages/PDFPages.js +0 -52
- package/build/plugins/pdf/components/pages/PDFSinglePage.d.ts +0 -6
- package/build/plugins/pdf/components/pages/PDFSinglePage.js +0 -49
- package/build/plugins/pdf/index.d.ts +0 -3
- package/build/plugins/pdf/index.js +0 -52
- package/build/plugins/pdf/state/actions.d.ts +0 -25
- package/build/plugins/pdf/state/actions.js +0 -31
- package/build/plugins/pdf/state/index.d.ts +0 -12
- package/build/plugins/pdf/state/index.js +0 -43
- package/build/plugins/pdf/state/reducer.d.ts +0 -12
- package/build/plugins/pdf/state/reducer.js +0 -45
- package/build/plugins/png/index.d.ts +0 -3
- package/build/plugins/png/index.js +0 -29
- package/build/plugins/tiff/index.d.ts +0 -3
- package/build/plugins/tiff/index.js +0 -73
- package/build/plugins/tiff/tiffToCanvas.d.ts +0 -1
- package/build/plugins/tiff/tiffToCanvas.js +0 -602
- package/build/plugins/txt/index.d.ts +0 -3
- package/build/plugins/txt/index.js +0 -22
- package/build/state/actions.d.ts +0 -42
- package/build/state/actions.js +0 -45
- package/build/state/index.d.ts +0 -10
- package/build/state/index.js +0 -51
- package/build/state/reducer.d.ts +0 -14
- package/build/state/reducer.js +0 -64
- package/build/theme/index.d.ts +0 -2
- package/build/theme/index.js +0 -12
- package/build/types/index.d.ts +0 -39
- package/build/types/index.js +0 -2
- package/build/utils/fileLoaders.d.ts +0 -12
- package/build/utils/fileLoaders.js +0 -105
- package/build/utils/useDocumentLoader.d.ts +0 -12
- package/build/utils/useDocumentLoader.js +0 -82
- package/build/utils/useRendererSelector.d.ts +0 -7
- package/build/utils/useRendererSelector.js +0 -40
- package/build/utils/useWindowSize.d.ts +0 -4
- package/build/utils/useWindowSize.js +0 -34
package/build/state/actions.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setMainConfig = exports.SET_MAIN_CONFIG = exports.setRendererRect = exports.SET_RENDERER_RECT = exports.updateCurrentDocument = exports.UPDATE_CURRENT_DOCUMENT = exports.previousDocument = exports.PREVIOUS_DOCUMENT = exports.nextDocument = exports.NEXT_DOCUMENT = exports.setDocumentLoading = exports.SET_DOCUMENT_LOADING = exports.setAllDocuments = exports.SET_ALL_DOCUMENTS = void 0;
|
|
4
|
-
// SET_DOCUMENTS
|
|
5
|
-
exports.SET_ALL_DOCUMENTS = "SET_ALL_DOCUMENTS";
|
|
6
|
-
var setAllDocuments = function (documents) { return ({
|
|
7
|
-
type: exports.SET_ALL_DOCUMENTS,
|
|
8
|
-
documents: documents,
|
|
9
|
-
}); };
|
|
10
|
-
exports.setAllDocuments = setAllDocuments;
|
|
11
|
-
// SET_DOCUMENT_LOADING
|
|
12
|
-
exports.SET_DOCUMENT_LOADING = "SET_DOCUMENT_LOADING";
|
|
13
|
-
var setDocumentLoading = function (value) { return ({
|
|
14
|
-
type: exports.SET_DOCUMENT_LOADING,
|
|
15
|
-
value: value,
|
|
16
|
-
}); };
|
|
17
|
-
exports.setDocumentLoading = setDocumentLoading;
|
|
18
|
-
// NEXT_DOCUMENT
|
|
19
|
-
exports.NEXT_DOCUMENT = "NEXT_DOCUMENT";
|
|
20
|
-
var nextDocument = function () { return ({ type: exports.NEXT_DOCUMENT }); };
|
|
21
|
-
exports.nextDocument = nextDocument;
|
|
22
|
-
// PREVIOUS_DOCUMENT
|
|
23
|
-
exports.PREVIOUS_DOCUMENT = "PREVIOUS_DOCUMENT";
|
|
24
|
-
var previousDocument = function () { return ({
|
|
25
|
-
type: exports.PREVIOUS_DOCUMENT,
|
|
26
|
-
}); };
|
|
27
|
-
exports.previousDocument = previousDocument;
|
|
28
|
-
// UPDATE_CURRENT_DOCUMENT
|
|
29
|
-
exports.UPDATE_CURRENT_DOCUMENT = "UPDATE_CURRENT_DOCUMENT";
|
|
30
|
-
var updateCurrentDocument = function (document) { return ({ type: exports.UPDATE_CURRENT_DOCUMENT, document: document }); };
|
|
31
|
-
exports.updateCurrentDocument = updateCurrentDocument;
|
|
32
|
-
// SET_RENDERER_RECT
|
|
33
|
-
exports.SET_RENDERER_RECT = "SET_RENDERER_RECT";
|
|
34
|
-
var setRendererRect = function (rect) { return ({
|
|
35
|
-
type: exports.SET_RENDERER_RECT,
|
|
36
|
-
rect: rect,
|
|
37
|
-
}); };
|
|
38
|
-
exports.setRendererRect = setRendererRect;
|
|
39
|
-
// SET_MAIN_CONFIG
|
|
40
|
-
exports.SET_MAIN_CONFIG = "SET_MAIN_CONFIG";
|
|
41
|
-
var setMainConfig = function (config) { return ({
|
|
42
|
-
type: exports.SET_MAIN_CONFIG,
|
|
43
|
-
config: config,
|
|
44
|
-
}); };
|
|
45
|
-
exports.setMainConfig = setMainConfig;
|
package/build/state/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React, { Dispatch, FC } from "react";
|
|
2
|
-
import { DocViewerProps } from "..";
|
|
3
|
-
import { MainStateActions } from "./actions";
|
|
4
|
-
import { IMainState } from "./reducer";
|
|
5
|
-
declare const DocViewerContext: React.Context<{
|
|
6
|
-
state: IMainState;
|
|
7
|
-
dispatch: Dispatch<MainStateActions>;
|
|
8
|
-
}>;
|
|
9
|
-
declare const AppProvider: FC<DocViewerProps>;
|
|
10
|
-
export { DocViewerContext, AppProvider };
|
package/build/state/index.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
-
if (mod && mod.__esModule) return mod;
|
|
27
|
-
var result = {};
|
|
28
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
-
__setModuleDefault(result, mod);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.AppProvider = exports.DocViewerContext = void 0;
|
|
34
|
-
var react_1 = __importStar(require("react"));
|
|
35
|
-
var actions_1 = require("./actions");
|
|
36
|
-
var reducer_1 = require("./reducer");
|
|
37
|
-
var DocViewerContext = react_1.createContext({ state: reducer_1.initialState, dispatch: function () { return null; } });
|
|
38
|
-
exports.DocViewerContext = DocViewerContext;
|
|
39
|
-
var AppProvider = function (props) {
|
|
40
|
-
var children = props.children, documents = props.documents, config = props.config, pluginRenderers = props.pluginRenderers;
|
|
41
|
-
var _a = react_1.useReducer(reducer_1.mainStateReducer, __assign(__assign({}, reducer_1.initialState), { documents: documents || [], currentDocument: documents && documents.length ? documents[0] : undefined, config: config,
|
|
42
|
-
pluginRenderers: pluginRenderers })), state = _a[0], dispatch = _a[1];
|
|
43
|
-
// On inital load, and whenever they change,
|
|
44
|
-
// replace documents with the new props passed in
|
|
45
|
-
react_1.useEffect(function () {
|
|
46
|
-
dispatch(actions_1.setAllDocuments(documents));
|
|
47
|
-
config && dispatch(actions_1.setMainConfig(config));
|
|
48
|
-
}, [documents]);
|
|
49
|
-
return (react_1.default.createElement(DocViewerContext.Provider, { value: { state: state, dispatch: dispatch } }, children));
|
|
50
|
-
};
|
|
51
|
-
exports.AppProvider = AppProvider;
|
package/build/state/reducer.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DocRenderer, IConfig, IDocument } from "../types";
|
|
2
|
-
import { MainStateActions } from "./actions";
|
|
3
|
-
export declare type IMainState = {
|
|
4
|
-
currentFileNo: number;
|
|
5
|
-
documents: IDocument[];
|
|
6
|
-
documentLoading?: boolean;
|
|
7
|
-
currentDocument?: IDocument;
|
|
8
|
-
rendererRect?: DOMRect;
|
|
9
|
-
config?: IConfig;
|
|
10
|
-
pluginRenderers?: DocRenderer[];
|
|
11
|
-
};
|
|
12
|
-
export declare const initialState: IMainState;
|
|
13
|
-
export declare type MainStateReducer = (state: IMainState, action: MainStateActions) => IMainState;
|
|
14
|
-
export declare const mainStateReducer: MainStateReducer;
|
package/build/state/reducer.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.mainStateReducer = exports.initialState = void 0;
|
|
15
|
-
var actions_1 = require("./actions");
|
|
16
|
-
exports.initialState = {
|
|
17
|
-
currentFileNo: 0,
|
|
18
|
-
documents: [],
|
|
19
|
-
documentLoading: true,
|
|
20
|
-
currentDocument: undefined,
|
|
21
|
-
rendererRect: undefined,
|
|
22
|
-
config: {},
|
|
23
|
-
pluginRenderers: [],
|
|
24
|
-
};
|
|
25
|
-
var mainStateReducer = function (state, action) {
|
|
26
|
-
if (state === void 0) { state = exports.initialState; }
|
|
27
|
-
switch (action.type) {
|
|
28
|
-
case actions_1.SET_ALL_DOCUMENTS: {
|
|
29
|
-
var documents = action.documents;
|
|
30
|
-
return __assign(__assign({}, state), { documents: documents, currentDocument: documents[0] || null });
|
|
31
|
-
}
|
|
32
|
-
case actions_1.SET_DOCUMENT_LOADING: {
|
|
33
|
-
var value = action.value;
|
|
34
|
-
return __assign(__assign({}, state), { documentLoading: value });
|
|
35
|
-
}
|
|
36
|
-
case actions_1.NEXT_DOCUMENT: {
|
|
37
|
-
if (state.currentFileNo >= state.documents.length - 1)
|
|
38
|
-
return state;
|
|
39
|
-
var nextDocumentNo = state.currentFileNo + 1;
|
|
40
|
-
return __assign(__assign({}, state), { currentFileNo: nextDocumentNo, currentDocument: state.documents[nextDocumentNo], documentLoading: true });
|
|
41
|
-
}
|
|
42
|
-
case actions_1.PREVIOUS_DOCUMENT: {
|
|
43
|
-
if (state.currentFileNo <= 0)
|
|
44
|
-
return state;
|
|
45
|
-
var prevDocumentNo = state.currentFileNo - 1;
|
|
46
|
-
return __assign(__assign({}, state), { currentFileNo: state.currentFileNo - 1, currentDocument: state.documents[prevDocumentNo], documentLoading: true });
|
|
47
|
-
}
|
|
48
|
-
case actions_1.UPDATE_CURRENT_DOCUMENT: {
|
|
49
|
-
var document_1 = action.document;
|
|
50
|
-
return __assign(__assign({}, state), { currentDocument: document_1 });
|
|
51
|
-
}
|
|
52
|
-
case actions_1.SET_RENDERER_RECT: {
|
|
53
|
-
var rect = action.rect;
|
|
54
|
-
return __assign(__assign({}, state), { rendererRect: rect });
|
|
55
|
-
}
|
|
56
|
-
case actions_1.SET_MAIN_CONFIG: {
|
|
57
|
-
var config = action.config;
|
|
58
|
-
return __assign(__assign({}, state), { config: config });
|
|
59
|
-
}
|
|
60
|
-
default:
|
|
61
|
-
return state;
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
exports.mainStateReducer = mainStateReducer;
|
package/build/theme/index.d.ts
DELETED
package/build/theme/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defaultTheme = void 0;
|
|
4
|
-
exports.defaultTheme = {
|
|
5
|
-
primary: "#fff",
|
|
6
|
-
secondary: "#000",
|
|
7
|
-
tertiary: "#ffffff99",
|
|
8
|
-
text_primary: "#000",
|
|
9
|
-
text_secondary: "#fff",
|
|
10
|
-
text_tertiary: "#00000044",
|
|
11
|
-
disableThemeScrollbar: false,
|
|
12
|
-
};
|
package/build/types/index.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { FC, ReactElement } from "react";
|
|
2
|
-
import { ThemedStyledProps } from "styled-components";
|
|
3
|
-
import { IMainState } from "../state/reducer";
|
|
4
|
-
import { FileLoaderFunction } from "../utils/fileLoaders";
|
|
5
|
-
export interface IConfig {
|
|
6
|
-
header?: IHeaderConfig;
|
|
7
|
-
}
|
|
8
|
-
export interface IHeaderConfig {
|
|
9
|
-
disableHeader?: boolean;
|
|
10
|
-
disableFileName?: boolean;
|
|
11
|
-
retainURLParams?: boolean;
|
|
12
|
-
overrideComponent?: IHeaderOverride;
|
|
13
|
-
}
|
|
14
|
-
export declare type IHeaderOverride = (state: IMainState, previousDocument: () => void, nextDocument: () => void) => ReactElement<any, any> | null;
|
|
15
|
-
export interface ITheme {
|
|
16
|
-
primary?: string;
|
|
17
|
-
secondary?: string;
|
|
18
|
-
tertiary?: string;
|
|
19
|
-
text_primary?: string;
|
|
20
|
-
text_secondary?: string;
|
|
21
|
-
text_tertiary?: string;
|
|
22
|
-
disableThemeScrollbar?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface IStyledProps extends ThemedStyledProps<any, any> {
|
|
25
|
-
theme: ITheme;
|
|
26
|
-
}
|
|
27
|
-
export interface IDocument {
|
|
28
|
-
uri: string;
|
|
29
|
-
fileType?: string;
|
|
30
|
-
fileData?: string | ArrayBuffer;
|
|
31
|
-
}
|
|
32
|
-
export interface DocRendererProps {
|
|
33
|
-
mainState: IMainState;
|
|
34
|
-
}
|
|
35
|
-
export interface DocRenderer extends FC<DocRendererProps> {
|
|
36
|
-
fileTypes: string[];
|
|
37
|
-
weight: number;
|
|
38
|
-
fileLoader?: FileLoaderFunction | null | undefined;
|
|
39
|
-
}
|
package/build/types/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface FileLoaderFuncProps {
|
|
2
|
-
documentURI: string;
|
|
3
|
-
signal: AbortSignal;
|
|
4
|
-
fileLoaderComplete: FileLoaderComplete;
|
|
5
|
-
}
|
|
6
|
-
export declare type FileLoaderComplete = (fileReader?: FileReader) => void;
|
|
7
|
-
export declare type FileLoaderFunction = (props: FileLoaderFuncProps) => void;
|
|
8
|
-
export declare const arrayBufferFileLoader: FileLoaderFunction;
|
|
9
|
-
export declare const dataURLFileLoader: FileLoaderFunction;
|
|
10
|
-
export declare const textFileLoader: FileLoaderFunction;
|
|
11
|
-
export declare const binaryStringFileLoader: FileLoaderFunction;
|
|
12
|
-
export declare const defaultFileLoader: FileLoaderFunction;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.defaultFileLoader = exports.binaryStringFileLoader = exports.textFileLoader = exports.dataURLFileLoader = exports.arrayBufferFileLoader = void 0;
|
|
51
|
-
var _fileLoader = function (_a) {
|
|
52
|
-
var documentURI = _a.documentURI, signal = _a.signal, fileLoaderComplete = _a.fileLoaderComplete, readerTypeFunction = _a.readerTypeFunction;
|
|
53
|
-
return fetch(documentURI, { signal: signal })
|
|
54
|
-
.then(function (res) { return __awaiter(void 0, void 0, void 0, function () {
|
|
55
|
-
var blob, fileReader;
|
|
56
|
-
return __generator(this, function (_a) {
|
|
57
|
-
switch (_a.label) {
|
|
58
|
-
case 0: return [4 /*yield*/, res.blob()];
|
|
59
|
-
case 1:
|
|
60
|
-
blob = _a.sent();
|
|
61
|
-
fileReader = new FileReader();
|
|
62
|
-
fileReader.addEventListener("loadend", function () {
|
|
63
|
-
return fileLoaderComplete(fileReader);
|
|
64
|
-
});
|
|
65
|
-
switch (readerTypeFunction) {
|
|
66
|
-
case "arrayBuffer":
|
|
67
|
-
fileReader.readAsArrayBuffer(blob);
|
|
68
|
-
break;
|
|
69
|
-
case "binaryString":
|
|
70
|
-
fileReader.readAsBinaryString(blob);
|
|
71
|
-
break;
|
|
72
|
-
case "dataURL":
|
|
73
|
-
fileReader.readAsDataURL(blob);
|
|
74
|
-
break;
|
|
75
|
-
case "text":
|
|
76
|
-
fileReader.readAsText(blob);
|
|
77
|
-
break;
|
|
78
|
-
default:
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
return [2 /*return*/];
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}); })
|
|
85
|
-
.catch(function (e) {
|
|
86
|
-
return e;
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
var arrayBufferFileLoader = function (props) {
|
|
90
|
-
return _fileLoader(__assign(__assign({}, props), { readerTypeFunction: "arrayBuffer" }));
|
|
91
|
-
};
|
|
92
|
-
exports.arrayBufferFileLoader = arrayBufferFileLoader;
|
|
93
|
-
var dataURLFileLoader = function (props) {
|
|
94
|
-
return _fileLoader(__assign(__assign({}, props), { readerTypeFunction: "dataURL" }));
|
|
95
|
-
};
|
|
96
|
-
exports.dataURLFileLoader = dataURLFileLoader;
|
|
97
|
-
var textFileLoader = function (props) {
|
|
98
|
-
return _fileLoader(__assign(__assign({}, props), { readerTypeFunction: "text" }));
|
|
99
|
-
};
|
|
100
|
-
exports.textFileLoader = textFileLoader;
|
|
101
|
-
var binaryStringFileLoader = function (props) {
|
|
102
|
-
return _fileLoader(__assign(__assign({}, props), { readerTypeFunction: "binaryString" }));
|
|
103
|
-
};
|
|
104
|
-
exports.binaryStringFileLoader = binaryStringFileLoader;
|
|
105
|
-
exports.defaultFileLoader = exports.dataURLFileLoader;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Dispatch } from "react";
|
|
2
|
-
import { MainStateActions } from "../state/actions";
|
|
3
|
-
import { IMainState } from "../state/reducer";
|
|
4
|
-
import { DocRenderer } from "../types";
|
|
5
|
-
/**
|
|
6
|
-
* Custom Hook for loading the current document into context
|
|
7
|
-
*/
|
|
8
|
-
export declare const useDocumentLoader: () => {
|
|
9
|
-
state: IMainState;
|
|
10
|
-
dispatch: Dispatch<MainStateActions>;
|
|
11
|
-
CurrentRenderer: DocRenderer | null | undefined;
|
|
12
|
-
};
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.useDocumentLoader = void 0;
|
|
15
|
-
var react_1 = require("react");
|
|
16
|
-
var state_1 = require("../state");
|
|
17
|
-
var actions_1 = require("../state/actions");
|
|
18
|
-
var fileLoaders_1 = require("./fileLoaders");
|
|
19
|
-
var useRendererSelector_1 = require("./useRendererSelector");
|
|
20
|
-
/**
|
|
21
|
-
* Custom Hook for loading the current document into context
|
|
22
|
-
*/
|
|
23
|
-
var useDocumentLoader = function () {
|
|
24
|
-
var _a = react_1.useContext(state_1.DocViewerContext), state = _a.state, dispatch = _a.dispatch;
|
|
25
|
-
var currentFileNo = state.currentFileNo, currentDocument = state.currentDocument;
|
|
26
|
-
var CurrentRenderer = useRendererSelector_1.useRendererSelector().CurrentRenderer;
|
|
27
|
-
var documentURI = (currentDocument === null || currentDocument === void 0 ? void 0 : currentDocument.uri) || "";
|
|
28
|
-
react_1.useEffect(function () {
|
|
29
|
-
if (!currentDocument)
|
|
30
|
-
return;
|
|
31
|
-
if (currentDocument.fileType !== undefined)
|
|
32
|
-
return;
|
|
33
|
-
var controller = new AbortController();
|
|
34
|
-
var signal = controller.signal;
|
|
35
|
-
fetch(documentURI, { method: "HEAD", signal: signal }).then(function (response) {
|
|
36
|
-
var contentTypeRaw = response.headers.get("content-type");
|
|
37
|
-
var contentTypes = (contentTypeRaw === null || contentTypeRaw === void 0 ? void 0 : contentTypeRaw.split(";")) || [];
|
|
38
|
-
var contentType = contentTypes.length ? contentTypes[0] : undefined;
|
|
39
|
-
dispatch(actions_1.updateCurrentDocument(__assign(__assign({}, currentDocument), { fileType: contentType || undefined })));
|
|
40
|
-
});
|
|
41
|
-
return function () {
|
|
42
|
-
controller.abort();
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
// eslint ignore added, because a warning appears for dispatch to
|
|
46
|
-
// be a dependancy of the useEffect
|
|
47
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
|
-
[currentFileNo, documentURI]);
|
|
49
|
-
react_1.useEffect(function () {
|
|
50
|
-
var _a;
|
|
51
|
-
if (!currentDocument || CurrentRenderer === undefined)
|
|
52
|
-
return;
|
|
53
|
-
var controller = new AbortController();
|
|
54
|
-
var signal = controller.signal;
|
|
55
|
-
var fileLoaderComplete = function (fileReader) {
|
|
56
|
-
if (!currentDocument || !fileReader) {
|
|
57
|
-
dispatch(actions_1.setDocumentLoading(false));
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
var updatedDocument = __assign({}, currentDocument);
|
|
61
|
-
if (fileReader.result !== null) {
|
|
62
|
-
updatedDocument.fileData = fileReader.result;
|
|
63
|
-
}
|
|
64
|
-
dispatch(actions_1.updateCurrentDocument(updatedDocument));
|
|
65
|
-
dispatch(actions_1.setDocumentLoading(false));
|
|
66
|
-
};
|
|
67
|
-
if (CurrentRenderer === null) {
|
|
68
|
-
dispatch(actions_1.setDocumentLoading(false));
|
|
69
|
-
}
|
|
70
|
-
else if (CurrentRenderer.fileLoader !== undefined) {
|
|
71
|
-
(_a = CurrentRenderer.fileLoader) === null || _a === void 0 ? void 0 : _a.call(CurrentRenderer, { documentURI: documentURI, signal: signal, fileLoaderComplete: fileLoaderComplete });
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
fileLoaders_1.defaultFileLoader({ documentURI: documentURI, signal: signal, fileLoaderComplete: fileLoaderComplete });
|
|
75
|
-
}
|
|
76
|
-
return function () {
|
|
77
|
-
controller.abort();
|
|
78
|
-
};
|
|
79
|
-
}, [CurrentRenderer]);
|
|
80
|
-
return { state: state, dispatch: dispatch, CurrentRenderer: CurrentRenderer };
|
|
81
|
-
};
|
|
82
|
-
exports.useDocumentLoader = useDocumentLoader;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useRendererSelector = void 0;
|
|
4
|
-
var react_1 = require("react");
|
|
5
|
-
var state_1 = require("../state");
|
|
6
|
-
/**
|
|
7
|
-
* Custom Hook for loading the current document into context
|
|
8
|
-
*/
|
|
9
|
-
var useRendererSelector = function () {
|
|
10
|
-
var _a = react_1.useContext(state_1.DocViewerContext).state, currentDocument = _a.currentDocument, pluginRenderers = _a.pluginRenderers;
|
|
11
|
-
var _b = react_1.useState(), CurrentRenderer = _b[0], setCurrentRenderer = _b[1];
|
|
12
|
-
react_1.useEffect(function () {
|
|
13
|
-
if (!currentDocument)
|
|
14
|
-
return;
|
|
15
|
-
// Do not advance if the document does not yet have a fileType
|
|
16
|
-
// This prevents prematurely showing 'no renderer' message
|
|
17
|
-
if (!currentDocument.fileType) {
|
|
18
|
-
setCurrentRenderer(undefined);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
var matchingRenderers = [];
|
|
22
|
-
pluginRenderers === null || pluginRenderers === void 0 ? void 0 : pluginRenderers.map(function (r) {
|
|
23
|
-
if (currentDocument.fileType === undefined)
|
|
24
|
-
return;
|
|
25
|
-
if (r.fileTypes.indexOf(currentDocument.fileType) >= 0) {
|
|
26
|
-
matchingRenderers.push(r);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
// Compute prefered Renderer based on weight
|
|
30
|
-
var SelectedRenderer = matchingRenderers.sort(function (a, b) { return b.weight - a.weight; })[0];
|
|
31
|
-
if (SelectedRenderer && SelectedRenderer !== undefined) {
|
|
32
|
-
setCurrentRenderer(function () { return SelectedRenderer; });
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
setCurrentRenderer(null);
|
|
36
|
-
}
|
|
37
|
-
}, [currentDocument]);
|
|
38
|
-
return { CurrentRenderer: CurrentRenderer };
|
|
39
|
-
};
|
|
40
|
-
exports.useRendererSelector = useRendererSelector;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useWindowSize = void 0;
|
|
4
|
-
var react_1 = require("react");
|
|
5
|
-
// Hook
|
|
6
|
-
var useWindowSize = function () {
|
|
7
|
-
// Initialize state with undefined width/height so server and client renders match
|
|
8
|
-
// Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
|
|
9
|
-
var _a = react_1.useState({
|
|
10
|
-
width: undefined,
|
|
11
|
-
height: undefined,
|
|
12
|
-
}), windowSize = _a[0], setWindowSize = _a[1];
|
|
13
|
-
react_1.useEffect(function () {
|
|
14
|
-
// Handler to call on window resize
|
|
15
|
-
function handleResize() {
|
|
16
|
-
// Set window width/height to state
|
|
17
|
-
setWindowSize({
|
|
18
|
-
width: window.innerWidth,
|
|
19
|
-
height: window.innerHeight,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
// Add event listener
|
|
23
|
-
window.addEventListener("resize", handleResize);
|
|
24
|
-
// Call handler right away so state gets updated with initial window size
|
|
25
|
-
handleResize();
|
|
26
|
-
// setTimeout(() => {
|
|
27
|
-
// handleResize();
|
|
28
|
-
// }, 500);
|
|
29
|
-
// Remove event listener on cleanup
|
|
30
|
-
return function () { return window.removeEventListener("resize", handleResize); };
|
|
31
|
-
}, []); // Empty array ensures that effect is only run on mount
|
|
32
|
-
return windowSize;
|
|
33
|
-
};
|
|
34
|
-
exports.useWindowSize = useWindowSize;
|