@wizishop/img-manager 15.2.60 → 15.2.62

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 (36) hide show
  1. package/assets/i18n/en.json +1 -1
  2. package/assets/i18n/es.json +1 -1
  3. package/assets/i18n/fr.json +1 -1
  4. package/assets/i18n/it.json +1 -1
  5. package/esm2020/lib/components/images-view/images-actions-handler.mjs +1 -4
  6. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +3 -3
  7. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +3 -3
  8. package/esm2020/lib/components/img-editor/img-editor.component.mjs +7 -44
  9. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +3 -12
  10. package/esm2020/lib/dto/img-manager.dto.mjs +1 -1
  11. package/esm2020/lib/services/api.service.mjs +1 -1
  12. package/esm2020/lib/services/img-event.service.mjs +1 -8
  13. package/esm2020/lib/services/rename-picture.service.mjs +1 -4
  14. package/esm2020/lib/wz-img-manager.module.mjs +1 -7
  15. package/fesm2015/wizishop-img-manager.mjs +9 -258
  16. package/fesm2015/wizishop-img-manager.mjs.map +1 -1
  17. package/fesm2020/wizishop-img-manager.mjs +9 -257
  18. package/fesm2020/wizishop-img-manager.mjs.map +1 -1
  19. package/lib/components/images-view/images-actions-handler.d.ts +0 -1
  20. package/lib/components/img-editor/img-editor.component.d.ts +1 -8
  21. package/lib/components/img-tabs/img-tabs.component.d.ts +0 -1
  22. package/lib/dto/img-manager.dto.d.ts +0 -1
  23. package/lib/services/api.service.d.ts +0 -1
  24. package/lib/services/img-event.service.d.ts +0 -3
  25. package/lib/services/rename-picture.service.d.ts +0 -1
  26. package/lib/wz-img-manager.module.d.ts +44 -46
  27. package/package.json +1 -1
  28. package/wizishop-img-manager-15.2.62.tgz +0 -0
  29. package/wz-img-manager.scss +2 -183
  30. package/esm2020/lib/components/img-editor/info-video/info-video.component.mjs +0 -62
  31. package/esm2020/lib/components/img-editor/show-iframe/show-iframe.component.mjs +0 -54
  32. package/esm2020/lib/services/video-info.service.mjs +0 -87
  33. package/lib/components/img-editor/info-video/info-video.component.d.ts +0 -20
  34. package/lib/components/img-editor/show-iframe/show-iframe.component.d.ts +0 -15
  35. package/lib/services/video-info.service.d.ts +0 -23
  36. package/wizishop-img-manager-15.2.60.tgz +0 -0
@@ -1,87 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { map } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class VideoInfoService {
7
- constructor(http) {
8
- this.http = http;
9
- this.YT_API_KEY = '';
10
- this.YT_API_URL = 'https://www.googleapis.com/youtube/v3/videos';
11
- }
12
- getVideoInfo(videoUrl) {
13
- if (!videoUrl)
14
- return null;
15
- if (this.isYouTube(videoUrl)) {
16
- const id = this.extractYoutubeId(videoUrl);
17
- return this.getYouTubeInfo(id);
18
- }
19
- if (this.isVimeo(videoUrl)) {
20
- const id = this.extractVimeoId(videoUrl);
21
- return this.getVimeoInfo(id);
22
- }
23
- return null;
24
- }
25
- isYouTube(url) {
26
- return url.includes('youtube.com') || url.includes('youtu.be');
27
- }
28
- isVimeo(url) {
29
- return url.includes('vimeo.com');
30
- }
31
- extractYoutubeId(url) {
32
- const regExp = /^.*(youtu.be\/|v=|embed\/)([^#\&\?]*).*/;
33
- const match = url.match(regExp);
34
- return match && match[2] ? match[2] : null;
35
- }
36
- extractVimeoId(url) {
37
- const regExp = /vimeo\.com\/(?:video\/)?(\d+)/;
38
- const match = url.match(regExp);
39
- return match ? match[1] : null;
40
- }
41
- getYouTubeInfo(id) {
42
- return this.http.get(`${this.YT_API_URL}?id=${id}&part=contentDetails,snippet&key=${this.YT_API_KEY}`)
43
- .pipe(map(res => {
44
- const item = res.items?.[0];
45
- if (!item)
46
- return null;
47
- return {
48
- duration: this.formatYoutubeDuration(item.contentDetails.duration),
49
- publishDate: this.formatDate(item.snippet.publishedAt)
50
- };
51
- }));
52
- }
53
- formatYoutubeDuration(duration) {
54
- const match = duration.match(/PT(\d+M)?(\d+S)?/);
55
- const minutes = match?.[1] ? parseInt(match[1]) : 0;
56
- const seconds = match?.[2] ? parseInt(match[2]) : 0;
57
- return `${minutes} min ${seconds} sec`;
58
- }
59
- getVimeoInfo(id) {
60
- return this.http.get(`https://vimeo.com/api/v2/video/${id}.json`)
61
- .pipe(map(res => {
62
- const item = res?.[0];
63
- if (!item)
64
- return null;
65
- return {
66
- duration: this.formatVimeoDuration(item.duration),
67
- publishDate: this.formatDate(item.upload_date)
68
- };
69
- }));
70
- }
71
- formatVimeoDuration(seconds) {
72
- const min = Math.floor(seconds / 60);
73
- const sec = seconds % 60;
74
- return `${min} min ${sec} sec`;
75
- }
76
- formatDate(dateStr) {
77
- const d = new Date(dateStr);
78
- return d.toLocaleDateString('fr-FR');
79
- }
80
- }
81
- VideoInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VideoInfoService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
82
- VideoInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VideoInfoService, providedIn: 'root' });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VideoInfoService, decorators: [{
84
- type: Injectable,
85
- args: [{ providedIn: 'root' }]
86
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8taW5mby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy92aWRlby1pbmZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzNCLE1BQU0sT0FBTyxnQkFBZ0I7SUFLM0IsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUg1QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGVBQVUsR0FBRyw4Q0FBOEMsQ0FBQztJQUU3QixDQUFDO0lBRXhDLFlBQVksQ0FBQyxRQUFnQjtRQUMzQixJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR08sU0FBUyxDQUFDLEdBQVc7UUFDM0IsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJ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R0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWU7UUFDaEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7NkdBN0ZVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVmlkZW9JbmZvU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgWVRfQVBJX0tFWSA9ICcnO1xyXG4gIHByaXZhdGUgWVRfQVBJX1VSTCA9ICdodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS95b3V0dWJlL3YzL3ZpZGVvcyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcbiAgZ2V0VmlkZW9JbmZvKHZpZGVvVXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICghdmlkZW9VcmwpIHJldHVybiBudWxsO1xyXG5cclxuICAgIGlmICh0aGlzLmlzWW91VHViZSh2aWRlb1VybCkpIHtcclxuICAgICAgY29uc3QgaWQgPSB0aGlzLmV4dHJhY3RZb3V0dWJlSWQodmlkZW9VcmwpO1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRZb3VUdWJlSW5mbyhpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNWaW1lbyh2aWRlb1VybCkpIHtcclxuICAgICAgY29uc3QgaWQgPSB0aGlzLmV4dHJhY3RWaW1lb0lkKHZpZGVvVXJsKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmltZW9JbmZvKGlkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGlzWW91VHViZSh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHVybC5pbmNsdWRlcygneW91dHViZS5jb20nKSB8fCB1cmwuaW5jbHVkZXMoJ3lvdXR1LmJlJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVmltZW8odXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB1cmwuaW5jbHVkZXMoJ3ZpbWVvLmNvbScpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdFlvdXR1YmVJZCh1cmw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3QgcmVnRXhwID0gL14uKih5b3V0dS5iZVxcL3x2PXxlbWJlZFxcLykoW14jXFwmXFw/XSopLiovO1xyXG4gICAgY29uc3QgbWF0Y2ggPSB1cmwubWF0Y2gocmVnRXhwKTtcclxuICAgIHJldHVybiBtYXRjaCAmJiBtYXRjaFsyXSA/IG1hdGNoWzJdIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdFZpbWVvSWQodXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHJlZ0V4cCA9IC92aW1lb1xcLmNvbVxcLyg/OnZpZGVvXFwvKT8oXFxkKykvO1xyXG4gICAgY29uc3QgbWF0Y2ggPSB1cmwubWF0Y2gocmVnRXhwKTtcclxuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0WW91VHViZUluZm8oaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLllUX0FQSV9VUkx9P2lkPSR7aWR9JnBhcnQ9Y29udGVudERldGFpbHMsc25pcHBldCZrZXk9JHt0aGlzLllUX0FQSV9LRVl9YClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gcmVzLml0ZW1zPy5bMF07XHJcbiAgICAgICAgICBpZiAoIWl0ZW0pIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiB0aGlzLmZvcm1hdFlvdXR1YmVEdXJhdGlvbihpdGVtLmNvbnRlbnREZXRhaWxzLmR1cmF0aW9uKSxcclxuICAgICAgICAgICAgcHVibGlzaERhdGU6IHRoaXMuZm9ybWF0RGF0ZShpdGVtLnNuaXBwZXQucHVibGlzaGVkQXQpXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdFlvdXR1YmVEdXJhdGlvbihkdXJhdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBtYXRjaCA9IGR1cmF0aW9uLm1hdGNoKC9QVChcXGQrTSk/KFxcZCtTKT8vKTtcclxuXHJcbiAgICBjb25zdCBtaW51dGVzID0gbWF0Y2g/LlsxXSA/IHBhcnNlSW50KG1hdGNoWzFdKSA6IDA7XHJcbiAgICBjb25zdCBzZWNvbmRzID0gbWF0Y2g/LlsyXSA/IHBhcnNlSW50KG1hdGNoWzJdKSA6IDA7XHJcblxyXG4gICAgcmV0dXJuIGAke21pbnV0ZXN9IG1pbiAke3NlY29uZHN9IHNlY2A7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFZpbWVvSW5mbyhpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGBodHRwczovL3ZpbWVvLmNvbS9hcGkvdjIvdmlkZW8vJHtpZH0uanNvbmApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcChyZXMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbSA9IHJlcz8uWzBdO1xyXG4gICAgICAgICAgaWYgKCFpdGVtKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5mb3JtYXRWaW1lb0R1cmF0aW9uKGl0ZW0uZHVyYXRpb24pLFxyXG4gICAgICAgICAgICBwdWJsaXNoRGF0ZTogdGhpcy5mb3JtYXREYXRlKGl0ZW0udXBsb2FkX2RhdGUpXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdFZpbWVvRHVyYXRpb24oc2Vjb25kczogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBtaW4gPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgICBjb25zdCBzZWMgPSBzZWNvbmRzICUgNjA7XHJcbiAgICByZXR1cm4gYCR7bWlufSBtaW4gJHtzZWN9IHNlY2A7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdERhdGUoZGF0ZVN0cjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkID0gbmV3IERhdGUoZGF0ZVN0cik7XHJcbiAgICByZXR1cm4gZC50b0xvY2FsZURhdGVTdHJpbmcoJ2ZyLUZSJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { VideoInfoService } from "../../../services/video-info.service";
3
- import * as i0 from "@angular/core";
4
- export declare class EditorInfoVideoComponent implements OnInit {
5
- private videoInfoService;
6
- videoLink: string;
7
- videoLinkChange: EventEmitter<string>;
8
- isVideoModified: boolean;
9
- isVideoModifiedChange: EventEmitter<boolean>;
10
- deleteVideo: EventEmitter<void>;
11
- videoDuration: string;
12
- videoPublishDate: string;
13
- constructor(videoInfoService: VideoInfoService);
14
- ngOnInit(): void;
15
- onVideoLinkChange(value: string): void;
16
- loadVideoInfos(): void;
17
- onDelete(): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<EditorInfoVideoComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<EditorInfoVideoComponent, "info-video", never, { "videoLink": "videoLink"; "isVideoModified": "isVideoModified"; }, { "videoLinkChange": "videoLinkChange"; "isVideoModifiedChange": "isVideoModifiedChange"; "deleteVideo": "deleteVideo"; }, never, never, false, never>;
20
- }
@@ -1,15 +0,0 @@
1
- import { OnChanges } from '@angular/core';
2
- import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- export declare class EditorShowIframeComponent implements OnChanges {
5
- private sanitizer;
6
- videoLink: string;
7
- safeUrl: SafeResourceUrl | null;
8
- constructor(sanitizer: DomSanitizer);
9
- ngOnChanges(): void;
10
- private buildSafeIframeUrl;
11
- private extractYoutubeId;
12
- private extractVimeoId;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<EditorShowIframeComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<EditorShowIframeComponent, "show-iframe", never, { "videoLink": "videoLink"; }, {}, never, never, false, never>;
15
- }
@@ -1,23 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import * as i0 from "@angular/core";
3
- export declare class VideoInfoService {
4
- private http;
5
- private YT_API_KEY;
6
- private YT_API_URL;
7
- constructor(http: HttpClient);
8
- getVideoInfo(videoUrl: string): import("rxjs").Observable<{
9
- duration: string;
10
- publishDate: string;
11
- }>;
12
- private isYouTube;
13
- private isVimeo;
14
- private extractYoutubeId;
15
- private extractVimeoId;
16
- private getYouTubeInfo;
17
- private formatYoutubeDuration;
18
- private getVimeoInfo;
19
- private formatVimeoDuration;
20
- private formatDate;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<VideoInfoService, never>;
22
- static ɵprov: i0.ɵɵInjectableDeclaration<VideoInfoService>;
23
- }
Binary file