@christianriedl/media 1.0.250 → 1.0.252

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.
@@ -1,5 +1,5 @@
1
1
  import { IValueText } from '@christianriedl/utils';
2
- import { EMediaType, EItemType, IMediaInfo, IMediaFolder, IPictureFile, IVideoFile, IMediaListEntry, ITranscodeParams, IAudioInfo, IMediaService, IPhotoMarker } from "./iMedia";
2
+ import { EMediaType, EItemType, IMediaInfo, IMediaFolder, IPictureFile, IVideoFile, IMediaListEntry, ITranscodeParams, IAudioInfo, IMediaService } from "./iMedia";
3
3
  export declare class MediaHelper {
4
4
  static albumNames: string[];
5
5
  static albumNamesNoLocation: string[];
@@ -22,7 +22,7 @@ export declare class MediaHelper {
22
22
  static inMediaList(list: IMediaListEntry, regex: RegExp): number[] | undefined;
23
23
  static searchPictures(mediaService: IMediaService, titlePattern: string, searchPerson: boolean, searchLocation: boolean, rating: number, maxPictures?: number): Promise<IPictureFile[]>;
24
24
  static searchPicturesGPS(mediaService: IMediaService, latFrom: number, latTo: number, lngFrom: number, lngTo: number, rating: number, maxPictures?: number): Promise<IPictureFile[]>;
25
- static createMarker(fotos: IPictureFile[], latLength: number, lngLength: number, markersPerDim: number, maxMultiple: number): IPhotoMarker[];
26
25
  static getPhotoDisplayName(folder: IMediaFolder, pictureFile: IPictureFile, pictureLocations?: IMediaListEntry, album?: IMediaFolder): string;
26
+ static mustRotate(foto: IPictureFile): boolean;
27
27
  static getStars(rating: number): string;
28
28
  }
@@ -1,4 +1,4 @@
1
- import { EMediaType, EItemType, EPictureFlags } from "./iMedia";
1
+ import { EMediaType, EItemType, EPictureFlags, EOrientation } from "./iMedia";
2
2
  export class MediaHelper {
3
3
  static albumNames;
4
4
  static albumNamesNoLocation;
@@ -302,47 +302,11 @@ export class MediaHelper {
302
302
  }
303
303
  }
304
304
  }
305
- if (result.length >= maxPictures) {
306
- alert(`Too many pictures (${count}) found, limit : ${result.length}`);
305
+ if (result.length >= maxPictures) { // Not for GPS ?
306
+ //alert(`Too many pictures (${count}) found, limit : ${result.length}`)
307
307
  }
308
308
  return result;
309
309
  }
310
- static createMarker(fotos, latLength, lngLength, markersPerDim, maxMultiple) {
311
- const fms = [];
312
- if (fotos) {
313
- const foundDict = {};
314
- const latDelta = Math.max(0.001, latLength / markersPerDim) * 1000000;
315
- const lngDelta = Math.max(0.001, lngLength / markersPerDim) * 1000000;
316
- for (let i = 0; i < fotos.length; i++) {
317
- const foto = fotos[i];
318
- const lat = Math.round(foto.latitude / latDelta);
319
- const lng = Math.round(foto.longitude / lngDelta);
320
- const key = lat.toString() + '|' + lng.toString();
321
- const arr = foundDict[key];
322
- if (arr)
323
- arr.push(foto);
324
- else
325
- foundDict[key] = [foto];
326
- }
327
- let i = 0;
328
- for (const key in foundDict) {
329
- const arr = foundDict[key];
330
- if (arr) {
331
- if (arr.length > maxMultiple) {
332
- const f = arr[0];
333
- fms.push({ lat: f.latitude / 1000000, lng: f.longitude / 1000000, num: -arr.length, key, multiple: true });
334
- }
335
- else {
336
- for (let j = 0; j < arr.length; j++) { // First the not available
337
- const f = arr[j];
338
- fms.push({ lat: f.latitude / 1000000, lng: f.longitude / 1000000, num: j, photo: f, multiple: j > 0 });
339
- }
340
- }
341
- }
342
- }
343
- }
344
- return fms;
345
- }
346
310
  static getPhotoDisplayName(folder, pictureFile, pictureLocations, album) {
347
311
  let emptyName = "";
348
312
  const url = folder.url + pictureFile.url;
@@ -378,6 +342,11 @@ export class MediaHelper {
378
342
  }
379
343
  return name;
380
344
  }
345
+ static mustRotate(foto) {
346
+ if (foto.height > foto.width)
347
+ return false;
348
+ return foto.orientation == EOrientation.TopRight || foto.orientation == EOrientation.BottomLeft || foto.orientation == EOrientation.BottomRight;
349
+ }
381
350
  static getStars(rating) {
382
351
  return rating ? (rating == 1 ? '*' : '**') : 'all';
383
352
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EACrB,aAAa,EAAE,YAAY,EACnC,MAAM,UAAU,CAAA;AACjB,MAAM,OAAO,WAAW;IACpB,MAAM,CAAE,UAAU,CAAW;IAC7B,MAAM,CAAE,oBAAoB,CAAW;IACvC,MAAM,CAAE,kBAAkB,CAAW;IACrC,MAAM,CAAE,+BAA+B,CAAW;IAClD,MAAM,CAAE,eAAe,CAAW;IAClC,MAAM,CAAE,WAAW,CAAW;IAC9B,MAAM,CAAE,uBAAuB,CAAW;IAC1C,MAAM,CAAE,qBAAqB,CAAW;IACxC,MAAM,CAAE,gCAAgC,CAAW;IACnD,MAAM,CAAC,UAAU,CAAC,SAAqB;QACnC,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,UAAU,CAAC,KAAK,CAAC,CAAM,OAAO,SAAS,CAAC,KAAK,CAAC;YACnD,KAAK,UAAU,CAAC,KAAK,CAAC,CAAM,OAAO,SAAS,CAAC,KAAK,CAAC;YACnD,KAAK,UAAU,CAAC,OAAO,CAAC,CAAI,OAAO,SAAS,CAAC,OAAO,CAAC;YACrD,KAAK,UAAU,CAAC,MAAM,CAAC,CAAK,OAAO,SAAS,CAAC,SAAS,CAAC;QAC3D,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,iBAAiB;QACpB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;YACnC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;YAC1B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,eAAe,CAAC,SAAqB;QACxC,MAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,OAAe;QACpC,MAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,MAAc;QAClC,MAAM,GAAG,GAAe,EAAgB,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YACd,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,CAAC,kBAAkB,CAAC,SAAkB,EAAE,SAAqB,EAAE,WAAmB,EAAE,OAAe,EAAE,WAAoB;QAC3H,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC5B,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9B,IAAI,SAAkC,CAAC;QACvC,IAAI,WAAW;YACX,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,YAAY,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5C,MAAM,GAAG,GAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAChH,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,GAAG,GAAG;YACrC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC;QAE3B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;YACtC,IAAI,WAAW,GAAG,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC9B,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC;YACD,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,OAAO,GAAG,CAAC,YAAY,GAAG,CAAC;YAChE,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,KAAK,WAAW,GAAG,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,CAAC;QACzF,CAAC;aACI,CAAC;YACF,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,CAAC,YAAY,IAAI,CAAC;YAC5C,GAAG,CAAC,GAAG,GAAG,gBAAgB,GAAG,CAAC,YAAY,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;gBACtC,GAAG,CAAC,GAAG,IAAI,iBAAiB,GAAG,CAAC,YAAY,EAAE,CAAC;YACnD,CAAC;QACL,CAAC;aACI,CAAC;YACF,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,QAAgB;QAClC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;YACxC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACnE,CAAC;aACI,CAAC;YACF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAA2B,EAAE,KAAa,EAAE,WAAoB,EAAE,SAAkB;QAC3G,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAuB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACjE,KAAI,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,EACpC,CAAC;gBACG,KAAI,MAAM,WAAW,IAAI,UAAU,CAAC,OAAO,EAC3C,CAAC;oBACX,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,SAAS,CAAC,IAAI,CAAC;wBACf,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;;wBAElB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;YACD,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBACpC,WAAW,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBACtC,KAAI,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EACzC,CAAC;oBACG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACtD,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE,CAAC;oBAC/C,WAAW,CAAC,+BAA+B,GAAG,EAAE,CAAC;oBACjD,KAAI,MAAM,KAAK,IAAI,WAAW,CAAC,oBAAoB,EACnD,CAAC;wBACG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACpD,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;gBACD,OAAO,WAAW,CAAC,+BAA+B,CAAC;YACvD,CAAC;iBACI,CAAC;gBACF,OAAO,WAAW,CAAC,oBAAoB,CAAC;YAC5C,CAAC;QACL,CAAC;aACI,IAAI,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;gBAClC,WAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBACpC,KAAI,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EACzC,CAAC;oBACG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACpD,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC;YACD,OAAO,WAAW,CAAC,kBAAkB,CAAC;QAC1C,CAAC;;YAEG,OAAO,WAAW,CAAC,UAAU,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,YAA2B,EAAE,MAAc,EAAE,YAAqB,EAAE,UAAmB;QAC/G,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QACjG,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YAC/B,WAAW,CAAC,eAAe,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,eAAe;gBAC5B,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;gBACvC,WAAW,CAAC,uBAAuB,GAAG,EAAE,CAAC;gBACzC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;gBACzE,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnF,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBACxD,WAAW,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,CAAC,gCAAgC,EAAE,CAAC;oBAChD,WAAW,CAAC,gCAAgC,GAAG,EAAE,CAAC;oBAClD,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;oBAClF,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC5F,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC1F,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;oBACjE,WAAW,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAC;gBACxD,CAAC;gBACD,OAAO,WAAW,CAAC,gCAAgC,CAAC;YACxD,CAAC;iBACI,CAAC;gBACF,OAAO,WAAW,CAAC,uBAAuB,CAAC;YAC/C,CAAC;QACL,CAAC;aACI,IAAI,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;gBACrC,WAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBACvC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;gBACvE,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/E,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBACtD,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;YAC7C,CAAC;YACD,OAAO,WAAW,CAAC,qBAAqB,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC3B,WAAW,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;YAC7D,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5C,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,WAAW,CAAC,WAAW,CAAC;IACnC,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,IAAqB,EAAE,KAAa;QACnD,IAAI,IAA0B,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI;oBACL,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACb,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,YAA2B,EAAE,YAAoB,EAAE,YAAqB,EAAE,cAAuB,EAAE,MAAc,EAAE,cAAsB,GAAG;QACpK,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxH,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9H,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjC,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC3C,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;wBAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAuB,EAAE,CAAC;4BAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;wBACD,SAAS;oBACb,CAAC;oBACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAuB,EAAE,CAAC;wBAChD,IAAI,KAAK,GAAG,KAAK,CAAC;wBAClB,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC3C,KAAK,GAAG,IAAI,CAAC;oCAAC,MAAM;gCACxB,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,IAAI,YAAY,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;4BACpC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;gCACxC,KAAK,GAAG,IAAI,CAAC;wBACrB,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;4BACpC,KAAK,GAAG,IAAI,CAAC;wBAEjB,IAAI,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,CAAC;4BACR,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW;gCAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC3B,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,sBAAsB,KAAK,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACzE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAA2B,EAAE,OAAe,EAAE,KAAa,EAAE,OAAe,EAAE,KAAa,EAAE,MAAc,EAAE,cAAsB,GAAG;QACjK,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,OAAO,CAAC;QACnB,KAAK,IAAI,OAAO,CAAC;QACjB,OAAO,IAAI,OAAO,CAAC;QACnB,KAAK,IAAI,OAAO,CAAC;QACjB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjC,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC3C,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,KAAK,EAAE,CAAC;oBACR,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAuB,EAAE,CAAC;wBAChD,IAAI,KAAK,GAAG,KAAK,CAAC;wBAClB,IAAI,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;4BACtC,IAAI,KAAK,CAAC,QAAS,IAAI,OAAO,IAAI,KAAK,CAAC,QAAS,IAAI,KAAK;gCACtD,KAAK,CAAC,SAAU,IAAI,OAAO,IAAI,KAAK,CAAC,SAAU,IAAI,KAAK,EAAE,CAAC;gCAC3D,KAAK,EAAE,CAAC;gCACR,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW;oCAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC3B,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAS,gBAAgB;YACxD,uEAAuE;QAC3E,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAoB,EAAE,WAAyB,EAAE,gBAAkC,EAAE,KAAoB;QAChI,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;QACzC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,WAAW,CAAC,WAAW,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACnD,IAAI,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAChB,OAAO,SAAS,CAAC;QAErB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACzB,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EACpC,CAAC;YACG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;gBACnC,QAAQ,IAAI,CAAC,CAAC;gBACd,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM;oBACvB,OAAO,SAAS,CAAC;YACzB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,UAAU,CAAC,IAAkB;QAChC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;YACxB,OAAO,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC;IACpJ,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,MAAc;QAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.250",
3
+ "version": "1.0.252",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -3,14 +3,13 @@
3
3
  import { inject, ref, toRef, computed, onMounted, watch } from 'vue';
4
4
  import { GoogleMap } from 'vue3-google-map'
5
5
  import { authorizeSymbol } from '@christianriedl/rest';
6
- import { IPhotoMarker, IPhotoRegion, IPictureFile, getMediaBinSymbol } from '@christianriedl/media';
6
+ import { IPhotoMarker, IPhotoRegion, IPictureFile, getMediaBinSymbol, EOrientation } from '@christianriedl/media';
7
7
 
8
8
  const props = defineProps<{ location: string, zoom: number, selectRegion?: IPhotoRegion, fotos?: IPhotoMarker[] }>();
9
9
  const emits = defineEmits<{ (e: 'select', value: IPhotoRegion): void }>();
10
10
 
11
11
  const authorize = inject(authorizeSymbol)!;
12
- const apiKey = "AIzaSyBXXPRWgozn5kP40fmdk5f6xLRYkImPI9w";
13
- //const apiKey = authorize.keyGoogleMaps;
12
+ const apiKey = authorize.keyGoogleMaps;
14
13
  const getMediaService = inject(getMediaBinSymbol)!;
15
14
  const mediaService = getMediaService() ;
16
15
 
@@ -29,7 +28,7 @@
29
28
  // select
30
29
  let selectionRect: google.maps.Rectangle | null = null;
31
30
  let lastMapBounds: google.maps.LatLngBounds | null = null;
32
- let zoomChanged = false;
31
+ let zoomChanged = true; // initialiiy
33
32
  let rectTimer = 0;
34
33
  const fotoMarkers: google.maps.marker.AdvancedMarkerElement[] = [];
35
34
  const groupMarkers: google.maps.marker.AdvancedMarkerElement[] = [];
@@ -103,7 +102,7 @@
103
102
  const bounds = props.selectRegion!.latFrom ?
104
103
  new google.maps.LatLngBounds(new google.maps.LatLng(props.selectRegion!.latFrom, props.selectRegion!.lngFrom),
105
104
  new google.maps.LatLng(props.selectRegion!.latTo, props.selectRegion!.lngTo)) :
106
- new google.maps.LatLngBounds(loc, new google.maps.LatLng(loc.lat() + 0.002, loc.lng() + 0.003));
105
+ new google.maps.LatLngBounds(loc, new google.maps.LatLng(loc.lat() + 0.01, loc.lng() + 0.015));
107
106
  if (props.selectRegion!.latFrom) {
108
107
  map.setCenter(bounds.getCenter())
109
108
  }
@@ -219,16 +218,20 @@
219
218
  }
220
219
  }
221
220
  function displayPhoto(photo: IPictureFile) {
222
- let maxHeight = window.innerHeight * 0.8;
223
- const fac = (photo.height > maxHeight) ? (maxHeight / photo.height) : 1;
224
- let left = Math.floor((window.innerWidth - photo.width * fac) / 2);
221
+ let maxHeight = window.innerHeight * 0.8;
222
+ const rot = MediaHelper.mustRotate(photo);
223
+ const w = rot ? photo.height : photo.width;
224
+ const h = rot ? photo.width : photo.height;
225
+ const fac = (h > maxHeight) ? (maxHeight / h) : 1;
226
+ let left = Math.floor((window.innerWidth - w * fac) / 2);
225
227
  if (left < 0) left = 0;
226
- photoLeft.value = { 'left': left + 'px' };
227
- photoHeight.value = Math.floor(photo.height * fac);
228
- photoWidth.value = Math.floor(photo.width * fac);
228
+ photoLeft.value = { 'left': left + 'px' };
229
+ photoHeight.value = Math.floor(h * fac);
230
+ photoWidth.value = Math.floor(w * fac);
229
231
  const albumUrl = mediaService.getFolder(photo.dlnaParentId).url;
230
232
  photoUrl = mediaService.getPhotoUrl(albumUrl, photo.url, `${0}x${photoHeight.value}x${photo.orientation}x70`);
231
- showPhoto.value = true;
233
+ console.log (`left:${left} w:${photoWidth.value} h:${photoHeight.value} : ${photoUrl}`);
234
+ showPhoto.value = true;
232
235
  }
233
236
  function createPin(loc: google.maps.LatLng, text: string, color: string, background: string): google.maps.marker.AdvancedMarkerElement {
234
237
  const pinGlyph = new google.maps.marker.PinElement({
@@ -261,9 +264,9 @@
261
264
  <google-map ref="mapRef" class="map" :style="mapSizeStyle" :apiKey="apiKey" mapId="60c7744a5bdbb04ae71bd377" :zoom="props.zoom">
262
265
  </google-map>
263
266
  <v-dialog v-model="showPhoto">
264
- <v-card :style="photoLeft" :height="photoHeight + 50" :max-width="photoWidth">
267
+ <v-card :style="photoLeft" :width="photoWidth + 50" :height="photoHeight + 120">
265
268
  <v-card-text>
266
- <v-img :src="photoUrl"></v-img>
269
+ <v-img :src="photoUrl" :height="photoHeight" ></v-img>
267
270
  </v-card-text>
268
271
  <v-card-actions>
269
272
  <v-btn size="large" @click="showPhoto = false">
@@ -35,7 +35,7 @@
35
35
  const showDownload = ref(false);
36
36
  const showLocation = ref(false);
37
37
  const showText = ref("SHOW");
38
- let selectedFotos: IPictureFile[] | null = null;
38
+ let selectedFotos: IPictureFile[] | undefined;
39
39
  // GPS selection
40
40
  const center = ref("Wien");
41
41
  const location = ref("");
@@ -43,6 +43,7 @@
43
43
  const maxMultiple = 10;
44
44
  const markersPerDim = 40;
45
45
  const showGps = ref(false);
46
+ const foundMap = new Map<string,IPictureFile[]>();
46
47
  const foundFotos = shallowRef<IPhotoMarker[]>([]);
47
48
  let latLength = 0;
48
49
  let lngLength = 0;
@@ -176,22 +177,51 @@
176
177
  latLength = region.latLength;
177
178
  lngLength = region.lngLength;
178
179
  if (region.key) {
179
- const arr = region.key.split('|');
180
- const latDelta = Math.max(0.001, latLength / markersPerDim);
181
- const lngDelta = Math.max(0.001, lngLength / markersPerDim);
182
- const lat = Number(arr[0]) * latDelta;
183
- const lng = Number(arr[1]) * lngDelta;
184
- selectedFotos = await MediaHelper.searchPicturesGPS(mediaService, lat, lat + latDelta, lng, lng + lngDelta, mediaService.photoSelection.rating);
185
- showText.value = `SHOW ${selectedFotos.length}`;
186
- photos.value.splice(0, photos.value.length, ...selectedFotos);
187
- console.log(photos.value.length);
188
- showGps.value = false;
180
+ selectedFotos = foundMap.get(region.key);
181
+ if (selectedFotos) {
182
+ showText.value = `SHOW ${selectedFotos.length}`;
183
+ photos.value.splice(0, photos.value.length, ...selectedFotos);
184
+ console.log(photos.value.length);
185
+ showGps.value = false;
186
+ }
189
187
  }
190
188
  else {
191
189
  selectedRegion = region;
192
190
  selectedFotos = await MediaHelper.searchPicturesGPS(mediaService, region.latFrom, region.latTo, region.lngFrom, region.lngTo, mediaService.photoSelection.rating);
193
- foundFotos.value = MediaHelper.createMarker(selectedFotos, latLength, lngLength, markersPerDim, maxMultiple);
191
+ foundFotos.value = createMarker(selectedFotos);
192
+ }
193
+ }
194
+ function createMarker(fotos: IPictureFile[]): IPhotoMarker[] {
195
+ const fms: IPhotoMarker[] = [];
196
+ if (fotos) {
197
+ foundMap.clear();
198
+ const latDelta = Math.max(0.001, latLength / markersPerDim) * 1000000;
199
+ const lngDelta = Math.max(0.001, lngLength / markersPerDim) * 1000000;
200
+ for (let i = 0; i < fotos.length; i++) {
201
+ const foto = fotos[i];
202
+ const lat = Math.round(foto.latitude! / latDelta);
203
+ const lng = Math.round(foto.longitude! / lngDelta);
204
+ const key = lat.toString() + '|' + lng.toString();
205
+ const arr: IPictureFile[] | undefined = foundMap.get(key);
206
+ if (arr)
207
+ arr.push(foto);
208
+ else
209
+ foundMap.set(key, [foto]);
210
+ }
211
+ for (let [key, arr] of foundMap) {
212
+ if (arr.length > maxMultiple) {
213
+ const f = arr[0];
214
+ fms.push({ lat: f.latitude! / 1000000, lng: f.longitude! / 1000000, num: -arr.length, key, multiple: true });
215
+ }
216
+ else {
217
+ for (let j = 0; j < arr.length; j++) { // First the not available
218
+ const f = arr[j];
219
+ fms.push({ lat: f.latitude! / 1000000, lng: f.longitude! / 1000000, num: j, photo: f, multiple: j > 0 });
220
+ }
221
+ }
222
+ }
194
223
  }
224
+ return fms;
195
225
  }
196
226
  </script>
197
227