@vertexvis/doc-viewer 1.0.2-testing.3 → 1.0.2-testing.5

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.
Files changed (32) hide show
  1. package/dist/cjs/vertex-document-viewer.cjs.entry.js +112 -275
  2. package/dist/collection/components/document-viewer/document-viewer.css +2 -2
  3. package/dist/collection/components/document-viewer/document-viewer.js +18 -6
  4. package/dist/collection/lib/document/layers/controller.js +12 -0
  5. package/dist/components/vertex-document-viewer.js +2 -2
  6. package/dist/doc-viewer/doc-viewer.esm.js +1 -1
  7. package/dist/doc-viewer/p-49c08e34.entry.js +25 -0
  8. package/dist/esm/vertex-document-viewer.entry.js +112 -275
  9. package/dist/types/__mocks__/pdfjs-mock.d.ts +1 -0
  10. package/dist/types/__setup__/polyfills.d.ts +1 -0
  11. package/dist/types/__setup__/resize-observer.d.ts +1 -0
  12. package/dist/types/components/document-viewer/document-viewer.d.ts +2 -0
  13. package/dist/types/index.d.ts +1 -0
  14. package/dist/types/lib/config.d.ts +1 -0
  15. package/dist/types/lib/document/api.d.ts +1 -0
  16. package/dist/types/lib/document/layers/controller.d.ts +4 -1
  17. package/dist/types/lib/document/layers/index.d.ts +1 -0
  18. package/dist/types/lib/document/layers/types.d.ts +1 -0
  19. package/dist/types/lib/document/provider.d.ts +1 -0
  20. package/dist/types/lib/document/renderer.d.ts +1 -0
  21. package/dist/types/lib/dom.d.ts +1 -0
  22. package/dist/types/lib/index.d.ts +1 -0
  23. package/dist/types/lib/interactions/pan-interaction-handler.d.ts +1 -0
  24. package/dist/types/lib/pdf/pdfjs-api.d.ts +1 -0
  25. package/dist/types/lib/pdf/pdfjs-provider.d.ts +1 -0
  26. package/dist/types/lib/pdf/pdfjs-renderer.d.ts +1 -0
  27. package/dist/types/lib/types/loadableResource.d.ts +1 -0
  28. package/dist/types/polyfill/index.d.ts +1 -0
  29. package/dist/types/polyfill/resize-observer.d.ts +1 -0
  30. package/dist/types/testing/mock-document-api.d.ts +1 -0
  31. package/package.json +6 -6
  32. package/dist/doc-viewer/p-96109c78.entry.js +0 -25
@@ -34,6 +34,7 @@ export class VertexDocumentViewer {
34
34
  this.handleDocumentApiStateChanged = this.handleDocumentApiStateChanged.bind(this);
35
35
  this.handlePageLoaded = this.handlePageLoaded.bind(this);
36
36
  this.handlePageDrawn = this.handlePageDrawn.bind(this);
37
+ this.layers = new DocumentLayersController();
37
38
  this.resizeObserver = new ResizeObserver(this.handleElementResize);
38
39
  this.registerSlotChangeListeners();
39
40
  }
@@ -46,7 +47,7 @@ export class VertexDocumentViewer {
46
47
  var _a;
47
48
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.hostEl);
48
49
  this.updateComponentDimensions();
49
- this.handleSrcChange();
50
+ this.loadInitialSrc();
50
51
  this.injectViewerApi();
51
52
  }
52
53
  disconnectedCallback() {
@@ -113,12 +114,13 @@ export class VertexDocumentViewer {
113
114
  await documentApi.loadPage(pageNumber);
114
115
  }
115
116
  async handleSrcChange() {
117
+ var _a;
116
118
  if (this.src != null && this.canvasEl != null) {
117
119
  this.clearCurrentDocument();
118
120
  const { api, renderer } = this.provider.create(this.canvasEl, this.config);
119
121
  this.documentApi = api;
120
122
  this.documentRenderer = renderer;
121
- this.layers = new DocumentLayersController(api);
123
+ (_a = this.layers) === null || _a === void 0 ? void 0 : _a.setApi(api);
122
124
  this.updateInteractionHandler();
123
125
  this.updateDocumentApiListeners();
124
126
  await this.documentApi.updateViewport(this.dimensions);
@@ -135,9 +137,9 @@ export class VertexDocumentViewer {
135
137
  this.updateInteractionHandler();
136
138
  }
137
139
  render() {
138
- return (h(Host, { key: 'f1ddf0b4e321bc244a5d757e48f6d71c23caca3c' }, h("div", { key: '174c64c537f4b0f1c45fc6543e5b7f54515e4063', ref: ref => (this.viewerContainerElement = ref), class: "viewer-container", onContextMenu: event => event.preventDefault() }, h("div", { key: '4c47dadba03b32bde017252a9a8ea7f6e6d323f3', ref: ref => (this.canvasContainerElement = ref), class: classNames('canvas-container', {
140
+ return (h(Host, { key: 'a990831d5f2328f2cf21be0b82d4018b05decd51' }, h("div", { key: '349abae36254da570e640417fab459680c576465', ref: ref => (this.viewerContainerElement = ref), class: "viewer-container", onContextMenu: event => event.preventDefault() }, h("div", { key: '6fca3f1d5a2c31bdcc0c8dbbd468e306db981740', ref: ref => (this.canvasContainerElement = ref), class: classNames('canvas-container', {
139
141
  'enable-pointer-events ': window.PointerEvent != null,
140
- }) }, h("canvas", { key: 'ae645889dd5cb93084f820f9f3d14a56de0213f7', id: "document-viewer-canvas", role: "presentation", ref: el => (this.canvasEl = el) })), h("slot", { key: '7762c493306bf5d21cd16218f1abd3c6d0300ace' }))));
142
+ }) }, h("canvas", { key: 'deb1c58d8d20000053cd829401163bf1e68ca88e', id: "document-viewer-canvas", role: "presentation", ref: el => (this.canvasEl = el) })), h("slot", { key: '6b87846ef17b330b0fae5d03103765bad6fdafa6' }))));
141
143
  }
142
144
  getDocumentApi() {
143
145
  if (this.documentApi == null) {
@@ -145,15 +147,25 @@ export class VertexDocumentViewer {
145
147
  }
146
148
  return this.documentApi;
147
149
  }
150
+ async loadInitialSrc() {
151
+ await Promise.resolve();
152
+ await this.handleSrcChange();
153
+ }
148
154
  clearCurrentDocument() {
149
- var _a, _b, _c, _d, _e, _f;
155
+ var _a, _b, _c, _d, _e, _f, _g;
150
156
  (_a = this.documentRenderer) === null || _a === void 0 ? void 0 : _a.dispose();
151
157
  (_b = this.documentApi) === null || _b === void 0 ? void 0 : _b.dispose();
152
158
  (_c = this.panInteractionHandler) === null || _c === void 0 ? void 0 : _c.dispose();
153
159
  (_d = this.documentApiStateChangedDisposable) === null || _d === void 0 ? void 0 : _d.dispose();
154
160
  (_e = this.pageLoadedDisposable) === null || _e === void 0 ? void 0 : _e.dispose();
155
161
  (_f = this.pageDrawnDisposable) === null || _f === void 0 ? void 0 : _f.dispose();
156
- this.layers = undefined;
162
+ this.documentRenderer = undefined;
163
+ this.documentApi = undefined;
164
+ this.panInteractionHandler = undefined;
165
+ this.documentApiStateChangedDisposable = undefined;
166
+ this.pageLoadedDisposable = undefined;
167
+ this.pageDrawnDisposable = undefined;
168
+ (_g = this.layers) === null || _g === void 0 ? void 0 : _g.clear();
157
169
  }
158
170
  handleDocumentApiStateChanged(state) {
159
171
  this.documentState = state;
@@ -5,10 +5,22 @@ import { apiSupportsLayers } from "./types";
5
5
  export class DocumentLayersController {
6
6
  constructor(api) {
7
7
  this.apiSupportsLayers = false;
8
+ if (api != null) {
9
+ this.setApi(api);
10
+ }
11
+ }
12
+ setApi(api) {
8
13
  if (apiSupportsLayers(api)) {
9
14
  this.apiSupportsLayers = true;
10
15
  this.api = api;
11
16
  }
17
+ else {
18
+ this.clear();
19
+ }
20
+ }
21
+ clear() {
22
+ this.apiSupportsLayers = false;
23
+ this.api = undefined;
12
24
  }
13
25
  /**
14
26
  * Returns a boolean indicating whether the document supports layers.