@qispace/vue3-player 0.0.16 → 0.1.1

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 (154) hide show
  1. package/dist/vue-components/config/vite.config.d.ts +2 -0
  2. package/dist/vue-components/config/vite.config.dev.d.ts +2 -0
  3. package/dist/vue-components/config/vite.config.web-components.d.ts +2 -0
  4. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooser.vue.d.ts +129 -0
  5. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserNavigation.vue.d.ts +46 -0
  6. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserRaster.vue.d.ts +77 -0
  7. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserRotator.vue.d.ts +43 -0
  8. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserSvg.vue.d.ts +77 -0
  9. package/dist/vue-components/src/components/apartmentChooser/index.d.ts +5 -0
  10. package/dist/vue-components/src/components/apartmentChooser/types.d.ts +13 -0
  11. package/dist/vue-components/src/components/buildingPicker/VBuildingChooser.vue.d.ts +93 -0
  12. package/dist/vue-components/src/components/buildingPicker/VBuildingChooserRaster.vue.d.ts +97 -0
  13. package/dist/vue-components/src/components/buildingPicker/VBuildingChooserRasterOverlay.vue.d.ts +46 -0
  14. package/dist/vue-components/src/components/buildingPicker/VBuildingChooserSceneImageStack.vue.d.ts +27 -0
  15. package/dist/vue-components/src/components/buildingPicker/VBuildingChooserSunSimControl.vue.d.ts +37 -0
  16. package/dist/vue-components/src/components/buildingPicker/VBuildingChooserSvg.vue.d.ts +102 -0
  17. package/dist/vue-components/src/components/buildingPicker/index.d.ts +6 -0
  18. package/dist/vue-components/src/components/buildingPicker/types.d.ts +11 -0
  19. package/dist/{components → vue-components/src/components}/index.d.ts +1 -1
  20. package/dist/vue-components/src/components/shared/VFloatingCard.vue.d.ts +30 -0
  21. package/dist/vue-components/src/components/shared/VHoverProbe.vue.d.ts +4 -0
  22. package/dist/vue-components/src/components/shared/VNorthDirection.vue.d.ts +15 -0
  23. package/dist/vue-components/src/components/shared/VZoomBox.vue.d.ts +60 -0
  24. package/dist/vue-components/src/components/shared/index.d.ts +4 -0
  25. package/dist/vue-components/src/components/virtualTour/VCompass.vue.d.ts +15 -0
  26. package/dist/vue-components/src/components/virtualTour/VDisclaimer.vue.d.ts +2 -0
  27. package/dist/vue-components/src/components/virtualTour/VFloorLevel.vue.d.ts +38 -0
  28. package/dist/vue-components/src/components/virtualTour/VFullScreenButton.vue.d.ts +19 -0
  29. package/dist/vue-components/src/components/virtualTour/VInteriorSelector.vue.d.ts +21 -0
  30. package/dist/vue-components/src/components/virtualTour/VPlayer.vue.d.ts +74 -0
  31. package/dist/vue-components/src/components/virtualTour/VSettingsUI.vue.d.ts +23 -0
  32. package/dist/vue-components/src/components/virtualTour/VSingleImage.vue.d.ts +31 -0
  33. package/dist/vue-components/src/components/virtualTour/VSocialShare.vue.d.ts +2 -0
  34. package/dist/vue-components/src/components/virtualTour/VTimeOfDay.vue.d.ts +34 -0
  35. package/dist/vue-components/src/components/virtualTour/VTutorial.vue.d.ts +19 -0
  36. package/dist/vue-components/src/components/virtualTour/VViewModeToggle.vue.d.ts +19 -0
  37. package/dist/vue-components/src/components/virtualTour/VVirtualTour.vue.d.ts +156 -0
  38. package/dist/vue-components/src/components/virtualTour/VWaypointCarousel.vue.d.ts +25 -0
  39. package/dist/vue-components/src/components/virtualTour/index.d.ts +1 -0
  40. package/dist/vue-components/src/components/virtualTour/minimap/VMiniMap.vue.d.ts +35 -0
  41. package/dist/vue-components/src/components/virtualTour/minimap/VMiniMapMap.vue.d.ts +25 -0
  42. package/dist/vue-components/src/components/virtualTour/minimap/VMinimapCompass.vue.d.ts +19 -0
  43. package/dist/vue-components/src/components/virtualTour/minimap/VMoveable.vue.d.ts +18 -0
  44. package/dist/vue-components/src/components/virtualTour/minimap/VRotationMarker.vue.d.ts +15 -0
  45. package/dist/vue-components/src/components/virtualTour/minimap/VSunSimulationSlider.vue.d.ts +23 -0
  46. package/dist/vue-components/src/components/virtualTour/minimap/index.d.ts +1 -0
  47. package/dist/vue-components/src/lib/apartmentChooser/BuildingViewerModel.d.ts +18 -0
  48. package/dist/vue-components/src/lib/apartmentChooser/RotationStep.d.ts +10 -0
  49. package/dist/vue-components/src/lib/apartmentChooser/SceneRotator.d.ts +10 -0
  50. package/dist/vue-components/src/lib/apartmentChooser/index.d.ts +3 -0
  51. package/dist/vue-components/src/lib/buildingPicker/BuildingMap.d.ts +7 -0
  52. package/dist/vue-components/src/lib/buildingPicker/BuildingPickerResourceProvider.d.ts +27 -0
  53. package/dist/vue-components/src/lib/buildingPicker/CanvasRaster.d.ts +8 -0
  54. package/dist/vue-components/src/lib/buildingPicker/DayOfYearSelector.d.ts +12 -0
  55. package/dist/vue-components/src/lib/buildingPicker/SampleRaster.d.ts +5 -0
  56. package/dist/vue-components/src/lib/buildingPicker/index.d.ts +5 -0
  57. package/dist/vue-components/src/lib/shared/BatchLoadTracker.d.ts +17 -0
  58. package/dist/vue-components/src/lib/shared/I18N.d.ts +7 -0
  59. package/dist/vue-components/src/lib/shared/ResourceLoader.d.ts +5 -0
  60. package/dist/vue-components/src/lib/shared/index.d.ts +3 -0
  61. package/dist/vue-components/src/lib/virtualTour/CameraSnapshot.d.ts +5 -0
  62. package/dist/vue-components/src/lib/virtualTour/FullscreenModel.d.ts +13 -0
  63. package/dist/vue-components/src/vue-components.d.ts +2 -0
  64. package/dist/vue-components/src/vue-components.esm.d.ts +4 -0
  65. package/dist/vue-components/src/web-components.d.ts +11 -0
  66. package/dist/vue-components/style.css +1 -0
  67. package/dist/vue-components/vue3-player.js +4744 -0
  68. package/dist/vue-components/vue3-player.umd.cjs +1 -0
  69. package/package.json +24 -14
  70. package/dist/components/apartmentChooser/QiApartmentChooser.vue.d.ts +0 -2
  71. package/dist/components/apartmentChooser/QiApartmentChooserNavigation.vue.d.ts +0 -51
  72. package/dist/components/apartmentChooser/QiApartmentChooserRaster.vue.d.ts +0 -2
  73. package/dist/components/apartmentChooser/QiApartmentChooserRotator.vue.d.ts +0 -65
  74. package/dist/components/apartmentChooser/QiApartmentChooserSvg.vue.d.ts +0 -2
  75. package/dist/components/buildingPicker/QiBuildingChooser.vue.d.ts +0 -121
  76. package/dist/components/buildingPicker/QiBuildingChooserRaster.vue.d.ts +0 -2
  77. package/dist/components/buildingPicker/QiBuildingChooserRasterOverlay.vue.d.ts +0 -53
  78. package/dist/components/buildingPicker/QiBuildingChooserSceneImageStack.vue.d.ts +0 -32
  79. package/dist/components/buildingPicker/QiBuildingChooserSunSimControl.vue.d.ts +0 -42
  80. package/dist/components/buildingPicker/QiBuildingChooserSvg.vue.d.ts +0 -2
  81. package/dist/components/shared/QiFloatingCard.vue.d.ts +0 -18
  82. package/dist/components/shared/QiHoverProbe.vue.d.ts +0 -4
  83. package/dist/components/shared/QiNorthDirection.vue.d.ts +0 -21
  84. package/dist/components/shared/QiZoomBox.vue.d.ts +0 -83
  85. package/dist/components/virtualTourV2/Compass.vue.d.ts +0 -22
  86. package/dist/components/virtualTourV2/Disclaimer.vue.d.ts +0 -4
  87. package/dist/components/virtualTourV2/FloorLevel.vue.d.ts +0 -27
  88. package/dist/components/virtualTourV2/FullScreenButton.vue.d.ts +0 -14
  89. package/dist/components/virtualTourV2/InteriorSelector.vue.d.ts +0 -24
  90. package/dist/components/virtualTourV2/Player.vue.d.ts +0 -82
  91. package/dist/components/virtualTourV2/SettingsUI.vue.d.ts +0 -105
  92. package/dist/components/virtualTourV2/SingleImage.vue.d.ts +0 -26
  93. package/dist/components/virtualTourV2/SocialShare.vue.d.ts +0 -10
  94. package/dist/components/virtualTourV2/TimeOfDay.vue.d.ts +0 -27
  95. package/dist/components/virtualTourV2/Tutorial.vue.d.ts +0 -23
  96. package/dist/components/virtualTourV2/ViewModeToggle.vue.d.ts +0 -16
  97. package/dist/components/virtualTourV2/VirtualTourV2.vue.d.ts +0 -322
  98. package/dist/components/virtualTourV2/WaypointCarousel.vue.d.ts +0 -31
  99. package/dist/components/virtualTourV2/index.d.ts +0 -1
  100. package/dist/components/virtualTourV2/minimapv2/MiniMapMap.vue.d.ts +0 -82
  101. package/dist/components/virtualTourV2/minimapv2/MiniMapV2.vue.d.ts +0 -78
  102. package/dist/components/virtualTourV2/minimapv2/MinimapCompass.vue.d.ts +0 -30
  103. package/dist/components/virtualTourV2/minimapv2/Moveable.vue.d.ts +0 -8
  104. package/dist/components/virtualTourV2/minimapv2/RotationMarkerV2.vue.d.ts +0 -12
  105. package/dist/components/virtualTourV2/minimapv2/SunsimulationSlider.vue.d.ts +0 -48
  106. package/dist/components/virtualTourV2/minimapv2/index.d.ts +0 -1
  107. package/dist/style.css +0 -1
  108. package/dist/vue3-player.js +0 -5414
  109. package/dist/vue3-player.umd.cjs +0 -1
  110. package/src/components/apartmentChooser/QiApartmentChooser.vue +0 -319
  111. package/src/components/apartmentChooser/QiApartmentChooserNavigation.vue +0 -88
  112. package/src/components/apartmentChooser/QiApartmentChooserRaster.vue +0 -408
  113. package/src/components/apartmentChooser/QiApartmentChooserRotator.vue +0 -202
  114. package/src/components/apartmentChooser/QiApartmentChooserSvg.vue +0 -257
  115. package/src/components/apartmentChooser/index.js +0 -5
  116. package/src/components/buildingPicker/QiBuildingChooser.vue +0 -61
  117. package/src/components/buildingPicker/QiBuildingChooserRaster.vue +0 -312
  118. package/src/components/buildingPicker/QiBuildingChooserRasterOverlay.vue +0 -96
  119. package/src/components/buildingPicker/QiBuildingChooserSceneImageStack.vue +0 -89
  120. package/src/components/buildingPicker/QiBuildingChooserSunSimControl.vue +0 -257
  121. package/src/components/buildingPicker/QiBuildingChooserSvg.vue +0 -414
  122. package/src/components/buildingPicker/index.js +0 -6
  123. package/src/components/index.ts +0 -4
  124. package/src/components/shared/QiFloatingCard.vue +0 -76
  125. package/src/components/shared/QiHoverProbe.vue +0 -22
  126. package/src/components/shared/QiNorthDirection.vue +0 -27
  127. package/src/components/shared/QiZoomBox.vue +0 -322
  128. package/src/components/shared/index.js +0 -4
  129. package/src/components/virtualTourV2/Compass.vue +0 -37
  130. package/src/components/virtualTourV2/Disclaimer.vue +0 -41
  131. package/src/components/virtualTourV2/FloorLevel.vue +0 -73
  132. package/src/components/virtualTourV2/FullScreenButton.vue +0 -23
  133. package/src/components/virtualTourV2/InteriorSelector.vue +0 -90
  134. package/src/components/virtualTourV2/ManualSlideShow.vue +0 -198
  135. package/src/components/virtualTourV2/ManualSlideShowPlayer.vue +0 -159
  136. package/src/components/virtualTourV2/Player.vue +0 -300
  137. package/src/components/virtualTourV2/ScrollHelper.vue +0 -74
  138. package/src/components/virtualTourV2/SettingsUI.vue +0 -355
  139. package/src/components/virtualTourV2/SingleImage.vue +0 -36
  140. package/src/components/virtualTourV2/SocialShare.vue +0 -163
  141. package/src/components/virtualTourV2/TimeOfDay.vue +0 -50
  142. package/src/components/virtualTourV2/Tutorial.vue +0 -690
  143. package/src/components/virtualTourV2/ViewModeToggle.vue +0 -24
  144. package/src/components/virtualTourV2/VirtualTourV2.vue +0 -875
  145. package/src/components/virtualTourV2/WaypointCarousel.vue +0 -162
  146. package/src/components/virtualTourV2/index.ts +0 -20
  147. package/src/components/virtualTourV2/minimapv2/MiniMapMap.vue +0 -262
  148. package/src/components/virtualTourV2/minimapv2/MiniMapV2.vue +0 -110
  149. package/src/components/virtualTourV2/minimapv2/MinimapCompass.vue +0 -39
  150. package/src/components/virtualTourV2/minimapv2/Moveable.vue +0 -208
  151. package/src/components/virtualTourV2/minimapv2/RotationMarkerV2.vue +0 -79
  152. package/src/components/virtualTourV2/minimapv2/SunsimulationSlider.vue +0 -203
  153. package/src/components/virtualTourV2/minimapv2/index.ts +0 -1
  154. /package/dist/{lib → vue-components/src/lib}/index.d.ts +0 -0
@@ -1,208 +0,0 @@
1
- <template>
2
- <div
3
- id="moveableDiv"
4
- class="big d-flex justify-space-between flex-column align-center sizer"
5
- :class="currentSize"
6
- >
7
- <v-btn
8
- class="close-icon"
9
- icon="mdi-window-close"
10
- size="x-small"
11
- @click="$emit('close')"
12
- >
13
- </v-btn>
14
- <v-btn
15
- class="resize-icon"
16
- icon="mdi-image-size-select-small"
17
- size="x-small"
18
- @click="toggleSize"
19
- title="Resize"
20
- >
21
- </v-btn>
22
- <v-btn
23
- class="rotate-icon"
24
- size="x-small"
25
- icon="mdi mdi-rotate-right"
26
- @click="$emit('transform')"
27
- title="Rotate"
28
- >
29
- </v-btn>
30
-
31
- <!-- just a filler div to center elements -->
32
- <div id="filler-div"></div>
33
-
34
- <div class="moveable-body" id="moveableDivheader">
35
- <slot class="slot" name="body"></slot>
36
- </div>
37
-
38
- <div class="moveable-footer">
39
- <slot name="footer"></slot>
40
- </div>
41
- </div>
42
- </template>
43
- <script>
44
- export default {
45
- name: "Moveable",
46
- emits: ["close"],
47
- data() {
48
- return {
49
- currentSize: "big",
50
- };
51
- },
52
- mounted() {
53
- configureDraggable(document.getElementById("moveableDiv"));
54
- },
55
- methods: {
56
- toggleSize() {
57
- if (this.currentSize === "big") {
58
- this.currentSize = "small";
59
- } else {
60
- this.currentSize = "big";
61
- }
62
- },
63
- },
64
- };
65
-
66
- function configureDraggable(box) {
67
- const element = document.getElementById(box.id + "header");
68
- if (!element) return;
69
-
70
- var pos1 = 0,
71
- pos2 = 0,
72
- pos3 = 0,
73
- pos4 = 0;
74
-
75
- element.addEventListener("touchstart", dragStart, { passive: false });
76
- element.addEventListener("touchend", dragEnd, { passive: false });
77
- element.addEventListener("mousedown", dragStart, { passive: false });
78
- element.addEventListener("mouseup", dragEnd, { passive: false });
79
-
80
- function dragStart(e) {
81
- e = e || window.event;
82
- e.preventDefault();
83
- let event = e;
84
- if (e.type === "touchstart") {
85
- event = e.touches[0];
86
- }
87
-
88
- pos3 = event.clientX;
89
- pos4 = event.clientY;
90
-
91
- document.addEventListener("mouseup", dragEnd, { passive: false });
92
- document.addEventListener("touchend", dragEnd, { passive: false });
93
-
94
- document.addEventListener("mousemove", drag, { passive: false });
95
- document.addEventListener("touchmove", drag, { passive: false });
96
- }
97
-
98
- function drag(e) {
99
- e = e || window.event;
100
- e.preventDefault();
101
-
102
- let event = e;
103
- if (e.type === "touchmove") {
104
- event = e.touches[0];
105
- }
106
-
107
- pos1 = pos3 - event.clientX;
108
- pos2 = pos4 - event.clientY;
109
- pos3 = event.clientX;
110
- pos4 = event.clientY;
111
-
112
- box.style.top = box.offsetTop - pos2 + "px";
113
- box.style.left = box.offsetLeft - pos1 + "px";
114
- }
115
-
116
- function dragEnd() {
117
- document.removeEventListener("mouseup", dragEnd, false);
118
- document.removeEventListener("mousemove", drag, false);
119
- document.removeEventListener("touchend", dragEnd, false);
120
- document.removeEventListener("touchmove", drag, false);
121
- }
122
- }
123
- </script>
124
- <style scoped>
125
- #moveableDiv {
126
- position: fixed;
127
- z-index: 15;
128
- background-color: #ffffff;
129
- border: 1px solid #d3d3d3;
130
- }
131
-
132
- #moveableDivheader {
133
- cursor: move;
134
- z-index: 10;
135
- }
136
-
137
- .big {
138
- width: 512px;
139
- height: 440px;
140
- top: 50%;
141
- left: 50%;
142
- transform: translate(-50%, -50%);
143
- }
144
-
145
- .small {
146
- width: 250px;
147
- height: 300px;
148
- bottom: 10px;
149
- right: 10px;
150
- transform: translate(0%, 0%);
151
- }
152
-
153
- .sizer {
154
- /* resize: both; */
155
- overflow: hidden;
156
- min-width: 250px;
157
- min-height: 300px;
158
- max-width: 700px;
159
- max-height: 531px;
160
- }
161
-
162
- .resize-icon {
163
- position: absolute;
164
- top: 5px;
165
- right: 5px;
166
- z-index: 11;
167
- }
168
-
169
- .rotate-icon {
170
- position: absolute;
171
- top: 5px;
172
- right: 45px;
173
- z-index: 12;
174
- }
175
-
176
- .close-icon {
177
- position: absolute;
178
- top: 5px;
179
- left: 5px;
180
- z-index: 11;
181
- }
182
-
183
- .moveable-body {
184
- z-index: 1;
185
- }
186
-
187
- .moveable-footer {
188
- width: 100%;
189
- height: 50px;
190
- margin-bottom: 10px;
191
- background: #fff;
192
- z-index: 2;
193
- }
194
-
195
- .filler-div {
196
- display: none;
197
- }
198
-
199
- @media only screen and (max-width: 600px) {
200
- .sizer {
201
- /* resize: both; */
202
- overflow: hidden;
203
-
204
- max-width: 90%;
205
- max-height: 80vh;
206
- }
207
- }
208
- </style>
@@ -1,79 +0,0 @@
1
- <template>
2
- <svg
3
- class="rotation-marker-svg"
4
- viewBox="0 0 40 40"
5
- xmlns="http://www.w3.org/2000/svg"
6
- >
7
- <defs>
8
- <radialGradient id="Gradient" cx="0" cy="0" r="0.9" fx="0" fy="0">
9
- <stop offset="0%" class="stop1" />
10
- <stop offset="60%" class="stop2" />
11
- <stop offset="90%" class="stop3" />
12
- </radialGradient>
13
-
14
- <linearGradient id="LineGradient" gradientTransform="rotate(90)">
15
- <stop offset="0%" class="stop1" />
16
- <stop offset="75%" class="stop2" />
17
- <stop offset="100%" class="stop3" />
18
- </linearGradient>
19
- </defs>
20
- <g transform-origin="20 20" :transform="`rotate(${+45 + rotation})`">
21
- <rect
22
- id="field-of-view-gradient"
23
- x="20"
24
- y="20"
25
- width="38"
26
- height="38"
27
- transform="rotate(0)"
28
- transform-origin="20 20"
29
- fill="url(#Gradient)"
30
- />
31
- <rect
32
- class="field-of-view-border"
33
- x="20"
34
- y="20"
35
- width="1"
36
- height="25"
37
- fill="url(#LineGradient)"
38
- transform="rotate(0)"
39
- transform-origin="20 20"
40
- />
41
- <rect
42
- class="field-of-view-border"
43
- x="19"
44
- y="19"
45
- width="1"
46
- height="25"
47
- fill="url(#LineGradient)"
48
- transform="rotate(-90)"
49
- transform-origin="20 20"
50
- />
51
-
52
- <circle cx="20" cy="20" r="5" fill="white" />
53
- <circle cx="20" cy="20" r="3" fill="red" />
54
- </g>
55
- </svg>
56
- </template>
57
-
58
- <script>
59
- export default {
60
- props: {
61
- rotation: {
62
- type: Number,
63
- required: true,
64
- },
65
- },
66
- }
67
- </script>
68
- <style>
69
- .stop1 {
70
- stop-color: white;
71
- }
72
- .stop2 {
73
- stop-color: white;
74
- stop-opacity: 0;
75
- }
76
- .stop3 {
77
- stop-color: transparent;
78
- }
79
- </style>
@@ -1,203 +0,0 @@
1
- <template>
2
- <div class="ss-wrapper">
3
- <div class="slider">
4
- <div class="minimap-sun-slider">
5
- <v-progress-linear
6
- v-if="imagesPreloading"
7
- indeterminate
8
- rounded
9
- height="6"
10
- color="grey lighten-1"
11
- class="mr-2"
12
- />
13
- <v-slider
14
- v-else
15
- v-model="hourMark"
16
- :min="0"
17
- :max="23"
18
- :step="1"
19
- color="#373737"
20
- track-color="#373737"
21
- thumb-color="#373737"
22
- :hide-details="true"
23
- >
24
- <template v-slot:prepend>
25
- <v-icon color="#ffab02">mdi-white-balance-sunny</v-icon>
26
- </template>
27
- </v-slider>
28
- </div>
29
- <div v-if="!imagesPreloading" class="time-label">
30
- {{ timeString }} {{ hourMarkString }}
31
- </div>
32
- </div>
33
- </div>
34
- </template>
35
-
36
- <script>
37
- export default {
38
- name: "SunsimulationSlider",
39
- emits: ["set-background-image"],
40
- props: {
41
- minimapJSON: { type: Array, required: true },
42
- level: { type: Number, required: true },
43
- root: { type: String, required: true },
44
- },
45
- inject: ["localMode", "fileLoader"],
46
- data() {
47
- return {
48
- imageUrl: "",
49
- imageHeight: 0,
50
- hourMark: new Date().getHours(),
51
- imagesPreloading: true,
52
- loading: true,
53
- firstImage: "",
54
- preloadedSunSimImages: new Map(),
55
- };
56
- },
57
- computed: {
58
- minimapData() {
59
- return this.minimapJSON[this.level];
60
- },
61
- hourMarkString() {
62
- const hour = Math.floor(this.hourMark).toString().padStart(2, "0");
63
- return `${hour}:00`;
64
- },
65
- timeString() {
66
- if (this.minimapData.sunsimFilesTimeStamps[this.hourMark]) {
67
- const date =
68
- this.minimapData.sunsimFilesTimeStamps[this.hourMark].split(" ");
69
-
70
- return `${date[0]} ${date[1]}`;
71
- }
72
-
73
- return "";
74
- },
75
- },
76
- async mounted() {
77
- this.firstImage = await this.fetchAndConvertToBase64(
78
- this.minimapData.sunsimFiles[this.hourMark]
79
- );
80
-
81
- this.loading = false;
82
-
83
- const backgroundImages = await this.preloadImages(this.minimapJSON);
84
- this.preloadedSunSimImages = backgroundImages;
85
- this.imagesPreloading = false;
86
- this.$emit(
87
- "set-background-image",
88
- this.getImageUrl(this.level, this.hourMark)
89
- );
90
- },
91
- watch: {
92
- hourMark() {
93
- const newImage = this.getImageUrl(this.level, this.hourMark);
94
-
95
- this.$emit("set-background-image", newImage);
96
- },
97
- level: {
98
- handler() {
99
- this.$emit(
100
- "set-background-image",
101
- this.getImageUrl(this.level, this.hourMark)
102
- );
103
- },
104
- immediate: true,
105
- },
106
- },
107
- methods: {
108
- getImageUrl(level, hourMark) {
109
- // if (this.imagesPreloading) return this.firstImage
110
-
111
- if (this.preloadedSunSimImages.get(`sunsim${level}_${hourMark}`))
112
- return this.preloadedSunSimImages.get(`sunsim${level}_${hourMark}`);
113
- return "";
114
- },
115
- async preloadImages(minimapJSON) {
116
- let images = new Map();
117
-
118
- for (let i = 0; i < minimapJSON.length; i++) {
119
- const sunsimFiles = minimapJSON[i].sunsimFiles;
120
-
121
- for (let j = 0; j < sunsimFiles.length; j++) {
122
- const element = sunsimFiles[j];
123
-
124
- try {
125
- const url = element;
126
- const nameOnly = element.split(".");
127
- const image = await this.fetchAndConvertToBase64(this.root + url);
128
-
129
- images.set(nameOnly[0], image);
130
- } catch (e) {
131
- continue;
132
- // ignore on fetch errors
133
- }
134
- }
135
- }
136
-
137
- return images;
138
- },
139
- async fetchAndConvertToBase64(url) {
140
- let actualUrl = url;
141
-
142
- if (this.localMode) {
143
- actualUrl = `${this.fileLoader.getURL(url)}`;
144
- }
145
-
146
- const response = await fetch(actualUrl);
147
- const blob = await response.blob();
148
- const base64 = await this.convertToBase64(blob);
149
- const base64Image = this.base64toImage(base64);
150
- return base64Image;
151
- },
152
- base64toImage(base64) {
153
- return "data:image/jpeg;base64," + base64;
154
- },
155
- async convertToBase64(blob) {
156
- return new Promise((resolve, reject) => {
157
- const reader = new FileReader();
158
- reader.onload = () => {
159
- const base64 = reader.result.split(",")[1];
160
- resolve(base64);
161
- };
162
- reader.onerror = reject;
163
- reader.readAsDataURL(blob);
164
- });
165
- },
166
- },
167
- };
168
- </script>
169
-
170
- <style scoped>
171
- .ss-wrapper {
172
- display: flex;
173
- flex-direction: row;
174
- justify-content: space-between;
175
- margin: 0 10px;
176
- position: relative;
177
- z-index: 100;
178
- }
179
-
180
- .sun-icon {
181
- width: 10%;
182
- }
183
-
184
- .slider {
185
- display: flex;
186
- flex-direction: column;
187
- flex: 1 1 auto;
188
- padding: 3px 0;
189
- }
190
-
191
- i.v-icon.notranslate.mdi.mdi-white-balance-sunny.theme--light {
192
- font-size: 40px;
193
- color: #ffab02;
194
- padding: 5px;
195
- }
196
-
197
- .time-label {
198
- padding: 0;
199
- display: inline-block;
200
- margin-top: -10px;
201
- margin-left: 50px;
202
- }
203
- </style>
@@ -1 +0,0 @@
1
- export { default as MiniMapV2 } from './MiniMapV2.vue'
File without changes