Skip to content

Commit 832e586

Browse files
authored
v2.9.1 (#75)
* handle time series range selector issue, update pdfjs * prepare v2.9.1
1 parent 55a6f8e commit 832e586

File tree

9 files changed

+301
-266
lines changed

9 files changed

+301
-266
lines changed

lib/components/Documents/PdfDocumentViewer.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ Object.defineProperty(exports, "__esModule", {
55
});
66
exports.default = void 0;
77
var _react = _interopRequireWildcard(require("react"));
8-
var PDFJSViewer = _interopRequireWildcard(require("pdfjs-dist/legacy/web/pdf_viewer"));
8+
var pdfjs = _interopRequireWildcard(require("pdfjs-dist"));
9+
var PDFJSViewer = _interopRequireWildcard(require("pdfjs-dist/web/pdf_viewer.mjs"));
910
var _styles = require("@material-ui/core/styles");
1011
var _DocumentService = _interopRequireDefault(require("../../service/DocumentService"));
1112
var _ErrorCard = _interopRequireDefault(require("../Card/ErrorCard"));
@@ -17,10 +18,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
1718
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
1819
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
1920
// Pull in PDF JS and set up a reference to the worker source
20-
const pdfjs = require('pdfjs-dist/legacy/build/pdf');
21-
// eslint-disable-next-line import/no-webpack-loader-syntax, import/no-unresolved
22-
const PdfjsWorker = require('worker-loader?esModule=false&filename=static/js/workers/[name].[contenthash].js!pdfjs-dist/legacy/build/pdf.worker');
23-
pdfjs.GlobalWorkerOptions.workerPort = new PdfjsWorker();
21+
pdfjs.GlobalWorkerOptions.workerPort = new Worker(new URL('pdfjs-dist/build/pdf.worker.mjs', import.meta.url), {
22+
type: 'module'
23+
});
2424
const useStyles = (0, _styles.makeStyles)(muiTheme =>
2525
// eslint-disable-next-line implicit-arrow-linebreak
2626
(0, _styles.createStyles)({
@@ -141,7 +141,6 @@ const PdfDocumentViewer = props => {
141141
const pdfViewerOptions = {
142142
container: pdfContainerElement,
143143
linkService: pdfLinkService,
144-
l10n: PDFJSViewer.NullL10n,
145144
textLayerMode: 0,
146145
eventBus
147146
};

lib/components/TimeSeriesViewer/TimeSeriesViewerGraph.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,29 @@ function TimeSeriesViewerGraph() {
591591
dygraphRef.current.updateOptions(_extends({
592592
file: state.graphData.data
593593
}, graphOptions));
594+
// Detecting an out of bounds date window requires the data
595+
// to have been updated prior to getting the current axes
596+
// xAxisRange is the current date window selected by the range selector
597+
// xAxisExtremes is the date window bounds of the current data
598+
// If the range selector window no long applies to the viewable data,
599+
// reset the range selector bounds to the current data
600+
const xAxisRange = dygraphRef.current.xAxisRange();
601+
const xAxisExtremes = dygraphRef.current.xAxisExtremes();
602+
const isLeftBoundValid = xAxisRange[0] >= xAxisExtremes[0] && xAxisRange[0] <= xAxisExtremes[1];
603+
const isRightBoundValid = xAxisRange[1] >= xAxisExtremes[0] && xAxisRange[1] <= xAxisExtremes[1];
604+
if (!isLeftBoundValid || !isRightBoundValid) {
605+
let updatedDateWindow;
606+
if (!isLeftBoundValid && !isRightBoundValid) {
607+
updatedDateWindow = [...xAxisExtremes];
608+
} else if (!isLeftBoundValid) {
609+
updatedDateWindow = [xAxisExtremes[0], xAxisRange[1]];
610+
} else if (!isRightBoundValid) {
611+
updatedDateWindow = [xAxisRange[0], xAxisExtremes[1]];
612+
}
613+
dygraphRef.current.updateOptions({
614+
dateWindow: updatedDateWindow
615+
});
616+
}
594617
// Dygraphs has a bug where the canvas isn't cleared properly when dynamically changing
595618
// the y-axis count. We can force a canvas refresh by cycling the range selector. This
596619
// is not clean, but it is at least minimally invasive.

lib/remoteAssets/drupal-header.html.d.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

lib/remoteAssets/drupal-header.html.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)