@3cr/viewer-browser 0.0.61 → 0.0.86

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 (59) hide show
  1. package/components.d.ts +0 -1
  2. package/coverage/3cr-viewer-browser/index.html +5 -5
  3. package/coverage/3cr-viewer-browser/index.ts.html +14 -26
  4. package/coverage/3cr-viewer-browser/src/App.vue.html +51 -48
  5. package/coverage/3cr-viewer-browser/src/components/WebGL3DR.vue.html +1 -1
  6. package/coverage/3cr-viewer-browser/src/components/icons/index.html +1 -1
  7. package/coverage/3cr-viewer-browser/src/components/icons/liver.vue.html +1 -1
  8. package/coverage/3cr-viewer-browser/src/components/index.html +1 -1
  9. package/coverage/3cr-viewer-browser/src/components/loading/LoadingSpinner.vue.html +82 -16
  10. package/coverage/3cr-viewer-browser/src/components/loading/index.html +5 -5
  11. package/coverage/3cr-viewer-browser/src/components/modal/MftpWebGL3DRModal.vue.html +238 -1123
  12. package/coverage/3cr-viewer-browser/src/components/modal/index.html +19 -19
  13. package/coverage/3cr-viewer-browser/src/components/selectors/ValueSelector.vue.html +47 -20
  14. package/coverage/3cr-viewer-browser/src/components/selectors/index.html +7 -7
  15. package/coverage/3cr-viewer-browser/src/components/sliders/DoubleSliderSelector.vue.html +62 -20
  16. package/coverage/3cr-viewer-browser/src/components/sliders/VerticalSliderSelector.vue.html +16 -7
  17. package/coverage/3cr-viewer-browser/src/components/sliders/index.html +10 -10
  18. package/coverage/3cr-viewer-browser/src/dataLayer/iconData.ts.html +118 -0
  19. package/coverage/3cr-viewer-browser/src/dataLayer/index.html +146 -0
  20. package/coverage/3cr-viewer-browser/src/dataLayer/payloadHandler.ts.html +352 -0
  21. package/coverage/3cr-viewer-browser/src/dataLayer/scanState.ts.html +628 -0
  22. package/coverage/3cr-viewer-browser/src/helpers/index.html +1 -1
  23. package/coverage/3cr-viewer-browser/src/helpers/layoutOverlayStyle.ts.html +1 -1
  24. package/coverage/3cr-viewer-browser/src/helpers/modelHelper.ts.html +105 -105
  25. package/coverage/3cr-viewer-browser/src/helpers/utils.ts.html +3 -3
  26. package/coverage/3cr-viewer-browser/src/index.html +5 -5
  27. package/coverage/3cr-viewer-browser/src/main.ts.html +1 -1
  28. package/coverage/3cr-viewer-browser/src/models/LoadViewerOptions.ts.html +166 -0
  29. package/coverage/3cr-viewer-browser/src/models/index.html +116 -0
  30. package/coverage/3cr-viewer-browser/src/notifications/index.html +116 -0
  31. package/coverage/3cr-viewer-browser/src/notifications/notification.ts.html +229 -0
  32. package/coverage/3cr-viewer-browser/src/plugins/index.html +5 -5
  33. package/coverage/3cr-viewer-browser/src/plugins/index.ts.html +14 -8
  34. package/coverage/3cr-viewer-browser/src/plugins/vuetify.ts.html +1 -1
  35. package/coverage/index.html +78 -33
  36. package/dist/Viewer3CR.js +12 -12
  37. package/dist/Viewer3CR.mjs +10004 -9916
  38. package/dist/Viewer3CR.umd.js +12 -12
  39. package/index.ts +7 -42
  40. package/package.json +2 -1
  41. package/src/App.vue +6 -2
  42. package/src/components/modal/MftpWebGL3DRModal.vue +137 -452
  43. package/src/components/modal/__tests__/mftp-webgl-3dr-modal.spec.ts +114 -83
  44. package/src/components/selectors/ValueSelector.vue +4 -0
  45. package/src/components/selectors/__tests__/value-selector.spec.ts +18 -0
  46. package/src/components/sliders/DoubleSliderSelector.vue +10 -4
  47. package/src/components/sliders/__tests__/double-slider-selector.spec.ts +32 -0
  48. package/src/dataLayer/__tests__/payload-handler.spec.ts +98 -0
  49. package/src/dataLayer/iconData.ts +11 -0
  50. package/src/dataLayer/payloadHandler.ts +89 -0
  51. package/src/dataLayer/scanState.ts +181 -0
  52. package/src/demo/DemoPatientModal.vue +59 -0
  53. package/src/demo/options.ts +93 -0
  54. package/src/models/Callbacks.ts +2 -0
  55. package/src/models/LoadViewerOptions.ts +27 -0
  56. package/src/models/LoadViewerPayload.ts +8 -0
  57. package/src/notifications/notification.ts +48 -0
  58. package/vitest.config.mts +1 -0
  59. /package/src/{components/modal → demo}/DemoModal.vue +0 -0
package/index.ts CHANGED
@@ -1,46 +1,12 @@
1
1
  import { registerVersion } from "@3cr/sdk-browser";
2
2
  import { ComponentPublicInstance, createApp } from "vue";
3
- import { registerPlugins } from "./src/plugins";
3
+ import { registerPlugins } from "@/plugins";
4
4
  import { App as BrowserViewer } from "./src/main";
5
-
6
- export type ViewerCallback = () => void;
7
- export type ViewerAsyncCallback = () => Promise<void>;
8
-
9
- // Note: not defining the option will not display the item
10
- export interface LoadViewerOptions {
11
- OnShare?: ViewerCallback | ViewerAsyncCallback | undefined;
12
- OnScreenshot?: ViewerCallback | ViewerAsyncCallback | undefined;
13
- OnLoadNewDicomSeries?: ViewerCallback | ViewerAsyncCallback | undefined;
14
- OnDownloadDicomSeries?: ViewerCallback | ViewerAsyncCallback | undefined;
15
- OnLoadSavedSession?: ViewerCallback | ViewerAsyncCallback | undefined;
16
- OnShareToMobile?: ViewerCallback | ViewerAsyncCallback | undefined;
17
- OnSendTo3rdParty?: ViewerCallback | ViewerAsyncCallback | undefined;
18
- OnSaveSession?: ViewerCallback | ViewerAsyncCallback | undefined;
19
- OnClosePopup?: ViewerCallback | ViewerAsyncCallback | undefined;
20
- OnExitViewer?: ViewerCallback | ViewerAsyncCallback | undefined;
21
- }
22
-
23
- export interface LoadViewerPayload {
24
- Url: string;
25
- DecryptionKey: MftpDecryptionKey;
26
- }
27
- export interface MftpDecryptionKey {
28
- Key: string;
29
- Iv: string;
30
- }
31
-
32
- export const defaultOptions: LoadViewerOptions = {
33
- OnClosePopup: () => Promise.resolve(),
34
- OnExitViewer: () => Promise.resolve(),
35
- OnLoadNewDicomSeries: () => Promise.resolve(),
36
- OnDownloadDicomSeries: () => Promise.resolve(),
37
- OnLoadSavedSession: () => Promise.resolve(),
38
- OnSaveSession: () => Promise.resolve(),
39
- OnSendTo3rdParty: () => Promise.resolve(),
40
- OnShareToMobile: () => Promise.resolve(),
41
- OnShare: () => Promise.resolve(),
42
- OnScreenshot: () => Promise.resolve(),
43
- };
5
+ import {
6
+ defaultLoadViewerOptions,
7
+ LoadViewerOptions,
8
+ } from "@/models/LoadViewerOptions";
9
+ import { LoadViewerPayload } from "@/models/LoadViewerPayload";
44
10
 
45
11
  let mountedApp: ComponentPublicInstance | undefined = undefined;
46
12
 
@@ -59,10 +25,9 @@ export async function registerViewer(version: string) {
59
25
  await registerVersion(version);
60
26
  }
61
27
 
62
- // TODO: accept callbacks for each function we want the parent to handle
63
28
  export async function loadViewer(
64
29
  payload: LoadViewerPayload | undefined = undefined,
65
- options: LoadViewerOptions = defaultOptions
30
+ options: LoadViewerOptions = defaultLoadViewerOptions
66
31
  ): Promise<void> {
67
32
  if (!mountedApp) {
68
33
  throw new Error(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3cr/viewer-browser",
3
- "version": "0.0.61",
3
+ "version": "0.0.86",
4
4
  "main": "./dist/Viewer3CR.umd.js",
5
5
  "module": "dist/Viewer3CR.umd.js",
6
6
  "homepage": "https://docs.3cr.singular.health",
@@ -14,6 +14,7 @@
14
14
  "deploy": "npm version --no-git-tag-version patch && npm run build && npm publish",
15
15
  "preview": "vite preview",
16
16
  "test": "vitest",
17
+ "test:ui": "vitest --ui",
17
18
  "compile:scripts": "tsc --project tsconfig.build-scripts.json",
18
19
  "deploy:playground": "npm run compile:scripts && node scripts/postPublish.js",
19
20
  "coverage": "vitest run --coverage"
package/src/App.vue CHANGED
@@ -8,8 +8,12 @@
8
8
  <script setup lang="ts">
9
9
  import MftpWebGL3DRModal from "@/components/modal/MftpWebGL3DRModal.vue";
10
10
  import { ref, unref } from "vue";
11
- import { defaultOptions, LoadViewerOptions, LoadViewerPayload } from "../index";
12
11
  import { Notifications } from "@kyvg/vue3-notification";
12
+ import { LoadViewerPayload } from "@/models/LoadViewerPayload";
13
+ import {
14
+ defaultLoadViewerOptions,
15
+ LoadViewerOptions,
16
+ } from "@/models/LoadViewerOptions";
13
17
 
14
18
  const payload = ref<LoadViewerPayload>({
15
19
  Url: "https://webgl-3dr.singular.health/test_scans/01440d4e-8b04-4b90-bb2c-698535ce16d6/CHEST.3vxl",
@@ -18,7 +22,7 @@ const payload = ref<LoadViewerPayload>({
18
22
  Key: "KUc722X1y4w42M+jCf9a3+6EGz66z7UMWK3m2aMqGxM=",
19
23
  },
20
24
  });
21
- const options = ref<LoadViewerOptions>(defaultOptions);
25
+ const options = ref<LoadViewerOptions>(defaultLoadViewerOptions);
22
26
 
23
27
  const mftpWebGL3DRModal = ref<typeof MftpWebGL3DRModal | null>(null);
24
28
  defineExpose({