@wizishop/img-manager-webelement 15.2.54 → 18.2.0
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/README.md +24 -24
- package/{esm2020 → esm2022}/lib/environments/environment.mjs +1 -1
- package/esm2022/lib/img-manager-webelement.component.mjs +135 -0
- package/esm2022/lib/img-manager-webelement.module.mjs +50 -0
- package/{esm2020 → esm2022}/lib/services/auth-credentials.service.mjs +4 -4
- package/esm2022/lib/services/event.service.mjs +40 -0
- package/esm2022/lib/services/fiche_products.service.mjs +253 -0
- package/esm2022/lib/services/webelement-image-manager-api.config.mjs +89 -0
- package/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/{fesm2020 → fesm2022}/wizishop-img-manager-webelement.mjs +102 -74
- package/fesm2022/wizishop-img-manager-webelement.mjs.map +1 -0
- package/img-manager-webelement.scss +1 -0
- package/lib/img-manager-webelement.component.d.ts +2 -2
- package/package.json +20 -25
- package/esm2020/lib/img-manager-webelement.component.mjs +0 -122
- package/esm2020/lib/img-manager-webelement.module.mjs +0 -50
- package/esm2020/lib/services/event.service.mjs +0 -37
- package/esm2020/lib/services/fiche_products.service.mjs +0 -242
- package/esm2020/lib/services/webelement-image-manager-api.config.mjs +0 -88
- package/fesm2015/wizishop-img-manager-webelement.mjs +0 -639
- package/fesm2015/wizishop-img-manager-webelement.mjs.map +0 -1
- package/fesm2020/wizishop-img-manager-webelement.mjs.map +0 -1
- package/img-manager-webelement.css +0 -1
- /package/{esm2020 → esm2022}/wizishop-img-manager-webelement.mjs +0 -0
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { HttpHeaders } from "@angular/common/http";
|
|
2
|
-
import { Injectable, inject } from "@angular/core";
|
|
3
|
-
import { map, tap } from "rxjs";
|
|
4
|
-
import { environment } from '../environments/environment';
|
|
5
|
-
import { AuthCredentialsService } from "./auth-credentials.service";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
export class WebelementImageManagerApiService {
|
|
9
|
-
constructor(http) {
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.authCredentialsService = inject(AuthCredentialsService);
|
|
12
|
-
this.shopId = this.authCredentialsService.getSync().data.shop_id;
|
|
13
|
-
this.shopToken = this.authCredentialsService.getSync().data.token;
|
|
14
|
-
this.CONFIG = {
|
|
15
|
-
image_manager_route: environment.wizi_api + "/image-manager/shops/" + this.shopId,
|
|
16
|
-
canva_token: 'wdByHayF5v57nj2ZSLvu055O',
|
|
17
|
-
canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',
|
|
18
|
-
pexels_token: environment.pexels_token,
|
|
19
|
-
pexels_route: 'https://api.pexels.com/v1',
|
|
20
|
-
shop_category: 'other',
|
|
21
|
-
assets_route: environment.assets_route,
|
|
22
|
-
};
|
|
23
|
-
this.IMG_SIZE = {
|
|
24
|
-
url_raw_image: `${environment.CDN_URL}${this.shopId}/RAW-`,
|
|
25
|
-
url_100_image: `${environment.CDN_URL}${this.shopId}/m100-`,
|
|
26
|
-
url_200_image: `${environment.CDN_URL}${this.shopId}/cs200-`,
|
|
27
|
-
url_400_image: `${environment.CDN_URL}${this.shopId}/cs400-`,
|
|
28
|
-
url_800_image: `${environment.CDN_URL}${this.shopId}/cs800-`
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
getOptionsHeaders(params) {
|
|
32
|
-
const header = { headers: new HttpHeaders({
|
|
33
|
-
Authorization: 'Bearer ' + this.shopToken
|
|
34
|
-
})
|
|
35
|
-
};
|
|
36
|
-
if (params) {
|
|
37
|
-
header['params'] = params;
|
|
38
|
-
}
|
|
39
|
-
return header;
|
|
40
|
-
}
|
|
41
|
-
getShopCategory() {
|
|
42
|
-
return 'other';
|
|
43
|
-
}
|
|
44
|
-
getShopImgList(params) {
|
|
45
|
-
return this.http.get(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));
|
|
46
|
-
}
|
|
47
|
-
getShopTotalImgList(params) {
|
|
48
|
-
return this.http.get(`${this.CONFIG.image_manager_route}/total/images`, this.getOptionsHeaders(params)).pipe(map(res => res.totalRecords));
|
|
49
|
-
}
|
|
50
|
-
getShopImg(idFile) {
|
|
51
|
-
return this.http.get(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());
|
|
52
|
-
}
|
|
53
|
-
uploadFile(formData) {
|
|
54
|
-
return this.http.post(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());
|
|
55
|
-
}
|
|
56
|
-
uploadFileByUrl(url, fileName) {
|
|
57
|
-
return this.http.post(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());
|
|
58
|
-
}
|
|
59
|
-
replaceImg(imageBase64, id_file) {
|
|
60
|
-
const body = {
|
|
61
|
-
imageBase64,
|
|
62
|
-
type: "RAW"
|
|
63
|
-
};
|
|
64
|
-
return this.http.put(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());
|
|
65
|
-
}
|
|
66
|
-
changeImgName(fileName, id_file) {
|
|
67
|
-
return this.http.put(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
|
|
68
|
-
}
|
|
69
|
-
removeImg(id_file) {
|
|
70
|
-
return this.http.delete(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());
|
|
71
|
-
}
|
|
72
|
-
removeMultipleImg(id_array) {
|
|
73
|
-
return this.http.post(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
|
|
74
|
-
}
|
|
75
|
-
setShopCategory(shopId) {
|
|
76
|
-
return this.http.get(`${environment.wizi_api}/shops/${shopId}`, this.getOptionsHeaders()).pipe(tap((shop => {
|
|
77
|
-
if (shop && shop['category']) {
|
|
78
|
-
this.CONFIG.shop_category = shop['category'];
|
|
79
|
-
}
|
|
80
|
-
})));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
WebelementImageManagerApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
84
|
-
WebelementImageManagerApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService });
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService, decorators: [{
|
|
86
|
-
type: Injectable
|
|
87
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViZWxlbWVudC1pbWFnZS1tYW5hZ2VyLWFwaS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbWctbWFuYWdlci13ZWJlbGVtZW50L3NyYy9saWIvc2VydmljZXMvd2ViZWxlbWVudC1pbWFnZS1tYW5hZ2VyLWFwaS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBR3BFLE1BQU0sT0FBTyxnQ0FBZ0M7SUF3QnpDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUF0Qm5CLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pFLFdBQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1RCxjQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFN0QsV0FBTSxHQUFHO1lBQ0wsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNqRixXQUFXLEVBQUUsMEJBQTBCO1lBQ3ZDLFNBQVMsRUFBRSw4Q0FBOEM7WUFDekQsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZO1lBQ3RDLFlBQVksRUFBRSwyQkFBMkI7WUFDekMs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VUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgQXBpU2VydmljZSwgSW1nUGljdHVyZXNEVE8sIEltZ1BpY3R1cmVEVE8gfSBmcm9tIFwiQHdpemlzaG9wL2ltZy1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBBdXRoQ3JlZGVudGlhbHNTZXJ2aWNlIH0gZnJvbSBcIi4vYXV0aC1jcmVkZW50aWFscy5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXZWJlbGVtZW50SW1hZ2VNYW5hZ2VyQXBpU2VydmljZSBpbXBsZW1lbnRzIEFwaVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoQ3JlZGVudGlhbHNTZXJ2aWNlID0gaW5qZWN0KEF1dGhDcmVkZW50aWFsc1NlcnZpY2UpO1xuICAgIHNob3BJZCA9IHRoaXMuYXV0aENyZWRlbnRpYWxzU2VydmljZS5nZXRTeW5jKCkuZGF0YS5zaG9wX2lkO1xuICAgIHNob3BUb2tlbiA9IHRoaXMuYXV0aENyZWRlbnRpYWxzU2VydmljZS5nZXRTeW5jKCkuZGF0YS50b2tlbjtcblxuICAgIENPTkZJRyA9IHtcbiAgICAgICAgaW1hZ2VfbWFuYWdlcl9yb3V0ZTogZW52aXJvbm1lbnQud2l6aV9hcGkgKyBcIi9pbWFnZS1tYW5hZ2VyL3Nob3BzL1wiICsgdGhpcy5zaG9wSWQsXG4gICAgICAgIGNhbnZhX3Rva2VuOiAnd2RCeUhheUY1djU3bmoyWlNMdnUwNTVPJyxcbiAgICAgICAgY2FudmFfdXJsOiAnaHR0cHM6Ly9zZGsuY2FudmEuY29tL2Rlc2lnbmJ1dHRvbi92Mi9hcGkuanMnLFxuICAgICAgICBwZXhlbHNfdG9rZW46IGVudmlyb25tZW50LnBleGVsc190b2tlbixcbiAgICAgICAgcGV4ZWxzX3JvdXRlOiAnaHR0cHM6Ly9hcGkucGV4ZWxzLmNvbS92MScsXG4gICAgICAgIHNob3BfY2F0ZWdvcnk6ICdvdGhlcicsIC8vIFRoZSBzaG9wIGNhdGVnb3J5IGlzIHJldHJpZXZlIGxhdGVyIHdpdGggdGhlIHNldFNob3BDYXRlZ29yeSBtZXRob2RlXG4gICAgICAgIGFzc2V0c19yb3V0ZTogZW52aXJvbm1lbnQuYXNzZXRzX3JvdXRlLFxuICAgIH1cblxuICAgIElNR19TSVpFID0ge1xuICAgICAgICB1cmxfcmF3X2ltYWdlOiBgJHtlbnZpcm9ubWVudC5DRE5fVVJMfSR7dGhpcy5zaG9wSWR9L1JBVy1gLFxuICAgICAgICB1cmxfMTAwX2ltYWdlOiBgJHtlbnZpcm9ubWVudC5DRE5fVVJMfSR7dGhpcy5zaG9wSWR9L20xMDAtYCxcbiAgICAgICAgdXJsXzIwMF9pbWFnZTogYCR7ZW52aXJvbm1lbnQuQ0ROX1VSTH0ke3RoaXMuc2hvcElkfS9jczIwMC1gLFxuICAgICAgICB1cmxfNDAwX2ltYWdlOiBgJHtlbnZpcm9ubWVudC5DRE5fVVJMfSR7dGhpcy5zaG9wSWR9L2NzNDAwLWAsXG4gICAgICAgIHVybF84MDBfaW1hZ2U6IGAke2Vudmlyb25tZW50LkNETl9VUkx9JHt0aGlzLnNob3BJZH0vY3M4MDAtYFxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3B0aW9uc0hlYWRlcnMocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgICAgICBjb25zdCBoZWFkZXIgPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdGhpcy5zaG9wVG9rZW5cbiAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgICAgaGVhZGVyWydwYXJhbXMnXSA9IHBhcmFtc1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoZWFkZXI7XG4gICAgfVxuXG4gICAgZ2V0U2hvcENhdGVnb3J5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnb3RoZXInO1xuICAgIH1cblxuICAgIGdldFNob3BJbWdMaXN0KHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVzRFRPPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEltZ1BpY3R1cmVzRFRPPihgJHt0aGlzLkNPTkZJRy5pbWFnZV9tYW5hZ2VyX3JvdXRlfS9pbWFnZXNgLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKHBhcmFtcykpO1xuICAgIH1cblxuICAgIGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7dG90YWxSZWNvcmRzOiBudW1iZXJ9PihgJHt0aGlzLkNPTkZJRy5pbWFnZV9tYW5hZ2VyX3JvdXRlfS90b3RhbC9pbWFnZXNgLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKHBhcmFtcykpLnBpcGUobWFwKHJlcyA9PiByZXMudG90YWxSZWNvcmRzKSk7XG4gICAgfVxuXG4gICAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJbWdQaWN0dXJlRFRPPihgJHt0aGlzLkNPTkZJRy5pbWFnZV9tYW5hZ2VyX3JvdXRlfS9pbWFnZXMvJHtpZEZpbGV9YCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgICB9XG5cbiAgICB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SW1nUGljdHVyZURUTz4oYCR7dGhpcy5DT05GSUcuaW1hZ2VfbWFuYWdlcl9yb3V0ZX0vaW1hZ2VzL3RlbXBsYXRlYCwgZm9ybURhdGEsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gICAgfVxuXG4gICAgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SW1nUGljdHVyZURUTz4oYCR7dGhpcy5DT05GSUcuaW1hZ2VfbWFuYWdlcl9yb3V0ZX0vaW1hZ2VzL3RlbXBsYXRlYCwgeyB1cmwsIGZpbGVOYW1lIH0sIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gICAgfVxuXG4gICAgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGltYWdlQmFzZTY0LFxuICAgICAgICAgICAgdHlwZSA6IFwiUkFXXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxJbWdQaWN0dXJlRFRPPihgJHt0aGlzLkNPTkZJRy5pbWFnZV9tYW5hZ2VyX3JvdXRlfS9pbWFnZXMvJHtpZF9maWxlfS9yZXBsYWNlYCwgYm9keSwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VJbWdOYW1lKGZpbGVOYW1lOiBzdHJpbmcsIGlkX2ZpbGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxJbWdQaWN0dXJlRFRPPihgJHt0aGlzLkNPTkZJRy5pbWFnZV9tYW5hZ2VyX3JvdXRlfS9pbWFnZXMvJHtpZF9maWxlfT9maWxlX25hbWU9JHtmaWxlTmFtZX1gLCBudWxsLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICAgIH1cblxuICAgIHJlbW92ZUltZyhpZF9maWxlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8SW1nUGljdHVyZURUTz4oYCR7dGhpcy5DT05GSUcuaW1hZ2VfbWFuYWdlcl9yb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICAgIH1cblxuICAgIHJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5OiBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SW1nUGljdHVyZURUT1tdPihgJHt0aGlzLkNPTkZJRy5pbWFnZV9tYW5hZ2VyX3JvdXRlfS9pbWFnZXMtbXVsdGlwbGUtZGVsZXRlYCwgeyBpZF9hcnJheSB9LCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICAgIH1cblxuICAgIHNldFNob3BDYXRlZ29yeShzaG9wSWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7XG4gICAgICAgICAgICBjYXRlZ29yeTogc3RyaW5nXG4gICAgICAgIH0+KGAke2Vudmlyb25tZW50LndpemlfYXBpfS9zaG9wcy8ke3Nob3BJZH1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHNob3AgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaG9wICYmIHNob3BbJ2NhdGVnb3J5J10pIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuQ09ORklHLnNob3BfY2F0ZWdvcnkgPSBzaG9wWydjYXRlZ29yeSddO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG59Il19
|