@preference-sl/pref-viewer 2.16.0-beta.12 → 2.16.0-beta.14
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/README.md +1 -1
- package/package.json +1 -1
- package/src/panzoom-controller.js +8 -2
- package/src/pref-viewer-2d.js +3 -3
package/README.md
CHANGED
|
@@ -331,7 +331,7 @@ The component emits custom events so host applications can integrate loading ind
|
|
|
331
331
|
| `pref-viewer-2d-loading` | `<pref-viewer>`, `<pref-viewer-2d>` | `drawing-loading` | A 2D drawing load started. |
|
|
332
332
|
| `pref-viewer-2d-loaded` | `<pref-viewer>`, `<pref-viewer-2d>` | `drawing-loaded` | A 2D drawing load completed. |
|
|
333
333
|
| `pref-viewer-2d-error` | `<pref-viewer>`, `<pref-viewer-2d>` | `drawing-error` | A 2D drawing operation failed. |
|
|
334
|
-
| `pref-viewer-2d-viewport-changed` | `<pref-viewer>`, `<pref-viewer-2d>` | None | The 2D drawing pan/zoom viewport changed. |
|
|
334
|
+
| `pref-viewer-2d-viewport-changed` | `<pref-viewer>`, `<pref-viewer-2d>` | None | The 2D drawing pan/zoom viewport changed. `detail` contains numeric `x`, `y`, `scale` and boolean `moved`, `scaled`, `maximized`, `minimized`; it does not contain `centered` or any private `desde2d`, `mode`, or `source` marker. |
|
|
335
335
|
|
|
336
336
|
### Internal Listeners
|
|
337
337
|
|
package/package.json
CHANGED
|
@@ -40,7 +40,7 @@ import Panzoom from "@panzoom/panzoom/dist/panzoom.es.js";
|
|
|
40
40
|
*
|
|
41
41
|
* Getters:
|
|
42
42
|
* - panzoom: Returns the current Panzoom instance or null if not initialized.
|
|
43
|
-
* - state: Returns the current pan/zoom
|
|
43
|
+
* - state: Returns the current pan/zoom transform and semantic state.
|
|
44
44
|
*
|
|
45
45
|
* Private Methods:
|
|
46
46
|
* - #bindHandlers(): Pre-binds reusable event handlers to preserve stable references.
|
|
@@ -81,6 +81,9 @@ export default class PanzoomController {
|
|
|
81
81
|
totalCounter: 0,
|
|
82
82
|
};
|
|
83
83
|
#state = {
|
|
84
|
+
x: 0,
|
|
85
|
+
y: 0,
|
|
86
|
+
scale: 1,
|
|
84
87
|
moved: false,
|
|
85
88
|
scaled: false,
|
|
86
89
|
maximized: false,
|
|
@@ -164,6 +167,9 @@ export default class PanzoomController {
|
|
|
164
167
|
*/
|
|
165
168
|
#checkPanzoomState(transform) {
|
|
166
169
|
this.#state = {
|
|
170
|
+
x: transform.x,
|
|
171
|
+
y: transform.y,
|
|
172
|
+
scale: transform.scale,
|
|
167
173
|
moved: transform.x !== 0 || transform.y !== 0,
|
|
168
174
|
scaled: transform.scale !== 1,
|
|
169
175
|
maximized: transform.scale === this.#options.maxScale,
|
|
@@ -523,7 +529,7 @@ export default class PanzoomController {
|
|
|
523
529
|
/**
|
|
524
530
|
* Returns the current pan/zoom state.
|
|
525
531
|
* @public
|
|
526
|
-
* @returns {object} The state object: { moved, scaled, maximized, minimized }.
|
|
532
|
+
* @returns {object} The state object: { x, y, scale, moved, scaled, maximized, minimized }.
|
|
527
533
|
*/
|
|
528
534
|
get state() {
|
|
529
535
|
return this.#state;
|
package/src/pref-viewer-2d.js
CHANGED
|
@@ -32,7 +32,8 @@ import { PrefViewer2DStyles } from "./styles.js";
|
|
|
32
32
|
* - "pref-viewer-2d-loading": emitted before loading starts. Legacy alias: "drawing-loading"
|
|
33
33
|
* - "pref-viewer-2d-loaded": emitted after content and Panzoom are ready. Legacy alias: "drawing-loaded"
|
|
34
34
|
* - "pref-viewer-2d-error": emitted on validation/fetch errors (detail.error: Error). Legacy alias: "drawing-error"
|
|
35
|
-
* - "pref-viewer-2d-viewport-changed": emitted when pan/zoom state changes
|
|
35
|
+
* - "pref-viewer-2d-viewport-changed": emitted when pan/zoom state changes
|
|
36
|
+
* (detail: { x, y, scale, moved, scaled, maximized, minimized })
|
|
36
37
|
*
|
|
37
38
|
* Implementation notes
|
|
38
39
|
* - Keeps internal state in private fields (#svg, #panzoom, #panzoomOptions, ...).
|
|
@@ -291,7 +292,7 @@ export default class PrefViewer2D extends HTMLElement {
|
|
|
291
292
|
* @param {object} state - The current Panzoom state object.
|
|
292
293
|
* @returns {void}
|
|
293
294
|
* @description
|
|
294
|
-
* The event detail contains the Panzoom state: { moved, scaled, maximized, minimized } to provide
|
|
295
|
+
* The event detail contains the Panzoom state: { x, y, scale, moved, scaled, maximized, minimized } to provide
|
|
295
296
|
* the UI with the enabled/disabled status of the zoomIn, zoomOut, center, and zoomExtentsAll buttons.
|
|
296
297
|
*/
|
|
297
298
|
#onPanzoomChanged(state) {
|
|
@@ -301,7 +302,6 @@ export default class PrefViewer2D extends HTMLElement {
|
|
|
301
302
|
composed: false,
|
|
302
303
|
detail: state,
|
|
303
304
|
};
|
|
304
|
-
customEventOptions.detail.desde2d = "true";
|
|
305
305
|
this.dispatchEvent(new CustomEvent("pref-viewer-2d-viewport-changed", customEventOptions));
|
|
306
306
|
}
|
|
307
307
|
|