@3cr/viewer-browser 0.0.122 → 0.0.124
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/Viewer3CR.js +13 -13
- package/dist/Viewer3CR.mjs +8601 -8457
- package/dist/Viewer3CR.umd.js +13 -13
- package/package.json +1 -1
- package/src/App.vue +4 -0
- package/src/assets/images/android-qr.svg +822 -0
- package/src/assets/images/apple-qr.svg +822 -0
- package/src/components/modal/MftpWebGL3DRModal.vue +4 -1
- package/src/demo/licence/DemoLicenceInfoModal.vue +2 -2
- package/src/demo/options.ts +2 -2
- package/src/demo/patient/DemoPatientInfoModal.vue +2 -2
- package/src/demo/patient/DemoPatientShareToMobileModal.vue +49 -18
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<!-- <DemoModal data-vuetify v-model:modal="m_demo" />-->
|
|
4
4
|
<DemoLicenceInfoModal v-model:modal="m_demo" :is-modal-open="value" />
|
|
5
5
|
<DemoPatientInfoModal v-model:modal="m_demoPatient" :is-modal-open="value" />
|
|
6
|
+
<DemoPatientShareToMobileModal v-model:modal="m_demoPatientShareToMobile" />
|
|
6
7
|
<v-dialog
|
|
7
8
|
data-vuetify
|
|
8
9
|
id="cr-viewer"
|
|
@@ -97,7 +98,7 @@
|
|
|
97
98
|
</template>
|
|
98
99
|
<v-list-item-title>Send to 3rd Party</v-list-item-title>
|
|
99
100
|
</v-list-item>
|
|
100
|
-
<v-list-item @click="executeOption('
|
|
101
|
+
<v-list-item @click="executeOption('OnShareToMobile')">
|
|
101
102
|
<template v-slot:prepend>
|
|
102
103
|
<v-icon> share </v-icon>
|
|
103
104
|
</template>
|
|
@@ -771,6 +772,7 @@ import {
|
|
|
771
772
|
isDemo,
|
|
772
773
|
m_demo,
|
|
773
774
|
m_demoPatient,
|
|
775
|
+
m_demoPatientShareToMobile,
|
|
774
776
|
} from "@/demo/options";
|
|
775
777
|
import { handleNotification } from "@/notifications/notification";
|
|
776
778
|
import { LoadViewerPayload } from "@/models/LoadViewerPayload";
|
|
@@ -804,6 +806,7 @@ import { getIconForPreset } from "@/dataLayer/iconData";
|
|
|
804
806
|
import { ViewerAsyncCallback, ViewerCallback } from "@/models/Callbacks";
|
|
805
807
|
import DemoPatientInfoModal from "@/demo/patient/DemoPatientInfoModal.vue";
|
|
806
808
|
import DemoLicenceInfoModal from "@/demo/licence/DemoLicenceInfoModal.vue";
|
|
809
|
+
import DemoPatientShareToMobileModal from "@/demo/patient/DemoPatientShareToMobileModal.vue";
|
|
807
810
|
|
|
808
811
|
export interface Props {
|
|
809
812
|
payload?: LoadViewerPayload;
|
|
@@ -33,7 +33,7 @@ const modalState = computed({
|
|
|
33
33
|
<template>
|
|
34
34
|
<v-dialog v-model:model-value="modalState">
|
|
35
35
|
<v-card
|
|
36
|
-
class="pa-1 ma-auto position-relative motif-background"
|
|
36
|
+
class="pa-1 ma-auto position-relative motif-background card-bg-border"
|
|
37
37
|
theme="dark"
|
|
38
38
|
max-width="680"
|
|
39
39
|
>
|
|
@@ -56,7 +56,7 @@ const modalState = computed({
|
|
|
56
56
|
</v-btn>
|
|
57
57
|
<v-spacer />
|
|
58
58
|
<v-btn
|
|
59
|
-
variant="
|
|
59
|
+
variant="flat"
|
|
60
60
|
color="success"
|
|
61
61
|
@click="openUrl('mailto:ecooper@singular.health')"
|
|
62
62
|
>
|
package/src/demo/options.ts
CHANGED
|
@@ -12,6 +12,7 @@ export function checkIsDemo(payload: LoadViewerPayload) {
|
|
|
12
12
|
export const isDemo = ref<boolean>(false);
|
|
13
13
|
export const m_demo = ref<boolean>(false);
|
|
14
14
|
export const m_demoPatient = ref<boolean>(false);
|
|
15
|
+
export const m_demoPatientShareToMobile = ref<boolean>(false);
|
|
15
16
|
export const demoPatientTitle = ref<string>("");
|
|
16
17
|
export const demoPatientSubtitles = ref<Array<string>>([]);
|
|
17
18
|
export const demoLicenceTitle = ref<string>("");
|
|
@@ -118,8 +119,7 @@ export const demoPatientOptions: LoadViewerOptions = {
|
|
|
118
119
|
// m_demoPatient.value = true;
|
|
119
120
|
},
|
|
120
121
|
OnShareToMobile: () => {
|
|
121
|
-
|
|
122
|
-
// m_demoPatient.value = true;
|
|
122
|
+
m_demoPatientShareToMobile.value = true;
|
|
123
123
|
},
|
|
124
124
|
OnShare: () => {
|
|
125
125
|
//TODO:
|
|
@@ -33,7 +33,7 @@ const modalState = computed({
|
|
|
33
33
|
<template>
|
|
34
34
|
<v-dialog v-model:model-value="modalState">
|
|
35
35
|
<v-card
|
|
36
|
-
class="pa-1 ma-auto position-relative motif-background"
|
|
36
|
+
class="pa-1 ma-auto position-relative motif-background card-bg-border"
|
|
37
37
|
theme="dark"
|
|
38
38
|
max-width="680"
|
|
39
39
|
>
|
|
@@ -56,7 +56,7 @@ const modalState = computed({
|
|
|
56
56
|
</v-btn>
|
|
57
57
|
<v-spacer />
|
|
58
58
|
<v-btn
|
|
59
|
-
variant="
|
|
59
|
+
variant="flat"
|
|
60
60
|
color="success"
|
|
61
61
|
@click="openUrl('https://3dicomviewer.com/pricing')"
|
|
62
62
|
>
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed } from "vue";
|
|
3
|
-
import {
|
|
4
|
-
demoPatientSubtitles,
|
|
5
|
-
demoPatientTitle,
|
|
6
|
-
openUrl,
|
|
7
|
-
} from "@/demo/options";
|
|
2
|
+
import { computed, ref } from "vue";
|
|
3
|
+
import { openUrl } from "@/demo/options";
|
|
8
4
|
|
|
9
5
|
export interface Props {
|
|
10
6
|
modal: boolean;
|
|
11
|
-
isModalOpen: boolean;
|
|
12
7
|
}
|
|
13
8
|
|
|
14
9
|
const emit = defineEmits<{
|
|
@@ -17,9 +12,9 @@ const emit = defineEmits<{
|
|
|
17
12
|
|
|
18
13
|
const props = withDefaults(defineProps<Props>(), {
|
|
19
14
|
modal: false,
|
|
20
|
-
isModalOpen: true,
|
|
21
15
|
});
|
|
22
16
|
|
|
17
|
+
const step2 = ref<boolean>(false);
|
|
23
18
|
const modalState = computed({
|
|
24
19
|
get() {
|
|
25
20
|
return props.modal;
|
|
@@ -33,29 +28,65 @@ const modalState = computed({
|
|
|
33
28
|
<template>
|
|
34
29
|
<v-dialog v-model:model-value="modalState">
|
|
35
30
|
<v-card
|
|
36
|
-
class="pa-1 ma-auto position-relative motif-background"
|
|
31
|
+
class="pa-1 ma-auto position-relative motif-background card-bg-border"
|
|
37
32
|
theme="dark"
|
|
38
33
|
max-width="680"
|
|
39
34
|
>
|
|
40
|
-
<v-card-title>
|
|
41
|
-
<v-card-text
|
|
42
|
-
|
|
35
|
+
<v-card-title> Download 3Dicom Mobile </v-card-title>
|
|
36
|
+
<v-card-text>
|
|
37
|
+
<img
|
|
38
|
+
src="../../assets/images/apple-qr.svg"
|
|
39
|
+
alt="logo-home"
|
|
40
|
+
width="47%"
|
|
41
|
+
class="mr-auto rounded-lg"
|
|
42
|
+
/>
|
|
43
|
+
<img
|
|
44
|
+
src="../../assets/images/android-qr.svg"
|
|
45
|
+
alt="logo-home"
|
|
46
|
+
width="47%"
|
|
47
|
+
class="ml-auto rounded-lg float-right"
|
|
48
|
+
/>
|
|
43
49
|
</v-card-text>
|
|
44
50
|
<v-card-actions>
|
|
51
|
+
<v-btn color="error" @click="modalState = false">
|
|
52
|
+
Continue with Demo
|
|
53
|
+
</v-btn>
|
|
54
|
+
<v-spacer />
|
|
45
55
|
<v-btn
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
56
|
+
variant="flat"
|
|
57
|
+
color="success"
|
|
58
|
+
@click="
|
|
59
|
+
step2 = true;
|
|
60
|
+
modalState = false;
|
|
61
|
+
"
|
|
49
62
|
>
|
|
50
|
-
|
|
63
|
+
I have 3DICOM mobile installed
|
|
51
64
|
</v-btn>
|
|
65
|
+
</v-card-actions>
|
|
66
|
+
</v-card>
|
|
67
|
+
</v-dialog>
|
|
68
|
+
<v-dialog v-model:model-value="step2">
|
|
69
|
+
<v-card
|
|
70
|
+
class="pa-1 ma-auto position-relative motif-background card-bg-border"
|
|
71
|
+
theme="dark"
|
|
72
|
+
max-width="680"
|
|
73
|
+
>
|
|
74
|
+
<v-card-title> Load your scan </v-card-title>
|
|
75
|
+
<v-card-text>
|
|
76
|
+
Once you have logged in and can see your dashboard, select your scan and
|
|
77
|
+
open it to visualise your X-Ray (XR), Ultrasound (US), Computed
|
|
78
|
+
Tomography (CT), Magnetic Resonance Imaging (MRI), and Positron Emitting
|
|
79
|
+
Tomography (PET) scans.
|
|
80
|
+
</v-card-text>
|
|
81
|
+
<v-card-actions>
|
|
82
|
+
<v-btn color="error" @click="step2 = false"> Continue with Demo </v-btn>
|
|
52
83
|
<v-spacer />
|
|
53
84
|
<v-btn
|
|
54
|
-
variant="
|
|
85
|
+
variant="flat"
|
|
55
86
|
color="success"
|
|
56
87
|
@click="openUrl('https://3dicomviewer.com/pricing')"
|
|
57
88
|
>
|
|
58
|
-
|
|
89
|
+
I want to view my own scan
|
|
59
90
|
</v-btn>
|
|
60
91
|
</v-card-actions>
|
|
61
92
|
</v-card>
|