@file-viewer/renderer-cad 2.1.12 → 2.1.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/dist/cad.js +43 -1
- package/package.json +2 -2
package/dist/cad.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CadViewer, } from '@flyfish-dev/cad-viewer';
|
|
2
2
|
import { resolveFileViewerCadAssetUrls } from '@file-viewer/core/assets';
|
|
3
|
-
import {
|
|
3
|
+
import { createFileViewerViewStateChange, createFileViewerViewStateChangeEmitter, createFileViewerTranslator, createFileViewerZoomChangeEmitter, registerFileViewerViewStateProvider, registerFileViewerZoomProvider, resolveFileViewerLocale, unregisterFileViewerViewStateProvider, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
4
4
|
const CAD_WORKER_TIMEOUT = 120000;
|
|
5
5
|
const cadStyle = `
|
|
6
6
|
.cad-shell{display:flex;height:100%;min-height:100%;flex-direction:column;background:#f5f7fb;color:#142335}
|
|
@@ -201,6 +201,28 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
201
201
|
};
|
|
202
202
|
};
|
|
203
203
|
const cadZoomEmitter = createFileViewerZoomChangeEmitter();
|
|
204
|
+
const cadViewStateEmitter = createFileViewerViewStateChangeEmitter();
|
|
205
|
+
const getCadViewState = () => ({
|
|
206
|
+
renderer: 'cad',
|
|
207
|
+
scale: getCadZoomState().scale,
|
|
208
|
+
zoom: getCadZoomState(),
|
|
209
|
+
extra: {
|
|
210
|
+
status,
|
|
211
|
+
view: viewState ? { ...viewState } : null,
|
|
212
|
+
backend: renderStats === null || renderStats === void 0 ? void 0 : renderStats.backend,
|
|
213
|
+
layerCount: layers.length,
|
|
214
|
+
visibleLayers: layers
|
|
215
|
+
.filter(layer => layer.isVisible !== false && !layer.isFrozen)
|
|
216
|
+
.map(layer => layer.name),
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
const emitCadViewStateChange = (action, source = 'viewer') => {
|
|
220
|
+
const state = getCadViewState();
|
|
221
|
+
if (!disposed) {
|
|
222
|
+
cadViewStateEmitter.emit(createFileViewerViewStateChange(state, { action, source }));
|
|
223
|
+
}
|
|
224
|
+
return state;
|
|
225
|
+
};
|
|
204
226
|
const syncInspector = () => {
|
|
205
227
|
const summary = loadResult === null || loadResult === void 0 ? void 0 : loadResult.summary;
|
|
206
228
|
const rows = [
|
|
@@ -244,6 +266,7 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
244
266
|
queueMicrotask(() => {
|
|
245
267
|
viewer === null || viewer === void 0 ? void 0 : viewer.fit();
|
|
246
268
|
cadZoomEmitter.emit();
|
|
269
|
+
emitCadViewStateChange('layer-toggle', 'user');
|
|
247
270
|
});
|
|
248
271
|
});
|
|
249
272
|
return button;
|
|
@@ -276,16 +299,19 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
276
299
|
viewer === null || viewer === void 0 ? void 0 : viewer.fit();
|
|
277
300
|
cadZoomEmitter.emit();
|
|
278
301
|
syncState();
|
|
302
|
+
emitCadViewStateChange('zoom-reset', 'user');
|
|
279
303
|
};
|
|
280
304
|
const zoomIn = () => {
|
|
281
305
|
viewer === null || viewer === void 0 ? void 0 : viewer.zoomIn();
|
|
282
306
|
cadZoomEmitter.emit();
|
|
283
307
|
syncState();
|
|
308
|
+
emitCadViewStateChange('zoom-in', 'user');
|
|
284
309
|
};
|
|
285
310
|
const zoomOut = () => {
|
|
286
311
|
viewer === null || viewer === void 0 ? void 0 : viewer.zoomOut();
|
|
287
312
|
cadZoomEmitter.emit();
|
|
288
313
|
syncState();
|
|
314
|
+
emitCadViewStateChange('zoom-out', 'user');
|
|
289
315
|
};
|
|
290
316
|
registerFileViewerZoomProvider(shell, {
|
|
291
317
|
zoomIn: () => {
|
|
@@ -303,6 +329,19 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
303
329
|
getState: getCadZoomState,
|
|
304
330
|
subscribe: cadZoomEmitter.subscribe,
|
|
305
331
|
});
|
|
332
|
+
registerFileViewerViewStateProvider(shell, {
|
|
333
|
+
getState: getCadViewState,
|
|
334
|
+
async applyState(_state, applyOptions = {}) {
|
|
335
|
+
const source = applyOptions.source || 'api';
|
|
336
|
+
const action = applyOptions.action || 'restore';
|
|
337
|
+
const notify = applyOptions.notify !== false;
|
|
338
|
+
if (notify) {
|
|
339
|
+
return emitCadViewStateChange(action, source);
|
|
340
|
+
}
|
|
341
|
+
return getCadViewState();
|
|
342
|
+
},
|
|
343
|
+
subscribe: cadViewStateEmitter.subscribe,
|
|
344
|
+
});
|
|
306
345
|
fitButton.addEventListener('click', fitToView);
|
|
307
346
|
zoomInButton.addEventListener('click', zoomIn);
|
|
308
347
|
zoomOutButton.addEventListener('click', zoomOut);
|
|
@@ -357,6 +396,7 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
357
396
|
onViewChange: event => {
|
|
358
397
|
viewState = event;
|
|
359
398
|
cadZoomEmitter.emit();
|
|
399
|
+
emitCadViewStateChange('cad-view-change', 'user');
|
|
360
400
|
syncState();
|
|
361
401
|
},
|
|
362
402
|
onLoad: result => {
|
|
@@ -410,6 +450,7 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
410
450
|
queueMicrotask(() => {
|
|
411
451
|
viewer === null || viewer === void 0 ? void 0 : viewer.fit();
|
|
412
452
|
cadZoomEmitter.emit();
|
|
453
|
+
emitCadViewStateChange('init', 'viewer');
|
|
413
454
|
syncState();
|
|
414
455
|
});
|
|
415
456
|
}
|
|
@@ -435,6 +476,7 @@ export default async function renderCad(buffer, target, type = 'dxf', context) {
|
|
|
435
476
|
$el: shell,
|
|
436
477
|
unmount() {
|
|
437
478
|
disposed = true;
|
|
479
|
+
unregisterFileViewerViewStateProvider(shell);
|
|
438
480
|
unregisterFileViewerZoomProvider(shell);
|
|
439
481
|
abortController === null || abortController === void 0 ? void 0 : abortController.abort();
|
|
440
482
|
abortController = null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@file-viewer/renderer-cad",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.14",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Standalone CAD renderer plugin for Flyfish File Viewer powered by @flyfish-dev/cad-viewer.",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"LICENSE"
|
|
57
57
|
],
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@file-viewer/core": "^2.1.
|
|
59
|
+
"@file-viewer/core": "^2.1.14",
|
|
60
60
|
"@flyfish-dev/cad-viewer": "^0.6.4"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|