@christianriedl/media 1.0.255 → 1.0.257

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/iMedia.d.ts CHANGED
@@ -36,6 +36,8 @@ export interface IMediaAppConfig {
36
36
  pictureParentLimit: number;
37
37
  pictureSearchLimit: number;
38
38
  officeExtensions: string;
39
+ showAllMetadata: boolean;
40
+ splitXmlMetadata: boolean;
39
41
  }
40
42
  export declare enum EItemType {
41
43
  None = 0,
@@ -301,7 +303,7 @@ export interface IMediaService {
301
303
  getFiles(path: string): Promise<string[]>;
302
304
  getDirectoriesFull(path: string): Promise<IDocumentInfo[]>;
303
305
  getFilesFull(path: string): Promise<IDocumentInfo[]>;
304
- getExifInfo(folderId: string, mediaId: string): Promise<Dictionary<any>>;
306
+ getExifInfo(folderId: string, mediaId: string, all: boolean, splitXmp: boolean): Promise<Dictionary<any>>;
305
307
  getSatIpProbe(channelName: string, urlOrFileName: string): Promise<IMediaInfo>;
306
308
  stopSatIpStream(channelName: string, media: string): Promise<boolean>;
307
309
  addPhotoService(id: string, user: string, dlnaid: string, daysValid: number, photoIds?: string[]): Promise<IRestResult<string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"iMedia.js","sourceRoot":"","sources":["../src/iMedia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iMedia.js","sourceRoot":"","sources":["../src/iMedia.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ export declare class MediaServiceBin implements IMediaService {
56
56
  getPhotosDownloadUrl(folder: IMediaFolder, resy?: number, quality?: number, photoIds?: string[]): string;
57
57
  ping(): Promise<boolean>;
58
58
  getImage(url: string): Promise<Blob>;
59
- getExifInfo(folderId: string, mediaId: string): Promise<Dictionary<any>>;
59
+ getExifInfo(folderId: string, mediaId: string, all: boolean, splitXmp: boolean): Promise<Dictionary<any>>;
60
60
  getSatIpProbe(channelName: string, urlOrFileName: string): Promise<IMediaInfo>;
61
61
  stopSatIpStream(channelName: string, media: string): Promise<boolean>;
62
62
  upload(form: FormData): Promise<boolean>;
@@ -343,8 +343,8 @@ export class MediaServiceBin {
343
343
  const res = this.rest.getBlob(url, "image/jpeg");
344
344
  return this.rest.toData(res);
345
345
  }
346
- async getExifInfo(folderId, mediaId) {
347
- const info = await this.rest.getData('apimedia/info/exif', { folderId: folderId, mediaId: mediaId });
346
+ async getExifInfo(folderId, mediaId, all, splitXmp) {
347
+ const info = await this.rest.getData('apimedia/info/exif', { folderId: folderId, mediaId: mediaId, all: all, splitXmp: splitXmp });
348
348
  return info.result;
349
349
  }
350
350
  async getSatIpProbe(channelName, urlOrFileName) {
@@ -1 +1 @@
1
- {"version":3,"file":"mediaServiceBin.js","sourceRoot":"","sources":["../src/mediaServiceBin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaServiceBin.js","sourceRoot":"","sources":["../src/mediaServiceBin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.255",
3
+ "version": "1.0.257",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -0,0 +1,189 @@
1
+ <script setup lang="ts">
2
+ import { ref, computed, inject } from 'vue';
3
+ import { VTreeview } from 'vuetify/labs/VTreeview';
4
+ import { Dictionary, Helper } from '@christianriedl/utils';
5
+ import { IPictureFile, EOrientation, EPictureFlags, getMediaBinSymbol } from '@christianriedl/media';
6
+
7
+ const props = defineProps<{ file: IPictureFile, metadata: Dictionary<any>, all: boolean, splitxmp: boolean }>();
8
+
9
+ interface ITree {
10
+ id: number;
11
+ title: string;
12
+ children?: ITree[];
13
+ data?: Dictionary<any>[];
14
+ }
15
+ const tree = ref<ITree[]>([]);
16
+ const properties = ref<Dictionary<any>>({});
17
+ const propertiesVisible = ref(false);
18
+ const getMediaService = inject(getMediaBinSymbol)!;
19
+ const mediaService = getMediaService() ;
20
+
21
+ if (!props.all && props.file) {
22
+ setMetaData (props.metadata, props.file);
23
+ }
24
+ else {
25
+ buildTree();
26
+ }
27
+
28
+ function setMetaData(exif: Dictionary<any>, file: IPictureFile) {
29
+ const folder = mediaService.getFolder(file.dlnaParentId);
30
+ const metadata: Dictionary<any> = {};
31
+ metadata['Album'] = folder.name;
32
+ metadata['Name'] = file.name;
33
+ let fileName: string = folder.url + file.url;
34
+ const idx = fileName.lastIndexOf('/');
35
+ if (idx > 0)
36
+ fileName = fileName.substring(idx + 1);
37
+ metadata['File'] = fileName;
38
+ if (exif) {
39
+ if (exif.Model)
40
+ metadata['Kamera'] = exif.Model;
41
+ else
42
+ delete metadata['Kamera'];
43
+ if (exif.LensModel)
44
+ metadata['Objectiv'] = exif.LensModel;
45
+ else
46
+ delete metadata['Objectiv'];
47
+ if (exif.Artist)
48
+ metadata['Von'] = exif.Artist as string;
49
+ else
50
+ delete metadata['Von'];
51
+ if (exif.ExposureTime)
52
+ metadata['Belichtung'] = '1/' + Helper.round(1.0 / exif.ExposureTime, 0);
53
+ else
54
+ delete metadata['Belichtung'];
55
+ if (exif.FNumber)
56
+ metadata['Blende'] = exif.FNumber.toString();
57
+ else
58
+ delete metadata['Blende'];
59
+ if (exif.DateTimeOriginal)
60
+ metadata['Zeit'] = exif.DateTimeOriginal;
61
+ else
62
+ metadata['Zeit'] = file.date.toLocaleString();
63
+ if (exif.Country) {
64
+ if (exif.State)
65
+ metadata['Land'] = exif.Country + ' - ' + exif.State;
66
+ else
67
+ metadata['Land'] = exif.Country;
68
+ }
69
+ else
70
+ delete metadata['Land'];
71
+ if (exif.City)
72
+ metadata['Stadt'] = exif.City;
73
+ else
74
+ delete metadata['Stadt'];
75
+ if (exif.Location)
76
+ metadata['Strasse'] = exif.Location;
77
+ else
78
+ delete metadata['Strasse'];
79
+ if (exif.Copyright)
80
+ metadata['Copyright'] = exif.Copyright;
81
+ else
82
+ delete metadata['Copyright'];
83
+ }
84
+ else {
85
+ delete metadata['Kamera'];
86
+ delete metadata['Objectiv'];
87
+ delete metadata['Von'];
88
+ delete metadata['Belichtung'];
89
+ delete metadata['Blende'];
90
+ delete metadata['Land'];
91
+ delete metadata['Stadt'];
92
+ delete metadata['Strasse'];
93
+ delete metadata['Copyright'];
94
+ metadata['Zeit'] = file.date.toLocaleString();
95
+ }
96
+
97
+ metadata['Dimension'] = `${file.width}x${file.height} o:${EOrientation[file.orientation]}`;
98
+ metadata['Thumbnail'] = `${file.thumbWidth}x${file.thumbHeight}`;
99
+ metadata['Flags'] = `${EPictureFlags[file.flags]}`;
100
+ metadata['Mb'] = (file.size / 1000000).toString() + " Mb";
101
+ if (file.eventIdx >= 0)
102
+ metadata['Ereignis'] = mediaService.getListEntry("Picture.Event", file.eventIdx);
103
+ else
104
+ delete metadata['Ereignis'];
105
+ if (file.locationIdx >= 0)
106
+ metadata['Ort'] = mediaService.getListEntry("Picture.Location", file.locationIdx);
107
+ else
108
+ delete metadata['Ort'];
109
+ if (file.personIdxs && file.personIdxs.length > 0) {
110
+ let persons = "";
111
+ for (let i = 0; i < file.personIdxs.length; i++) {
112
+ persons = persons + mediaService.getListEntry("Picture.Person", file.personIdxs[i]) + " ";
113
+ }
114
+ metadata['Personen'] = persons;
115
+ }
116
+ else
117
+ delete metadata['Personen'];
118
+
119
+ properties.value = metadata;
120
+ }
121
+
122
+ function buildTree() {
123
+ let id = 1;
124
+ for (var key in props.metadata) {
125
+ const subTree: ITree = { id: id++, title: key };
126
+ if (props.splitxmp && key == 'XMP') {
127
+ const xmpDict: Dictionary<any> = props.metadata[key];
128
+ subTree.children = [];
129
+ for (var xmpkey in xmpDict) {
130
+ const xmpTree: ITree = { id: id++, title: xmpkey };
131
+ subTree.children.push(xmpTree);
132
+ xmpTree.data = xmpDict[xmpkey];
133
+ }
134
+ }
135
+ else {
136
+ subTree.data = props.metadata[key];
137
+ }
138
+ tree.value.push(subTree);
139
+ }
140
+ }
141
+
142
+ function getTree(id: number, trees: ITree[]): ITree | undefined {
143
+ let tree: ITree | undefined = undefined;
144
+ for (let i = 0; i < trees.length; i++) {
145
+ if (trees[i].id == id)
146
+ tree = trees[i];
147
+ else if (trees[i].children)
148
+ tree = getTree(id, trees[i].children!);
149
+ if (tree)
150
+ return tree;
151
+ }
152
+ }
153
+ function onSelectTree(sel: any) {
154
+ const tr = getTree(sel as number, tree.value);
155
+ if (tr && tr.data) {
156
+ properties.value = tr.data;
157
+ propertiesVisible.value = true;
158
+ }
159
+ else {
160
+ properties.value = {};
161
+ propertiesVisible.value = false;
162
+ }
163
+ }
164
+ </script>
165
+ <template>
166
+ <v-container v-if="props.all">
167
+ <v-row dense>
168
+ <v-col cols="2">
169
+ <v-treeview :items="tree" item-value="id" open-all activatable slim active-startegy="leaf"
170
+ density="compact" @update:activated="onSelectTree">
171
+ </v-treeview>
172
+ </v-col>
173
+ <v-col v-if="propertiesVisible" cols="10">
174
+ <v-row dense v-for="(prop,key) in properties" :key="key">
175
+ <v-col cols="4" class="font-weight-bold">{{key}}</v-col>
176
+ <v-col cols="8">{{prop}}</v-col>
177
+ <v-divider></v-divider>
178
+ </v-row>
179
+ </v-col>
180
+ </v-row>
181
+ </v-container>
182
+ <v-container v-else>
183
+ <v-row v-for="(value, key) in properties" :key="key">
184
+ <v-col cols="4" class="font-weight-bold">{{key}}</v-col>
185
+ <v-col cols="8">{{value}}</v-col>
186
+ <v-divider></v-divider>
187
+ </v-row>
188
+ </v-container>
189
+ </template>
@@ -2,10 +2,13 @@
2
2
  import { inject, ref, reactive, computed, onMounted, onBeforeMount, onUnmounted, nextTick, watch, StyleValue } from 'vue';
3
3
  import type { ComponentPublicInstance } from 'vue';
4
4
  import { useRouter, useRoute } from 'vue-router';
5
- import { IAppState, IAppConfig, EDevice, EDirection, Dictionary, Helper, appStateSymbol, appConfigSymbol } from '@christianriedl/utils';
6
- import { EMediaType, EOrientation, EPictureFlags, IPictureFile, IMediaFolder, IMediaService, IMediaAppConfig, EPictureQuality,
5
+ import { IAppState, IAppConfig, EDevice, EDirection, Dictionary, appStateSymbol, appConfigSymbol } from '@christianriedl/utils';
6
+ import { EMediaType, EPictureFlags, IPictureFile, IMediaFolder, IMediaService, IMediaAppConfig, EPictureQuality,
7
7
  MediaHelper, getMediaBinSymbol } from '@christianriedl/media';
8
8
 
9
+ import PhotoMetaData from '../components/PhotoMetaData.vue';
10
+ import PhotoMap from '../components/PhotoMap.vue';
11
+
9
12
  const router = useRouter();
10
13
  const route = useRoute();
11
14
  const appState = inject(appStateSymbol)!;
@@ -15,23 +18,24 @@
15
18
  const mediaService = getMediaService() ;
16
19
  const heightStyle = computed<StyleValue>(() => { return { height: appState.bodyHeight.value + 'px', overflowY: 'hidden' } });
17
20
  const isMobile = appState.isMobile;
18
- const infoDialog = ref(false);
19
- const keyDialog = ref(false);
21
+ const showInfo = ref(false);
22
+ const showKeys = ref(false);
23
+ const showMap = ref(false);
20
24
  const index = ref(0);
21
25
  const items = reactive<IPictureFile[]>([]);
22
26
  const width = ref(0);
23
27
  const height = ref(0);
24
28
  const landscape = ref(true);
25
- const metadata = reactive<Dictionary<any>>({});
26
29
  const cycle = ref(false);
27
30
  const interval = ref(8000);
28
31
  const hasCoordinates = ref(false);
29
32
  const carousel = ref<ComponentPublicInstance | null>(null);
30
33
  const itemName = ref("");
34
+ const zoom = 14;
35
+ let metadata: Dictionary<any>;
31
36
  let album: IMediaFolder;
32
37
  let origUrl = "";
33
- let gpsLng: number[];
34
- let gpsLat: number[];
38
+ let location: string;
35
39
  let mouseDownTime: number = 0;
36
40
  let mouseTimer: number = -1;
37
41
  let nameTimer: number = -1;
@@ -165,15 +169,10 @@
165
169
  }
166
170
  return undefined;
167
171
  }
168
- function showMap(ev: Event) {
172
+ function onShowMap(ev: Event) {
169
173
  const current = items[index.value];
170
- router.options.history.replace(`/photoalbum?id=${current.dlnaParentId}&start=${current.dlnaid}`);
171
- router.push({
172
- path: 'map', query: {
173
- lat: `${gpsLat[0]} ${gpsLat[1]}`,
174
- lng: `${gpsLng[0]} ${gpsLng[1]}`
175
- }
176
- });
174
+ location = `${current.latitude! / 1000000}|${current.longitude! / 1000000}`;
175
+ showMap.value = true;
177
176
  }
178
177
  function onClick() {
179
178
  if (isMobile) {
@@ -185,7 +184,7 @@
185
184
  else {
186
185
  mouseTimer = window.setTimeout(() => {
187
186
  mouseTimer = -1;
188
- keyDialog.value = true;
187
+ showKeys.value = true;
189
188
  }, 500);
190
189
  }
191
190
  }
@@ -193,7 +192,7 @@
193
192
  const msecDiff = new Date().getTime() - mouseDownTime;
194
193
  if (msecDiff < 500) {
195
194
  if (appState.device != EDevice.Windows && appState.device != EDevice.Mac) {
196
- keyDialog.value = true;
195
+ showKeys.value = true;
197
196
  }
198
197
  }
199
198
  else
@@ -209,15 +208,15 @@
209
208
  case "Escape":
210
209
  if (appState.fullScreen.value) {
211
210
  await appState.exitFullScreen();
212
- infoDialog.value = false;
211
+ showInfo.value = false;
213
212
  return;
214
213
  }
215
- if (infoDialog.value) {
216
- infoDialog.value = false;
214
+ if (showInfo.value) {
215
+ showInfo.value = false;
217
216
  return;
218
217
  }
219
- if (keyDialog.value) {
220
- keyDialog.value = false;
218
+ if (showKeys.value) {
219
+ showKeys.value = false;
221
220
  return;
222
221
  }
223
222
  router.back();
@@ -233,21 +232,23 @@
233
232
  onUpdate();
234
233
  break;
235
234
  case "KeyI": // Info
236
- if (infoDialog.value) {
237
- infoDialog.value = false;
235
+ if (showInfo.value) {
236
+ showInfo.value = false;
238
237
  }
239
238
  else {
240
239
  const item = items[index.value];
241
- const exif = await mediaService.getExifInfo(item.dlnaParentId, item.dlnaid);
242
- setMetaData(exif, item);
243
- infoDialog.value = true;
240
+ const folder = album ? album : mediaService.getFolder(item.dlnaParentId);
241
+ origUrl = mediaService.getPhotoUrl(folder.url, item.url, '0x0x0');
242
+ metadata = await mediaService.getExifInfo(item.dlnaParentId, item.dlnaid, mediaAppConfig.showAllMetadata, mediaAppConfig.splitXmlMetadata);
243
+ hasCoordinates.value = !!(item.flags & EPictureFlags.Has_Gps);
244
+ showInfo.value = true;
244
245
  }
245
246
  break;
246
247
  case "KeyC": // Continue
247
248
  cycle.value = true;
248
249
  break;
249
250
  case "KeyF": // Fullscreen
250
- infoDialog.value = false;
251
+ showInfo.value = false;
251
252
  if (appState.fullScreen.value) {
252
253
  await appState.exitFullScreen();
253
254
  }
@@ -291,108 +292,12 @@
291
292
  }
292
293
  }
293
294
  function onKeyClick(code: string) {
294
- keyDialog.value = false;
295
+ showKeys.value = false;
295
296
  if (code != 'close') {
296
297
  const keyEvent = new KeyboardEvent("key", { "code": code, "bubbles": true, "cancelable": false });
297
298
  onKey(keyEvent);
298
299
  }
299
300
  }
300
- function setMetaData(exif: Dictionary<any>, file: IPictureFile) {
301
- const folder = album ? album : mediaService.getFolder(file.dlnaParentId);
302
- origUrl = mediaService.getPhotoUrl(folder.url, file.url, '0x0x0');
303
- metadata['Album'] = folder.name;
304
- metadata['Name'] = file.name;
305
- let fileName: string = folder.url + file.url;
306
- const idx = fileName.lastIndexOf('/');
307
- if (idx > 0)
308
- fileName = fileName.substring(idx + 1);
309
- metadata['File'] = fileName;
310
- if (exif) {
311
- if (exif.Model)
312
- metadata['Kamera'] = exif.Model;
313
- else
314
- delete metadata['Kamera'];
315
- if (exif.LensModel)
316
- metadata['Objectiv'] = exif.LensModel;
317
- else
318
- delete metadata['Objectiv'];
319
- if (exif.Artist)
320
- metadata['Von'] = exif.Artist as string;
321
- else
322
- delete metadata['Von'];
323
- if (exif.ExposureTime)
324
- metadata['Belichtung'] = '1/' + Helper.round(1.0 / exif.ExposureTime, 0);
325
- else
326
- delete metadata['Belichtung'];
327
- if (exif.FNumber)
328
- metadata['Blende'] = exif.FNumber.toString();
329
- else
330
- delete metadata['Blende'];
331
- if (exif.DateTimeOriginal)
332
- metadata['Zeit'] = exif.DateTimeOriginal;
333
- else
334
- metadata['Zeit'] = file.date.toLocaleString();
335
- if (exif.GPSLatitude && exif.GPSLongitude) {
336
- gpsLat = exif.GPSLatitude as number[];
337
- gpsLng = exif.GPSLongitude as number[];
338
- hasCoordinates.value = true;
339
- }
340
- if (exif.Country) {
341
- if (exif.State)
342
- metadata['Land'] = exif.Country + ' - ' + exif.State;
343
- else
344
- metadata['Land'] = exif.Country;
345
- }
346
- else
347
- delete metadata['Land'];
348
- if (exif.City)
349
- metadata['Stadt'] = exif.City;
350
- else
351
- delete metadata['Stadt'];
352
- if (exif.Location)
353
- metadata['Strasse'] = exif.Location;
354
- else
355
- delete metadata['Strasse'];
356
- if (exif.Copyright)
357
- metadata['Copyright'] = exif.Copyright;
358
- else
359
- delete metadata['Copyright'];
360
- }
361
- else {
362
- delete metadata['Kamera'];
363
- delete metadata['Objectiv'];
364
- delete metadata['Von'];
365
- delete metadata['Belichtung'];
366
- delete metadata['Blende'];
367
- delete metadata['Land'];
368
- delete metadata['Stadt'];
369
- delete metadata['Strasse'];
370
- delete metadata['Copyright'];
371
- metadata['Zeit'] = file.date.toLocaleString();
372
- }
373
-
374
- metadata['Dimension'] = `${file.width}x${file.height} o:${EOrientation[file.orientation]}`;
375
- metadata['Thumbnail'] = `${file.thumbWidth}x${file.thumbHeight}`;
376
- metadata['Flags'] = `${EPictureFlags[file.flags]}`;
377
- metadata['Mb'] = (file.size / 1000000).toString() + " Mb";
378
- if (file.eventIdx >= 0)
379
- metadata['Ereignis'] = mediaService.getListEntry("Picture.Event", file.eventIdx);
380
- else
381
- delete metadata['Ereignis'];
382
- if (file.locationIdx >= 0)
383
- metadata['Ort'] = mediaService.getListEntry("Picture.Location", file.locationIdx);
384
- else
385
- delete metadata['Ort'];
386
- if (file.personIdxs && file.personIdxs.length > 0) {
387
- let persons = "";
388
- for (let i = 0; i < file.personIdxs.length; i++) {
389
- persons = persons + mediaService.getListEntry("Picture.Person", file.personIdxs[i]) + " ";
390
- }
391
- metadata['Personen'] = persons;
392
- }
393
- else
394
- delete metadata['Personen'];
395
- }
396
301
  function onDownload() {
397
302
  const anchor = document.createElement("a");
398
303
  anchor.href = origUrl;
@@ -400,7 +305,7 @@
400
305
  document.body.appendChild(anchor);
401
306
  anchor.click();
402
307
  document.body.removeChild(anchor);
403
- infoDialog.value = false;
308
+ showInfo.value = false;
404
309
  }
405
310
  function clearName() { // also called by VImg::loadstart
406
311
  showName.value = false;
@@ -411,7 +316,7 @@
411
316
  }
412
317
  }
413
318
  function onUpdate() { // Carousel updated
414
- infoDialog.value = false;
319
+ showInfo.value = false;
415
320
  clearName();
416
321
  const item = items[index.value];
417
322
  if (mediaAppConfig.useImagePreload) {
@@ -464,22 +369,17 @@
464
369
  <h2 v-if="showName" class="imgtext">{{itemName}}</h2>
465
370
  </v-carousel-item>
466
371
  </v-carousel>
467
- <v-dialog v-model="infoDialog" :fullscreen="isMobile" >
468
- <v-card v-if="infoDialog" :width="isMobile ? 400 : 600" >
372
+ <v-dialog v-model="showInfo" :fullscreen="isMobile" width="50%" >
373
+ <v-card v-if="showInfo" >
469
374
  <v-card-title class="headline">Metadata</v-card-title>
470
375
  <v-card-text>
471
- <v-container>
472
- <v-row v-for="(value, key) in metadata" :key="key">
473
- <v-col cols="4" class="font-weight-bold">{{key}}</v-col>
474
- <v-col cols="8">{{value}}</v-col>
475
- </v-row>
476
- </v-container>
376
+ <photo-meta-data :file="items[index]" :metadata="metadata" :all="mediaAppConfig.showAllMetadata" :splitxmp="mediaAppConfig.splitXmlMetadata"></photo-meta-data>
477
377
  </v-card-text>
478
378
  <v-card-actions>
479
- <v-btn @click="infoDialog = false">
379
+ <v-btn @click="showInfo = false">
480
380
  <v-icon size="large" icon="$back" />
481
381
  </v-btn>
482
- <v-btn v-if="hasCoordinates" @click="showMap">
382
+ <v-btn v-if="hasCoordinates" @click="onShowMap">
483
383
  <v-icon size="large" icon="$gps" />
484
384
  </v-btn>
485
385
  <v-btn @click="onDownload">
@@ -488,8 +388,8 @@
488
388
  </v-card-actions>
489
389
  </v-card>
490
390
  </v-dialog>
491
- <v-dialog v-model="keyDialog" :fullscreen="isMobile" >
492
- <v-card v-if="keyDialog" width="400" >
391
+ <v-dialog v-model="showKeys" :fullscreen="isMobile" width="50%" >
392
+ <v-card v-if="showKeys" >
493
393
  <v-card-text>
494
394
  <v-container>
495
395
  <v-row dense>
@@ -521,6 +421,18 @@
521
421
  </v-card-text>
522
422
  </v-card>
523
423
  </v-dialog>
424
+ <v-dialog v-model="showMap" :fullscreen="isMobile" width="50%">
425
+ <v-card>
426
+ <v-card-text>
427
+ <photo-map :location="location" :zoom="zoom" ></photo-map>
428
+ </v-card-text>
429
+ <v-card-actions>
430
+ <v-btn size="large" @click="showMap = false">
431
+ <v-icon icon="$back"></v-icon>
432
+ </v-btn>
433
+ </v-card-actions>
434
+ </v-card>
435
+ </v-dialog>
524
436
  </v-container>
525
437
  </template>
526
438
 
@@ -42,7 +42,7 @@
42
42
  const zoom = 14;
43
43
  const maxMultiple = 10;
44
44
  const markersPerDim = 40;
45
- const showGps = ref(false);
45
+ const showMap = ref(false);
46
46
  const foundMap = new Map<string,IPictureFile[]>();
47
47
  const foundFotos = shallowRef<IPhotoMarker[]>([]);
48
48
  let latLength = 0;
@@ -170,15 +170,15 @@
170
170
  url += '&orientation=' + Number(image.orientation);
171
171
  return encodeURI(url);
172
172
  }
173
- function onGps() {
174
- showGps.value = true;
173
+ function onShowMap() {
174
+ showMap.value = true;
175
175
  }
176
176
  function onGoTo() {
177
177
  showLocation.value = false;
178
178
  center.value = location.value;
179
179
  }
180
180
  async function onCloseGps () {
181
- showGps.value = false;
181
+ showMap.value = false;
182
182
  if (selectedRegion) {
183
183
  selectedFotos = await MediaHelper.searchPicturesGPS(mediaService, selectedRegion.latFrom, selectedRegion.latTo, selectedRegion.lngFrom, selectedRegion.lngTo, mediaService.photoSelection.rating);
184
184
  setShowText();
@@ -193,7 +193,7 @@
193
193
  setShowText();
194
194
  photos.value.splice(0, photos.value.length, ...selectedFotos);
195
195
  console.log(photos.value.length);
196
- showGps.value = false;
196
+ showMap.value = false;
197
197
  }
198
198
  }
199
199
  else {
@@ -266,8 +266,8 @@
266
266
  <v-checkbox v-model="withPerson" hide-details density="compact" label="Pers" @update:modelValue="onLocPersChanged"></v-checkbox>
267
267
  </v-col>
268
268
  <v-col cols="2">
269
- <v-btn v-if="isMobile" icon="$gps" density="compact" variant="tonal" @click="onGps"></v-btn>
270
- <v-btn v-else prepend-icon="$gps" variant="tonal" @click="onGps">GPS</v-btn>
269
+ <v-btn v-if="isMobile" icon="$gps" density="compact" variant="tonal" @click="onShowMap"></v-btn>
270
+ <v-btn v-else prepend-icon="$gps" variant="tonal" @click="onShowMap">GPS</v-btn>
271
271
  <v-btn v-if="isMobile" icon="$search" density="compact" variant="tonal" @click="onShow"></v-btn>
272
272
  <v-btn v-else prepend-icon="$search" variant="tonal" @click="onShow">{{showText}}</v-btn>
273
273
  </v-col>
@@ -296,7 +296,7 @@
296
296
  <v-dialog v-model="showDownload" v-click-outside="onCloseDownload">
297
297
  <photo-download :folder="folder!" :photos="photos" @close="onCloseDownload"></photo-download>
298
298
  </v-dialog>
299
- <v-dialog v-model="showGps">
299
+ <v-dialog v-model="showMap">
300
300
  <v-card>
301
301
  <v-card-text>
302
302
  <photo-map :location="center" :zoom="zoom" :selectRegion="selectedRegion" :fotos="foundFotos" @select="onGpsSelect"></photo-map>