@wizishop/img-manager 0.2.101 → 0.2.104

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 +1 @@
1
- {"version":3,"file":"wizishop-img-manager.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@wizishop/img-manager/lib/services/img-selection.service.ts","ng://@wizishop/img-manager/lib/dto/config/external/external-config.dto.ts","ng://@wizishop/img-manager/lib/services/img-manager.service.ts","ng://@wizishop/img-manager/lib/services/config/img-cdn.service.ts","ng://@wizishop/img-manager/lib/services/config/external-config.service.ts","ng://@wizishop/img-manager/lib/services/user-settings.service.ts","ng://@wizishop/img-manager/lib/services/alert.service.ts","ng://@wizishop/img-manager/lib/services/img-event.service.ts","ng://@wizishop/img-manager/lib/services/canva.service.ts","ng://@wizishop/img-manager/lib/services/dom.service.ts","ng://@wizishop/img-manager/lib/wz-img-manager.component.ts","ng://@wizishop/img-manager/lib/animations/easeInOut/ease-in-out.animation.ts","ng://@wizishop/img-manager/lib/components/img-upload/img-upload.component.ts","ng://@wizishop/img-manager/lib/services/rename-picture.service.ts","ng://@wizishop/img-manager/lib/components/upload-list/upload-list.component.ts","ng://@wizishop/img-manager/lib/components/img-tabs/img-tabs.component.ts","ng://@wizishop/img-manager/lib/directives/drag-drop.directive.ts","ng://@wizishop/img-manager/lib/services/pexels.service.ts","ng://@wizishop/img-manager/lib/animations/listAnnimation/list.animation.ts","ng://@wizishop/img-manager/lib/components/pexels-lib/pexels-lib.component.ts","ng://@wizishop/img-manager/lib/components/images-view/images-actions-handler.ts","ng://@wizishop/img-manager/lib/components/images-view/mosaic-view/img-card/img-card.component.ts","ng://@wizishop/img-manager/lib/components/img-editor/img-editor.component.ts","ng://@wizishop/img-manager/lib/components/canva-btn/canva-btn.component.ts","ng://@wizishop/img-manager/lib/components/img-selection/img-selection.component.ts","ng://@wizishop/img-manager/lib/directives/loading.directive.ts","ng://@wizishop/img-manager/lib/directives/auto-hide.directive.ts","ng://@wizishop/img-manager/lib/directives/copy-to-clipboard.directive.ts","ng://@wizishop/img-manager/lib/components/shared/dropdown/dropdown.component.ts","ng://@wizishop/img-manager/lib/components/img-editor/info-section/info-section.component.ts","ng://@wizishop/img-manager/lib/animations/insertRemove/insert-remove.animation.ts","ng://@wizishop/img-manager/lib/components/img-editor/cropper/cropper.component.ts","ng://@wizishop/img-manager/lib/components/images-view/images-view.component.ts","ng://@wizishop/img-manager/lib/components/images-view/mosaic-view/mosaic-view.component.ts","ng://@wizishop/img-manager/lib/components/images-view/table-view/table-view.component.ts","ng://@wizishop/img-manager/lib/services/table/filters-table.service.ts","ng://@wizishop/img-manager/lib/components/shared/table/table.component.ts","ng://@wizishop/img-manager/lib/components/shared/input-search/input-search.component.ts","ng://@wizishop/img-manager/lib/pipes/pagination/total-pages/is-last-page.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/pagination/pagination.component.ts","ng://@wizishop/img-manager/lib/pipes/pagination/array-total-pages/array-pages.pipe.ts","ng://@wizishop/img-manager/lib/pipes/pagination/text/custom-text.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/checkbox/checkbox.component.ts","ng://@wizishop/img-manager/lib/directives/table/checkBoxRow.directive.ts","ng://@wizishop/img-manager/lib/directives/table/column.directive.ts","ng://@wizishop/img-manager/lib/directives/table/columnHeader.directive.ts","ng://@wizishop/img-manager/lib/directives/table/raw.directive.ts","ng://@wizishop/img-manager/lib/pipes/images/img-src.pipe.ts","ng://@wizishop/img-manager/lib/directives/abstract-debounce/abstract-debounce.directive.ts","ng://@wizishop/img-manager/lib/directives/abstract-debounce/debounce-keyup.directive.ts","ng://@wizishop/img-manager/lib/components/loader/loader.component.ts","ng://@wizishop/img-manager/lib/components/shared/alert/alert.component.ts","ng://@wizishop/img-manager/lib/pipes/number-to-array.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/pagination/page-selector/page-selector.component.ts","ng://@wizishop/img-manager/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/select/select.component.ts","ng://@wizishop/img-manager/lib/pipes/select/select-filters.pipe.ts","ng://@wizishop/img-manager/lib/directives/zindex-toggle.directive.ts","ng://@wizishop/img-manager/lib/wz-img-manager.module.ts","ng://@wizishop/img-manager/lib/dto/canva.dto.ts","ng://@wizishop/img-manager/lib/dto/config/apis/api.dto.ts","ng://@wizishop/img-manager/lib/dto/config/image-cdn/image-cdn-config.dto.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\nimport { Subscriber, Observable, ReplaySubject } from 'rxjs';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgSelectionService {\n\n imgSelectedList: ImgPictureDTO[] = [];\n multipleImgMode: boolean = false;\n private imgSelectionSubscriber: Subscriber<any>[] = [];\n private imgListLoading: ReplaySubject<boolean> = new ReplaySubject<boolean>();\n\n constructor() {}\n\n getImgSelection() {\n return this.imgSelectedList;\n }\n\n // Use in img manager webelement, when the product img selection is retrieved\n setImgSelection(imgSelectedList: ImgPictureDTO[]) {\n this.imgSelectedList.length = 0;// Remove all the elements from the array and keep the reference\n\n if (imgSelectedList && imgSelectedList.length) {\n imgSelectedList.forEach(elem => this.imgSelectedList.push(elem));\n }\n this.emitImgSelectionChange();\n }\n\n addImgSelected(picture : ImgPictureDTO) {\n if (this.multipleImgMode) {\n this.imgSelectedList.push(picture);\n } else {\n this.imgSelectedList = [picture];\n }\n this.emitImgSelectionChange();\n }\n\n getImgSelectionChange() {\n const obsImgSelection = new Observable<ImgPictureDTO[]>(subscriber => {\n this.imgSelectionSubscriber.push(subscriber);\n });\n return obsImgSelection;\n }\n\n emitImgSelectionChange() {\n this.imgSelectionSubscriber.map(obs =>\n obs.next(JSON.parse(JSON.stringify(this.imgSelectedList)))\n );\n }\n\n removeImgSelectedByIndex(index: number) {\n this.imgSelectedList.splice(index, 1);\n this.emitImgSelectionChange();\n }\n\n removeImgSelectedById(id_file: string) {\n if (!this.multipleImgMode) {\n this.imgSelectedList = [];\n return;\n }\n let index = 0;\n for (const img of this.imgSelectedList) {\n if(img.id_file === id_file) {\n this.removeImgSelectedByIndex(index);\n break;\n }\n index++;\n }\n }\n\n removeImgSelectionByIds(id_file_list: string[]) {\n if (!this.multipleImgMode) {\n this.imgSelectedList = [];\n return;\n }\n\n for (let index = this.imgSelectedList.length -1; index > -1 ; index--) {\n const id_file = this.imgSelectedList[index].id_file;\n if (id_file_list.indexOf(id_file) !== -1) {\n this.removeImgSelectedByIndex(index);\n }\n }\n }\n\n removeAllImgSelected() {\n this.imgSelectedList.length = 0;\n this.emitImgSelectionChange();\n // Remove all the elements from the array and keep the reference\n }\n\n setMultipleImgMode(activated: boolean) {\n this.multipleImgMode = activated;\n }\n\n initImgSelectedList(imgSelectedList: ImgPictureDTO[]) {\n // Retrieve the imgSelectedList from parameter\n if (imgSelectedList) {\n this.imgSelectedList = imgSelectedList;\n return;\n }\n // Remove all elements from imgSelectedList\n if (this.imgSelectedList && this.imgSelectedList.length) {\n this.imgSelectedList.splice(0, this.imgSelectedList.length);\n return;\n }\n this.imgSelectedList = [];\n }\n\n /**\n * Use to display the loader on img selection list\n * @param loading\n */\n emitImgListLoading(loading: boolean){\n this.imgListLoading.next(loading);\n }\n\n /**\n * Use to display the loader on img selection list\n * @param loading\n */\n getImgListLoadingEventListner(){\n return this.imgListLoading.asObservable();\n }\n\n /**\n * Use angular cdk function\n * Called by img selection component\n * @param event\n */\n moveImgOrder(event: CdkDragDrop<string[]>) {\n const fromIndex = event.previousIndex;\n const toIndex = event.currentIndex;\n this.imgSelectedList.splice(toIndex, 0, this.imgSelectedList.splice(fromIndex, 1)[0]);\n this.emitImgSelectionChange();\n }\n}\n","import { ImgApiDto } from '../apis/api.dto';\nimport { ImgCDNConfigDTO } from '../image-cdn/image-cdn-config.dto';\n\nexport class ImgManagerConfigDto {\n api: ImgApiDto;\n imgCDNConfig : ImgCDNConfigDTO;\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from \"rxjs\";\nimport { ParamsImgManagerDTO } from '../dto/img-manager.dto';\nimport { ImgManagerDisplayConfig } from '../dto/export-dtos.api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgManagerService {\n\n imgManagerRoute: string;\n shopToken: string;\n\n params = new HttpParams().set(\"limit\",\"20\").set(\"page\",\"1\");\n\n // Display the img selection\n private pageFicheProductConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: true,\n showImgManagerModule: true,\n showSelection: true,\n displayBtn: true,\n pageficheProduct: true\n }\n\n private angularFicheProductConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: true,\n showImgManagerModule: true,\n showSelection: true,\n displayBtn: false,\n pageficheProduct: true\n }\n\n private wiziblockConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: false,\n showImgManagerModule: true,\n showSelection: false,\n displayBtn: false\n }\n\n private simpleWithButtonOpenerConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: false,\n showImgManagerModule: true,\n showSelection: false,\n displayBtn: true\n }\n\n private fullWindowConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'window',\n multipleImgMode: false,\n showImgManagerModule: true,\n showSelection: false,\n displayBtn: false\n }\n\n constructor(private http: HttpClient) { }\n\n setApiConfig(img_manager_route: string, shop_token: string) {\n this.imgManagerRoute = img_manager_route;\n this.shopToken = shop_token;\n }\n\n private getOptionsHeaders(params?: ParamsImgManagerDTO) {\n const header = { headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.shopToken\n })\n };\n if (params) {\n this.getParams(params);\n header['params'] = this.params\n }\n return header;\n }\n\n getShopImgList(params?: ParamsImgManagerDTO): Observable<any> {\n return this.http.get(`${this.imgManagerRoute}/images`, this.getOptionsHeaders(params));\n }\n\n getShopTotalImgList(params?: ParamsImgManagerDTO): Observable<any> {\n return this.http.get(`${this.imgManagerRoute}/total/image`, this.getOptionsHeaders(params));\n }\n\n getShopImg(idFile: string): Observable<any> {\n return this.http.get(`${this.imgManagerRoute}/images/${idFile}`, this.getOptionsHeaders());\n }\n\n getParams(params: ParamsImgManagerDTO){\n this.params = new HttpParams();\n this.params = this.params.set('id_file:sort', 'desc');\n for (const param in params) {\n this.params = this.params.set(param, params[param]);\n }\n }\n\n uploadFile(formData: FormData) {\n return this.http.post(`${this.imgManagerRoute}/images/template`, formData, this.getOptionsHeaders());\n }\n\n uploadFileByUrl(url: string, fileName?: string) {\n const body = {\n url,\n fileName\n };\n return this.http.post(`${this.imgManagerRoute}/images/template`, { url, fileName }, this.getOptionsHeaders());\n }\n\n replaceImg(imageBase64: string, id_file: string) {\n const body = {\n imageBase64,\n type : \"RAW\"\n }\n return this.http.put(`${this.imgManagerRoute}/images/${id_file}/replace`, body, this.getOptionsHeaders());\n }\n\n changeImgName(fileName: string, id_file: string) {\n return this.http.put(`${this.imgManagerRoute}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());\n }\n\n removeImg(id_file: string) {\n return this.http.delete(`${this.imgManagerRoute}/images/${id_file}`, this.getOptionsHeaders());\n }\n\n removeMultipleImg(id_array: string[]){\n return this.http.post(`${this.imgManagerRoute}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());\n }\n\n getImgManagerDisplayConfig(displayName: \"window\" | \"wizi-block\" | \"fiche-product\" | \"simple-with-button\" | 'angular-fiche-product') {\n switch (displayName) {\n case \"window\":\n return this.fullWindowConfig;\n\n case \"wizi-block\":\n return this.wiziblockConfig;\n\n case \"fiche-product\":\n return this.pageFicheProductConfig;\n\n case \"simple-with-button\":\n return this.simpleWithButtonOpenerConfig;\n\n case 'angular-fiche-product':\n return this.angularFicheProductConfig\n\n default:\n return;\n }\n }\n\n getAllImgManagerDisplayConfig(): ImgManagerDisplayConfig[] {\n return [\n this.fullWindowConfig,\n this.wiziblockConfig,\n this.pageFicheProductConfig,\n this.simpleWithButtonOpenerConfig,\n ]\n }\n}","import { Injectable } from '@angular/core';\nimport { ImgCDNConfigDTO } from '../../dto/config/image-cdn/image-cdn-config.dto';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgCDNService {\n\n imgCDNConfig: ImgCDNConfigDTO = null;\n\n constructor() {}\n\n setImgCDNConfig(imgCDNConfig: ImgCDNConfigDTO) {\n this.imgCDNConfig = imgCDNConfig;\n }\n\n getUrlImg(size: '100'|'200'|'400'|'800'|'raw'|string) {\n const urlProperty = Object.keys(this.imgCDNConfig)\n .filter(url =>\n new RegExp(size, 'i').test(url)\n )[0];\n\n return this.imgCDNConfig[urlProperty];\n }\n\n getAllSize(): string[] {\n return Object.keys(this.imgCDNConfig)\n .map(elem =>\n elem.match(/_(\\w+)_/)[1]\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ImgManagerConfigDto } from '../../dto/config/external/external-config.dto';\nimport { ImgManagerService } from '../img-manager.service';\nimport { ImgCDNService } from './img-cdn.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgManagerConfigService {\n\n externalConfig: ImgManagerConfigDto;\n\n constructor(\n private imgManagerService: ImgManagerService,\n private imgCDNService: ImgCDNService\n ) {}\n\n /**\n * Set imgManagerService and imgCDNService\n * Canva and Pexel service retrieve the externalConfig at their initialization\n * @param externalConfig\n */\n setExternalConfig(externalConfig: ImgManagerConfigDto) {\n this.externalConfig = externalConfig;\n this.imgManagerService.setApiConfig(externalConfig.api.image_manager_route, externalConfig.api.shop_token);\n this.imgCDNService.setImgCDNConfig(externalConfig.imgCDNConfig);\n }\n\n getCanvaApiURL() {\n return this.externalConfig.api.canva_url;\n }\n\n getCanvaApiToken() {\n return this.externalConfig.api.canva_token;\n }\n\n getRouteAssets() {\n return this.externalConfig.api.assets_route;\n }\n\n getPexelsApiURL() {\n return this.externalConfig.api.pexels_route;\n }\n\n getPexelsApiToken() {\n return this.externalConfig.api.pexels_token;\n }\n\n getShopCategory() {\n return this.externalConfig.api.shop_category;\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserSettingsService {\n\n private userdisplayPreference = 'WzImgManagerListDisplayed';\n\n constructor() {\n }\n\n /**\n * true : display list\n * false : display mosaic\n * @param value\n */\n setUserDisplayPreference(value: boolean) {\n localStorage.setItem(this.userdisplayPreference, '' + value);\n }\n\n getUserDisplayPreference(): boolean {\n const value = localStorage.getItem(this.userdisplayPreference);\n return value == 'true';\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NwbAlertConfig, NwbAlertComponent } from '@wizishop/ng-wizi-bulma';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NwbAlertService } from '@wizishop/ng-wizi-bulma';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n\n actionMsg = 'ImgManager.alert.action';\n\n alertConfig: NwbAlertConfig = {\n message: '',\n duration: 5000\n }\n\n private alertRefComponent: NwbAlertComponent;\n\n constructor(\n private nwbAlertService: NwbAlertService,\n private translateService: TranslateService\n ) { }\n\n openAlert(msgKey: string) {\n this.closePreviousAlert();\n this.translateService.get(msgKey).subscribe(trans => {\n this.alertConfig.message = trans;\n this.setAlertColor(msgKey);\n\n this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);\n this.alertRefComponent.afterClosed().subscribe();\n });\n }\n\n openAlertWithBackendRespons(msgKey: string, msgBackend: string) {\n this.translateService.get(msgKey).subscribe(trans => {\n this.alertConfig.message = trans;\n this.alertConfig.message += '<br/>' + JSON.parse(msgBackend).message;\n\n this.closePreviousAlert();\n this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);\n this.alertRefComponent.afterClosed().subscribe();\n });\n }\n\n private closePreviousAlert() {\n if (this.alertRefComponent) {\n this.alertRefComponent.dismiss();\n }\n }\n\n private setAlertColor(msgKey: string) {\n const isErrorMsg: boolean = /error/i.test(msgKey);\n this.alertConfig.color = isErrorMsg ? 'is-danger' : 'is-success';\n }\n}\n","import {Injectable} from '@angular/core';\nimport { Subject } from \"rxjs\";\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\n\n@Injectable({\n providedIn: 'root'\n })\nexport class ImgEventService {\n\n constructor() { }\n\n private imgToEditEvent: Subject<ImgPictureDTO> = new Subject<ImgPictureDTO>();\n private imgRemoved: Subject<string> = new Subject<string>();\n private imgAdded: Subject<string> = new Subject<string>();\n private listDisplayedChange: Subject<boolean> = new Subject<boolean>();\n\n emitImgRemoved(id_file: string){\n this.imgRemoved.next(id_file);\n }\n\n getImgRemovedEventListner(){\n return this.imgRemoved.asObservable();\n }\n\n emitImgToEdit(imgToEdit: ImgPictureDTO){\n this.imgToEditEvent.next(imgToEdit);\n }\n\n getImgToEditEventListner(){\n return this.imgToEditEvent.asObservable();\n }\n\n emitImgAdded(id_file: string){\n this.imgAdded.next(id_file);\n }\n\n getImgAddedEventListner(){\n return this.imgAdded.asObservable();\n }\n\n emitlistDisplayedChange(value: boolean){\n this.listDisplayedChange.next(value);\n }\n\n getlistDisplayedChange(){\n return this.listDisplayedChange.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subscriber, BehaviorSubject } from 'rxjs';\nimport { CanvaButtonApi } from '../dto/canva.dto';\nimport { ImgManagerConfigService } from './config/external-config.service';\nimport { WiziBlockMediaDto } from '../dto/wizi-block-media.dto';\nimport { AlertService } from './alert.service';\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\nimport { ImgManagerService } from './img-manager.service';\nimport { ImgEventService } from './img-event.service';\nimport { take } from 'rxjs/operators';\nimport { CanvaCreateDesign } from '../dto/canva-create-design.dto';\nimport { TranslateService } from '@ngx-translate/core';\n\ndeclare let Canva : {\n DesignButton : {\n initialize: (opts: { apiKey: string }) => Promise<CanvaButtonApi>;\n }\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanvaService {\n\n canvaApi; // Object use to manage the canva api\n canvaApiURL: string;\n canvaApiKey: string;\n canvaLogoRoute: string;\n\n imgLoading = false;\n uploadingImg = 'ImgManager.CanvaBtn.uploadingImg';\n successUploadPhoto = 'ImgManager.CanvaBtn.successImport';\n errorUploadCanvaImg = 'ImgManager.CanvaBtn.errorUploadCanvaImg';\n errorRenameCanvaImg = 'ImgManager.CanvaBtn.errorRenameCanvaImg';\n\n forceToOpenCanva: boolean = false;\n\n private bindExpectedImgSizeEvent: BehaviorSubject<WiziBlockMediaDto> = new BehaviorSubject<WiziBlockMediaDto>(null);\n private bindExpectedSizeDone = this.bindExpectedImgSizeEvent.asObservable();\n\n constructor(\n private externalConfigService: ImgManagerConfigService,\n private imgManager: ImgManagerService,\n private wzImgEventService: ImgEventService,\n private alertService: AlertService,\n private translateService: TranslateService\n ) { }\n\n private setCanvaApiConfig() {\n this.canvaApiURL = this.externalConfigService.getCanvaApiURL();\n this.canvaApiKey = this.externalConfigService.getCanvaApiToken();\n }\n\n getCanvaLogo() {\n return this.externalConfigService.getRouteAssets() + \"canva/icon_canva.svg\";\n }\n\n bindEventExepectedImgSizeChange() {\n return this.bindExpectedSizeDone;\n }\n\n expectedImgSizesChange (mediaDTO: WiziBlockMediaDto){\n this.bindExpectedImgSizeEvent.next(mediaDTO);\n if (this.forceToOpenCanva) {\n this.openCanva(parseInt(mediaDTO.image_width), parseInt(mediaDTO.image_height));\n }\n }\n\n getCanvaApi():Observable<CanvaButtonApi> {\n if (!this.canvaApiURL || !this.canvaApiKey) {\n this.setCanvaApiConfig();\n }\n return new Observable(observer => {\n this.loadCanva().subscribe({\n complete: () => {\n if(this.canvaApi && Canva.DesignButton) {\n observer.next(this.canvaApi);\n observer.complete();\n } else {\n this.initializeCanva(observer);\n }\n }\n })\n });\n }\n\n private initializeCanva(observer: Subscriber<CanvaButtonApi>) {\n if (Canva.DesignButton) {\n Canva.DesignButton.initialize({\n apiKey: this.canvaApiKey\n\n }).then((canvaApi) => {\n this.canvaApi = canvaApi;\n observer.next(this.canvaApi);\n observer.complete();\n });\n }\n }\n\n private loadCanva():Observable<null> {\n return new Observable(observer => {\n if(this.canvaApi) {\n observer.complete();\n }else{\n this.loadCanvaScript(observer);\n }\n });\n }\n\n private loadCanvaScript(observer: Subscriber<null>) {\n\n const node = document.createElement('script');\n node.src = this.canvaApiURL;\n node.type = 'text/javascript';\n node.async = false;\n node.charset = 'utf-8';\n node.onload = () => {\n observer.complete();\n }\n document.getElementsByTagName('head')[0].appendChild(node);\n }\n\n openCanva(width: number, height: number) {\n if (this.imgLoading) {\n return;\n }\n this.getCanvaApi().pipe(take(1)).subscribe((api: CanvaButtonApi) => {\n this.canvaApi = api;\n this.addOverflowBody();\n this.createDesign(width, height);\n });\n }\n\n private addOverflowBody() {\n document.body.classList.add('ovh-canva');\n }\n\n private removeOverflowBody() {\n document.body.classList.remove('ovh-canva');\n }\n\n private createDesign(width: number, height: number) {\n const createDesign: CanvaCreateDesign = {\n type: 'EtsyShopIcon',\n dimensions : {\n units: 'px',\n width: width ? width : undefined,\n height: height ? height : undefined,\n },\n publishLabel: this.translateService.instant('ImgManager.CanvaBtn.publish'),\n };\n this.canvaApi.createDesign({\n design: createDesign,\n onDesignPublish: ({ exportUrl, designTitle }) => this.designPublished(exportUrl, designTitle),\n onDesignClose: () => {\n this.removeOverflowBody();\n }\n\n });\n }\n\n private designPublished(exportUrl: string, designTitle: string) {\n this.alertService.openAlert(this.uploadingImg);\n this.imgLoading = true;\n\n\n this.imgManager.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe(\n (img: ImgPictureDTO) => {\n this.imgLoading = false;\n this.removeOverflowBody();\n\n this.wzImgEventService.emitImgAdded(img.id_file);\n this.alertService.openAlert(this.successUploadPhoto);\n },\n error => {\n this.imgLoading = false;\n this.removeOverflowBody();\n\n if (error.error.code === 406 && error.error.message) {\n this.alertService.openAlertWithBackendRespons(this.errorUploadCanvaImg, error.error.message)\n } else {\n this.alertService.openAlert(this.errorUploadCanvaImg);\n }\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n private documentEventSource = new Subject();\n private documentEventDone = this.documentEventSource.asObservable();\n\n private documentScrollSource = new Subject();\n private documentScrollDone = this.documentScrollSource.asObservable();\n\n documentEvent() {\n return this.documentEventDone;\n }\n\n setDocumentEventListener() {\n document.body.addEventListener('click', event => {\n this.documentEventSource.next(event.target);\n });\n }\n\n documentScroll() {\n return this.documentScrollDone;\n }\n\n setScrollEventListener() {\n window.onscroll = () => {\n this.documentScrollSource.next(window);\n };\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImgSelectionService } from './services/img-selection.service';\nimport { ImgManagerConfigDto } from './dto/config/external/external-config.dto';\nimport { ImgManagerConfigService } from './services/config/external-config.service';\nimport { Subscription } from 'rxjs';\nimport { UserSettingsService } from './services/user-settings.service';\nimport { CanvaService } from './services/canva.service';\nimport { ImgEventService } from './services/img-event.service';\nimport { DomService } from './services/dom.service';\nimport { HostListener } from '@angular/core';\nimport { stateDisplayed } from '../public-api';\nimport { WiziBlockMediaDto } from './dto/wizi-block-media.dto';\n\n@Component({\n selector: 'wz-img-manager',\n templateUrl: './wz-img-manager.component.html'\n})\nexport class WzImgManagerComponent implements OnInit {\n @Input() stateDisplayed: stateDisplayed;\n @Input() showSelection: boolean = false;\n @Input() externalConfig: ImgManagerConfigDto;\n\n // If forceToOpenCanva is true : Canva will open with the canvaService.expectedImgSizesChange\n // If forceToOpenCanva is a WiziBlockMediaDto, Canva open immediatly\n @Input() set forceToOpenCanva(forceToOpenCanva: boolean|WiziBlockMediaDto) {\n this.canvaService.forceToOpenCanva = !!forceToOpenCanva;\n\n if (typeof forceToOpenCanva === 'boolean') {\n return;\n }\n\n this.canvaService.expectedImgSizesChange(forceToOpenCanva);\n }\n\n @Output() imgManagerClosed = new EventEmitter();\n private _multipleImgMode: boolean = false;\n\n @Input() set multipleImgMode(activate: boolean) {\n this._multipleImgMode = activate;\n this.imgSelectionService.setMultipleImgMode(this._multipleImgMode);\n }\n\n get multipleImgMode(): boolean {\n return this._multipleImgMode;\n }\n\n _showImgManagerModule: boolean = false;\n @Input() set showImgManagerModule(activate: boolean) {\n this._showImgManagerModule = activate;\n if (activate) {\n this.displaySmall();\n }\n }\n\n get showImgManagerModule(): boolean {\n return this._multipleImgMode;\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.stateDisplayed && this.stateDisplayed !== 'window') {\n this.onClose();\n }\n }\n\n close: boolean = false\n selectImgEvent: Subscription;\n listDisplayed: boolean = false;\n listDisplayedEvent: Subscription;\n hideTab: boolean = false;\n // Save the defaut overflow apply to html tag, when the module is full open\n private overflowHTML: string;\n private bodyPadding: number;\n\n constructor(\n private imgSelectionService: ImgSelectionService,\n private externalConfigService: ImgManagerConfigService,\n private userSettingsService: UserSettingsService,\n private canvaService: CanvaService,\n private imgEventService: ImgEventService,\n private domService: DomService\n ) {}\n\n ngOnInit(): void {\n this.externalConfigService.setExternalConfig(this.externalConfig);\n this.imgSelectionService.setMultipleImgMode(this._multipleImgMode);\n this.imgSelectionService.initImgSelectedList(null);\n this.selectImgEvent = this.imgSelectionService.getImgSelectionChange().subscribe(imgSlection =>{\n\n if (imgSlection && imgSlection.length && this.checkCloseImgManager()) {\n // Close the img manager\n this.onClose();\n }\n });\n this.checkUserDisplayPreference();\n // Use when the img manager is full open or open in page. This display the user preference display, mosaic or list.\n this.listDisplayedEvent = this.imgEventService.getlistDisplayedChange().subscribe(value => this.listDisplayed = value);\n // Register dom service to listen on all event on the body to avoid having multiple instance of the same thing every where\n this.domService.setDocumentEventListener();\n }\n\n checkUserDisplayPreference() {\n if (this.stateDisplayed === 'window' || this.stateDisplayed === 'full') {\n this.listDisplayed = this.userSettingsService.getUserDisplayPreference();\n }\n }\n\n setCurrentTab(event) {\n if (event === 'img-edition') {\n this.hideTab = true;\n return;\n }\n this.hideTab = false;\n }\n\n displaySmall() {\n if (this.stateDisplayed !== 'window') {\n setTimeout(() => {\n this.stateDisplayed = 'small';\n this.addBodyBottomPaddingForModule();\n }, 10);\n }\n }\n\n openSmall() {\n this.stateDisplayed = 'small';\n this.setBodyMainScroll();\n this.listDisplayed = false;\n }\n\n openFull() {\n this.stateDisplayed = 'full';\n this.checkUserDisplayPreference();\n this.hideBodyMainScroll();\n }\n\n onClose() {\n this.stateDisplayed = 'closed';\n this.hideTab = false;\n this.setBodyMainScroll();\n this.removeBodyBottomPaddingForModule();\n // Wait the end of the closing annimation\n setTimeout(() => {\n this.imgManagerClosed.emit();\n }, 250);\n }\n\n onImgManagerClosed() {\n this.onClose();\n }\n\n /**\n * Close the img manager after one img is selected, if not in multiple img to select\n */\n checkCloseImgManager() {\n return !this.multipleImgMode && this.stateDisplayed !== 'window' ? true : false;\n }\n\n hideBodyMainScroll() {\n const html = document.getElementsByTagName('html')[0];\n\n if (!this.overflowHTML) {\n this.overflowHTML = html.style.overflowY;\n }\n\n html.style.overflowY = \"hidden\";\n }\n\n setBodyMainScroll() {\n const html = document.getElementsByTagName('html')[0];\n html.style.overflowY = this.overflowHTML ? this.overflowHTML : \"scroll\";\n }\n\n addBodyBottomPaddingForModule() {\n const body = document.getElementsByTagName('body')[0];\n this.bodyPadding = this.bodyPadding ? parseInt(body.style.paddingBottom) : 0;\n body.style.paddingBottom = this.bodyPadding + 300 + 'px';\n }\n\n removeBodyBottomPaddingForModule() {\n if (typeof this.bodyPadding !== 'undefined') {\n const body = document.getElementsByTagName('body')[0];\n body.style.paddingBottom = this.bodyPadding + 'px';\n this.bodyPadding = 0;\n }\n }\n\n changeDisplayTab() {\n this.stateDisplayed = 'full';\n }\n\n ngOnDestroy() {\n this.selectImgEvent.unsubscribe();\n this.canvaService.expectedImgSizesChange(null);\n this.listDisplayedEvent.unsubscribe();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const easeInOut = // the fade-in/fade-out animation.\ntrigger('easeInOut', [\n\n // the \"in\" style determines the \"resting\" state of the element when it is visible.\n state('in', style({opacity: 1})),\n\n // fade in when created. this could also be written as transition('void => *')\n transition(':enter', [\n style({opacity: 0}),\n animate('0.5s ease-in-out' )\n ]),\n]);\n","import {Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef} from '@angular/core';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { Observable, forkJoin } from 'rxjs';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport {ImgManagerConfigService} from \"../../services/config/external-config.service\";\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { AlertService } from '../../services/alert.service';\n\n@Component({\n selector: 'img-upload',\n templateUrl: './img-upload.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class ImgUploadComponent implements OnInit {\n\n files: any = [];\n isLoading: boolean = false;\n assetsIcon: string;\n @Input() stateDisplayed: stateDisplayed;\n @Output() imgUploaded = new EventEmitter();\n\n @ViewChild('dragAndDropBox') dragAndDropBox: ElementRef;\n\n loadingText = 'ImgManager.ImgUpload.loading';\n errorUploadingImg = 'ImgManager.ImgUpload.errorUploadingImg';\n errorNotImg = 'ImgManager.ImgUpload.errorNotImg';\n\n MAX_IMAGE_SIZE = 10000000; // In bytes\n\n constructor(\n private imgManager: ImgManagerService,\n private alertService: AlertService,\n private externalConfigService: ImgManagerConfigService\n ) {}\n\n ngOnInit(): void {\n this.assetsIcon = this.getAssets();\n }\n\n filesChangeByClick(event: any) {\n this.uploadFile(event.target.files);\n }\n\n getAssets() {\n return this.externalConfigService.getRouteAssets() + \"img/icon_picture.svg\";\n }\n\n filesChangeByDragAndDrop(filesList: File[]) {\n this.removeDragAndDropStyle();\n this.uploadFile(filesList);\n }\n\n uploadFile(files: File[]) {\n if (files && !files.length) {\n return;\n }\n\n this.isLoading =true;\n const imgToUploadList: Observable<any>[] = [];\n for (const file of files) {\n console.log('file', file.size);\n\n if(!this.isFileImage(file.type)) {\n this.alertService.openAlert(this.errorNotImg);\n this.isLoading = false;\n continue;\n }\n\n if (!this.isSizeValid(file.size)) {\n this.alertService.openAlert(`L'image : ${file.name} est trop grande (${this.getImageSizeInKo(file.size)}ko). Taille maximum acceptée: ${this.getImageSizeInKo(this.MAX_IMAGE_SIZE)}ko`);\n this.isLoading = false;\n continue;\n }\n\n const formData = new FormData();\n formData.append('image', file, file.name);\n\n\n imgToUploadList.push(this.imgManager.uploadFile(formData));\n }\n\n forkJoin(imgToUploadList).subscribe(\n (img: ImgPictureDTO[]) => {\n this.onImgUpload(img),\n this.isLoading =false;\n },\n error => {\n if (error?.error?.message && error.statusText !== 'Bad Request') {\n this.alertService.openAlertWithBackendRespons(this.errorUploadingImg, error.error.message);\n } else {\n this.alertService.openAlert(this.errorUploadingImg);\n }\n this.isLoading =false;\n }\n )\n }\n\n /**\n * Send the img uploaded to the tabs components,\n * Then the tabs components add the img to upload list by calling the method onImgUploaded of the upload-list component\n * @param img\n */\n onImgUpload(img: ImgPictureDTO[]) {\n this.imgUploaded.emit(img);\n }\n\n isFileImage(fileType: string) {\n return fileType.split('/')[0] === 'image';\n }\n\n isSizeValid(imageBytesSize: number): boolean {\n return imageBytesSize < this.MAX_IMAGE_SIZE;\n }\n\n getImageSizeInKo(size: number) {\n return Math.round(size / 1024);\n }\n\n /**\n * Remove the style of the drag and drop box\n * After an img is droped, the box is still grey\n */\n removeDragAndDropStyle() {\n this.dragAndDropBox.nativeElement.style = '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ImgManagerService } from './img-manager.service';\nimport { AlertService } from './alert.service';\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\nimport { PictureNameUpdate } from '../dto/picture-name-update.dto';\n\n@Injectable({providedIn: 'root'})\nexport class RenamePictureService {\n\n private picturesList: ImgPictureDTO[] = [];\n private pictureNameChanged: Subject<PictureNameUpdate> = new Subject<PictureNameUpdate>();\n\n private errorRenameImg = 'ImgManager.ImgList.errorRenameImg';\n private msgSavingImgName = 'ImgManager.ImgLib.savingImgName';\n private msgImgNameSaved = 'ImgManager.ImgLib.imgNameSaved';\n\n constructor(\n private imgManager: ImgManagerService,\n private alertService: AlertService,\n )\n {\n this.setEvents();\n }\n\n setPicturesList(picturesList: ImgPictureDTO[]) {\n this.picturesList = picturesList;\n }\n\n onRenamePicture(pictureRenamed: PictureNameUpdate) {\n this.pictureNameChanged.next(pictureRenamed);\n }\n\n private setEvents() {\n this.pictureNameChanged\n .pipe(debounceTime(800)) // wait 0.8 sec after the last event before emitting last event\n .subscribe((pictureNameUpdate:PictureNameUpdate) => {\n this.renamePicture(pictureNameUpdate);\n });\n }\n\n private renamePicture(pictureNameUpdate: PictureNameUpdate) {\n const picture: ImgPictureDTO = this.getPictureById(pictureNameUpdate.id);\n if (!picture) {\n this.alertService.openAlert(this.errorRenameImg);\n return;\n }\n this.alertService.openAlert(this.msgSavingImgName);\n this.imgManager\n .changeImgName(picture.display_name, picture.id_file)\n .subscribe(\n (data: ImgPictureDTO) => {\n picture.display_name = data.display_name;\n this.alertService.openAlert(this.msgImgNameSaved);\n },\n (error) => {\n picture.display_name = pictureNameUpdate.previousName;\n this.alertService.openAlert(this.errorRenameImg);\n }\n );\n }\n\n private getPictureById(id_file: string): ImgPictureDTO {\n if (!this.picturesList) {\n return;\n }\n\n for (const picture of this.picturesList) {\n if(picture.id_file === id_file) {\n return picture;\n }\n }\n\n return null;\n }\n\n}","import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { Subscription } from 'rxjs';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport { PictureNameUpdate, stateDisplayed, tabDisplayed } from '../../dto/export-dtos.api';\nimport { RenamePictureService } from '../../services/rename-picture.service';\n\n@Component({\n selector: 'upload-list',\n templateUrl: './upload-list.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class UploadListComponent implements OnInit {\n\n picturesList: ImgPictureDTO[] = [];\n imgSelectionChange: Subscription;\n selectImgEvent: Subscription;\n\n @Input() stateDisplayed: stateDisplayed;\n @Input() tabDisplayed: tabDisplayed;\n @Input() multipleImgMode: boolean = false;\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n constructor(\n private imgSelectionService: ImgSelectionService,\n private renamePictureService: RenamePictureService\n ) { }\n\n ngOnInit(): void {\n this.setEvents();\n }\n\n onImgUploaded(img: ImgPictureDTO[]) {\n img.forEach(picture =>\n this.picturesList.push(picture)\n );\n this.renamePictureService.setPicturesList(this.picturesList);\n }\n\n onToggleSelectImg(index: number) {\n if (this.stateDisplayed === 'window') {\n return;\n }\n if (!this.picturesList[index].selected) {\n this.imgSelectionService.addImgSelected(this.picturesList[index]);\n this.picturesList[index].selected = true;\n } else {\n this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);\n this.picturesList[index].selected = false;\n }\n }\n\n switchDisplayWindowCard() {\n this.switchDisplayWindow.emit(true);\n }\n\n onRenamePicture(pictureRenamed: PictureNameUpdate) {\n this.renamePictureService.onRenamePicture(pictureRenamed);\n }\n\n private setEvents() {\n this.imgSelectionChange = this.imgSelectionService.getImgSelectionChange().subscribe(imgSelection =>{\n const idFileList = [];\n imgSelection.map(img => idFileList.push(img.id_file));\n for (const picture of this.picturesList) {\n if (idFileList.indexOf(picture.id_file) === -1) {\n picture.selected = false;\n }\n }\n });\n }\n ngOnDestroy(): void {\n this.imgSelectionChange.unsubscribe();\n }\n}\n","import {Component, Input, OnInit, ViewChild, Output, EventEmitter} from '@angular/core';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { UploadListComponent } from '../upload-list/upload-list.component';\nimport { ImgEventService } from '../../services/img-event.service';\nimport { NwbSnackbarConfig } from '@wizishop/ng-wizi-bulma';\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { AlertService } from '../../services/alert.service';\nimport {Router} from '@angular/router';\nimport { SelectItem } from '../shared/select/select-items.dto';\n\n@Component({\n selector: 'img-tabs',\n templateUrl: './img-tabs.component.html'\n})\nexport class ImgTabsComponent implements OnInit {\n\n @Input()\n multipleImgMode: boolean = false;\n @Input()\n stateDisplayed: stateDisplayed;\n @Input()\n listDisplayed = false;\n\n @Output()\n imgManagerClosed = new EventEmitter();\n\n @Output()\n currentTab = new EventEmitter();\n\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n tabs: SelectItem[] = [\n {\n name: 'ImgManager.Tabs.addImg',\n value: 'img-upload',\n selected: true,\n id: 0\n },\n {\n name: 'ImgManager.Tabs.imgLib',\n value: 'images-view',\n id: 1\n },\n {\n name: 'ImgManager.Tabs.freeImgLib',\n value: 'pexels-lib',\n id: 2\n },\n {\n name: 'ImgManager.Tabs.Editor',\n value: 'img-edition',\n hide: true,\n id: 3\n }\n ];\n\n tabActive: SelectItem = this.tabs[0];\n\n /* tabActive = 'images-view';\n tabs: string[] = ['img-upload', 'images-view', 'pexels-lib', 'img-edition']; */\n editTab = false;\n\n imgToEdit: ImgPictureDTO;\n\n imgUpload = false;\n\n @ViewChild( 'imgUploadedImg' )\n imgUploadedComponent: UploadListComponent ;\n\n snackBarNewVersionConfig: NwbSnackbarConfig = {\n message: '',\n duration: 3000\n };\n\n constructor(\n private imgEventEditService: ImgEventService,\n private alertService: AlertService,\n private route: Router\n ) { }\n\n ngOnInit(): void {\n this.imgEventEditService.getImgToEditEventListner().subscribe(imgToEdit =>{\n this.tabActive = this.tabs[3];\n this.imgToEdit = imgToEdit;\n this.editTab = true;\n this.currentTab.emit(this.tabs[3]);\n });\n }\n\n toggleTabs(item: SelectItem) {\n this.imgUpload = false;\n this.editTab = false;\n this.tabActive = item;\n }\n\n onImgUploaded(img: ImgPictureDTO[]) {\n this.imgUpload = true;\n this.imgUploadedComponent.onImgUploaded(img);\n }\n\n onEditClosed(msgKey: string) {\n this.editTab = false;\n this.toggleTabs(this.tabs[1]);\n if (msgKey) {\n this.alertService.openAlert(msgKey);\n }\n this.currentTab.emit('close');\n }\n\n onShowImgUploaded() {\n this.tabActive = this.tabs[1];\n }\n\n switchDisplayWindowImgView() {\n this.switchDisplayWindow.emit(true);\n }\n\n switchRouterLink(event) {\n\n }\n\n onImgManagerClosed() {\n this.imgManagerClosed.emit();\n }\n}\n","import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appDragDrop]'\n})\nexport class DragDropDirective {\n\n @Output() onFileDropped = new EventEmitter<Event>();\n\n @HostBinding('style.background-color') background = '#fff'\n @HostBinding('style.opacity') opacity = '1'\n\n @HostListener('dragover', ['$event']) onDragOver(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5f5f5';\n this.opacity = '0.8';\n }\n\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#fff';\n this.opacity = '1';\n }\n\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5f5f5'\n this.opacity = '1'\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.onFileDropped.emit(files);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport { map} from \"rxjs/operators\";\nimport {Observable} from \"rxjs\";\nimport {WzImgLibDto} from \"../dto/pexels-img.dto\";\nimport { ImgManagerConfigService } from './config/external-config.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PexelsService {\n apiBaseUrl;\n apiKey;\n lang: string;\n languages = {'fr': 'fr-FR', 'en': 'en-US', 'it': 'it-IT', 'es': 'es-ES'};\n\n constructor(\n private http: HttpClient,\n private externalConfigService: ImgManagerConfigService,\n private translateService: TranslateService\n ) {\n this.setLang(this.translateService.currentLang);\n this.translateService.onLangChange.subscribe(langData => {\n this.setLang(langData.lang);\n })\n }\n\n setLang(lang: string) {\n this.lang = this.languages[lang] ? this.languages[lang] : 'fr-FR';\n }\n\n searchOnPexels(toSearch: string, perPage: number, page: number): Observable<WzImgLibDto> {\n if(!this.apiBaseUrl || this.apiKey) {\n this.apiBaseUrl = this.externalConfigService.getPexelsApiURL();\n this.apiKey = this.externalConfigService.getPexelsApiToken();\n }\n\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.apiKey\n })\n };\n\n let request;\n\n // If search value is not empty or blank\n if (toSearch && !/^\\s*$/.test(toSearch)) {\n request = `/search?query=${toSearch}&per_page=${perPage}&page=${page}&locale=${this.lang}`;\n\n } else { // Search by category or display Pexels selection\n const shopCategory = this.externalConfigService.getShopCategory();\n\n // Search by shop category\n if (shopCategory && shopCategory !== 'other' && shopCategory !== 'btob') {\n request = `/search?query=${shopCategory}&per_page=${perPage}&page=${page}&locale=en-US`;\n } else { // Display Pexels selection\n request = `/curated?per_page=${perPage}&page=${page}`;\n }\n }\n\n return this.http.get(this.apiBaseUrl + request, httpOptions).pipe(\n map((data: WzImgLibDto) => {\n return data;\n })\n );\n }\n}\n","import { stagger } from '@angular/animations';\nimport { query } from '@angular/animations';\nimport { animate, style, transition, trigger } from '@angular/animations';\n\nexport const listAnnimation = // the fade-in/fade-out animation.\ntrigger('listAnimation', [\n transition(':enter, * => 0, * => -1', []),\n transition(':increment', [\n query(':enter', [\n style({opacity: 0, transform: 'translateY(100px)'}),\n stagger(50, [\n animate('500ms cubic-bezier(0.35, 0, 0.25, 1)', style({ opacity: 1, transform: 'none' })),\n ]),\n ], { optional: true })\n ]),\n]);\n","import {AfterViewInit, Component, ElementRef, OnInit, ViewChild, Input, Output, EventEmitter} from '@angular/core';\nimport {PexelsService} from '../../services/pexels.service';\nimport {Subject, Subscription} from 'rxjs';\nimport {WzImgLibDto, PhotosColumns, WzImgLibPhotoDto} from '../../dto/pexels-img.dto';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { TranslateService } from '@ngx-translate/core';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport { listAnnimation } from '../../animations/listAnnimation/list.animation';\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { AlertService } from '../../services/alert.service';\n\n@Component({\n selector: 'pexels-lib',\n templateUrl: './pexels-lib.component.html',\n animations: [\n easeInOut,\n listAnnimation\n ]\n})\nexport class PexelLibComponent implements OnInit, AfterViewInit {\n\n @Input()\n stateDisplayed: stateDisplayed;\n @Input()\n searchValue: string = '';\n /** Pass to true to hide search input */\n @Input()\n disableSearch: boolean = false;\n\n @Output()\n showImgUploaded = new EventEmitter();\n\n perPage = 30;\n searchUpdated = new Subject();\n oldSearchValue: string;\n nbResult = 0;\n wzImgLibDto: WzImgLibDto;\n currentPage = 1;\n isLoading = true;\n initComponent = true;\n photosColumns: PhotosColumns[] = [];\n nbColumuns = 6;\n responsiveColumns = [1250, 1050, 750, 500];\n outerElement = null;\n\n uploadingImg = 'ImgManager.PexelLib.uploadingImg';\n untitled = 'ImgManager.PexelLib.untitled';\n successUploadPhoto = 'ImgManager.PexelLib.successImport';\n errorUploadPhoto = 'ImgManager.PexelLib.errorUploadPhoto';\n errorRetrievePhotos = 'ImgManager.PexelLib.errorRetrievePhotos';\n\n private subs: Subscription[] = [];\n\n @ViewChild('outerElement') set content(control: ElementRef) {\n this.outerElement = control;\n }\n\n constructor(\n private wzImgLibService: PexelsService,\n private imgManager: ImgManagerService,\n private alertService: AlertService,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit() {\n this.oldSearchValue = this.searchValue;\n this.isLoading = false;\n\n this.setNbColumnsToDisplayPhoto();\n this.setPhotosColumns();\n this.search();\n }\n\n setNbColumnsToDisplayPhoto(): void {\n const width = this.outerElement.nativeElement.offsetWidth;\n\n if (this.stateDisplayed !== 'window') {\n this.nbColumuns = 8;\n }\n\n this.responsiveColumns.forEach(value => {\n if (width < value) {\n this.nbColumuns--;\n }\n });\n }\n\n onSearchNameChanged() {\n this.onSearchChange();\n }\n\n onBottomReached() {\n this.scrollHandler();\n }\n\n onSearchChange() {\n this.search();\n }\n\n search() {\n if (this.isLoading) {\n return;\n }\n if (this.searchValue !== this.oldSearchValue) {\n this.resetSearch();\n }\n\n // All the picture are displayed\n if (this.nbResult && this.nbResult <= (this.currentPage - 1) * this.perPage) {\n return;\n }\n\n this.isLoading = true;\n const searchSub = this.wzImgLibService.searchOnPexels(this.searchValue, this.perPage, this.currentPage).subscribe(\n (data: WzImgLibDto) => {\n this.wzImgLibDto = data;\n this.nbResult = this.wzImgLibDto.total_results;\n\n if (this.nbResult) {\n data.photos.forEach(photo => {\n const bestColumnIndex = this.getBestColumn();\n const height = (photo.height / photo.width) * 1000;\n\n this.photosColumns[bestColumnIndex].height += height;\n this.photosColumns[bestColumnIndex].photos.push(photo);\n });\n }\n\n this.isLoading = false;\n this.initComponent = false;\n },\n error => {\n this.isLoading = false;\n this.initComponent = false;\n this.alertService.openAlert(this.errorRetrievePhotos);\n }\n );\n\n this.subs.push(searchSub);\n }\n\n scrollHandler() {\n if (this.isLoading) {\n return;\n }\n const bestColumnIndex = this.getBestColumn();\n const lastPic = this.photosColumns[bestColumnIndex].photos[this.photosColumns[bestColumnIndex].photos.length - 1];\n const lastPhoto = lastPic ? document.querySelector<HTMLImageElement>('img[src=\"' + lastPic.src.medium + '\"]') : null;\n\n if (lastPhoto) {\n if (!this.isLoading) {\n this.currentPage += 1;\n this.search();\n }\n }\n }\n\n setPhotosColumns() {\n for (let indexColumn=0; indexColumn < this.nbColumuns ; indexColumn++) {\n const photosColumn: PhotosColumns = {\n height: 0,\n photos: []\n };\n this.photosColumns.push(photosColumn);\n }\n }\n\n getBestColumn(): number {\n const bestColumn = {\n index: 0,\n height: this.photosColumns[0].height\n };\n this.photosColumns.forEach((photosColumn, index) => {\n if (bestColumn.height > photosColumn.height) {\n bestColumn.index = index;\n bestColumn.height = photosColumn.height;\n }\n });\n return bestColumn.index;\n }\n\n resetSearch() {\n this.oldSearchValue = this.searchValue;\n this.photosColumns = [];\n this.currentPage = 1;\n this.setPhotosColumns();\n }\n\n uploadPhoto(photo: WzImgLibPhotoDto, url: string) {\n photo.uploading = true;\n\n const uploadSub = this.imgManager.uploadFileByUrl(url, this.translateService.instant(this.untitled)).subscribe(\n (img: ImgPictureDTO) => {\n photo.uploading = false;\n photo.uploaded = true;\n this.alertService.openAlert(this.successUploadPhoto);\n },\n error => {\n photo.uploading = false;\n if(error.error.code === 406 && error.error.message) {\n this.alertService.openAlertWithBackendRespons(this.errorUploadPhoto, error.error.message);\n } else {\n this.alertService.openAlert(this.errorUploadPhoto);\n }\n });\n\n // Display img uploading msg\n this.alertService.openAlert(this.uploadingImg);\n this.subs.push(uploadSub);\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Directive, Input, Output } from \"@angular/core\";\nimport { EventEmitter } from '@angular/core';\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subscription } from \"rxjs\";\nimport { stateDisplayed } from \"../../dto/export-dtos.api\";\nimport { PictureNameUpdate } from \"../../dto/picture-name-update.dto\";\nimport { ImgPictureDTO } from \"../../dto/img-manager.dto\";\nimport { AlertService } from \"../../services/alert.service\";\nimport { ImgManagerConfigService } from \"../../services/config/external-config.service\";\nimport { ImgCDNService } from \"../../services/config/img-cdn.service\";\nimport { ImgEventService } from \"../../services/img-event.service\";\nimport { ImgManagerService } from \"../../services/img-manager.service\";\nimport { ImgSelectionService } from \"../../services/img-selection.service\";\nimport { TableFilters } from \"../../services/table/filters-table.service\";\n\n@Directive()\nexport abstract class ImagesActionHandler {\n @Input()\n picturesList: ImgPictureDTO[] = [];\n @Output()\n picturesListChange: EventEmitter<void> = new EventEmitter();\n\n @Input()\n tableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: '',\n totalItems: 0,\n itemsPerPage: 30,\n currentPage: 1\n };\n @Input()\n displayPexelsResults: boolean = false;\n\n @Input()\n disable: boolean = false;\n @Output()\n disableChange: EventEmitter<boolean> = new EventEmitter();\n\n @Output()\n filtersChange = new EventEmitter();\n @Output()\n pictureNameChange: EventEmitter<PictureNameUpdate> = new EventEmitter();\n\n @Input() isLoading = false;\n\n @Input()\n stateDisplayed: stateDisplayed;\n\n previousName: string; // Use to save the previous picture name, when a user change his name\n fakeImgRoute: string;\n\n private getDataAPISub: Subscription;\n private errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';\n private errorAlreadyUsedImg = 'ImgManager.ImgList.errorAlreadyUsed';\n\n constructor(\n protected imgManager: ImgManagerService,\n protected imgSelectionService: ImgSelectionService,\n protected http: HttpClient,\n protected imgCDNService: ImgCDNService,\n protected imgEventCardService: ImgEventService,\n protected alertService: AlertService,\n protected translateService: TranslateService,\n protected externalService: ImgManagerConfigService\n ) {\n this.fakeImgRoute = this.externalService.getRouteAssets() + 'img/fake.png';\n }\n\n /** Event emit when the header checkbox is checked */\n onToggleAllCheckBoxRow(event) {\n this.picturesList.forEach(data => {\n data.delSelected = event;\n });\n this._pictureListeChange();\n }\n\n onToggleDelSelection(index: number) {\n if (this.disable) {\n return;\n }\n this.picturesList[index].delSelected = !this.picturesList[index].delSelected;\n this._pictureListeChange();\n }\n\n /** Event emit each time filters change */\n onFiltersChange() {\n this.filtersChange.emit();\n }\n\n onEdit(picture: ImgPictureDTO) {\n this.imgEventCardService.emitImgToEdit(picture);\n }\n\n onToggleSelectImg(index: number) {\n if (this.disable || this.stateDisplayed === 'window') {\n return;\n }\n if (!this.picturesList[index].selected) {\n this.imgSelectionService.addImgSelected(this.picturesList[index]);\n this.picturesList[index].selected = true;\n } else {\n this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);\n this.picturesList[index].selected = false;\n }\n }\n\n onRemoveImg(picture: ImgPictureDTO) {\n picture.deleted = true;\n this.imgManager.removeImg(picture.id_file).subscribe(\n data => {\n this.imgEventCardService.emitImgRemoved(picture.id_file);\n this.imgSelectionService.removeImgSelectedById(picture.id_file);\n },\n error => {\n const msg = error.status === 409 ? this.errorAlreadyUsedImg: this.errorRemoveImg;\n picture.deleted = false;\n this.alertService.openAlert(msg);\n });\n }\n\n onPictureNotLoading(event) {\n event.target.src = this.fakeImgRoute;\n }\n\n onDownloadImg(display_name: string, file_name: string) {\n this.http.get(this.getRAWImgRoute(file_name), { responseType: 'blob' }).subscribe(val => {\n let url = URL.createObjectURL(val);\n this.downloadUrl(url, display_name);\n URL.revokeObjectURL(url);\n });\n }\n\n onNameChange(id_file: string) {\n this.pictureNameChange.emit({id: id_file, previousName: this.previousName});\n }\n\n private getRAWImgRoute(file_name: string){\n return this.imgCDNService.getUrlImg('raw') + file_name;\n }\n\n private _pictureListeChange() {\n this.picturesListChange.emit();\n }\n\n private downloadUrl(url: string, fileName: string) {\n const a: any = document.createElement('a');\n a.href = url;\n a.download = fileName;\n a.click();\n }\n\n ngDestroy() {\n if (this.getDataAPISub) {\n this.getDataAPISub.unsubscribe();\n }\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImgEventService } from '../../../../services/img-event.service';\nimport { ImgPictureDTO } from '../../../../dto/img-manager.dto';\nimport { HttpClient } from '@angular/common/http';\nimport { ImgManagerService } from '../../../../services/img-manager.service';\nimport { ImgSelectionService } from '../../../../services/img-selection.service';\nimport { ImgCDNService } from '../../../../services/config/img-cdn.service';\nimport { ImgManagerConfigService } from '../../../../services/config/external-config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ImagesActionHandler } from '../../images-actions-handler';\nimport { easeInOut } from '../../../../animations/easeInOut/ease-in-out.animation'\nimport { tabDisplayed } from '../../../../dto/export-dtos.api';\nimport { AlertService } from '../../../../services/alert.service';\n\n@Component({\n selector: 'img-card',\n templateUrl: './img-card.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class ImgCardComponent extends ImagesActionHandler implements OnInit {\n\n @Input()\n tabDisplayed: tabDisplayed;\n @Input()\n fullSize: boolean;\n @Input()\n picture: ImgPictureDTO;\n @Input()\n index: number;\n focusInput = false;\n\n @Output()\n toggleImgSelected: EventEmitter<void> = new EventEmitter();\n\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n isUploadSection: boolean = false;\n activeConfirmDelete = false;\n\n constructor(\n imgManager: ImgManagerService,\n imgSelectionService: ImgSelectionService,\n http: HttpClient,\n imgCDNService: ImgCDNService,\n imgEventCardService: ImgEventService,\n alertService: AlertService,\n translateService: TranslateService,\n externalService: ImgManagerConfigService\n ) {\n super(\n imgManager,\n imgSelectionService,\n http,\n imgCDNService,\n imgEventCardService,\n alertService,\n translateService,\n externalService\n );\n }\n\n ngOnInit(): void {\n this.isUploadSection = this.tabDisplayed === 'img-upload';\n }\n\n displayLargeWindow(): void {\n this.switchDisplayWindow.emit(true);\n }\n\n onToggleImgSelected() {\n this.toggleImgSelected.next();\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { Observable, forkJoin } from 'rxjs';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\n\n@Component({\n selector: 'img-editor',\n templateUrl: './img-editor.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class ImgEditorComponent implements OnInit {\n\n @Input()\n stateDisplayed;\n @Input()\n imgToEdit: ImgPictureDTO;\n\n @Output() editClosed = new EventEmitter();\n\n isLoading: boolean = false;\n isImgModified: boolean = false;\n isNameModified: boolean = false;\n currentCroppedImage: string = ''; // Img modified return in base64 by the cropper\n private previousName: string;\n\n msgFailSave: string = 'ImgManager.ImgEditor.msgFailSave';\n msgFailLoad: string = 'ImgManager.ImgEditor.msgFailLoad';\n msgSuccessEdit: string = \"Les modifications de l'image ont bien été enregistrées.\"\n\n constructor(\n private imgManagerService: ImgManagerService,\n ) { }\n\n ngOnInit(): void {\n this.previousName = this.imgToEdit.display_name;\n }\n\n onSave() {\n if (this.isLoading) {\n return;\n }\n this.isLoading = true;\n\n if (!this.isImgModified && !this.isNameModified) {\n this.isLoading = false;\n this.onEditClosed();\n }\n\n const obsReplaceImg: Observable<any> = this.imgManagerService.replaceImg(this.currentCroppedImage, this.imgToEdit.id_file);\n const obsChangeImgName: Observable<any> = this.imgManagerService.changeImgName(this.imgToEdit.display_name, this.imgToEdit.id_file);\n\n if(this.isImgModified && this.isNameModified) {\n this.ranameAndReplaceImg(obsChangeImgName, obsReplaceImg);\n return;\n }\n\n if(this.isImgModified){\n obsReplaceImg.subscribe(data => {\n this.isLoading = false;\n this.onEditClosed(this.msgSuccessEdit);\n },\n error => {\n this.isLoading = false;\n this.currentCroppedImage = '';\n this.onEditClosed(this.msgFailSave);\n });\n return;\n }\n\n if (this.isNameModified) {\n obsChangeImgName.subscribe(data => {\n this.isLoading = false;\n this.previousName = this.imgToEdit.display_name;\n this.onEditClosed(this.msgSuccessEdit);\n },\n error => {\n this.isLoading = false;\n this.imgToEdit.display_name = this.previousName;\n this.onEditClosed(this.msgFailSave);\n });\n }\n this.isNameModified = false;\n }\n\n onEditClosed(msgKey?: string) {\n this.editClosed.emit(msgKey);\n }\n\n onRestartEdit() {\n this.isImgModified = false;\n this.isNameModified = false;\n this.imgToEdit.display_name = this.previousName;\n }\n\n onCancel() {\n this.onEditClosed('');\n }\n\n onImgCropped(imgBase64: string) {\n this.currentCroppedImage = imgBase64;\n }\n\n private ranameAndReplaceImg(obsChangeImgName: Observable<any>, obsReplaceImg: Observable<any>) {\n // Avoid to use forkjoin, because it can create conflict and loos the img\n obsChangeImgName.subscribe(\n res1 => {\n obsReplaceImg.subscribe(\n res2 => {\n this.onEditClosed(this.msgSuccessEdit);\n },\n error => {\n this.onEditClosed(this.msgFailSave);\n }\n );\n },\n error => {\n this.onEditClosed(this.msgFailSave);\n }\n );\n }\n}\n","import {Component, OnInit, Output, EventEmitter, Input, OnDestroy, Inject, Renderer2} from '@angular/core';\nimport { CanvaService } from '../../services/canva.service';\nimport { CanvaButtonApi } from '../../dto/canva.dto';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { ImgEventService } from '../../services/img-event.service';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { WiziBlockMediaDto } from '../../dto/wizi-block-media.dto';\nimport { Subscription } from 'rxjs';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { AlertService } from '../../services/alert.service';\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { CanvaCreateDesign } from '../../dto/canva-create-design.dto';\n\n@Component({\n selector: 'canva-btn',\n templateUrl: './canva-btn.component.html'\n})\nexport class CanvaBtnComponent implements OnInit, OnDestroy {\n\n @Input() stateDisplayed: stateDisplayed;\n\n @Output() showImgUploaded = new EventEmitter();\n\n canvaApi: CanvaButtonApi;\n canvaLogoRouteAssets: string;\n imgLoading = false;\n\n availableFormat = {\n 'ImgManager.CanvaBtn.smallSquare' : {\n 'width' : 500,\n 'height' : 500\n },\n 'ImgManager.CanvaBtn.mediumSquare' : {\n 'width' : 1000,\n 'height' : 1000\n },\n 'ImgManager.CanvaBtn.bigSquare' : {\n 'width' : 2500,\n 'height' : 2500\n }\n }\n\n openDropDownMenu: boolean = false;\n\n expectedHeight: number;\n expectedWidth: number;\n subs: Subscription[] = [];\n\n constructor(\n private canvaService: CanvaService\n ) { }\n\n ngOnInit(): void {\n this.canvaLogoRouteAssets = this.canvaService.getCanvaLogo();\n this.listenCanvaExpectedSize();\n }\n\n listenCanvaExpectedSize() {\n // Subcribe to askImg from wizi-block\n const subExpectedImgSizesChange =\n this.canvaService.bindEventExepectedImgSizeChange().subscribe( (mediaDTO: WiziBlockMediaDto) => {\n if (mediaDTO) {\n this.expectedWidth = parseInt(mediaDTO.image_width, 10);\n this.expectedHeight = parseInt(mediaDTO.image_height, 10);\n } else {\n this.expectedWidth = undefined;\n this.expectedHeight = undefined;\n }\n });\n this.subs.push(subExpectedImgSizesChange);\n }\n\n onOpenCanva(width: number, height: number) {\n this.canvaService.openCanva(width, height);\n }\n\n ngOnDestroy() {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport {CdkDragDrop} from '@angular/cdk/drag-drop';\nimport { tabDisplayed } from '../../dto/export-dtos.api';\n\n\n@Component({\n selector: 'img-selection',\n templateUrl: './img-selection.component.html'\n})\nexport class ImgSelectionComponent implements OnInit {\n\n @Input() tabDisplayed: tabDisplayed;\n @Output() imgManagerClosed = new EventEmitter();\n\n imgSelectedList: ImgPictureDTO[] = [];\n removingAll: boolean = false;\n cancellingAll: boolean = false;\n importingAll: boolean = false;\n dragStart = false;\n isLoading: boolean = false;\n trashPositionIndex = 0;\n trashPositionLeft = '-5px';\n\n constructor(\n private imgSelectionService: ImgSelectionService\n ) { }\n\n ngOnInit(): void {\n this.getImgSelected();\n this.imgSelectionService.getImgListLoadingEventListner().subscribe(loading => {\n this.isLoading = loading;\n })\n }\n\n init() {\n this.removingAll = false;\n this.cancellingAll = false;\n this.importingAll = false;\n }\n\n getImgSelected() {\n this.imgSelectedList = this.imgSelectionService.getImgSelection();\n }\n\n removeImg(index: number) {\n this.imgSelectionService.removeImgSelectedByIndex(index);\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event.previousIndex !== event.currentIndex) {\n this.imgSelectionService.moveImgOrder(event);\n }\n }\n\n removeImgFromSelection(event: CdkDragDrop<string[]>) {\n this.imgSelectionService.removeImgSelectedByIndex(event.previousIndex);\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[btnLoadingAnim]'\n})\nexport class LoadingDirective {\n\n element: ElementRef;\n currentLoading = 0;\n interval = null;\n\n constructor(el: ElementRef) {\n this.element = el;\n this.launchLoading();\n }\n\n launchLoading() {\n if (this.interval !== null) {\n return;\n }\n this.currentLoading = 10;\n\n this.element.nativeElement.style.width = this.currentLoading + '%';\n\n this.interval = setInterval(() => {\n if (this.currentLoading < 80) {\n this.currentLoading += Math.floor(Math.random() * 15);\n this.element.nativeElement.style.width = this.currentLoading + '%';\n }\n if (this.currentLoading >= 80 && this.currentLoading < 95) {\n this.currentLoading += Math.floor(Math.random() * 2);\n this.element.nativeElement.style.width = this.currentLoading + '%';\n }\n }, 70);\n }\n\n ngOnDestroy() {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = null;\n }\n }\n}\n","import { Directive, ElementRef, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { DomService } from '../services/dom.service';\n\n@Directive({\n selector: '[wzAutoHide]'\n})\nexport class AutoHideDirective implements AfterViewInit {\n @Input() triggerElement: string;\n @Input() forceOn: Array<string> = null;\n\n constructor(private _elementRef: ElementRef, private domService: DomService) {}\n\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n ngAfterViewInit(): void {\n this.domService.documentEvent().subscribe((targetElement: Element) => {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n const classNameFromElement = targetElement.getAttribute('class');\n\n if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {\n this.clickOutside.emit(null);\n }\n\n if (this.forceOn != null && classNameFromElement !== null) {\n let needToClose = true;\n this.forceOn.forEach(v => {\n if (!classNameFromElement.includes(v)) {\n needToClose = false;\n }\n });\n if (needToClose) {\n this.clickOutside.emit(null);\n }\n }\n });\n }\n}\n","import { Directive, Input, Output, EventEmitter, HostListener } from \"@angular/core\";\n\n@Directive({ selector: '[copy-clipboard]' })\nexport class CopyClipboardDirective {\n\n @Input(\"copy-clipboard\")\n public payload: string;\n\n @Output(\"copied\")\n public copied: EventEmitter<string> = new EventEmitter<string>();\n\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: MouseEvent): void {\n\n event.preventDefault();\n if (!this.payload)\n return;\n\n let listener = (e: ClipboardEvent) => {\n let clipboard = e.clipboardData || window[\"clipboardData\"];\n clipboard.setData(\"text\", this.payload.toString());\n e.preventDefault();\n\n this.copied.emit(this.payload);\n };\n\n document.addEventListener(\"copy\", listener, false)\n document.execCommand(\"copy\");\n document.removeEventListener(\"copy\", listener, false);\n }\n}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'dropdown',\n templateUrl: './dropdown.component.html'\n})\nexport class DropdownComponent implements OnInit {\n\n @Input()\n dropDownMenuClass: string;\n @Input()\n disable: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { EventEmitter } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { ImgPictureDTO } from '../../../dto/img-manager.dto';\nimport { AlertService } from '../../../services/alert.service';\n\n@Component({\n selector: 'info-section',\n templateUrl: './info-section.component.html'\n})\nexport class EditorInfoSectionComponent implements OnInit {\n\n @Input()\n imgToEdit: ImgPictureDTO;\n\n @Input()\n set isNameModified(isNameModified: boolean) {\n this._isNameModified = isNameModified;\n }\n get isNameModified(): boolean {\n return this._isNameModified;\n }\n private _isNameModified: boolean = false;\n\n @Output()\n isNameModifiedChange = new EventEmitter<boolean>();\n\n imgName: string;\n imgRoute: string;\n\n msgCopyToClipBoard: string = 'ImgManager.ImgEditor.copytoClipBoard';\n\n constructor(\n private alertService: AlertService,\n ) { }\n\n ngOnInit(): void {\n this.init();\n }\n\n init() {\n this.imgName = this.imgToEdit.display_name;\n }\n getFileSize() {\n return this.imgToEdit ? Math.round(parseInt(this.imgToEdit.size)/1000) : '-';\n }\n\n copyToClipBoard(event) {\n this.alertService.openAlert(this.msgCopyToClipBoard);\n }\n\n onNameChange() {\n this.isNameModifiedChange.emit(true);\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const insertRemove = // the fade-in/fade-out animation.\ntrigger('insertRemoveAnnim', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('0.5s ease-in-out', style({ opacity: 1 })),\n ])\n]);\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper';\nimport { insertRemove } from '../../../animations/insertRemove/insert-remove.animation';\nimport { CropperConfigDTO, ImgCropperConfigDTO } from '../../../dto/img-editor-config.dto';\nimport { ImgPictureDTO } from '../../../dto/img-manager.dto';\nimport { ImgCDNService } from '../../../services/config/img-cdn.service';\n\n@Component({\n selector: 'cropper',\n templateUrl: './cropper.component.html',\n animations: [\n insertRemove\n ]\n})\nexport class CropperComponent implements OnInit {\n\n @Input()\n imgToEdit: ImgPictureDTO;\n\n @Input()\n set isImgModified(isImgModified: boolean) {\n this._isImgModified = isImgModified;\n if (!isImgModified) {\n this.restartEdit();\n }\n }\n get isImgModified(): boolean {\n return this._isImgModified;\n }\n private _isImgModified: boolean = false;\n\n @Output()\n isImgModifiedChange = new EventEmitter<boolean>();\n\n @Output()\n editClosed = new EventEmitter();\n\n @Output()\n currentCroppedImageChange = new EventEmitter<string>();\n\n msgFailLoad: string = 'ImgManager.ImgEditor.msgFailLoad';\n\n\n isNameModified: boolean = false;\n isCropperReady: boolean = false; // Use to not display the crop validation btn, after the img is loaded or changed\n currentCroppedImage: string = ''; // Img modified return in base64\n isCropped: boolean = false;\n isLoading: boolean = false;\n isImgCropped: boolean = false;\n isImgCroppedInitilized: boolean = false;\n\n // Image Cropper properties\n imgType: string;\n imgRoute: string;\n imageChangedEvent: any = '';\n croppedImage: any = '';\n canvasRotation = 0;\n rotation = 0;\n scale = 1;\n showCropper = false;\n containWithinAspectRatio = false;\n transform: ImageTransform = {};\n\n defaultAspectRatio: number;\n\n // dropdown list\n resolutionConfig:ImgCropperConfigDTO[] = [\n {\n label: 'ImgManager.ImgEditor.config.origin',\n config: {\n maintainAspectRatio: true\n },\n },\n {\n label: 'ImgManager.ImgEditor.config.free',\n config: {\n maintainAspectRatio: false\n },\n active: true\n },\n {\n label: 'ImgManager.ImgEditor.config.square',\n config: {\n maintainAspectRatio: true,\n aspectRatio: 1 / 1\n }\n },\n {\n label: 'ImgManager.ImgEditor.config.Portrait',\n config: {\n maintainAspectRatio: true,\n aspectRatio: 3 / 4\n }\n },\n {\n label: 'ImgManager.ImgEditor.config.landscape',\n config: {\n maintainAspectRatio: true,\n aspectRatio: 5 / 3\n }\n }\n ];\n\n rotationConfig:ImgCropperConfigDTO[] = [\n {\n label: 'ImgManager.ImgEditor.config.schedule',\n icon: \"fal fa-redo-alt\",\n method: \"rotateRight\",\n active: true\n },\n {\n label: 'ImgManager.ImgEditor.config.AntiSchedule',\n icon: \"fal fa-undo-alt\",\n method: \"rotateLeft\"\n },\n {\n label: 'ImgManager.ImgEditor.config.flipVert',\n icon: \"fal fa-sort-alt\",\n method: \"flipVertical\"\n },\n {\n label: 'ImgManager.ImgEditor.config.flipHoriz',\n icon: \"fal fa-exchange-alt\",\n method: \"flipHorizontal\"\n }\n ];\n\n zoomConfig:ImgCropperConfigDTO[] = [\n {\n label: 'ImgManager.ImgEditor.config.zoom',\n icon: \"fal fa-search-plus\",\n method: \"zoomIn\",\n active: true\n },\n {\n label: 'ImgManager.ImgEditor.config.dezoom',\n icon: \"fal fa-search-minus\",\n method: \"zoomOut\"\n }\n ];\n\n // Img cropper variables\n imgCropperConfig:CropperConfigDTO = {\n maintainAspectRatio: false,\n aspectRatio: undefined\n }\n\n constructor(\n private imgCDNService: ImgCDNService\n ) { }\n\n ngOnInit(): void {\n this.init();\n }\n\n init() {\n this.imgRoute = this.getRAWImgRoute();\n this.imgType = this.getImgType();\n this.croppedImage = null;\n this.setDefautAspectRatio();\n }\n\n getRAWImgRoute(){\n return this.imgCDNService.getUrlImg('raw') + this.imgToEdit.file_name;\n }\n\n getImgType() {\n return this.imgToEdit.file_name ? this.imgToEdit.file_name.split('.').pop() : undefined;\n }\n\n setDefautAspectRatio() {\n const height = parseInt(this.imgToEdit.raw_height);\n const width = parseInt(this.imgToEdit.raw_width);\n this.defaultAspectRatio = height / width;\n this.resolutionConfig[0].config.aspectRatio = this.defaultAspectRatio;\n this.imgCropperConfig.aspectRatio = this.defaultAspectRatio;\n }\n\n onEditClosed(msgKey?: string) {\n this.editClosed.emit(msgKey);\n }\n\n onRestart() {\n this.isImgModifiedChange.emit(false);\n }\n\n restartEdit() {\n this.init();\n this.resetConfCropper();\n }\n\n onImgModified() {\n this.isImgModified = true;\n this.isImgModifiedChange.emit(true);\n }\n\n ////// Img cropper methods ////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n /* Cropper output events */\n\n fileChangeEvent(event: any): void {\n this.imageChangedEvent = event;\n }\n\n imageCropped(event: ImageCroppedEvent) {\n this.detectImgCropperChange();\n\n this.currentCroppedImage = event.base64;\n this.currentCroppedImageChange.emit(this.currentCroppedImage);\n }\n\n imageLoaded() {\n this.showCropper = true;\n }\n\n cropperReady() {\n this.isCropperReady = true;\n }\n\n loadImageFailed() {\n this.onEditClosed(this.msgFailLoad);\n }\n\n /* Resize functions */\n\n changeResolutionSize(index: number) {\n this.setActiveItem(this.resolutionConfig, index);\n const config = this.resolutionConfig[index].config;\n this.setCropperProperties(config);\n }\n\n confirmCrop() {\n this.imgRoute = null;\n this.croppedImage = this.currentCroppedImage;\n this.isImgCropped = false;\n this.isImgCroppedInitilized = false;\n this.resetConfCropper();\n this.onImgModified();\n }\n\n resetConfCropper() {\n this.scale = 1;\n this.rotation = 0;\n this.canvasRotation = 0;\n this.transform = {};\n }\n\n private setActiveItem(array:any[], index: number) {\n // Set active-item class for the dropdown\n array.forEach((item, indexItem) => {\n item.active = indexItem === index ? true : false;\n });\n }\n\n private setCropperProperties(config: any) {\n for (const property in config) {\n this.imgCropperConfig[property] = config[property];\n }\n }\n\n private detectImgCropperChange() {\n this.isImgCropped = this.isImgCroppedInitilized;\n this.isImgCroppedInitilized = true;\n }\n\n /* Rotations functions */\n\n rotateLeft() {\n this.canvasRotation--;\n this.flipAfterRotate();\n this.onImgModified();\n }\n\n rotateRight() {\n this.canvasRotation++;\n this.flipAfterRotate();\n this.onImgModified();\n }\n\n flipHorizontal() {\n this.transform = {\n ...this.transform,\n flipH: !this.transform.flipH\n };\n this.onImgModified();\n }\n\n flipVertical() {\n this.transform = {\n ...this.transform,\n flipV: !this.transform.flipV\n };\n this.onImgModified();\n }\n\n private flipAfterRotate() {\n const flippedH = this.transform.flipH;\n const flippedV = this.transform.flipV;\n this.transform = {\n ...this.transform,\n flipH: flippedV,\n flipV: flippedH\n };\n }\n\n /* Zoom functions */\n\n zoomOut() {\n this.scale -= this.scale < 0.2? 0 : .1;\n this.transform = {\n ...this.transform,\n scale: this.scale\n };\n this.onImgModified();\n }\n\n zoomIn() {\n this.scale += .1;\n this.transform = {\n ...this.transform,\n scale: this.scale\n };\n this.onImgModified();\n }\n\n applyMethod(method: string) {\n this[method](); // call the method contains in zoomConfig or rotationConfig\n }\n}\n","import {Component, OnInit, Input, ViewChild, ElementRef, AfterViewInit, Output, EventEmitter} from '@angular/core';\nimport { ImgPictureDTO, ImgPicturesDTO, ParamsImgManagerDTO } from '../../dto/img-manager.dto';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { Subscription, Subject} from 'rxjs';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { ImgEventService } from '../../services/img-event.service';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { UserSettingsService } from '../../services/user-settings.service';\nimport { TableFilters } from '../../services/table/filters-table.service';\nimport { PictureNameUpdate } from '../../dto/picture-name-update.dto';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport { insertRemove } from '../../animations/insertRemove/insert-remove.animation';\nimport { stateDisplayed, tabDisplayed } from '../../dto/export-dtos.api';\nimport { RenamePictureService } from '../../services/rename-picture.service';\nimport { AlertService } from '../../services/alert.service';\n\n@Component({\n selector: 'images-view',\n templateUrl: './images-view.component.html',\n animations: [\n easeInOut,\n insertRemove\n ]\n})\nexport class ImagesViewComponent implements OnInit, AfterViewInit {\n\n @Input() stateDisplayed: stateDisplayed;\n @Input() tabDisplayed: tabDisplayed;\n @Input() fullSize: boolean;\n @Input() maxLengthCardShow: number;\n @Input() nbRowToShow: number;\n @Input() listDisplayed = false; // Display format list or mosaic\n @Input() multipleImgMode = false;\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n // Data filters\n tableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: '',\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 1\n };\n\n @ViewChild('imgLibContainer') imgLibContainer : ElementRef;\n widthLargeCard: number = 219; // Default value of a card width 199 + margin 20\n widthSmallCard: number = 160; // Default value of a card width 140 + margin 20\n nbMinImgPerLine: number;\n nbMaxImgPerLine: number;\n nbFakeImg: number = 0;\n\n imgFullWidthConfig:any = [\n {\n max: 419,\n largeImgWidthFactor : 1,\n smallImgWidthFactor : 0.5\n },\n {\n max: 499,\n largeImgWidthFactor : 1,\n smallImgWidthFactor : 0.5\n },\n {\n max: 719, // tablet\n largeImgWidthFactor : 0.5,\n smallImgWidthFactor : 0.3333\n },\n {\n max: 1023, // deskop\n largeImgWidthFactor : 0.3333,\n smallImgWidthFactor : 0.2\n },\n {\n max: 1399,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.125\n },\n {\n max: 1599,\n largeImgWidthFactor : 0.2,\n smallImgWidthFactor : 0.1111\n },\n {\n largeImgWidthFactor : 0.1666,\n smallImgWidthFactor : 0.1\n }\n ];\n\n imgWidthConfig:any = [\n {\n max: 1024,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.125\n },\n {\n max: 1199,\n largeImgWidthFactor : 0.3333,\n smallImgWidthFactor : 0.2\n },\n {\n max: 1299,\n largeImgWidthFactor : 0.3333,\n smallImgWidthFactor : 0.1666\n },\n {\n max: 1399,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.1666\n },\n {\n max: 1599,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.14\n },\n {\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.125\n }\n ];\n\n imgSubscribe: Subscription;\n imgRemovedEvent: Subscription;\n imgAddedEvent: Subscription;\n imgSelectionChange: Subscription;\n searchQueryChanged: Subject<string> = new Subject<string>();\n filtersChanged: Subject<void> = new Subject<void>();\n\n picturesList: ImgPictureDTO[] = [];\n savePictureList: ImgPictureDTO[] = [];\n imgSelectedList: ImgPictureDTO[];\n searchedValue: string; // Value from the search bar or img added by canva\n nbImgToDelSelected: number = 0;\n disable: boolean = false; // Use to disable action during server request\n isLoading: boolean = true;\n isTotalRetieved: boolean = false;\n delListImgLoader = false;\n initComponent: boolean = true;\n failLoaded: boolean = false;\n displayPexelsResults: boolean = false; // Use when no img find by name, display img from Pexels\n searchText: string;\n confirmImgSup:boolean = false;\n previousSearchValue: string;\n\n // Paginator Params\n pageIndex: number =0;\n length: number = 0;\n pageSize: number = 30; // Default value\n pageSizeOptions: number[] = [25, 50, 100, 250];\n\n // Api Img manager Params\n params:ParamsImgManagerDTO;\n\n private errorGetAllImg = 'ImgManager.ImgLib.errorGetAllImg';\n private errorGetTotalImg = 'ImgManager.ImgLib.errorGetTotalImg';\n private errorGetImg = 'ImgManager.ImgLib.errorGetCanvaImg';\n private msgNoImgFound = 'ImgManager.ImgLib.noImgFound';\n private errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';\n\n constructor(\n private imgManager: ImgManagerService,\n private imgEventService: ImgEventService,\n private imgSelectionService: ImgSelectionService,\n private alertService: AlertService,\n private userSettingsService: UserSettingsService,\n private renamePictureService: RenamePictureService) { }\n\n ngOnInit(): void {\n /* if (this.maxLengthCardShow) {\n this.reducePictureListMaxLength();\n } */\n this.setEvents();\n this.imgSelectedList = this.imgSelectionService.getImgSelection();\n }\n\n ngAfterViewInit() {\n this.setNbImgToDisplay();\n this._getImgList();\n if (!this.savePictureList) {\n this.savePictureList = this.picturesList;\n }\n }\n\n /* reducePictureListMaxLength() {\n this.picturesList.splice(0, this.maxLengthCardShow);\n } */\n\n getImgList() {\n this.filtersChanged.next();\n }\n\n /**\n * true : go to list display\n * false : go to mosaic display\n * @param activate\n */\n onSwitchFormatDisplayed(activate: boolean) {\n this.listDisplayed = activate;\n this.userSettingsService.setUserDisplayPreference(activate);\n this.imgEventService.emitlistDisplayedChange(activate);\n }\n\n /**\n * Calcul the number of img selected for masse deletion\n */\n onImgSelected() {\n this.setNbImgToDelSelected();\n }\n\n onShowImgUploaded() {\n this.searchText = null;\n this.searchedValue = null;\n this.getImgList();\n }\n\n onRenamePicture(pictureRenamed: PictureNameUpdate) {\n console.log('onRenamePicture pictureRenamed', pictureRenamed);\n this.renamePictureService.onRenamePicture(pictureRenamed);\n }\n\n removeListImg() {\n if (this.disable) {\n return;\n }\n this.disable = true;\n this.delListImgLoader = true;\n this.confirmImgSup = false;\n\n // Get the id of the img to remove\n // And add deleted property\n const idImgToRemove: string[] = [];\n this.picturesList.forEach( img => {\n if (img.delSelected) {\n img.deleted = true;\n idImgToRemove.push(img.id_file);\n }\n });\n\n this.imgManager.removeMultipleImg(idImgToRemove).subscribe(\n () => {\n this.getImgList();\n this.imgSelectionService.removeImgSelectionByIds(idImgToRemove);\n },\n error => {\n this.getImgList();\n this.alertService.openAlert(this.errorRemoveImg);\n }\n );\n\n\n }\n\n selectImgChosen() {\n if (this.disable) {\n return;\n }\n const picturesListSelected: ImgPictureDTO[] = [];\n this.picturesList.map(img => {\n if(img.delSelected) {\n img.delSelected =false;\n img.selected = true;\n }\n if (img.selected) {\n picturesListSelected.push(img);\n }\n });\n this.setNbImgToDelSelected();\n this.imgSelectionService.setImgSelection(picturesListSelected);\n }\n\n displayConfirmImgSup(){\n if (this.disable) {\n return;\n }\n this.confirmImgSup = true;\n }\n\n cancelSup() {\n this.confirmImgSup = false;\n }\n\n /**\n * Event emit when a img selected in order to delete\n */\n onPicturesListChange() {\n this.setNbImgToDelSelected();\n }\n\n onFiltersChange() {\n this.getImgList();\n }\n\n /**\n * Set default number of img per page to display at the initialisation\n * This number is between 30 and 50\n */\n private setNbImgToDisplay() {\n const containerWidth = this.imgLibContainer.nativeElement.offsetWidth + 30; // + 30px -> left + right margin\n const scrollWidth = window.innerWidth - document.body.offsetWidth;\n\n const [maxImgWidthFactor, minImgWidthFactor] = this.getImgWidthFactors();\n\n const minImgWidth = Math.floor(containerWidth * minImgWidthFactor);\n const maxImgWidth = Math.ceil((containerWidth + scrollWidth ) * maxImgWidthFactor);\n\n this.nbMaxImgPerLine = Math.floor(containerWidth / minImgWidth);\n this.nbMinImgPerLine = Math.floor( (containerWidth + scrollWidth ) / maxImgWidth);\n\n this.pageSize = this.getTotalImgPerPage();\n }\n\n private getImgWidthFactors(): number[] {\n const screenWidth = window.innerWidth;\n let minWidth:number = 0;\n let imgSizesConfig: number[] = [];\n\n const currentImgWidthConfig = this.fullSize ? this.imgFullWidthConfig : this.imgWidthConfig;\n\n for (const widthConfig of currentImgWidthConfig) {\n if (!widthConfig.max) {\n imgSizesConfig = [widthConfig.largeImgWidthFactor, widthConfig.smallImgWidthFactor];\n break;\n }\n if (minWidth < screenWidth && screenWidth <= widthConfig.max) {\n imgSizesConfig = [widthConfig.largeImgWidthFactor, widthConfig.smallImgWidthFactor];\n break;\n }\n minWidth = widthConfig.max;\n }\n return imgSizesConfig;\n }\n\n private getTotalImgPerPage(): number {\n if (this.nbRowToShow) {\n const nbImgPerLine = this.stateDisplayed === 'full' ? this.nbMinImgPerLine : this.nbMaxImgPerLine;\n return nbImgPerLine * this.nbRowToShow;\n }\n\n let total = this.nbMinImgPerLine;\n\n while (total < 30 || total % this.nbMaxImgPerLine !== 0 || total % this.nbMinImgPerLine !== 0) {\n total += this.nbMinImgPerLine;\n }\n return total;\n }\n\n private setParams() {\n this.params = {\n limit: this.maxLengthCardShow?.toString() || (this.tableFilters.itemsPerPage ? this.tableFilters.itemsPerPage.toString() : this.pageSize.toString()),\n page: this.tableFilters.currentPage.toString()\n };\n if (this.tableFilters.searchValue) {\n this.params[\"display_name:contains\"] = this.tableFilters.searchValue.toString();\n }\n }\n\n private initVariables(loadingSuccess: boolean) {\n this.nbImgToDelSelected = 0;\n this.disable = false;\n this.isLoading = false;\n this.delListImgLoader = false;\n this.initComponent = false;\n this.displayPexelsResults = false;\n this.failLoaded = !loadingSuccess;\n this.nbFakeImg = 0;\n }\n\n private selectImgSelected () {\n if (!this.imgSelectedList || !this.imgSelectedList.length) {\n return;\n }\n\n const idImgSlectedList: string[] = [];\n\n this.imgSelectedList.forEach(img =>\n idImgSlectedList.push(img.id_file)\n );\n\n this.picturesList.forEach(picture => {\n if (idImgSlectedList.indexOf(picture.id_file) !== -1) {\n picture.selected = true;\n }\n });\n }\n\n private displayPexelsLib () {\n this.displayPexelsResults = true;\n this.alertService.openAlert(this.msgNoImgFound);\n }\n\n /**\n * Set a img list in order to fill properly all the line of images displayed in mosaic.\n * Otherwise, the space-between css will do a bad display\n */\n private calculNbImgFake(nbImgDisplayed: number) {\n const nbImgPerLine = this.stateDisplayed === 'small' || this.tabDisplayed === 'img-upload' ? this.nbMaxImgPerLine : this.nbMinImgPerLine;\n\n if (nbImgDisplayed % nbImgPerLine !== 0) {\n this.nbFakeImg = nbImgPerLine - nbImgDisplayed % nbImgPerLine;\n }\n }\n\n private getImg (id_file: string) {\n this.imgManager.getShopImg(id_file).pipe(take(1)).subscribe(\n (picture: ImgPictureDTO) => {\n\n if (!this.imgAlreadyExist(picture.id_file)) {\n // check the img is not already present\n this.picturesList.unshift(picture);\n this.length += 1;\n }\n },\n error => {\n this.alertService.openAlert(this.errorGetImg);\n }\n );\n }\n\n private imgAlreadyExist (id_file: string): boolean {\n for (const img of this.picturesList) {\n if (img.id_file === id_file) {\n return true;\n }\n }\n return false;\n }\n\n private setNbImgToDelSelected () {\n this.nbImgToDelSelected = this.picturesList.filter(img =>\n img.delSelected).length;\n\n if (!this.nbImgToDelSelected) {\n this.confirmImgSup = false;\n }\n }\n\n private setEvents() {\n // Add a timer to retrieve img when the search bar or the paginator are used\n this.searchQueryChanged\n .pipe(debounceTime(400)) // wait 0.5 sec after the last event before emitting last event\n .subscribe(data => {\n this.getImgList();\n });\n\n this.filtersChanged\n .pipe(debounceTime(800)) // wait 0.8 sec after the last event before emitting last event\n .subscribe(data => {\n this._getImgList();\n });\n\n // Reload img when img is/are removed\n this.imgRemovedEvent = this.imgEventService.getImgRemovedEventListner().subscribe(id_file =>{\n this.getImgList();\n });\n\n // Create img from Canva\n this.imgAddedEvent = this.imgEventService.getImgAddedEventListner().subscribe(id_file =>{\n if (id_file && !this.imgAlreadyExist(id_file)) {\n this.getImg(id_file);\n }\n });\n\n this.imgSelectionChange = this.imgSelectionService.getImgSelectionChange().subscribe(imgSelection =>{\n if (this.listDisplayed) {\n return;\n }\n const idFileList = [];\n imgSelection.map(img => idFileList.push(img.id_file));\n for (const picture of this.picturesList) {\n if (idFileList.indexOf(picture.id_file) === -1) {\n picture.selected = false;\n }\n }\n });\n }\n\n private _getImgList() {\n this.isLoading = true;\n this.displayPexelsResults = false;\n this.setParams();\n\n this.refreshTotalImgList();\n\n this.imgManager.getShopImgList(this.params).pipe(take(1)).subscribe((data: ImgPicturesDTO) => {\n this.initVariables(true);\n const nbImgDisplayed = data.data.length;\n this.calculNbImgFake(nbImgDisplayed);\n this.picturesList = data.data;\n this.renamePictureService.setPicturesList(this.picturesList);\n this.selectImgSelected();\n\n this.length = this.isTotalRetieved ? this.length : data.totalRecords;\n this.tableFilters.totalItems = this.isTotalRetieved ? this.tableFilters.totalItems : data.totalRecords;\n this.tableFilters.itemsPerPage = this.tableFilters.itemsPerPage ? this.tableFilters.itemsPerPage : this.pageSize;\n\n // Display Pexels if no result\n if (data.totalRecords === 0) {\n this.displayPexelsLib();\n }\n\n },\n error => {\n this.alertService.openAlert(this.errorGetAllImg);\n this.initVariables(false);\n });\n }\n\n private refreshTotalImgList() {\n const searchValue = this.tableFilters.searchValue;\n\n if (this.isTotalRetieved && searchValue === this.previousSearchValue) {\n // Keep current total result\n return;\n }\n\n this.isTotalRetieved = false;\n\n this.imgManager.getShopTotalImgList(this.params).pipe(take(1)).subscribe(\n\n (data: ImgPicturesDTO) => {\n this.previousSearchValue = searchValue;\n this.isTotalRetieved = true;\n this.length = data.totalRecords;\n this.tableFilters.totalItems = data.totalRecords;\n },\n\n error => {\n //this.alertService.openAlert(this.errorGetTotalImg);\n this.initVariables(false);\n });\n }\n\n switchDisplayWindowMosaic() {\n this.switchDisplayWindow.emit(true);\n }\n\n ngOnDestroy(): void {\n this.searchQueryChanged.unsubscribe();\n this.imgRemovedEvent.unsubscribe();\n this.imgAddedEvent.unsubscribe();\n this.imgSelectionChange.unsubscribe();\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { listAnnimation } from '../../../animations/listAnnimation/list.animation';\nimport { PictureNameUpdate, tabDisplayed } from '../../../dto/export-dtos.api';\nimport { AlertService } from '../../../services/alert.service';\nimport { ImgManagerConfigService } from '../../../services/config/external-config.service';\nimport { ImgCDNService } from '../../../services/config/img-cdn.service';\nimport { ImgEventService } from '../../../services/img-event.service';\nimport { ImgManagerService } from '../../../services/img-manager.service';\nimport { ImgSelectionService } from '../../../services/img-selection.service';\nimport { ImagesActionHandler } from '../images-actions-handler';\n\n@Component({\n selector: 'mosaic-view',\n templateUrl: './mosaic-view.component.html',\n animations: [\n listAnnimation\n ]\n})\nexport class MosaicViewComponent extends ImagesActionHandler implements OnInit {\n\n @Input()\n tabDisplayed: tabDisplayed;\n @Input()\n fullSize: boolean;\n @Input()\n nbFakeImg: number = 0;\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n constructor(\n imgManager: ImgManagerService,\n imgSelectionService: ImgSelectionService,\n http: HttpClient,\n imgCDNService: ImgCDNService,\n imgEventCardService: ImgEventService,\n alertService: AlertService,\n translateService: TranslateService,\n externalService: ImgManagerConfigService\n ) {\n super(\n imgManager,\n imgSelectionService,\n http,\n imgCDNService,\n imgEventCardService,\n alertService,\n translateService,\n externalService\n );\n }\n\n ngOnInit(): void {\n }\n\n onSearchChange(event: string) {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.filtersChange.emit(this.tableFilters);\n }\n\n onCardRenamePicture(pictureRenamed: PictureNameUpdate) {\n this.pictureNameChange.next(pictureRenamed);\n }\n\n switchDisplayWindowCard() {\n this.switchDisplayWindow.emit(true);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { listAnnimation } from '../../../animations/listAnnimation/list.animation';\nimport { AlertService } from '../../../services/alert.service';\nimport { ImgManagerConfigService } from '../../../services/config/external-config.service';\nimport { ImgCDNService } from '../../../services/config/img-cdn.service';\nimport { ImgEventService } from '../../../services/img-event.service';\nimport { ImgManagerService } from '../../../services/img-manager.service';\nimport { ImgSelectionService } from '../../../services/img-selection.service';\nimport { ImagesActionHandler } from '../images-actions-handler';\n\n@Component({\n selector: 'table-view',\n templateUrl: './table-view.component.html',\n animations: [\n listAnnimation\n ]\n})\nexport class TableViewComponent extends ImagesActionHandler implements OnInit {\n dataTableName: string = 'imgagesView'; // Name of your table\n\n constructor(\n imgManager: ImgManagerService,\n imgSelectionService: ImgSelectionService,\n http: HttpClient,\n imgCDNService: ImgCDNService,\n imgEventCardService: ImgEventService,\n alertService: AlertService,\n translateService: TranslateService,\n externalService: ImgManagerConfigService\n ) {\n super(\n imgManager,\n imgSelectionService,\n http,\n imgCDNService,\n imgEventCardService,\n alertService,\n translateService,\n externalService\n );\n }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NwbFilterGroup, NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';\nimport { Subject } from 'rxjs';\nimport { PaginationFilters } from '../../components/shared/pagination/pagination.component';\n\nexport interface TableFilters extends PaginationFilters {\n sort: string;\n order: boolean;\n searchValue: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltersTableService {\n filterGroups = new Map<string, NwbFilterGroup>();\n dataTableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: undefined,\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 0\n };\n\n private sortSubject: Subject<any> = new Subject<any>();\n\n constructor(private filterRoutingBuilder: NwbFilterRoutingBuilder) {}\n\n getTableFilterGroup(dataTableName: string) {\n if (this.filterGroups.has(dataTableName)) {\n return this.filterGroups.get(dataTableName);\n }\n const filterGroup: NwbFilterGroup = this.filterRoutingBuilder.group(this.dataTableFilters, dataTableName);\n this.filterGroups.set(dataTableName, filterGroup);\n return filterGroup;\n }\n\n /**\n * Use to reset the others sorts of the table\n * @param dataTableName\n * @param sortName\n * @param order\n */\n emitSortChange(dataTableName: string, sortName: string, order: boolean) {\n this.sortSubject.next({ dataTableName, sortName, order });\n }\n\n getSortChangeListner() {\n return this.sortSubject.asObservable();\n }\n\n setPaginationFilters(dataTableName: string, totalItems: number, itemsPerPage: number, currentPage: number) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage,\n currentPage\n });\n }\n\n setInitialPaginationFiltersIfNotExist(dataTableName: string, itemsPerPage: number, currentPage: number) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,\n currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage\n });\n }\n}","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { v4 as uuid } from 'uuid';\nimport { NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { TableFilters, FiltersTableService } from '../../../services/table/filters-table.service';\n\n@Component({\n selector: 'wz-table',\n templateUrl: './table.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TableComponent implements OnInit {\n /// Input/Output of table filters ///\n\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n @Input() tableRoutingName: string; // Name of the table\n @Input() placeholder: string = '';\n\n private _filterGroup: NwbFilterGroup;\n\n /// Input/Output of checkbox ///\n\n /** Pass to true to display checkbox in the header table */\n @Input() checkbox = false;\n /** Emit new header checboxValue */\n @Output() toggleAllCheckBox: EventEmitter<boolean> = new EventEmitter();\n\n /// Input to disable section ///\n\n /** Pass to true to hide search input */\n @Input() disableSearch: boolean = false;\n /** Pass to true to hide the pagniator */\n @Input() disablePagniation: boolean = false;\n\n /// Input for loader on table body ///\n @Input() isLoading = false;\n\n /// Private variables ///\n headerCheckBoxId: string;\n private filterGroupChangeSub: Subscription;\n\n constructor(private filtersTableService: FiltersTableService) {}\n\n ngOnInit(): void {\n this.headerCheckBoxId = uuid(); // Create checkbox unique id\n\n /* Handle routing filters */\n if (this.tableRoutingName) {\n this._filterGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);\n\n // Performe initial fetch data\n this._filterGroup.valuesChange$.next([]);\n\n this.setTablesFilters();\n\n // Listen to filters changes with debounced time to limit multiple api calls\n this.filterGroupChangeSub = this._filterGroup.valuesChange$.subscribe(filters => {\n this.setTablesFilters();\n });\n }\n }\n\n onToggleAllCheckBox(event) {\n this.toggleAllCheckBox.emit(event.target.checked);\n }\n\n searchChange(event: string) {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n\n // Reset routing filters\n if (this._filterGroup) {\n this._filterGroup.setValues({\n searchValue: this.tableFilters.searchValue,\n sort: undefined,\n order: undefined,\n currentPage: 1\n });\n }\n }\n\n pageChange() {\n this.tableFiltersChange.emit(this.tableFilters);\n if (this._filterGroup) {\n this._filterGroup.setValues({\n itemsPerPage: this.tableFilters.itemsPerPage,\n currentPage: this.tableFilters.currentPage\n });\n }\n }\n\n /**\n * Set tableFilters from routing data existing in the url\n * */\n private setTablesFilters() {\n this.tableFilters = {\n sort: this._filterGroup.get('sort'),\n order: this._filterGroup.get('order'),\n searchValue: this._filterGroup.get('searchValue'),\n itemsPerPage: this._filterGroup.get('itemsPerPage') ? parseInt(this._filterGroup.get('itemsPerPage')) : 0,\n currentPage: this._filterGroup.get('currentPage') ? parseInt(this._filterGroup.get('currentPage')) : 0,\n totalItems: this.tableFilters.totalItems\n };\n this.tableFiltersChange.emit(this.tableFilters);\n }\n\n ngDestroy() {\n if (this.filterGroupChangeSub) {\n this.filterGroupChangeSub.unsubscribe();\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wz-input-search',\n templateUrl: './input-search.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }]\n})\nexport class InputSearchComponent implements ControlValueAccessor {\n @Input()\n placeholder = '';\n @Input()\n smallPadding = false;\n @Input()\n id;\n private innerValue: any = '';\n @Output() changeDebounced = new EventEmitter<any>(); // debounced\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public handleDebouncedKeyUp(event): void {\n this.changeDebounced.emit(event.target.value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'IsLastPage'\n})\nexport class PagniationIsLastPage implements PipeTransform {\n /**\n * Return true, if the current page is the last page. Otherwise, return false.\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage: number, totalItems: number, itemsPerPage: number): boolean {\n if (!(currentPage >= 0 && totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('currentPage or totalItems or itemsPerPage is/are missing in PagniationIsLastPage pipe.');\n }\n return currentPage === Math.ceil(totalItems / itemsPerPage);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PagniationIsLastPage } from '../../../pipes/pagination/total-pages/is-last-page.pipe';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wz-pagination',\n templateUrl: './pagination.component.html'\n})\nexport class PaginationComponent {\n @Input() set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Output() pageChange: EventEmitter<PaginationFilters> = new EventEmitter();\n\n constructor() {}\n\n decrementPage() {\n if (this.pagination.currentPage <= 1) {\n return;\n }\n this.pagination.currentPage--;\n this.pageChange.emit(this.pagination);\n }\n\n incrementPage() {\n const isLastPage = new PagniationIsLastPage().transform(\n this.pagination.currentPage,\n this.pagination.totalItems,\n this.pagination.itemsPerPage\n );\n if (isLastPage) {\n return;\n }\n this.pagination.currentPage++;\n this.pageChange.emit(this.pagination);\n }\n\n onGotoPageChange(pageNumber) {\n this.pagination.currentPage = parseInt(pageNumber);\n this.pageChange.emit(this.pagination);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ArrayTotalPages'\n})\nexport class PagniationArrayTotalPages implements PipeTransform {\n /**\n * Return an incremental array corresponding with the number page\n * [ 1, 2, 3 ..., last page number ]\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems: number, itemsPerPage: number): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n const arrayLength: number = Math.ceil(totalItems / itemsPerPage);\n return Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map((x: number) => x + 1);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'customPagniationText'\n})\nexport class PagniationText implements PipeTransform {\n constructor(private translateService: TranslateService) {}\n\n /**\n * Update pagination text if at least one entrie change\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage: number, totalItems: number, itemsPerPage: number): any {\n let currentItemsLow = 0,\n currentItemsHigh = 0;\n\n if (totalItems) {\n currentItemsLow = (currentPage - 1) * itemsPerPage + 1;\n currentItemsHigh = currentPage * itemsPerPage;\n }\n\n if (currentItemsHigh > totalItems) {\n currentItemsHigh = totalItems;\n }\n\n return this.translateService.instant('PaginationComponent.on', { low: currentItemsLow, high: currentItemsHigh, total: totalItems });\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wz-checkbox',\n templateUrl: './checkbox.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n alone = false;\n @Input()\n checked = false;\n @Input()\n id = '';\n @Input()\n name: string;\n disabled = false;\n constructor() {}\n private _onChange: Function;\n private _onTouched: Function;\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Output,\n Renderer2,\n Directive,\n ElementRef,\n Input,\n ComponentRef,\n ApplicationRef,\n EmbeddedViewRef,\n Injector,\n Type\n} from '@angular/core';\n\nimport { v4 as uuid } from 'uuid';\nimport { CheckboxComponent } from '../../components/shared/checkbox/checkbox.component';\n\n@Directive({\n selector: '[checkBoxRow]'\n})\nexport class CheckBoxRow {\n @Input('checkBoxId') checkBoxId: string | number;\n @Input('checkBoxName') checkBoxName: string;\n\n @Input('checkBoxValue') set checkBoxValue(value: boolean) {\n this._value = value;\n if (this.checkboxComponentRef) {\n this.setCheckBoxValue();\n }\n }\n _value: boolean;\n get checkBoxValue(): boolean {\n return this._value;\n }\n\n @Output() checkBoxValueChange: EventEmitter<boolean> = new EventEmitter();\n\n private checkboxComponentRef: ComponentRef<CheckboxComponent>;\n private htmlContainer: HtmlContainer;\n\n constructor(\n private currentRow: ElementRef,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private resolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n ngOnInit() {\n this.createCheckBoxComponent();\n this.handleChecboxInputs();\n this.handleCheckboxOutputs();\n }\n\n createCheckBoxComponent() {\n // Create the container\n const checkBoxContainer = document.createElement('div');\n checkBoxContainer.className = 'wz-table__body__line__cell wz-table__body__line__cell--checkbox';\n\n // Insert divCheckBox in the DOM as the first child of the row\n this.renderer.insertBefore(this.currentRow.nativeElement, checkBoxContainer, this.currentRow.nativeElement.firstChild);\n\n // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)\n this.htmlContainer = new HtmlContainer(checkBoxContainer, this.appRef, this.resolver, this.injector);\n this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);\n }\n\n private handleChecboxInputs() {\n this.checkboxComponentRef.instance.id = this.checkBoxId ? this.checkBoxId : uuid();\n this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;\n this.checkboxComponentRef.instance.alone = true;\n this.setCheckBoxValue();\n }\n\n private setCheckBoxValue() {\n this.checkboxComponentRef.instance.value = this.checkBoxValue;\n }\n\n private handleCheckboxOutputs() {\n // Detect checkbox changes\n this.checkboxComponentRef.instance.registerOnChange(() => {\n this._toggleCheckbox();\n });\n }\n\n private _toggleCheckbox() {\n this.checkBoxValue = !this.checkBoxValue;\n this.checkBoxValueChange.emit(this.checkBoxValue);\n }\n\n ngOnDestroy() {\n this.htmlContainer.dispose();\n }\n}\n\nexport class HtmlContainer {\n private attached: boolean = false;\n\n private disposeFn: () => void;\n\n constructor(\n private hostElement: Element,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n attach(component: Type<any>): ComponentRef<any> {\n if (this.attached) {\n throw new Error('component has already been attached');\n }\n\n this.attached = true;\n const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\n let componentRef = childComponentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n this.disposeFn = () => {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n };\n\n this.hostElement.appendChild((componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n return componentRef;\n }\n\n dispose() {\n if (this.attached) {\n this.disposeFn();\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[tableColumn]'\n})\nexport class TableColumn {\n @Input('columnSize') columnSize: string; // Optional.\n @Input('centerCell') centerCell: string; // Optional. left|center|right\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__body__line__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wz-table__body__line__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EventEmitter, Inject, Output } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { FiltersTableService, TableFilters } from '../../services/table/filters-table.service';\n\n@Directive({\n // The selector has the same name as the headerCell selector in table.component.html\n selector: '[headerCell]'\n})\nexport class TableColumnHeader {\n @Input('headerName') // Optional.\n set headerName(value: string) {\n this._headerName = value;\n this.setHeaderName();\n }\n _headerName: string = '';\n get headerName(): string {\n return this._headerName;\n }\n @Input('columnSize') columnSize: string; // Optional.\n @Input('filterRouting') filterRouting: boolean = false; // Optional. Set to true to use Filter Routing.\n @Input('tableName') tableName: string; // Optional, but mandatory to handle sorting\n @Input('sortName') sortName: string; // Optional, but mandatory to handle sorting\n @Input('centerCell') centerCell: string; // Optional. left|center|right\n @Output() onSortChange: EventEmitter<boolean> = new EventEmitter(); // Emit the sort value (true, false, undefuned) of the current sort icon when clicking\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n private contentHeader: HTMLAnchorElement;\n private filterGroup: NwbFilterGroup;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private currentCell: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private filtersTableService: FiltersTableService\n ) {}\n\n ngOnInit() {\n if (this.tableName && this.sortName) {\n if (this.filterRouting) {\n this.handleSortRouting();\n } else {\n this.handleSortBasic();\n }\n }\n }\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n this.renderHeaderColumn();\n }\n\n handleSortRouting() {\n this.filterGroup = this.filtersTableService.getTableFilterGroup(this.tableName);\n\n const filterGroupChangeSub = this.filterGroup.valuesChange$.subscribe(filters => {\n const filterSort = filters.filter(filter => filter.key === 'sort')[0];\n if (this.sortName !== filterSort.value) {\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(filterGroupChangeSub);\n }\n\n handleSortBasic() {\n const sortChangeSub = this.filtersTableService.getSortChangeListner().subscribe(sort => {\n if (this.tableName === sort.dataTableName && this.sortName !== sort.sortName) {\n // Reset the current sort icon\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(sortChangeSub);\n }\n\n resetSortIcon() {\n // Replace current icon with default icon\n this.contentHeader.className = this.contentHeader.className.replace(this.getCurrentSortIcon(), 'idle');\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__head__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wz-table__head__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n\n renderHeaderColumn() {\n this.createHeaderContent();\n this.renderer.appendChild(this.currentCell.nativeElement, this.contentHeader);\n }\n\n createHeaderContent() {\n this.contentHeader = document.createElement('a');\n this.contentHeader.className = 'wz-table__head__cell__search';\n this.setHeaderName();\n if (this.tableName && this.sortName) {\n this.handleSort();\n }\n }\n\n private setHeaderName() {\n if (!this.contentHeader) {\n return;\n }\n this.contentHeader.innerHTML = this.headerName;\n }\n\n handleSort() {\n // Set icon in the header column cell\n this.contentHeader.className += ' wz-table__head__cell__search--' + this.getInitialSortIcon();\n\n // On click on the content header, change the icon and emit event\n this.renderer.listen(this.contentHeader, 'click', () => {\n const currentIcon = this.getCurrentSortIcon();\n let newIcon: string;\n let newSort: string, newOrder: boolean;\n\n switch (currentIcon) {\n case 'idle':\n newIcon = 'up';\n newSort = this.sortName;\n newOrder = true;\n break;\n\n case 'up':\n newIcon = 'down';\n newSort = this.sortName;\n newOrder = false;\n break;\n\n case 'down':\n newIcon = 'idle';\n break;\n\n default:\n newIcon = 'idle';\n break;\n }\n // Replace the icon\n this.contentHeader.className = this.contentHeader.className.replace(currentIcon, newIcon);\n\n this.emitEvents(newSort, newOrder);\n });\n }\n\n getInitialSortIcon() {\n if (!this.filterRouting) {\n return 'idle';\n }\n // Get Initial Sort Icon for Routing Filter\n let initialSortIcon = 'idle';\n if (this.filterGroup.get('sort') === this.sortName) {\n initialSortIcon = this.filterGroup.get('order') == 'true' ? 'up' : 'down';\n }\n return initialSortIcon;\n }\n\n getCurrentSortIcon() {\n const regexp = /wz-table__head__cell__search--(?<icon>\\w+)/;\n const { groups } = regexp.exec(this.contentHeader.className);\n return groups.icon;\n }\n\n emitEvents(newSort, newOrder) {\n if (this.filterRouting) {\n // Will send the filter routing value has changes event\n this.filterGroup.setValues({\n sort: newSort,\n order: newOrder,\n currentPage: 1\n });\n } else {\n // Send the event sort change\n this.filtersTableService.emitSortChange(this.tableName, this.sortName, newOrder);\n }\n if (this.tableFilters) {\n this.tableFilters.sort = this.sortName;\n this.tableFilters.order = newOrder;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n }\n this.onSortChange.emit(newOrder);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => {\n subscription.unsubscribe();\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // The selector has the same name as the tableRaw selector in table.component.html\n selector: '[tableRow]'\n})\nexport class TableRow {\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__body__line');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ImgCDNService } from '../../services/config/img-cdn.service';\n\n@Pipe({\n name: 'imgSrc'\n})\nexport class ImageSrcPipe implements PipeTransform {\n\n constructor(private imgCDNService: ImgCDNService) { }\n\n transform(pictureName: string, size: string): string {\n if(!size) {\n throw \"The size is undefined in ImageSrcPipe.\";\n }\n\n const route: string = this.imgCDNService.getUrlImg(size);\n\n if (!route) {\n throw \"The expected size is not defined in ImageSrcPipe.\";\n }\n\n return route + pictureName;\n }\n}\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';\n\n@Directive({\n selector: 'AbstractDebounceDirective'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n protected emitEvent$: Subject<any>;\n protected subscription$: Subject<void>;\n\n constructor() {\n this.debounceTime = 500;\n this.onEventChange = new EventEmitter<any>();\n this.emitEvent$ = new Subject<any>();\n this.subscription$ = new Subject<void>();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n this.onEventChange.emit(value);\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\n@Directive({\n selector: 'input[debounceKeyUp]'\n})\nexport class DebounceKeyupDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n event.preventDefault();\n this.emitEvent$.next(event);\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wz-loader',\n templateUrl: './loader.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LoaderComponent {\n @Input()\n text: string;\n @Input()\n small = false;\n @Input()\n position: string;\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wz-alert',\n styleUrls: ['./alert.component.scss'],\n templateUrl: './alert.component.html'\n})\nexport class AlertComponent implements OnInit {\n @Input() icon = true;\n @Input() warning = false;\n @Input() success = false;\n @Input() iconClass = 'fas fa-info';\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'numberToArray'\n})\nexport class NumberToArray implements PipeTransform {\n\n transform(number: number): any[] {\n return Array.from('x'.repeat(number));\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wz-page-selector',\n templateUrl: './page-selector.component.html'\n})\nexport class PageSelectorComponent {\n\n @Input() set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Input() set totalItems(totalItems: number) {\n this.numberOfPage = Math.ceil(totalItems / this.pagination.itemsPerPage);\n this.largeNumberOfPage = this.numberOfPage > 30;\n }\n get totalItems(): number {\n return this._totalItems;\n }\n private _totalItems: number;\n openAbsoluteSelect:boolean = false;\n\n largeNumberOfPage: boolean = false;\n numberOfPage: number = 0;\n\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n\n constructor() {}\n\n onGotoPageChange(event, directValue) {\n if (directValue) {\n this.pageChange.emit(event);\n this.openAbsoluteSelect = false;\n } else {\n this.pageChange.emit(parseInt(event.target.value));\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LargeNumberOfPage'\n})\nexport class LargeNumberOfPagePipe implements PipeTransform {\n /**\n * Return an incremental array\n * Display 30 pages, from -15 to +15 of the current page\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems: number, itemsPerPage: number, currentPage: number): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n\n let arrayLength: number = 32;\n\n const startAtPage = currentPage <= 15 ? 0: currentPage - 15;\n const totalPage = Math.ceil(totalItems / itemsPerPage);\n\n\n\n const arrayWithPageNumber = Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map((x: number) => {\n\n const pageIndex:any = {\n display: startAtPage + x + 1,\n value: startAtPage + x + 1\n };\n\n if (x === arrayLength - 2) {\n pageIndex.display = '...';\n }\n if (x === arrayLength - 1) {\n pageIndex.display = totalPage;\n pageIndex.value = totalPage;\n }\n\n return pageIndex;\n });\n\n\n if (startAtPage) {\n arrayWithPageNumber.unshift(\n {\n display: 1,\n value: 1\n },\n {\n display: \"...\",\n value: 2\n }\n );\n }\n\n return arrayWithPageNumber;\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectItem } from './select-items.dto';\nimport { CalllToAction } from './call-to-action.model';\n\n@Component({\n selector: 'wac-select',\n templateUrl: './select.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }]\n})\nexport class SelectComponent implements OnInit, ControlValueAccessor {\n @Input()\n items: SelectItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string;\n\n @Input()\n search = false;\n\n @Input()\n type = 'default';\n\n @Input()\n callToAction: CalllToAction;\n\n @Input() maxWidth = '100%';\n\n @Input()\n disabled = false;\n\n @Output() selectValue = new EventEmitter<number>();\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n @ViewChild('search') searchElement: ElementRef;\n\n openCategories = false;\n searchValue = '';\n\n indexItemSelected: number = -1;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n this.indexItemSelected = this.items.findIndex(item => item.selected);\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(item: SelectItem, index: number) {\n return `${item.id}-${index}`;\n }\n\n onSelectItem(id: number) {\n this.unselectAll();\n this.setIndexItemSelected(id);\n const itemSelected: SelectItem = this.getItemSelected();\n itemSelected.selected = true;\n this.selectValue.emit(this.indexItemSelected);\n this.onChange(itemSelected);\n }\n\n onClickCallToAction() {\n this.onClose();\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n private getItemSelected(): SelectItem {\n return this.items[this.indexItemSelected];\n }\n\n showCategories() {\n this.openCategories = true;\n setTimeout(() => { // this will make the execution after the above boolean has changed\n this.searchElement.nativeElement.focus();\n }, 0);\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n\n private setIndexItemSelected(id: number) {\n this.indexItemSelected = this.items.findIndex(item => item.id === id);\n }\n\n // ControlValueAccessor methods\n\n onChange: (selectItem: SelectItem) => void = () => {};\n onTouch: any = () => {}\n\n writeValue(selectItem: any){\n if (!selectItem) {\n return;\n }\n this.unselectAll();\n selectItem.selected = true;\n this.setIndexItemSelected(selectItem.id);\n }\n\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectItem } from '../../components/shared/select/select-items.dto';\n\n@Pipe({\n name: 'selectFilters'\n})\n\nexport class SelectFiltersPipe implements PipeTransform {\n transform(items: SelectItem[], filterName: string): any {\n return items.filter(item => {\n const regexp = new RegExp(filterName, 'i');\n return regexp.test(item.name);\n });\n }\n}","import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\n\n@Directive({\n selector: '[zIndexToggle]'\n})\nexport class ZindexToggleDirective implements OnInit, OnDestroy {\n isActived = false;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n @Input('zIndexToggle')\n set isActive(value: boolean) {\n this.isActived = value;\n this.switchToggle();\n }\n get isActive(): boolean {\n return this.isActived;\n }\n\n constructor(private currentElement: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n }\n\n switchToggle() {\n if (this.isActived) {\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n } else {\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n }\n }\n\n ngOnDestroy(): void {\n }\n}\n","import { NgModule } from '@angular/core';\nimport { WzImgManagerComponent } from './wz-img-manager.component';\nimport { ImgUploadComponent } from './components/img-upload/img-upload.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ImgTabsComponent } from './components/img-tabs/img-tabs.component';\nimport { CommonModule } from '@angular/common';\nimport { DragDropDirective } from './directives/drag-drop.directive';\nimport { PexelLibComponent } from './components/pexels-lib/pexels-lib.component';\nimport { FormsModule } from '@angular/forms';\nimport { ImgCardComponent } from './components/images-view/mosaic-view/img-card/img-card.component';\nimport { NgScrollbarModule } from 'ngx-scrollbar';\nimport { NgScrollbarReachedModule } from 'ngx-scrollbar/reached-event';\nimport { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { UploadListComponent } from './components/upload-list/upload-list.component';\nimport { ImgEditorComponent } from './components/img-editor/img-editor.component';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CanvaBtnComponent } from './components/canva-btn/canva-btn.component';\nimport { ImgSelectionComponent } from './components/img-selection/img-selection.component';;\nimport { LoadingDirective } from './directives/loading.directive';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AutoHideDirective } from './directives/auto-hide.directive';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CopyClipboardDirective } from './directives/copy-to-clipboard.directive';\nimport { DropdownComponent } from './components/shared/dropdown/dropdown.component';\nimport { EditorInfoSectionComponent } from './components/img-editor/info-section/info-section.component';\nimport { CropperComponent } from './components/img-editor/cropper/cropper.component';\nimport { ImagesViewComponent } from './components/images-view/images-view.component';\nimport { MosaicViewComponent } from './components/images-view/mosaic-view/mosaic-view.component';\nimport { TableViewComponent } from './components/images-view/table-view/table-view.component';\nimport { TableComponent } from './components/shared/table/table.component';\nimport { InputSearchComponent } from './components/shared/input-search/input-search.component';\nimport { PaginationComponent } from './components/shared/pagination/pagination.component';\nimport { PagniationArrayTotalPages } from './pipes/pagination/array-total-pages/array-pages.pipe';\nimport { PagniationText } from './pipes/pagination/text/custom-text.pipe';\nimport { PagniationIsLastPage } from './pipes/pagination/total-pages/is-last-page.pipe';\nimport { CheckBoxRow } from './directives/table/checkBoxRow.directive';\nimport { TableColumn } from './directives/table/column.directive';\nimport { TableColumnHeader } from './directives/table/columnHeader.directive';\nimport { TableRow } from './directives/table/raw.directive';\nimport { CheckboxComponent } from './components/shared/checkbox/checkbox.component';\nimport { ImageSrcPipe } from './pipes/images/img-src.pipe';\nimport { AbstractDebounceDirective } from './directives/abstract-debounce/abstract-debounce.directive';\nimport { DebounceKeyupDirective } from './directives/abstract-debounce/debounce-keyup.directive';\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { AlertComponent } from './components/shared/alert/alert.component';\nimport { NumberToArray } from './pipes/number-to-array.pipe';\nimport { PageSelectorComponent } from './components/shared/pagination/page-selector/page-selector.component';\nimport { LargeNumberOfPagePipe } from './pipes/pagination/large-number-of-page/large-number-of-page.pipe';\nimport { SelectComponent } from './components/shared/select/select.component';\nimport { SelectFiltersPipe } from './pipes/select/select-filters.pipe';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { ZindexToggleDirective } from './directives/zindex-toggle.directive';\n\nconst components = [\n WzImgManagerComponent,\n ImgTabsComponent,\n ImgUploadComponent,\n PexelLibComponent,\n ImgCardComponent,\n UploadListComponent,\n ImgEditorComponent,\n EditorInfoSectionComponent,\n CanvaBtnComponent,\n ImgSelectionComponent,\n LoaderComponent,\n DropdownComponent,\n CropperComponent,\n ImagesViewComponent,\n MosaicViewComponent,\n TableViewComponent,\n TableComponent,\n InputSearchComponent,\n PaginationComponent,\n CheckboxComponent,\n AlertComponent,\n PageSelectorComponent,\n SelectComponent\n];\n\nconst directives = [\n DragDropDirective,\n LoadingDirective,\n AutoHideDirective,\n CopyClipboardDirective,\n TableColumn,\n CheckBoxRow,\n TableColumnHeader,\n TableRow,\n AbstractDebounceDirective,\n DebounceKeyupDirective,\n ZindexToggleDirective\n];\n\nconst pipes = [\n PagniationArrayTotalPages,\n PagniationIsLastPage,\n PagniationText,\n ImageSrcPipe,\n NumberToArray,\n LargeNumberOfPagePipe,\n SelectFiltersPipe\n];\n\n@NgModule({\n declarations: [\n ...components,\n ...directives,\n ...pipes\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n NgScrollbarModule,\n NgScrollbarReachedModule,\n NwbAllModule,\n ImageCropperModule,\n CdkTableModule,\n DragDropModule,\n TranslateModule,\n PerfectScrollbarModule\n ],\n providers: [],\n exports: [\n WzImgManagerComponent]\n})\nexport class WzImgManagerModule { }\n","import { CanvaCreateDesign } from \"./canva-create-design.dto\";\n\nexport class CanvaButtonApi {\n createDesign: (\n opts: {\n design: CanvaCreateDesign,\n editor?: {\n publishLabel: string,\n fileType: string\n }\n onDesignOpen?: (\n opts: { designId: string, designTitle: string }\n ) => void,\n onDesignPublish?: (\n opts: { exportUrl: string, designId: string, designTitle: string }\n ) => void,\n onDesignClose?: () => void\n }\n ) => void;\n editDesign: (opts: {\n opts: {\n design: {\n id: any\n },\n editor?: {\n publishLabel: string,\n fileType: string\n }\n onDesignOpen?: (\n opts: { designId: string, designTitle: string }\n ) => void,\n onDesignPublish?: (\n opts: { exportUrl: string, designId: string, designTitle: string }\n ) => void,\n onDesignClose?: () => void\n }\n }) => void;\n};","export class ImgApiDto {\n shop_token: string;\n image_manager_route = '';\n pexels_token: string;\n pexels_route = '';\n shop_category: string;\n canva_token: string;\n canva_url = '';\n assets_route: string = 'assets/img-manager/';\n}\n","export class ImgCDNConfigDTO {\n url_raw_image = '';\n url_100_image = '';\n url_200_image = '';\n url_400_image = '';\n url_800_image = '';\n}"],"names":["ReplaySubject","Observable","Injectable","http","HttpParams","HttpHeaders","HttpClient","NwbAlertService","TranslateService","Subject","BehaviorSubject","take","EventEmitter","Input","Output","HostListener","Component","trigger","state","style","transition","animate","forkJoin","ViewChild","ElementRef","debounceTime","Router","HostBinding","Directive","map","query","stagger","NwbFilterRoutingBuilder","uuid","ViewEncapsulation","NG_VALUE_ACCESSOR","Pipe","ApplicationRef","Renderer2","Inject","DOCUMENT","ComponentFactoryResolver","Injector","takeUntil","distinctUntilChanged","tap","NgModule","CommonModule","HttpClientModule","FormsModule","NgScrollbarModule","NgScrollbarReachedModule","NwbAllModule","ImageCropperModule","CdkTableModule","DragDropModule","TranslateModule","PerfectScrollbarModule"],"mappings":"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"}
1
+ {"version":3,"file":"wizishop-img-manager.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@wizishop/img-manager/lib/services/img-selection.service.ts","ng://@wizishop/img-manager/lib/dto/config/external/external-config.dto.ts","ng://@wizishop/img-manager/lib/services/img-manager.service.ts","ng://@wizishop/img-manager/lib/services/config/img-cdn.service.ts","ng://@wizishop/img-manager/lib/services/config/external-config.service.ts","ng://@wizishop/img-manager/lib/services/user-settings.service.ts","ng://@wizishop/img-manager/lib/services/alert.service.ts","ng://@wizishop/img-manager/lib/services/img-event.service.ts","ng://@wizishop/img-manager/lib/services/canva.service.ts","ng://@wizishop/img-manager/lib/services/dom.service.ts","ng://@wizishop/img-manager/lib/wz-img-manager.component.ts","ng://@wizishop/img-manager/lib/animations/easeInOut/ease-in-out.animation.ts","ng://@wizishop/img-manager/lib/components/img-upload/img-upload.component.ts","ng://@wizishop/img-manager/lib/services/rename-picture.service.ts","ng://@wizishop/img-manager/lib/components/upload-list/upload-list.component.ts","ng://@wizishop/img-manager/lib/components/img-tabs/img-tabs.component.ts","ng://@wizishop/img-manager/lib/directives/drag-drop.directive.ts","ng://@wizishop/img-manager/lib/services/pexels.service.ts","ng://@wizishop/img-manager/lib/animations/listAnnimation/list.animation.ts","ng://@wizishop/img-manager/lib/components/pexels-lib/pexels-lib.component.ts","ng://@wizishop/img-manager/lib/components/images-view/images-actions-handler.ts","ng://@wizishop/img-manager/lib/components/images-view/mosaic-view/img-card/img-card.component.ts","ng://@wizishop/img-manager/lib/components/img-editor/img-editor.component.ts","ng://@wizishop/img-manager/lib/components/canva-btn/canva-btn.component.ts","ng://@wizishop/img-manager/lib/components/img-selection/img-selection.component.ts","ng://@wizishop/img-manager/lib/directives/loading.directive.ts","ng://@wizishop/img-manager/lib/directives/auto-hide.directive.ts","ng://@wizishop/img-manager/lib/directives/copy-to-clipboard.directive.ts","ng://@wizishop/img-manager/lib/components/shared/dropdown/dropdown.component.ts","ng://@wizishop/img-manager/lib/components/img-editor/info-section/info-section.component.ts","ng://@wizishop/img-manager/lib/animations/insertRemove/insert-remove.animation.ts","ng://@wizishop/img-manager/lib/components/img-editor/cropper/cropper.component.ts","ng://@wizishop/img-manager/lib/components/images-view/images-view.component.ts","ng://@wizishop/img-manager/lib/components/images-view/mosaic-view/mosaic-view.component.ts","ng://@wizishop/img-manager/lib/components/images-view/table-view/table-view.component.ts","ng://@wizishop/img-manager/lib/services/table/filters-table.service.ts","ng://@wizishop/img-manager/lib/components/shared/table/table.component.ts","ng://@wizishop/img-manager/lib/components/shared/input-search/input-search.component.ts","ng://@wizishop/img-manager/lib/pipes/pagination/total-pages/is-last-page.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/pagination/pagination.component.ts","ng://@wizishop/img-manager/lib/pipes/pagination/array-total-pages/array-pages.pipe.ts","ng://@wizishop/img-manager/lib/pipes/pagination/text/custom-text.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/checkbox/checkbox.component.ts","ng://@wizishop/img-manager/lib/directives/table/checkBoxRow.directive.ts","ng://@wizishop/img-manager/lib/directives/table/column.directive.ts","ng://@wizishop/img-manager/lib/directives/table/columnHeader.directive.ts","ng://@wizishop/img-manager/lib/directives/table/raw.directive.ts","ng://@wizishop/img-manager/lib/pipes/images/img-src.pipe.ts","ng://@wizishop/img-manager/lib/directives/abstract-debounce/abstract-debounce.directive.ts","ng://@wizishop/img-manager/lib/directives/abstract-debounce/debounce-keyup.directive.ts","ng://@wizishop/img-manager/lib/components/loader/loader.component.ts","ng://@wizishop/img-manager/lib/components/shared/alert/alert.component.ts","ng://@wizishop/img-manager/lib/pipes/number-to-array.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/pagination/page-selector/page-selector.component.ts","ng://@wizishop/img-manager/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.ts","ng://@wizishop/img-manager/lib/components/shared/select/select.component.ts","ng://@wizishop/img-manager/lib/pipes/select/select-filters.pipe.ts","ng://@wizishop/img-manager/lib/directives/zindex-toggle.directive.ts","ng://@wizishop/img-manager/lib/wz-img-manager.module.ts","ng://@wizishop/img-manager/lib/dto/canva.dto.ts","ng://@wizishop/img-manager/lib/dto/config/apis/api.dto.ts","ng://@wizishop/img-manager/lib/dto/config/image-cdn/image-cdn-config.dto.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\nimport { Subscriber, Observable, ReplaySubject } from 'rxjs';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgSelectionService {\n\n imgSelectedList: ImgPictureDTO[] = [];\n multipleImgMode: boolean = false;\n private imgSelectionSubscriber: Subscriber<any>[] = [];\n private imgListLoading: ReplaySubject<boolean> = new ReplaySubject<boolean>();\n\n constructor() {}\n\n getImgSelection() {\n return this.imgSelectedList;\n }\n\n // Use in img manager webelement, when the product img selection is retrieved\n setImgSelection(imgSelectedList: ImgPictureDTO[]) {\n this.imgSelectedList.length = 0;// Remove all the elements from the array and keep the reference\n\n if (imgSelectedList && imgSelectedList.length) {\n imgSelectedList.forEach(elem => this.imgSelectedList.push(elem));\n }\n this.emitImgSelectionChange();\n }\n\n addImgSelected(picture : ImgPictureDTO) {\n if (this.multipleImgMode) {\n this.imgSelectedList.push(picture);\n } else {\n this.imgSelectedList = [picture];\n }\n this.emitImgSelectionChange();\n }\n\n getImgSelectionChange() {\n const obsImgSelection = new Observable<ImgPictureDTO[]>(subscriber => {\n this.imgSelectionSubscriber.push(subscriber);\n });\n return obsImgSelection;\n }\n\n emitImgSelectionChange() {\n this.imgSelectionSubscriber.map(obs =>\n obs.next(JSON.parse(JSON.stringify(this.imgSelectedList)))\n );\n }\n\n removeImgSelectedByIndex(index: number) {\n this.imgSelectedList.splice(index, 1);\n this.emitImgSelectionChange();\n }\n\n removeImgSelectedById(id_file: string) {\n if (!this.multipleImgMode) {\n this.imgSelectedList = [];\n return;\n }\n let index = 0;\n for (const img of this.imgSelectedList) {\n if(img.id_file === id_file) {\n this.removeImgSelectedByIndex(index);\n break;\n }\n index++;\n }\n }\n\n removeImgSelectionByIds(id_file_list: string[]) {\n if (!this.multipleImgMode) {\n this.imgSelectedList = [];\n return;\n }\n\n for (let index = this.imgSelectedList.length -1; index > -1 ; index--) {\n const id_file = this.imgSelectedList[index].id_file;\n if (id_file_list.indexOf(id_file) !== -1) {\n this.removeImgSelectedByIndex(index);\n }\n }\n }\n\n removeAllImgSelected() {\n this.imgSelectedList.length = 0;\n this.emitImgSelectionChange();\n // Remove all the elements from the array and keep the reference\n }\n\n setMultipleImgMode(activated: boolean) {\n this.multipleImgMode = activated;\n }\n\n initImgSelectedList(imgSelectedList: ImgPictureDTO[]) {\n // Retrieve the imgSelectedList from parameter\n if (imgSelectedList) {\n this.imgSelectedList = imgSelectedList;\n return;\n }\n // Remove all elements from imgSelectedList\n if (this.imgSelectedList && this.imgSelectedList.length) {\n this.imgSelectedList.splice(0, this.imgSelectedList.length);\n return;\n }\n this.imgSelectedList = [];\n }\n\n /**\n * Use to display the loader on img selection list\n * @param loading\n */\n emitImgListLoading(loading: boolean){\n this.imgListLoading.next(loading);\n }\n\n /**\n * Use to display the loader on img selection list\n * @param loading\n */\n getImgListLoadingEventListner(){\n return this.imgListLoading.asObservable();\n }\n\n /**\n * Use angular cdk function\n * Called by img selection component\n * @param event\n */\n moveImgOrder(event: CdkDragDrop<string[]>) {\n const fromIndex = event.previousIndex;\n const toIndex = event.currentIndex;\n this.imgSelectedList.splice(toIndex, 0, this.imgSelectedList.splice(fromIndex, 1)[0]);\n this.emitImgSelectionChange();\n }\n}\n","import { ImgApiDto } from '../apis/api.dto';\nimport { ImgCDNConfigDTO } from '../image-cdn/image-cdn-config.dto';\n\nexport class ImgManagerConfigDto {\n api: ImgApiDto;\n imgCDNConfig : ImgCDNConfigDTO;\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from \"rxjs\";\nimport { ParamsImgManagerDTO } from '../dto/img-manager.dto';\nimport { ImgManagerDisplayConfig } from '../dto/export-dtos.api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgManagerService {\n\n imgManagerRoute: string;\n shopToken: string;\n\n params = new HttpParams().set(\"limit\",\"20\").set(\"page\",\"1\");\n\n // Display the img selection\n private pageFicheProductConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: true,\n showImgManagerModule: true,\n showSelection: true,\n displayBtn: true,\n pageficheProduct: true\n }\n\n private angularFicheProductConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: true,\n showImgManagerModule: true,\n showSelection: true,\n displayBtn: false,\n pageficheProduct: true\n }\n\n private wiziblockConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: false,\n showImgManagerModule: true,\n showSelection: false,\n displayBtn: false\n }\n\n private simpleWithButtonOpenerConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'closed',\n multipleImgMode: false,\n showImgManagerModule: true,\n showSelection: false,\n displayBtn: true\n }\n\n private fullWindowConfig: ImgManagerDisplayConfig = {\n stateDisplayed: 'window',\n multipleImgMode: false,\n showImgManagerModule: true,\n showSelection: false,\n displayBtn: false\n }\n\n constructor(private http: HttpClient) { }\n\n setApiConfig(img_manager_route: string, shop_token: string) {\n this.imgManagerRoute = img_manager_route;\n this.shopToken = shop_token;\n }\n\n private getOptionsHeaders(params?: ParamsImgManagerDTO) {\n const header = { headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.shopToken\n })\n };\n if (params) {\n this.getParams(params);\n header['params'] = this.params\n }\n return header;\n }\n\n getShopImgList(params?: ParamsImgManagerDTO): Observable<any> {\n return this.http.get(`${this.imgManagerRoute}/images`, this.getOptionsHeaders(params));\n }\n\n getShopTotalImgList(params?: ParamsImgManagerDTO): Observable<any> {\n return this.http.get(`${this.imgManagerRoute}/total/image`, this.getOptionsHeaders(params));\n }\n\n getShopImg(idFile: string): Observable<any> {\n return this.http.get(`${this.imgManagerRoute}/images/${idFile}`, this.getOptionsHeaders());\n }\n\n getParams(params: ParamsImgManagerDTO){\n this.params = new HttpParams();\n this.params = this.params.set('id_file:sort', 'desc');\n for (const param in params) {\n this.params = this.params.set(param, params[param]);\n }\n }\n\n uploadFile(formData: FormData) {\n return this.http.post(`${this.imgManagerRoute}/images/template`, formData, this.getOptionsHeaders());\n }\n\n uploadFileByUrl(url: string, fileName?: string) {\n const body = {\n url,\n fileName\n };\n return this.http.post(`${this.imgManagerRoute}/images/template`, { url, fileName }, this.getOptionsHeaders());\n }\n\n replaceImg(imageBase64: string, id_file: string) {\n const body = {\n imageBase64,\n type : \"RAW\"\n }\n return this.http.put(`${this.imgManagerRoute}/images/${id_file}/replace`, body, this.getOptionsHeaders());\n }\n\n changeImgName(fileName: string, id_file: string) {\n return this.http.put(`${this.imgManagerRoute}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());\n }\n\n removeImg(id_file: string) {\n return this.http.delete(`${this.imgManagerRoute}/images/${id_file}`, this.getOptionsHeaders());\n }\n\n removeMultipleImg(id_array: string[]){\n return this.http.post(`${this.imgManagerRoute}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());\n }\n\n getImgManagerDisplayConfig(displayName: \"window\" | \"wizi-block\" | \"fiche-product\" | \"simple-with-button\" | 'angular-fiche-product') {\n switch (displayName) {\n case \"window\":\n return this.fullWindowConfig;\n\n case \"wizi-block\":\n return this.wiziblockConfig;\n\n case \"fiche-product\":\n return this.pageFicheProductConfig;\n\n case \"simple-with-button\":\n return this.simpleWithButtonOpenerConfig;\n\n case 'angular-fiche-product':\n return this.angularFicheProductConfig\n\n default:\n return;\n }\n }\n\n getAllImgManagerDisplayConfig(): ImgManagerDisplayConfig[] {\n return [\n this.fullWindowConfig,\n this.wiziblockConfig,\n this.pageFicheProductConfig,\n this.simpleWithButtonOpenerConfig,\n ]\n }\n}","import { Injectable } from '@angular/core';\nimport { ImgCDNConfigDTO } from '../../dto/config/image-cdn/image-cdn-config.dto';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgCDNService {\n\n imgCDNConfig: ImgCDNConfigDTO = null;\n\n constructor() {}\n\n setImgCDNConfig(imgCDNConfig: ImgCDNConfigDTO) {\n this.imgCDNConfig = imgCDNConfig;\n }\n\n getUrlImg(size: '100'|'200'|'400'|'800'|'raw'|string) {\n const urlProperty = Object.keys(this.imgCDNConfig)\n .filter(url =>\n new RegExp(size, 'i').test(url)\n )[0];\n\n return this.imgCDNConfig[urlProperty];\n }\n\n getAllSize(): string[] {\n return Object.keys(this.imgCDNConfig)\n .map(elem =>\n elem.match(/_(\\w+)_/)[1]\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ImgManagerConfigDto } from '../../dto/config/external/external-config.dto';\nimport { ImgManagerService } from '../img-manager.service';\nimport { ImgCDNService } from './img-cdn.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImgManagerConfigService {\n\n externalConfig: ImgManagerConfigDto;\n\n constructor(\n private imgManagerService: ImgManagerService,\n private imgCDNService: ImgCDNService\n ) {}\n\n /**\n * Set imgManagerService and imgCDNService\n * Canva and Pexel service retrieve the externalConfig at their initialization\n * @param externalConfig\n */\n setExternalConfig(externalConfig: ImgManagerConfigDto) {\n this.externalConfig = externalConfig;\n this.imgManagerService.setApiConfig(externalConfig.api.image_manager_route, externalConfig.api.shop_token);\n this.imgCDNService.setImgCDNConfig(externalConfig.imgCDNConfig);\n }\n\n getCanvaApiURL() {\n return this.externalConfig.api.canva_url;\n }\n\n getCanvaApiToken() {\n return this.externalConfig.api.canva_token;\n }\n\n getRouteAssets() {\n return this.externalConfig.api.assets_route;\n }\n\n getPexelsApiURL() {\n return this.externalConfig.api.pexels_route;\n }\n\n getPexelsApiToken() {\n return this.externalConfig.api.pexels_token;\n }\n\n getShopCategory() {\n return this.externalConfig.api.shop_category;\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserSettingsService {\n\n private userdisplayPreference = 'WzImgManagerListDisplayed';\n\n constructor() {\n }\n\n /**\n * true : display list\n * false : display mosaic\n * @param value\n */\n setUserDisplayPreference(value: boolean) {\n localStorage.setItem(this.userdisplayPreference, '' + value);\n }\n\n getUserDisplayPreference(): boolean {\n const value = localStorage.getItem(this.userdisplayPreference);\n return value == 'true';\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NwbAlertConfig, NwbAlertComponent } from '@wizishop/ng-wizi-bulma';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NwbAlertService } from '@wizishop/ng-wizi-bulma';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n\n actionMsg = 'ImgManager.alert.action';\n\n alertConfig: NwbAlertConfig = {\n message: '',\n duration: 5000\n }\n\n private alertRefComponent: NwbAlertComponent;\n\n constructor(\n private nwbAlertService: NwbAlertService,\n private translateService: TranslateService\n ) { }\n\n openAlert(msgKey: string) {\n this.closePreviousAlert();\n this.translateService.get(msgKey).subscribe(trans => {\n this.alertConfig.message = trans;\n this.setAlertColor(msgKey);\n\n this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);\n this.alertRefComponent.afterClosed().subscribe();\n });\n }\n\n openAlertWithBackendRespons(msgKey: string, msgBackend: string) {\n this.translateService.get(msgKey).subscribe(trans => {\n this.alertConfig.message = trans;\n this.alertConfig.message += '<br/>' + JSON.parse(msgBackend).message;\n\n this.closePreviousAlert();\n this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);\n this.alertRefComponent.afterClosed().subscribe();\n });\n }\n\n private closePreviousAlert() {\n if (this.alertRefComponent) {\n this.alertRefComponent.dismiss();\n }\n }\n\n private setAlertColor(msgKey: string) {\n const isErrorMsg: boolean = /error/i.test(msgKey);\n this.alertConfig.color = isErrorMsg ? 'is-danger' : 'is-success';\n }\n}\n","import {Injectable} from '@angular/core';\nimport { Subject } from \"rxjs\";\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\n\n@Injectable({\n providedIn: 'root'\n })\nexport class ImgEventService {\n\n constructor() { }\n\n private imgToEditEvent: Subject<ImgPictureDTO> = new Subject<ImgPictureDTO>();\n private imgRemoved: Subject<string> = new Subject<string>();\n private imgAdded: Subject<string> = new Subject<string>();\n private listDisplayedChange: Subject<boolean> = new Subject<boolean>();\n\n emitImgRemoved(id_file: string){\n this.imgRemoved.next(id_file);\n }\n\n getImgRemovedEventListner(){\n return this.imgRemoved.asObservable();\n }\n\n emitImgToEdit(imgToEdit: ImgPictureDTO){\n this.imgToEditEvent.next(imgToEdit);\n }\n\n getImgToEditEventListner(){\n return this.imgToEditEvent.asObservable();\n }\n\n emitImgAdded(id_file: string){\n this.imgAdded.next(id_file);\n }\n\n getImgAddedEventListner(){\n return this.imgAdded.asObservable();\n }\n\n emitlistDisplayedChange(value: boolean){\n this.listDisplayedChange.next(value);\n }\n\n getlistDisplayedChange(){\n return this.listDisplayedChange.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subscriber, BehaviorSubject } from 'rxjs';\nimport { CanvaButtonApi } from '../dto/canva.dto';\nimport { ImgManagerConfigService } from './config/external-config.service';\nimport { WiziBlockMediaDto } from '../dto/wizi-block-media.dto';\nimport { AlertService } from './alert.service';\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\nimport { ImgManagerService } from './img-manager.service';\nimport { ImgEventService } from './img-event.service';\nimport { take } from 'rxjs/operators';\nimport { CanvaCreateDesign } from '../dto/canva-create-design.dto';\nimport { TranslateService } from '@ngx-translate/core';\n\ndeclare let Canva : {\n DesignButton : {\n initialize: (opts: { apiKey: string }) => Promise<CanvaButtonApi>;\n }\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanvaService {\n\n canvaApi; // Object use to manage the canva api\n canvaApiURL: string;\n canvaApiKey: string;\n canvaLogoRoute: string;\n\n imgLoading = false;\n uploadingImg = 'ImgManager.CanvaBtn.uploadingImg';\n successUploadPhoto = 'ImgManager.CanvaBtn.successImport';\n errorUploadCanvaImg = 'ImgManager.CanvaBtn.errorUploadCanvaImg';\n errorRenameCanvaImg = 'ImgManager.CanvaBtn.errorRenameCanvaImg';\n\n forceToOpenCanva: boolean = false;\n\n private bindExpectedImgSizeEvent: BehaviorSubject<WiziBlockMediaDto> = new BehaviorSubject<WiziBlockMediaDto>(null);\n private bindExpectedSizeDone = this.bindExpectedImgSizeEvent.asObservable();\n\n constructor(\n private externalConfigService: ImgManagerConfigService,\n private imgManager: ImgManagerService,\n private wzImgEventService: ImgEventService,\n private alertService: AlertService,\n private translateService: TranslateService\n ) { }\n\n private setCanvaApiConfig() {\n this.canvaApiURL = this.externalConfigService.getCanvaApiURL();\n this.canvaApiKey = this.externalConfigService.getCanvaApiToken();\n }\n\n getCanvaLogo() {\n return this.externalConfigService.getRouteAssets() + \"canva/icon_canva.svg\";\n }\n\n bindEventExepectedImgSizeChange() {\n return this.bindExpectedSizeDone;\n }\n\n expectedImgSizesChange (mediaDTO: WiziBlockMediaDto){\n this.bindExpectedImgSizeEvent.next(mediaDTO);\n if (this.forceToOpenCanva) {\n this.openCanva(parseInt(mediaDTO.image_width), parseInt(mediaDTO.image_height));\n }\n }\n\n getCanvaApi():Observable<CanvaButtonApi> {\n if (!this.canvaApiURL || !this.canvaApiKey) {\n this.setCanvaApiConfig();\n }\n return new Observable(observer => {\n this.loadCanva().subscribe({\n complete: () => {\n if(this.canvaApi && Canva.DesignButton) {\n observer.next(this.canvaApi);\n observer.complete();\n } else {\n this.initializeCanva(observer);\n }\n }\n })\n });\n }\n\n private initializeCanva(observer: Subscriber<CanvaButtonApi>) {\n if (Canva.DesignButton) {\n Canva.DesignButton.initialize({\n apiKey: this.canvaApiKey\n\n }).then((canvaApi) => {\n this.canvaApi = canvaApi;\n observer.next(this.canvaApi);\n observer.complete();\n });\n }\n }\n\n private loadCanva():Observable<null> {\n return new Observable(observer => {\n if(this.canvaApi) {\n observer.complete();\n }else{\n this.loadCanvaScript(observer);\n }\n });\n }\n\n private loadCanvaScript(observer: Subscriber<null>) {\n\n const node = document.createElement('script');\n node.src = this.canvaApiURL;\n node.type = 'text/javascript';\n node.async = false;\n node.charset = 'utf-8';\n node.onload = () => {\n observer.complete();\n }\n document.getElementsByTagName('head')[0].appendChild(node);\n }\n\n openCanva(width: number, height: number) {\n if (this.imgLoading) {\n return;\n }\n this.getCanvaApi().pipe(take(1)).subscribe((api: CanvaButtonApi) => {\n this.canvaApi = api;\n this.addOverflowBody();\n this.createDesign(width, height);\n });\n }\n\n private addOverflowBody() {\n document.body.classList.add('ovh-canva');\n }\n\n private removeOverflowBody() {\n document.body.classList.remove('ovh-canva');\n }\n\n private createDesign(width: number, height: number) {\n const createDesign: CanvaCreateDesign = {\n type: 'EtsyShopIcon',\n dimensions : {\n units: 'px',\n width: width ? width : undefined,\n height: height ? height : undefined,\n },\n publishLabel: this.translateService.instant('ImgManager.CanvaBtn.publish'),\n };\n this.canvaApi.createDesign({\n design: createDesign,\n onDesignPublish: ({ exportUrl, designTitle }) => this.designPublished(exportUrl, designTitle),\n onDesignClose: () => {\n this.removeOverflowBody();\n }\n\n });\n }\n\n private designPublished(exportUrl: string, designTitle: string) {\n this.alertService.openAlert(this.uploadingImg);\n this.imgLoading = true;\n\n\n this.imgManager.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe(\n (img: ImgPictureDTO) => {\n this.imgLoading = false;\n this.removeOverflowBody();\n\n this.wzImgEventService.emitImgAdded(img.id_file);\n this.alertService.openAlert(this.successUploadPhoto);\n },\n error => {\n this.imgLoading = false;\n this.removeOverflowBody();\n\n if (error.error.code === 406 && error.error.message) {\n this.alertService.openAlertWithBackendRespons(this.errorUploadCanvaImg, error.error.message)\n } else {\n this.alertService.openAlert(this.errorUploadCanvaImg);\n }\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n private documentEventSource = new Subject();\n private documentEventDone = this.documentEventSource.asObservable();\n\n private documentScrollSource = new Subject();\n private documentScrollDone = this.documentScrollSource.asObservable();\n\n documentEvent() {\n return this.documentEventDone;\n }\n\n setDocumentEventListener() {\n document.body.addEventListener('click', event => {\n this.documentEventSource.next(event.target);\n });\n }\n\n documentScroll() {\n return this.documentScrollDone;\n }\n\n setScrollEventListener() {\n window.onscroll = () => {\n this.documentScrollSource.next(window);\n };\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImgSelectionService } from './services/img-selection.service';\nimport { ImgManagerConfigDto } from './dto/config/external/external-config.dto';\nimport { ImgManagerConfigService } from './services/config/external-config.service';\nimport { Subscription } from 'rxjs';\nimport { UserSettingsService } from './services/user-settings.service';\nimport { CanvaService } from './services/canva.service';\nimport { ImgEventService } from './services/img-event.service';\nimport { DomService } from './services/dom.service';\nimport { HostListener } from '@angular/core';\nimport { stateDisplayed } from '../public-api';\nimport { WiziBlockMediaDto } from './dto/wizi-block-media.dto';\n\n@Component({\n selector: 'wz-img-manager',\n templateUrl: './wz-img-manager.component.html'\n})\nexport class WzImgManagerComponent implements OnInit {\n @Input() stateDisplayed: stateDisplayed;\n @Input() showSelection: boolean = false;\n @Input() externalConfig: ImgManagerConfigDto;\n\n // If forceToOpenCanva is true : Canva will open with the canvaService.expectedImgSizesChange\n // If forceToOpenCanva is a WiziBlockMediaDto, Canva open immediatly\n @Input() set forceToOpenCanva(forceToOpenCanva: boolean|WiziBlockMediaDto) {\n this.canvaService.forceToOpenCanva = !!forceToOpenCanva;\n\n if (typeof forceToOpenCanva === 'boolean') {\n return;\n }\n\n this.canvaService.expectedImgSizesChange(forceToOpenCanva);\n }\n\n @Output() imgManagerClosed = new EventEmitter();\n private _multipleImgMode: boolean = false;\n\n @Input() set multipleImgMode(activate: boolean) {\n this._multipleImgMode = activate;\n this.imgSelectionService.setMultipleImgMode(this._multipleImgMode);\n }\n\n get multipleImgMode(): boolean {\n return this._multipleImgMode;\n }\n\n _showImgManagerModule: boolean = false;\n @Input() set showImgManagerModule(activate: boolean) {\n this._showImgManagerModule = activate;\n if (activate) {\n this.displaySmall();\n }\n }\n\n get showImgManagerModule(): boolean {\n return this._multipleImgMode;\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.stateDisplayed && this.stateDisplayed !== 'window') {\n this.onClose();\n }\n }\n\n close: boolean = false\n selectImgEvent: Subscription;\n listDisplayed: boolean = false;\n listDisplayedEvent: Subscription;\n hideTab: boolean = false;\n // Save the defaut overflow apply to html tag, when the module is full open\n private overflowHTML: string;\n private bodyPadding: number;\n\n constructor(\n private imgSelectionService: ImgSelectionService,\n private externalConfigService: ImgManagerConfigService,\n private userSettingsService: UserSettingsService,\n private canvaService: CanvaService,\n private imgEventService: ImgEventService,\n private domService: DomService\n ) {}\n\n ngOnInit(): void {\n this.externalConfigService.setExternalConfig(this.externalConfig);\n this.imgSelectionService.setMultipleImgMode(this._multipleImgMode);\n this.imgSelectionService.initImgSelectedList(null);\n this.selectImgEvent = this.imgSelectionService.getImgSelectionChange().subscribe(imgSlection =>{\n\n if (imgSlection && imgSlection.length && this.checkCloseImgManager()) {\n // Close the img manager\n this.onClose();\n }\n });\n this.checkUserDisplayPreference();\n // Use when the img manager is full open or open in page. This display the user preference display, mosaic or list.\n this.listDisplayedEvent = this.imgEventService.getlistDisplayedChange().subscribe(value => this.listDisplayed = value);\n // Register dom service to listen on all event on the body to avoid having multiple instance of the same thing every where\n this.domService.setDocumentEventListener();\n }\n\n checkUserDisplayPreference() {\n if (this.stateDisplayed === 'window' || this.stateDisplayed === 'full') {\n this.listDisplayed = this.userSettingsService.getUserDisplayPreference();\n }\n }\n\n setCurrentTab(event) {\n if (event === 'img-edition') {\n this.hideTab = true;\n return;\n }\n this.hideTab = false;\n }\n\n displaySmall() {\n if (this.stateDisplayed !== 'window') {\n setTimeout(() => {\n this.stateDisplayed = 'small';\n this.addBodyBottomPaddingForModule();\n }, 10);\n }\n }\n\n openSmall() {\n this.stateDisplayed = 'small';\n this.setBodyMainScroll();\n this.listDisplayed = false;\n }\n\n openFull() {\n this.stateDisplayed = 'full';\n this.checkUserDisplayPreference();\n this.hideBodyMainScroll();\n }\n\n onClose() {\n this.stateDisplayed = 'closed';\n this.hideTab = false;\n this.setBodyMainScroll();\n this.removeBodyBottomPaddingForModule();\n // Wait the end of the closing annimation\n setTimeout(() => {\n this.imgManagerClosed.emit();\n }, 250);\n }\n\n onImgManagerClosed() {\n this.onClose();\n }\n\n /**\n * Close the img manager after one img is selected, if not in multiple img to select\n */\n checkCloseImgManager() {\n return !this.multipleImgMode && this.stateDisplayed !== 'window' ? true : false;\n }\n\n hideBodyMainScroll() {\n const html = document.getElementsByTagName('html')[0];\n\n if (!this.overflowHTML) {\n this.overflowHTML = html.style.overflowY;\n }\n\n html.style.overflowY = \"hidden\";\n }\n\n setBodyMainScroll() {\n const html = document.getElementsByTagName('html')[0];\n html.style.overflowY = this.overflowHTML ? this.overflowHTML : \"scroll\";\n }\n\n addBodyBottomPaddingForModule() {\n const body = document.getElementsByTagName('body')[0];\n this.bodyPadding = this.bodyPadding ? parseInt(body.style.paddingBottom) : 0;\n body.style.paddingBottom = this.bodyPadding + 300 + 'px';\n }\n\n removeBodyBottomPaddingForModule() {\n if (typeof this.bodyPadding !== 'undefined') {\n const body = document.getElementsByTagName('body')[0];\n body.style.paddingBottom = this.bodyPadding + 'px';\n this.bodyPadding = 0;\n }\n }\n\n changeDisplayTab() {\n this.stateDisplayed = 'full';\n }\n\n ngOnDestroy() {\n this.selectImgEvent.unsubscribe();\n this.canvaService.expectedImgSizesChange(null);\n this.listDisplayedEvent.unsubscribe();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const easeInOut = // the fade-in/fade-out animation.\ntrigger('easeInOut', [\n\n // the \"in\" style determines the \"resting\" state of the element when it is visible.\n state('in', style({opacity: 1})),\n\n // fade in when created. this could also be written as transition('void => *')\n transition(':enter', [\n style({opacity: 0}),\n animate('0.5s ease-in-out' )\n ]),\n]);\n","import {Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef} from '@angular/core';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { Observable, forkJoin } from 'rxjs';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport {ImgManagerConfigService} from \"../../services/config/external-config.service\";\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { AlertService } from '../../services/alert.service';\n\n@Component({\n selector: 'img-upload',\n templateUrl: './img-upload.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class ImgUploadComponent implements OnInit {\n\n files: any = [];\n isLoading: boolean = false;\n assetsIcon: string;\n @Input() stateDisplayed: stateDisplayed;\n @Output() imgUploaded = new EventEmitter();\n\n @ViewChild('dragAndDropBox') dragAndDropBox: ElementRef;\n\n loadingText = 'ImgManager.ImgUpload.loading';\n errorUploadingImg = 'ImgManager.ImgUpload.errorUploadingImg';\n errorNotImg = 'ImgManager.ImgUpload.errorNotImg';\n\n MAX_IMAGE_SIZE = 10000000; // In bytes\n\n constructor(\n private imgManager: ImgManagerService,\n private alertService: AlertService,\n private externalConfigService: ImgManagerConfigService\n ) {}\n\n ngOnInit(): void {\n this.assetsIcon = this.getAssets();\n }\n\n filesChangeByClick(event: any) {\n this.uploadFile(event.target.files);\n }\n\n getAssets() {\n return this.externalConfigService.getRouteAssets() + \"img/icon_picture.svg\";\n }\n\n filesChangeByDragAndDrop(filesList: File[]) {\n this.removeDragAndDropStyle();\n this.uploadFile(filesList);\n }\n\n uploadFile(files: File[]) {\n if (files && !files.length) {\n return;\n }\n\n this.isLoading =true;\n const imgToUploadList: Observable<any>[] = [];\n for (const file of files) {\n console.log('file', file.size);\n\n if(!this.isFileImage(file.type)) {\n this.alertService.openAlert(this.errorNotImg);\n this.isLoading = false;\n continue;\n }\n\n if (!this.isSizeValid(file.size)) {\n this.alertService.openAlert(`L'image : ${file.name} est trop grande (${this.getImageSizeInKo(file.size)}ko). Taille maximum acceptée: ${this.getImageSizeInKo(this.MAX_IMAGE_SIZE)}ko`);\n this.isLoading = false;\n continue;\n }\n\n const formData = new FormData();\n formData.append('image', file, file.name);\n\n\n imgToUploadList.push(this.imgManager.uploadFile(formData));\n }\n\n forkJoin(imgToUploadList).subscribe(\n (img: ImgPictureDTO[]) => {\n this.onImgUpload(img),\n this.isLoading =false;\n },\n error => {\n if (error?.error?.message && error.statusText !== 'Bad Request') {\n this.alertService.openAlertWithBackendRespons(this.errorUploadingImg, error.error.message);\n } else {\n this.alertService.openAlert(this.errorUploadingImg);\n }\n this.isLoading =false;\n }\n )\n }\n\n /**\n * Send the img uploaded to the tabs components,\n * Then the tabs components add the img to upload list by calling the method onImgUploaded of the upload-list component\n * @param img\n */\n onImgUpload(img: ImgPictureDTO[]) {\n this.imgUploaded.emit(img);\n }\n\n isFileImage(fileType: string) {\n return fileType.split('/')[0] === 'image';\n }\n\n isSizeValid(imageBytesSize: number): boolean {\n return imageBytesSize < this.MAX_IMAGE_SIZE;\n }\n\n getImageSizeInKo(size: number) {\n return Math.round(size / 1024);\n }\n\n /**\n * Remove the style of the drag and drop box\n * After an img is droped, the box is still grey\n */\n removeDragAndDropStyle() {\n this.dragAndDropBox.nativeElement.style = '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ImgManagerService } from './img-manager.service';\nimport { AlertService } from './alert.service';\nimport { ImgPictureDTO } from '../dto/img-manager.dto';\nimport { PictureNameUpdate } from '../dto/picture-name-update.dto';\n\n@Injectable({providedIn: 'root'})\nexport class RenamePictureService {\n\n private picturesList: ImgPictureDTO[] = [];\n private pictureNameChanged: Subject<PictureNameUpdate> = new Subject<PictureNameUpdate>();\n\n private errorRenameImg = 'ImgManager.ImgList.errorRenameImg';\n private msgSavingImgName = 'ImgManager.ImgLib.savingImgName';\n private msgImgNameSaved = 'ImgManager.ImgLib.imgNameSaved';\n\n constructor(\n private imgManager: ImgManagerService,\n private alertService: AlertService,\n )\n {\n this.setEvents();\n }\n\n setPicturesList(picturesList: ImgPictureDTO[]) {\n this.picturesList = picturesList;\n }\n\n onRenamePicture(pictureRenamed: PictureNameUpdate) {\n this.pictureNameChanged.next(pictureRenamed);\n }\n\n private setEvents() {\n this.pictureNameChanged\n .pipe(debounceTime(800)) // wait 0.8 sec after the last event before emitting last event\n .subscribe((pictureNameUpdate:PictureNameUpdate) => {\n this.renamePicture(pictureNameUpdate);\n });\n }\n\n private renamePicture(pictureNameUpdate: PictureNameUpdate) {\n const picture: ImgPictureDTO = this.getPictureById(pictureNameUpdate.id);\n if (!picture) {\n this.alertService.openAlert(this.errorRenameImg);\n return;\n }\n this.alertService.openAlert(this.msgSavingImgName);\n this.imgManager\n .changeImgName(picture.display_name, picture.id_file)\n .subscribe(\n (data: ImgPictureDTO) => {\n picture.display_name = data.display_name;\n this.alertService.openAlert(this.msgImgNameSaved);\n },\n (error) => {\n picture.display_name = pictureNameUpdate.previousName;\n this.alertService.openAlert(this.errorRenameImg);\n }\n );\n }\n\n private getPictureById(id_file: string): ImgPictureDTO {\n if (!this.picturesList) {\n return;\n }\n\n for (const picture of this.picturesList) {\n if(picture.id_file === id_file) {\n return picture;\n }\n }\n\n return null;\n }\n\n}","import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { Subscription } from 'rxjs';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport { PictureNameUpdate, stateDisplayed, tabDisplayed } from '../../dto/export-dtos.api';\nimport { RenamePictureService } from '../../services/rename-picture.service';\n\n@Component({\n selector: 'upload-list',\n templateUrl: './upload-list.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class UploadListComponent implements OnInit {\n\n picturesList: ImgPictureDTO[] = [];\n imgSelectionChange: Subscription;\n selectImgEvent: Subscription;\n\n @Input() stateDisplayed: stateDisplayed;\n @Input() tabDisplayed: tabDisplayed;\n @Input() multipleImgMode: boolean = false;\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n constructor(\n private imgSelectionService: ImgSelectionService,\n private renamePictureService: RenamePictureService\n ) { }\n\n ngOnInit(): void {\n this.setEvents();\n }\n\n onImgUploaded(img: ImgPictureDTO[]) {\n img.forEach(picture =>\n this.picturesList.push(picture)\n );\n this.renamePictureService.setPicturesList(this.picturesList);\n }\n\n onToggleSelectImg(index: number) {\n if (this.stateDisplayed === 'window') {\n return;\n }\n if (!this.picturesList[index].selected) {\n this.imgSelectionService.addImgSelected(this.picturesList[index]);\n this.picturesList[index].selected = true;\n } else {\n this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);\n this.picturesList[index].selected = false;\n }\n }\n\n switchDisplayWindowCard() {\n this.switchDisplayWindow.emit(true);\n }\n\n onRenamePicture(pictureRenamed: PictureNameUpdate) {\n this.renamePictureService.onRenamePicture(pictureRenamed);\n }\n\n private setEvents() {\n this.imgSelectionChange = this.imgSelectionService.getImgSelectionChange().subscribe(imgSelection =>{\n const idFileList = [];\n imgSelection.map(img => idFileList.push(img.id_file));\n for (const picture of this.picturesList) {\n if (idFileList.indexOf(picture.id_file) === -1) {\n picture.selected = false;\n }\n }\n });\n }\n ngOnDestroy(): void {\n this.imgSelectionChange.unsubscribe();\n }\n}\n","import {Component, Input, OnInit, ViewChild, Output, EventEmitter} from '@angular/core';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { UploadListComponent } from '../upload-list/upload-list.component';\nimport { ImgEventService } from '../../services/img-event.service';\nimport { NwbSnackbarConfig } from '@wizishop/ng-wizi-bulma';\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { AlertService } from '../../services/alert.service';\nimport {Router} from '@angular/router';\nimport { SelectItem } from '../shared/select/select-items.dto';\n\n@Component({\n selector: 'img-tabs',\n templateUrl: './img-tabs.component.html'\n})\nexport class ImgTabsComponent implements OnInit {\n\n @Input()\n multipleImgMode: boolean = false;\n @Input()\n stateDisplayed: stateDisplayed;\n @Input()\n listDisplayed = false;\n\n @Output()\n imgManagerClosed = new EventEmitter();\n\n @Output()\n currentTab = new EventEmitter();\n\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n tabs: SelectItem[] = [\n {\n name: 'ImgManager.Tabs.addImg',\n value: 'img-upload',\n selected: true,\n id: 0\n },\n {\n name: 'ImgManager.Tabs.imgLib',\n value: 'images-view',\n id: 1\n },\n {\n name: 'ImgManager.Tabs.freeImgLib',\n value: 'pexels-lib',\n id: 2\n },\n {\n name: 'ImgManager.Tabs.Editor',\n value: 'img-edition',\n hide: true,\n id: 3\n }\n ];\n\n tabActive: SelectItem = this.tabs[0];\n\n /* tabActive = 'images-view';\n tabs: string[] = ['img-upload', 'images-view', 'pexels-lib', 'img-edition']; */\n editTab = false;\n\n imgToEdit: ImgPictureDTO;\n\n imgUpload = false;\n\n @ViewChild( 'imgUploadedImg' )\n imgUploadedComponent: UploadListComponent ;\n\n snackBarNewVersionConfig: NwbSnackbarConfig = {\n message: '',\n duration: 3000\n };\n\n constructor(\n private imgEventEditService: ImgEventService,\n private alertService: AlertService,\n private route: Router\n ) { }\n\n ngOnInit(): void {\n this.imgEventEditService.getImgToEditEventListner().subscribe(imgToEdit =>{\n this.tabActive = this.tabs[3];\n this.imgToEdit = imgToEdit;\n this.editTab = true;\n this.currentTab.emit(this.tabs[3]);\n });\n }\n\n toggleTabs(item: SelectItem) {\n this.imgUpload = false;\n this.editTab = false;\n this.tabActive = item;\n }\n\n onImgUploaded(img: ImgPictureDTO[]) {\n this.imgUpload = true;\n this.imgUploadedComponent.onImgUploaded(img);\n }\n\n onEditClosed(msgKey: string) {\n this.editTab = false;\n this.toggleTabs(this.tabs[1]);\n if (msgKey) {\n this.alertService.openAlert(msgKey);\n }\n this.currentTab.emit('close');\n }\n\n onShowImgUploaded() {\n this.tabActive = this.tabs[1];\n }\n\n switchDisplayWindowImgView() {\n this.switchDisplayWindow.emit(true);\n }\n\n switchRouterLink(event) {\n\n }\n\n onImgManagerClosed() {\n this.imgManagerClosed.emit();\n }\n}\n","import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appDragDrop]'\n})\nexport class DragDropDirective {\n\n @Output() onFileDropped = new EventEmitter<Event>();\n\n @HostBinding('style.background-color') background = '#fff'\n @HostBinding('style.opacity') opacity = '1'\n\n @HostListener('dragover', ['$event']) onDragOver(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5f5f5';\n this.opacity = '0.8';\n }\n\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#fff';\n this.opacity = '1';\n }\n\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#f5f5f5'\n this.opacity = '1'\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.onFileDropped.emit(files);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport { map} from \"rxjs/operators\";\nimport {Observable} from \"rxjs\";\nimport {WzImgLibDto} from \"../dto/pexels-img.dto\";\nimport { ImgManagerConfigService } from './config/external-config.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PexelsService {\n apiBaseUrl;\n apiKey;\n lang: string;\n languages = {'fr': 'fr-FR', 'en': 'en-US', 'it': 'it-IT', 'es': 'es-ES'};\n\n constructor(\n private http: HttpClient,\n private externalConfigService: ImgManagerConfigService,\n private translateService: TranslateService\n ) {\n this.setLang(this.translateService.currentLang);\n this.translateService.onLangChange.subscribe(langData => {\n this.setLang(langData.lang);\n })\n }\n\n setLang(lang: string) {\n this.lang = this.languages[lang] ? this.languages[lang] : 'fr-FR';\n }\n\n searchOnPexels(toSearch: string, perPage: number, page: number): Observable<WzImgLibDto> {\n if(!this.apiBaseUrl || this.apiKey) {\n this.apiBaseUrl = this.externalConfigService.getPexelsApiURL();\n this.apiKey = this.externalConfigService.getPexelsApiToken();\n }\n\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.apiKey\n })\n };\n\n let request;\n\n // If search value is not empty or blank\n if (toSearch && !/^\\s*$/.test(toSearch)) {\n request = `/search?query=${toSearch}&per_page=${perPage}&page=${page}&locale=${this.lang}`;\n\n } else { // Search by category or display Pexels selection\n const shopCategory = this.externalConfigService.getShopCategory();\n\n // Search by shop category\n if (shopCategory && shopCategory !== 'other' && shopCategory !== 'btob') {\n request = `/search?query=${shopCategory}&per_page=${perPage}&page=${page}&locale=en-US`;\n } else { // Display Pexels selection\n request = `/curated?per_page=${perPage}&page=${page}`;\n }\n }\n\n return this.http.get(this.apiBaseUrl + request, httpOptions).pipe(\n map((data: WzImgLibDto) => {\n return data;\n })\n );\n }\n}\n","import { stagger } from '@angular/animations';\nimport { query } from '@angular/animations';\nimport { animate, style, transition, trigger } from '@angular/animations';\n\nexport const listAnnimation = // the fade-in/fade-out animation.\ntrigger('listAnimation', [\n transition(':enter, * => 0, * => -1', []),\n transition(':increment', [\n query(':enter', [\n style({opacity: 0, transform: 'translateY(100px)'}),\n stagger(50, [\n animate('500ms cubic-bezier(0.35, 0, 0.25, 1)', style({ opacity: 1, transform: 'none' })),\n ]),\n ], { optional: true })\n ]),\n]);\n","import {AfterViewInit, Component, ElementRef, OnInit, ViewChild, Input, Output, EventEmitter} from '@angular/core';\nimport {PexelsService} from '../../services/pexels.service';\nimport {Subject, Subscription} from 'rxjs';\nimport {WzImgLibDto, PhotosColumns, WzImgLibPhotoDto} from '../../dto/pexels-img.dto';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { TranslateService } from '@ngx-translate/core';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport { listAnnimation } from '../../animations/listAnnimation/list.animation';\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { AlertService } from '../../services/alert.service';\n\n@Component({\n selector: 'pexels-lib',\n templateUrl: './pexels-lib.component.html',\n animations: [\n easeInOut,\n listAnnimation\n ]\n})\nexport class PexelLibComponent implements OnInit, AfterViewInit {\n\n @Input()\n stateDisplayed: stateDisplayed;\n @Input()\n searchValue: string = '';\n /** Pass to true to hide search input */\n @Input()\n disableSearch: boolean = false;\n\n @Output()\n showImgUploaded = new EventEmitter();\n\n perPage = 30;\n searchUpdated = new Subject();\n oldSearchValue: string;\n nbResult = 0;\n wzImgLibDto: WzImgLibDto;\n currentPage = 1;\n isLoading = true;\n initComponent = true;\n photosColumns: PhotosColumns[] = [];\n nbColumuns = 6;\n responsiveColumns = [1250, 1050, 750, 500];\n outerElement = null;\n\n uploadingImg = 'ImgManager.PexelLib.uploadingImg';\n untitled = 'ImgManager.PexelLib.untitled';\n successUploadPhoto = 'ImgManager.PexelLib.successImport';\n errorUploadPhoto = 'ImgManager.PexelLib.errorUploadPhoto';\n errorRetrievePhotos = 'ImgManager.PexelLib.errorRetrievePhotos';\n\n private subs: Subscription[] = [];\n\n @ViewChild('outerElement') set content(control: ElementRef) {\n this.outerElement = control;\n }\n\n constructor(\n private wzImgLibService: PexelsService,\n private imgManager: ImgManagerService,\n private alertService: AlertService,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit() {\n this.oldSearchValue = this.searchValue;\n this.isLoading = false;\n\n this.setNbColumnsToDisplayPhoto();\n this.setPhotosColumns();\n this.search();\n }\n\n setNbColumnsToDisplayPhoto(): void {\n const width = this.outerElement.nativeElement.offsetWidth;\n\n if (this.stateDisplayed !== 'window') {\n this.nbColumuns = 8;\n }\n\n this.responsiveColumns.forEach(value => {\n if (width < value) {\n this.nbColumuns--;\n }\n });\n }\n\n onSearchNameChanged() {\n this.onSearchChange();\n }\n\n onBottomReached() {\n this.scrollHandler();\n }\n\n onSearchChange() {\n this.search();\n }\n\n search() {\n if (this.isLoading) {\n return;\n }\n if (this.searchValue !== this.oldSearchValue) {\n this.resetSearch();\n }\n\n // All the picture are displayed\n if (this.nbResult && this.nbResult <= (this.currentPage - 1) * this.perPage) {\n return;\n }\n\n this.isLoading = true;\n const searchSub = this.wzImgLibService.searchOnPexels(this.searchValue, this.perPage, this.currentPage).subscribe(\n (data: WzImgLibDto) => {\n this.wzImgLibDto = data;\n this.nbResult = this.wzImgLibDto.total_results;\n\n if (this.nbResult) {\n data.photos.forEach(photo => {\n const bestColumnIndex = this.getBestColumn();\n const height = (photo.height / photo.width) * 1000;\n\n this.photosColumns[bestColumnIndex].height += height;\n this.photosColumns[bestColumnIndex].photos.push(photo);\n });\n }\n\n this.isLoading = false;\n this.initComponent = false;\n },\n error => {\n this.isLoading = false;\n this.initComponent = false;\n this.alertService.openAlert(this.errorRetrievePhotos);\n }\n );\n\n this.subs.push(searchSub);\n }\n\n scrollHandler() {\n if (this.isLoading) {\n return;\n }\n const bestColumnIndex = this.getBestColumn();\n const lastPic = this.photosColumns[bestColumnIndex].photos[this.photosColumns[bestColumnIndex].photos.length - 1];\n const lastPhoto = lastPic ? document.querySelector<HTMLImageElement>('img[src=\"' + lastPic.src.medium + '\"]') : null;\n\n if (lastPhoto) {\n if (!this.isLoading) {\n this.currentPage += 1;\n this.search();\n }\n }\n }\n\n setPhotosColumns() {\n for (let indexColumn=0; indexColumn < this.nbColumuns ; indexColumn++) {\n const photosColumn: PhotosColumns = {\n height: 0,\n photos: []\n };\n this.photosColumns.push(photosColumn);\n }\n }\n\n getBestColumn(): number {\n const bestColumn = {\n index: 0,\n height: this.photosColumns[0].height\n };\n this.photosColumns.forEach((photosColumn, index) => {\n if (bestColumn.height > photosColumn.height) {\n bestColumn.index = index;\n bestColumn.height = photosColumn.height;\n }\n });\n return bestColumn.index;\n }\n\n resetSearch() {\n this.oldSearchValue = this.searchValue;\n this.photosColumns = [];\n this.currentPage = 1;\n this.setPhotosColumns();\n }\n\n uploadPhoto(photo: WzImgLibPhotoDto, url: string) {\n photo.uploading = true;\n\n const uploadSub = this.imgManager.uploadFileByUrl(url, this.translateService.instant(this.untitled)).subscribe(\n (img: ImgPictureDTO) => {\n photo.uploading = false;\n photo.uploaded = true;\n this.alertService.openAlert(this.successUploadPhoto);\n },\n error => {\n photo.uploading = false;\n if(error.error.code === 406 && error.error.message) {\n this.alertService.openAlertWithBackendRespons(this.errorUploadPhoto, error.error.message);\n } else {\n this.alertService.openAlert(this.errorUploadPhoto);\n }\n });\n\n // Display img uploading msg\n this.alertService.openAlert(this.uploadingImg);\n this.subs.push(uploadSub);\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Directive, Input, Output } from \"@angular/core\";\nimport { EventEmitter } from '@angular/core';\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subscription } from \"rxjs\";\nimport { stateDisplayed } from \"../../dto/export-dtos.api\";\nimport { PictureNameUpdate } from \"../../dto/picture-name-update.dto\";\nimport { ImgPictureDTO } from \"../../dto/img-manager.dto\";\nimport { AlertService } from \"../../services/alert.service\";\nimport { ImgManagerConfigService } from \"../../services/config/external-config.service\";\nimport { ImgCDNService } from \"../../services/config/img-cdn.service\";\nimport { ImgEventService } from \"../../services/img-event.service\";\nimport { ImgManagerService } from \"../../services/img-manager.service\";\nimport { ImgSelectionService } from \"../../services/img-selection.service\";\nimport { TableFilters } from \"../../services/table/filters-table.service\";\n\n@Directive()\nexport abstract class ImagesActionHandler {\n @Input()\n picturesList: ImgPictureDTO[] = [];\n @Output()\n picturesListChange: EventEmitter<void> = new EventEmitter();\n\n @Input()\n tableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: '',\n totalItems: 0,\n itemsPerPage: 30,\n currentPage: 1\n };\n @Input()\n displayPexelsResults: boolean = false;\n\n @Input()\n disable: boolean = false;\n @Output()\n disableChange: EventEmitter<boolean> = new EventEmitter();\n\n @Output()\n filtersChange = new EventEmitter();\n @Output()\n pictureNameChange: EventEmitter<PictureNameUpdate> = new EventEmitter();\n\n @Input() isLoading = false;\n\n @Input()\n stateDisplayed: stateDisplayed;\n\n previousName: string; // Use to save the previous picture name, when a user change his name\n fakeImgRoute: string;\n\n private getDataAPISub: Subscription;\n private errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';\n private errorAlreadyUsedImg = 'ImgManager.ImgList.errorAlreadyUsed';\n\n constructor(\n protected imgManager: ImgManagerService,\n protected imgSelectionService: ImgSelectionService,\n protected http: HttpClient,\n protected imgCDNService: ImgCDNService,\n protected imgEventCardService: ImgEventService,\n protected alertService: AlertService,\n protected translateService: TranslateService,\n protected externalService: ImgManagerConfigService\n ) {\n this.fakeImgRoute = this.externalService.getRouteAssets() + 'img/fake.png';\n }\n\n /** Event emit when the header checkbox is checked */\n onToggleAllCheckBoxRow(event) {\n this.picturesList.forEach(data => {\n data.delSelected = event;\n });\n this._pictureListeChange();\n }\n\n onToggleDelSelection(index: number) {\n if (this.disable) {\n return;\n }\n this.picturesList[index].delSelected = !this.picturesList[index].delSelected;\n this._pictureListeChange();\n }\n\n /** Event emit each time filters change */\n onFiltersChange() {\n this.filtersChange.emit();\n }\n\n onEdit(picture: ImgPictureDTO) {\n this.imgEventCardService.emitImgToEdit(picture);\n }\n\n onToggleSelectImg(index: number) {\n if (this.disable || this.stateDisplayed === 'window') {\n return;\n }\n if (!this.picturesList[index].selected) {\n this.imgSelectionService.addImgSelected(this.picturesList[index]);\n this.picturesList[index].selected = true;\n } else {\n this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);\n this.picturesList[index].selected = false;\n }\n }\n\n onRemoveImg(picture: ImgPictureDTO) {\n picture.deleted = true;\n this.imgManager.removeImg(picture.id_file).subscribe(\n data => {\n this.imgEventCardService.emitImgRemoved(picture.id_file);\n this.imgSelectionService.removeImgSelectedById(picture.id_file);\n },\n error => {\n const msg = error.status === 409 ? this.errorAlreadyUsedImg: this.errorRemoveImg;\n picture.deleted = false;\n this.alertService.openAlert(msg);\n });\n }\n\n onPictureNotLoading(event) {\n event.target.src = this.fakeImgRoute;\n }\n\n onDownloadImg(display_name: string, file_name: string) {\n this.http.get(this.getRAWImgRoute(file_name), { responseType: 'blob' }).subscribe(val => {\n let url = URL.createObjectURL(val);\n this.downloadUrl(url, display_name);\n URL.revokeObjectURL(url);\n });\n }\n\n onNameChange(id_file: string) {\n this.pictureNameChange.emit({id: id_file, previousName: this.previousName});\n }\n\n private getRAWImgRoute(file_name: string){\n return this.imgCDNService.getUrlImg('raw') + file_name;\n }\n\n private _pictureListeChange() {\n this.picturesListChange.emit();\n }\n\n private downloadUrl(url: string, fileName: string) {\n const a: any = document.createElement('a');\n a.href = url;\n a.download = fileName;\n a.click();\n }\n\n ngDestroy() {\n if (this.getDataAPISub) {\n this.getDataAPISub.unsubscribe();\n }\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImgEventService } from '../../../../services/img-event.service';\nimport { ImgPictureDTO } from '../../../../dto/img-manager.dto';\nimport { HttpClient } from '@angular/common/http';\nimport { ImgManagerService } from '../../../../services/img-manager.service';\nimport { ImgSelectionService } from '../../../../services/img-selection.service';\nimport { ImgCDNService } from '../../../../services/config/img-cdn.service';\nimport { ImgManagerConfigService } from '../../../../services/config/external-config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ImagesActionHandler } from '../../images-actions-handler';\nimport { easeInOut } from '../../../../animations/easeInOut/ease-in-out.animation'\nimport { tabDisplayed } from '../../../../dto/export-dtos.api';\nimport { AlertService } from '../../../../services/alert.service';\n\n@Component({\n selector: 'img-card',\n templateUrl: './img-card.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class ImgCardComponent extends ImagesActionHandler implements OnInit {\n\n @Input()\n tabDisplayed: tabDisplayed;\n @Input()\n fullSize: boolean;\n @Input()\n picture: ImgPictureDTO;\n @Input()\n index: number;\n focusInput = false;\n\n @Output()\n toggleImgSelected: EventEmitter<void> = new EventEmitter();\n\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n isUploadSection: boolean = false;\n activeConfirmDelete = false;\n\n constructor(\n imgManager: ImgManagerService,\n imgSelectionService: ImgSelectionService,\n http: HttpClient,\n imgCDNService: ImgCDNService,\n imgEventCardService: ImgEventService,\n alertService: AlertService,\n translateService: TranslateService,\n externalService: ImgManagerConfigService\n ) {\n super(\n imgManager,\n imgSelectionService,\n http,\n imgCDNService,\n imgEventCardService,\n alertService,\n translateService,\n externalService\n );\n }\n\n ngOnInit(): void {\n this.isUploadSection = this.tabDisplayed === 'img-upload';\n }\n\n displayLargeWindow(): void {\n this.switchDisplayWindow.emit(true);\n }\n\n onToggleImgSelected() {\n this.toggleImgSelected.next();\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { Observable, forkJoin } from 'rxjs';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\n\n@Component({\n selector: 'img-editor',\n templateUrl: './img-editor.component.html',\n animations: [\n easeInOut\n ]\n})\nexport class ImgEditorComponent implements OnInit {\n\n @Input()\n stateDisplayed;\n @Input()\n imgToEdit: ImgPictureDTO;\n\n @Output() editClosed = new EventEmitter();\n\n isLoading: boolean = false;\n isImgModified: boolean = false;\n isNameModified: boolean = false;\n currentCroppedImage: string = ''; // Img modified return in base64 by the cropper\n private previousName: string;\n\n msgFailSave: string = 'ImgManager.ImgEditor.msgFailSave';\n msgFailLoad: string = 'ImgManager.ImgEditor.msgFailLoad';\n msgSuccessEdit: string = \"Les modifications de l'image ont bien été enregistrées.\"\n\n constructor(\n private imgManagerService: ImgManagerService,\n ) { }\n\n ngOnInit(): void {\n this.previousName = this.imgToEdit.display_name;\n }\n\n onSave() {\n if (this.isLoading) {\n return;\n }\n this.isLoading = true;\n\n if (!this.isImgModified && !this.isNameModified) {\n this.isLoading = false;\n this.onEditClosed();\n }\n\n const obsReplaceImg: Observable<any> = this.imgManagerService.replaceImg(this.currentCroppedImage, this.imgToEdit.id_file);\n const obsChangeImgName: Observable<any> = this.imgManagerService.changeImgName(this.imgToEdit.display_name, this.imgToEdit.id_file);\n\n if(this.isImgModified && this.isNameModified) {\n this.ranameAndReplaceImg(obsChangeImgName, obsReplaceImg);\n return;\n }\n\n if(this.isImgModified){\n obsReplaceImg.subscribe(data => {\n this.isLoading = false;\n this.onEditClosed(this.msgSuccessEdit);\n },\n error => {\n this.isLoading = false;\n this.currentCroppedImage = '';\n this.onEditClosed(this.msgFailSave);\n });\n return;\n }\n\n if (this.isNameModified) {\n obsChangeImgName.subscribe(data => {\n this.isLoading = false;\n this.previousName = this.imgToEdit.display_name;\n this.onEditClosed(this.msgSuccessEdit);\n },\n error => {\n this.isLoading = false;\n this.imgToEdit.display_name = this.previousName;\n this.onEditClosed(this.msgFailSave);\n });\n }\n this.isNameModified = false;\n }\n\n onEditClosed(msgKey?: string) {\n this.editClosed.emit(msgKey);\n }\n\n onRestartEdit() {\n this.isImgModified = false;\n this.isNameModified = false;\n this.imgToEdit.display_name = this.previousName;\n }\n\n onCancel() {\n this.onEditClosed('');\n }\n\n onImgCropped(imgBase64: string) {\n this.currentCroppedImage = imgBase64;\n }\n\n private ranameAndReplaceImg(obsChangeImgName: Observable<any>, obsReplaceImg: Observable<any>) {\n // Avoid to use forkjoin, because it can create conflict and loos the img\n obsChangeImgName.subscribe(\n res1 => {\n obsReplaceImg.subscribe(\n res2 => {\n this.onEditClosed(this.msgSuccessEdit);\n },\n error => {\n this.onEditClosed(this.msgFailSave);\n }\n );\n },\n error => {\n this.onEditClosed(this.msgFailSave);\n }\n );\n }\n}\n","import {Component, OnInit, Output, EventEmitter, Input, OnDestroy, Inject, Renderer2} from '@angular/core';\nimport { CanvaService } from '../../services/canva.service';\nimport { CanvaButtonApi } from '../../dto/canva.dto';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport { ImgEventService } from '../../services/img-event.service';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { WiziBlockMediaDto } from '../../dto/wizi-block-media.dto';\nimport { Subscription } from 'rxjs';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { AlertService } from '../../services/alert.service';\nimport { stateDisplayed } from '../../dto/export-dtos.api';\nimport { CanvaCreateDesign } from '../../dto/canva-create-design.dto';\n\n@Component({\n selector: 'canva-btn',\n templateUrl: './canva-btn.component.html'\n})\nexport class CanvaBtnComponent implements OnInit, OnDestroy {\n\n @Input() stateDisplayed: stateDisplayed;\n\n @Output() showImgUploaded = new EventEmitter();\n\n canvaApi: CanvaButtonApi;\n canvaLogoRouteAssets: string;\n imgLoading = false;\n\n availableFormat = {\n 'ImgManager.CanvaBtn.smallSquare' : {\n 'width' : 500,\n 'height' : 500\n },\n 'ImgManager.CanvaBtn.mediumSquare' : {\n 'width' : 1000,\n 'height' : 1000\n },\n 'ImgManager.CanvaBtn.bigSquare' : {\n 'width' : 2500,\n 'height' : 2500\n }\n }\n\n openDropDownMenu: boolean = false;\n\n expectedHeight: number;\n expectedWidth: number;\n subs: Subscription[] = [];\n\n constructor(\n private canvaService: CanvaService\n ) { }\n\n ngOnInit(): void {\n this.canvaLogoRouteAssets = this.canvaService.getCanvaLogo();\n this.listenCanvaExpectedSize();\n }\n\n listenCanvaExpectedSize() {\n // Subcribe to askImg from wizi-block\n const subExpectedImgSizesChange =\n this.canvaService.bindEventExepectedImgSizeChange().subscribe( (mediaDTO: WiziBlockMediaDto) => {\n if (mediaDTO) {\n this.expectedWidth = parseInt(mediaDTO.image_width, 10);\n this.expectedHeight = parseInt(mediaDTO.image_height, 10);\n } else {\n this.expectedWidth = undefined;\n this.expectedHeight = undefined;\n }\n });\n this.subs.push(subExpectedImgSizesChange);\n }\n\n onOpenCanva(width: number, height: number) {\n this.canvaService.openCanva(width, height);\n }\n\n ngOnDestroy() {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { ImgPictureDTO } from '../../dto/img-manager.dto';\nimport {CdkDragDrop} from '@angular/cdk/drag-drop';\nimport { tabDisplayed } from '../../dto/export-dtos.api';\n\n\n@Component({\n selector: 'img-selection',\n templateUrl: './img-selection.component.html'\n})\nexport class ImgSelectionComponent implements OnInit {\n\n @Input() tabDisplayed: tabDisplayed;\n @Output() imgManagerClosed = new EventEmitter();\n\n imgSelectedList: ImgPictureDTO[] = [];\n removingAll: boolean = false;\n cancellingAll: boolean = false;\n importingAll: boolean = false;\n dragStart = false;\n isLoading: boolean = false;\n trashPositionIndex = 0;\n trashPositionLeft = '-5px';\n\n constructor(\n private imgSelectionService: ImgSelectionService\n ) { }\n\n ngOnInit(): void {\n this.getImgSelected();\n this.imgSelectionService.getImgListLoadingEventListner().subscribe(loading => {\n this.isLoading = loading;\n })\n }\n\n init() {\n this.removingAll = false;\n this.cancellingAll = false;\n this.importingAll = false;\n }\n\n getImgSelected() {\n this.imgSelectedList = this.imgSelectionService.getImgSelection();\n }\n\n removeImg(index: number) {\n this.imgSelectionService.removeImgSelectedByIndex(index);\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event.previousIndex !== event.currentIndex) {\n this.imgSelectionService.moveImgOrder(event);\n }\n }\n\n removeImgFromSelection(event: CdkDragDrop<string[]>) {\n this.imgSelectionService.removeImgSelectedByIndex(event.previousIndex);\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[btnLoadingAnim]'\n})\nexport class LoadingDirective {\n\n element: ElementRef;\n currentLoading = 0;\n interval = null;\n\n constructor(el: ElementRef) {\n this.element = el;\n this.launchLoading();\n }\n\n launchLoading() {\n if (this.interval !== null) {\n return;\n }\n this.currentLoading = 10;\n\n this.element.nativeElement.style.width = this.currentLoading + '%';\n\n this.interval = setInterval(() => {\n if (this.currentLoading < 80) {\n this.currentLoading += Math.floor(Math.random() * 15);\n this.element.nativeElement.style.width = this.currentLoading + '%';\n }\n if (this.currentLoading >= 80 && this.currentLoading < 95) {\n this.currentLoading += Math.floor(Math.random() * 2);\n this.element.nativeElement.style.width = this.currentLoading + '%';\n }\n }, 70);\n }\n\n ngOnDestroy() {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = null;\n }\n }\n}\n","import { Directive, ElementRef, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { DomService } from '../services/dom.service';\n\n@Directive({\n selector: '[wzAutoHide]'\n})\nexport class AutoHideDirective implements AfterViewInit {\n @Input() triggerElement: string;\n @Input() forceOn: Array<string> = null;\n\n constructor(private _elementRef: ElementRef, private domService: DomService) {}\n\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n ngAfterViewInit(): void {\n this.domService.documentEvent().subscribe((targetElement: Element) => {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n const classNameFromElement = targetElement.getAttribute('class');\n\n if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {\n this.clickOutside.emit(null);\n }\n\n if (this.forceOn != null && classNameFromElement !== null) {\n let needToClose = true;\n this.forceOn.forEach(v => {\n if (!classNameFromElement.includes(v)) {\n needToClose = false;\n }\n });\n if (needToClose) {\n this.clickOutside.emit(null);\n }\n }\n });\n }\n}\n","import { Directive, Input, Output, EventEmitter, HostListener } from \"@angular/core\";\n\n@Directive({ selector: '[copy-clipboard]' })\nexport class CopyClipboardDirective {\n\n @Input(\"copy-clipboard\")\n public payload: string;\n\n @Output(\"copied\")\n public copied: EventEmitter<string> = new EventEmitter<string>();\n\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: MouseEvent): void {\n\n event.preventDefault();\n if (!this.payload)\n return;\n\n let listener = (e: ClipboardEvent) => {\n let clipboard = e.clipboardData || window[\"clipboardData\"];\n clipboard.setData(\"text\", this.payload.toString());\n e.preventDefault();\n\n this.copied.emit(this.payload);\n };\n\n document.addEventListener(\"copy\", listener, false)\n document.execCommand(\"copy\");\n document.removeEventListener(\"copy\", listener, false);\n }\n}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'dropdown',\n templateUrl: './dropdown.component.html'\n})\nexport class DropdownComponent implements OnInit {\n\n @Input()\n dropDownMenuClass: string;\n @Input()\n disable: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { EventEmitter } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { ImgPictureDTO } from '../../../dto/img-manager.dto';\nimport { AlertService } from '../../../services/alert.service';\n\n@Component({\n selector: 'info-section',\n templateUrl: './info-section.component.html'\n})\nexport class EditorInfoSectionComponent implements OnInit {\n\n @Input()\n imgToEdit: ImgPictureDTO;\n\n @Input()\n set isNameModified(isNameModified: boolean) {\n this._isNameModified = isNameModified;\n }\n get isNameModified(): boolean {\n return this._isNameModified;\n }\n private _isNameModified: boolean = false;\n\n @Output()\n isNameModifiedChange = new EventEmitter<boolean>();\n\n imgName: string;\n imgRoute: string;\n\n msgCopyToClipBoard: string = 'ImgManager.ImgEditor.copytoClipBoard';\n\n constructor(\n private alertService: AlertService,\n ) { }\n\n ngOnInit(): void {\n this.init();\n }\n\n init() {\n this.imgName = this.imgToEdit.display_name;\n }\n getFileSize() {\n return this.imgToEdit ? Math.round(parseInt(this.imgToEdit.size)/1000) : '-';\n }\n\n copyToClipBoard(event) {\n this.alertService.openAlert(this.msgCopyToClipBoard);\n }\n\n onNameChange() {\n this.isNameModifiedChange.emit(true);\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const insertRemove = // the fade-in/fade-out animation.\ntrigger('insertRemoveAnnim', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('0.5s ease-in-out', style({ opacity: 1 })),\n ])\n]);\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper';\nimport { insertRemove } from '../../../animations/insertRemove/insert-remove.animation';\nimport { CropperConfigDTO, ImgCropperConfigDTO } from '../../../dto/img-editor-config.dto';\nimport { ImgPictureDTO } from '../../../dto/img-manager.dto';\nimport { ImgCDNService } from '../../../services/config/img-cdn.service';\n\n@Component({\n selector: 'cropper',\n templateUrl: './cropper.component.html',\n animations: [\n insertRemove\n ]\n})\nexport class CropperComponent implements OnInit {\n\n @Input()\n imgToEdit: ImgPictureDTO;\n\n @Input()\n set isImgModified(isImgModified: boolean) {\n this._isImgModified = isImgModified;\n if (!isImgModified) {\n this.restartEdit();\n }\n }\n get isImgModified(): boolean {\n return this._isImgModified;\n }\n private _isImgModified: boolean = false;\n\n @Output()\n isImgModifiedChange = new EventEmitter<boolean>();\n\n @Output()\n editClosed = new EventEmitter();\n\n @Output()\n currentCroppedImageChange = new EventEmitter<string>();\n\n msgFailLoad: string = 'ImgManager.ImgEditor.msgFailLoad';\n\n\n isNameModified: boolean = false;\n isCropperReady: boolean = false; // Use to not display the crop validation btn, after the img is loaded or changed\n currentCroppedImage: string = ''; // Img modified return in base64\n isCropped: boolean = false;\n isLoading: boolean = false;\n isImgCropped: boolean = false;\n isImgCroppedInitilized: boolean = false;\n\n // Image Cropper properties\n imgType: string;\n imgRoute: string;\n imageChangedEvent: any = '';\n croppedImage: any = '';\n canvasRotation = 0;\n rotation = 0;\n scale = 1;\n showCropper = false;\n containWithinAspectRatio = false;\n transform: ImageTransform = {};\n\n defaultAspectRatio: number;\n\n // dropdown list\n resolutionConfig:ImgCropperConfigDTO[] = [\n {\n label: 'ImgManager.ImgEditor.config.origin',\n config: {\n maintainAspectRatio: true\n },\n },\n {\n label: 'ImgManager.ImgEditor.config.free',\n config: {\n maintainAspectRatio: false\n },\n active: true\n },\n {\n label: 'ImgManager.ImgEditor.config.square',\n config: {\n maintainAspectRatio: true,\n aspectRatio: 1 / 1\n }\n },\n {\n label: 'ImgManager.ImgEditor.config.Portrait',\n config: {\n maintainAspectRatio: true,\n aspectRatio: 3 / 4\n }\n },\n {\n label: 'ImgManager.ImgEditor.config.landscape',\n config: {\n maintainAspectRatio: true,\n aspectRatio: 5 / 3\n }\n }\n ];\n\n rotationConfig:ImgCropperConfigDTO[] = [\n {\n label: 'ImgManager.ImgEditor.config.schedule',\n icon: \"fal fa-redo-alt\",\n method: \"rotateRight\",\n active: true\n },\n {\n label: 'ImgManager.ImgEditor.config.AntiSchedule',\n icon: \"fal fa-undo-alt\",\n method: \"rotateLeft\"\n },\n {\n label: 'ImgManager.ImgEditor.config.flipVert',\n icon: \"fal fa-sort-alt\",\n method: \"flipVertical\"\n },\n {\n label: 'ImgManager.ImgEditor.config.flipHoriz',\n icon: \"fal fa-exchange-alt\",\n method: \"flipHorizontal\"\n }\n ];\n\n zoomConfig:ImgCropperConfigDTO[] = [\n {\n label: 'ImgManager.ImgEditor.config.zoom',\n icon: \"fal fa-search-plus\",\n method: \"zoomIn\",\n active: true\n },\n {\n label: 'ImgManager.ImgEditor.config.dezoom',\n icon: \"fal fa-search-minus\",\n method: \"zoomOut\"\n }\n ];\n\n // Img cropper variables\n imgCropperConfig:CropperConfigDTO = {\n maintainAspectRatio: false,\n aspectRatio: undefined\n }\n\n constructor(\n private imgCDNService: ImgCDNService\n ) { }\n\n ngOnInit(): void {\n this.init();\n }\n\n init() {\n this.imgRoute = this.getRAWImgRoute();\n this.imgType = this.getImgType();\n this.croppedImage = null;\n this.setDefautAspectRatio();\n }\n\n getRAWImgRoute(){\n return this.imgCDNService.getUrlImg('raw') + this.imgToEdit.file_name;\n }\n\n getImgType() {\n return this.imgToEdit.file_name ? this.imgToEdit.file_name.split('.').pop() : undefined;\n }\n\n setDefautAspectRatio() {\n const height = parseInt(this.imgToEdit.raw_height);\n const width = parseInt(this.imgToEdit.raw_width);\n this.defaultAspectRatio = height / width;\n this.resolutionConfig[0].config.aspectRatio = this.defaultAspectRatio;\n this.imgCropperConfig.aspectRatio = this.defaultAspectRatio;\n }\n\n onEditClosed(msgKey?: string) {\n this.editClosed.emit(msgKey);\n }\n\n onRestart() {\n this.isImgModifiedChange.emit(false);\n }\n\n restartEdit() {\n this.init();\n this.resetConfCropper();\n }\n\n onImgModified() {\n this.isImgModified = true;\n this.isImgModifiedChange.emit(true);\n }\n\n ////// Img cropper methods ////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n /* Cropper output events */\n\n fileChangeEvent(event: any): void {\n this.imageChangedEvent = event;\n }\n\n imageCropped(event: ImageCroppedEvent) {\n this.detectImgCropperChange();\n\n this.currentCroppedImage = event.base64;\n this.currentCroppedImageChange.emit(this.currentCroppedImage);\n }\n\n imageLoaded() {\n this.showCropper = true;\n }\n\n cropperReady() {\n this.isCropperReady = true;\n }\n\n loadImageFailed() {\n this.onEditClosed(this.msgFailLoad);\n }\n\n /* Resize functions */\n\n changeResolutionSize(index: number) {\n this.setActiveItem(this.resolutionConfig, index);\n const config = this.resolutionConfig[index].config;\n this.setCropperProperties(config);\n }\n\n confirmCrop() {\n this.imgRoute = null;\n this.croppedImage = this.currentCroppedImage;\n this.isImgCropped = false;\n this.isImgCroppedInitilized = false;\n this.resetConfCropper();\n this.onImgModified();\n }\n\n resetConfCropper() {\n this.scale = 1;\n this.rotation = 0;\n this.canvasRotation = 0;\n this.transform = {};\n }\n\n private setActiveItem(array:any[], index: number) {\n // Set active-item class for the dropdown\n array.forEach((item, indexItem) => {\n item.active = indexItem === index ? true : false;\n });\n }\n\n private setCropperProperties(config: any) {\n for (const property in config) {\n this.imgCropperConfig[property] = config[property];\n }\n }\n\n private detectImgCropperChange() {\n this.isImgCropped = this.isImgCroppedInitilized;\n this.isImgCroppedInitilized = true;\n }\n\n /* Rotations functions */\n\n rotateLeft() {\n this.canvasRotation--;\n this.flipAfterRotate();\n this.onImgModified();\n }\n\n rotateRight() {\n this.canvasRotation++;\n this.flipAfterRotate();\n this.onImgModified();\n }\n\n flipHorizontal() {\n this.transform = {\n ...this.transform,\n flipH: !this.transform.flipH\n };\n this.onImgModified();\n }\n\n flipVertical() {\n this.transform = {\n ...this.transform,\n flipV: !this.transform.flipV\n };\n this.onImgModified();\n }\n\n private flipAfterRotate() {\n const flippedH = this.transform.flipH;\n const flippedV = this.transform.flipV;\n this.transform = {\n ...this.transform,\n flipH: flippedV,\n flipV: flippedH\n };\n }\n\n /* Zoom functions */\n\n zoomOut() {\n this.scale -= this.scale < 0.2? 0 : .1;\n this.transform = {\n ...this.transform,\n scale: this.scale\n };\n this.onImgModified();\n }\n\n zoomIn() {\n this.scale += .1;\n this.transform = {\n ...this.transform,\n scale: this.scale\n };\n this.onImgModified();\n }\n\n applyMethod(method: string) {\n this[method](); // call the method contains in zoomConfig or rotationConfig\n }\n}\n","import {Component, OnInit, Input, ViewChild, ElementRef, AfterViewInit, Output, EventEmitter} from '@angular/core';\nimport { ImgPictureDTO, ImgPicturesDTO, ParamsImgManagerDTO } from '../../dto/img-manager.dto';\nimport { ImgManagerService } from '../../services/img-manager.service';\nimport { Subscription, Subject} from 'rxjs';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { ImgEventService } from '../../services/img-event.service';\nimport { ImgSelectionService } from '../../services/img-selection.service';\nimport { UserSettingsService } from '../../services/user-settings.service';\nimport { TableFilters } from '../../services/table/filters-table.service';\nimport { PictureNameUpdate } from '../../dto/picture-name-update.dto';\nimport { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';\nimport { insertRemove } from '../../animations/insertRemove/insert-remove.animation';\nimport { stateDisplayed, tabDisplayed } from '../../dto/export-dtos.api';\nimport { RenamePictureService } from '../../services/rename-picture.service';\nimport { AlertService } from '../../services/alert.service';\n\n@Component({\n selector: 'images-view',\n templateUrl: './images-view.component.html',\n animations: [\n easeInOut,\n insertRemove\n ]\n})\nexport class ImagesViewComponent implements OnInit, AfterViewInit {\n\n @Input() stateDisplayed: stateDisplayed;\n @Input() tabDisplayed: tabDisplayed;\n @Input() fullSize: boolean;\n @Input() maxLengthCardShow: number;\n @Input() nbRowToShow: number;\n @Input() listDisplayed = false; // Display format list or mosaic\n @Input() multipleImgMode = false;\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n // Data filters\n tableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: '',\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 1\n };\n\n @ViewChild('imgLibContainer') imgLibContainer : ElementRef;\n widthLargeCard: number = 219; // Default value of a card width 199 + margin 20\n widthSmallCard: number = 160; // Default value of a card width 140 + margin 20\n nbMinImgPerLine: number;\n nbMaxImgPerLine: number;\n nbFakeImg: number = 0;\n\n imgFullWidthConfig:any = [\n {\n max: 419,\n largeImgWidthFactor : 1,\n smallImgWidthFactor : 0.5\n },\n {\n max: 499,\n largeImgWidthFactor : 1,\n smallImgWidthFactor : 0.5\n },\n {\n max: 719, // tablet\n largeImgWidthFactor : 0.5,\n smallImgWidthFactor : 0.3333\n },\n {\n max: 1023, // deskop\n largeImgWidthFactor : 0.3333,\n smallImgWidthFactor : 0.2\n },\n {\n max: 1399,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.125\n },\n {\n max: 1599,\n largeImgWidthFactor : 0.2,\n smallImgWidthFactor : 0.1111\n },\n {\n largeImgWidthFactor : 0.1666,\n smallImgWidthFactor : 0.1\n }\n ];\n\n imgWidthConfig:any = [\n {\n max: 1024,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.125\n },\n {\n max: 1199,\n largeImgWidthFactor : 0.3333,\n smallImgWidthFactor : 0.2\n },\n {\n max: 1299,\n largeImgWidthFactor : 0.3333,\n smallImgWidthFactor : 0.1666\n },\n {\n max: 1399,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.1666\n },\n {\n max: 1599,\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.14\n },\n {\n largeImgWidthFactor : 0.25,\n smallImgWidthFactor : 0.125\n }\n ];\n\n imgSubscribe: Subscription;\n imgRemovedEvent: Subscription;\n imgAddedEvent: Subscription;\n imgSelectionChange: Subscription;\n searchQueryChanged: Subject<string> = new Subject<string>();\n filtersChanged: Subject<void> = new Subject<void>();\n\n picturesList: ImgPictureDTO[] = [];\n savePictureList: ImgPictureDTO[] = [];\n imgSelectedList: ImgPictureDTO[];\n searchedValue: string; // Value from the search bar or img added by canva\n nbImgToDelSelected: number = 0;\n disable: boolean = false; // Use to disable action during server request\n isLoading: boolean = true;\n isTotalRetieved: boolean = false;\n delListImgLoader = false;\n initComponent: boolean = true;\n failLoaded: boolean = false;\n displayPexelsResults: boolean = false; // Use when no img find by name, display img from Pexels\n searchText: string;\n confirmImgSup:boolean = false;\n previousSearchValue: string;\n\n // Paginator Params\n pageIndex: number =0;\n length: number = 0;\n pageSize: number = 30; // Default value\n pageSizeOptions: number[] = [25, 50, 100, 250];\n\n // Api Img manager Params\n params:ParamsImgManagerDTO;\n\n private errorGetAllImg = 'ImgManager.ImgLib.errorGetAllImg';\n private errorGetTotalImg = 'ImgManager.ImgLib.errorGetTotalImg';\n private errorGetImg = 'ImgManager.ImgLib.errorGetCanvaImg';\n private msgNoImgFound = 'ImgManager.ImgLib.noImgFound';\n private errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';\n\n constructor(\n private imgManager: ImgManagerService,\n private imgEventService: ImgEventService,\n private imgSelectionService: ImgSelectionService,\n private alertService: AlertService,\n private userSettingsService: UserSettingsService,\n private renamePictureService: RenamePictureService) { }\n\n ngOnInit(): void {\n /* if (this.maxLengthCardShow) {\n this.reducePictureListMaxLength();\n } */\n this.setEvents();\n this.imgSelectedList = this.imgSelectionService.getImgSelection();\n }\n\n ngAfterViewInit() {\n this.setNbImgToDisplay();\n this._getImgList();\n if (!this.savePictureList) {\n this.savePictureList = this.picturesList;\n }\n }\n\n /* reducePictureListMaxLength() {\n this.picturesList.splice(0, this.maxLengthCardShow);\n } */\n\n getImgList() {\n this.filtersChanged.next();\n }\n\n /**\n * true : go to list display\n * false : go to mosaic display\n * @param activate\n */\n onSwitchFormatDisplayed(activate: boolean) {\n this.listDisplayed = activate;\n this.userSettingsService.setUserDisplayPreference(activate);\n this.imgEventService.emitlistDisplayedChange(activate);\n }\n\n /**\n * Calcul the number of img selected for masse deletion\n */\n onImgSelected() {\n this.setNbImgToDelSelected();\n }\n\n onShowImgUploaded() {\n this.searchText = null;\n this.searchedValue = null;\n this.getImgList();\n }\n\n onRenamePicture(pictureRenamed: PictureNameUpdate) {\n console.log('onRenamePicture pictureRenamed', pictureRenamed);\n this.renamePictureService.onRenamePicture(pictureRenamed);\n }\n\n removeListImg() {\n if (this.disable) {\n return;\n }\n this.disable = true;\n this.delListImgLoader = true;\n this.confirmImgSup = false;\n\n // Get the id of the img to remove\n // And add deleted property\n const idImgToRemove: string[] = [];\n this.picturesList.forEach( img => {\n if (img.delSelected) {\n img.deleted = true;\n idImgToRemove.push(img.id_file);\n }\n });\n\n this.imgManager.removeMultipleImg(idImgToRemove).subscribe(\n () => {\n this.getImgList();\n this.imgSelectionService.removeImgSelectionByIds(idImgToRemove);\n },\n error => {\n this.getImgList();\n this.alertService.openAlert(this.errorRemoveImg);\n }\n );\n\n\n }\n\n selectImgChosen() {\n if (this.disable) {\n return;\n }\n const picturesListSelected: ImgPictureDTO[] = [];\n this.picturesList.map(img => {\n if(img.delSelected) {\n img.delSelected =false;\n img.selected = true;\n }\n if (img.selected) {\n picturesListSelected.push(img);\n }\n });\n this.setNbImgToDelSelected();\n this.imgSelectionService.setImgSelection(picturesListSelected);\n }\n\n displayConfirmImgSup(){\n if (this.disable) {\n return;\n }\n this.confirmImgSup = true;\n }\n\n cancelSup() {\n this.confirmImgSup = false;\n }\n\n /**\n * Event emit when a img selected in order to delete\n */\n onPicturesListChange() {\n this.setNbImgToDelSelected();\n }\n\n onFiltersChange() {\n this.getImgList();\n }\n\n /**\n * Set default number of img per page to display at the initialisation\n * This number is between 30 and 50\n */\n private setNbImgToDisplay() {\n const containerWidth = this.imgLibContainer.nativeElement.offsetWidth + 30; // + 30px -> left + right margin\n const scrollWidth = window.innerWidth - document.body.offsetWidth;\n\n const [maxImgWidthFactor, minImgWidthFactor] = this.getImgWidthFactors();\n\n const minImgWidth = Math.floor(containerWidth * minImgWidthFactor);\n const maxImgWidth = Math.ceil((containerWidth + scrollWidth ) * maxImgWidthFactor);\n\n this.nbMaxImgPerLine = Math.floor(containerWidth / minImgWidth);\n this.nbMinImgPerLine = Math.floor( (containerWidth + scrollWidth ) / maxImgWidth);\n\n this.pageSize = this.getTotalImgPerPage();\n }\n\n private getImgWidthFactors(): number[] {\n const screenWidth = window.innerWidth;\n let minWidth:number = 0;\n let imgSizesConfig: number[] = [];\n\n const currentImgWidthConfig = this.fullSize ? this.imgFullWidthConfig : this.imgWidthConfig;\n\n for (const widthConfig of currentImgWidthConfig) {\n if (!widthConfig.max) {\n imgSizesConfig = [widthConfig.largeImgWidthFactor, widthConfig.smallImgWidthFactor];\n break;\n }\n if (minWidth < screenWidth && screenWidth <= widthConfig.max) {\n imgSizesConfig = [widthConfig.largeImgWidthFactor, widthConfig.smallImgWidthFactor];\n break;\n }\n minWidth = widthConfig.max;\n }\n return imgSizesConfig;\n }\n\n private getTotalImgPerPage(): number {\n if (this.nbRowToShow) {\n const nbImgPerLine = this.stateDisplayed === 'full' ? this.nbMinImgPerLine : this.nbMaxImgPerLine;\n return nbImgPerLine * this.nbRowToShow;\n }\n\n let total = this.nbMinImgPerLine;\n\n while (total < 30 || total % this.nbMaxImgPerLine !== 0 || total % this.nbMinImgPerLine !== 0) {\n total += this.nbMinImgPerLine;\n }\n return total;\n }\n\n private setParams() {\n this.params = {\n limit: this.maxLengthCardShow?.toString() || (this.tableFilters.itemsPerPage ? this.tableFilters.itemsPerPage.toString() : this.pageSize.toString()),\n page: this.tableFilters.currentPage.toString()\n };\n if (this.tableFilters.searchValue) {\n this.params[\"display_name:contains\"] = this.tableFilters.searchValue.toString();\n }\n }\n\n private initVariables(loadingSuccess: boolean) {\n this.nbImgToDelSelected = 0;\n this.disable = false;\n this.isLoading = false;\n this.delListImgLoader = false;\n this.initComponent = false;\n this.displayPexelsResults = false;\n this.failLoaded = !loadingSuccess;\n this.nbFakeImg = 0;\n }\n\n private selectImgSelected () {\n if (!this.imgSelectedList || !this.imgSelectedList.length) {\n return;\n }\n\n const idImgSlectedList: string[] = [];\n\n this.imgSelectedList.forEach(img =>\n idImgSlectedList.push(img.id_file)\n );\n\n this.picturesList.forEach(picture => {\n if (idImgSlectedList.indexOf(picture.id_file) !== -1) {\n picture.selected = true;\n }\n });\n }\n\n private displayPexelsLib () {\n this.displayPexelsResults = true;\n this.alertService.openAlert(this.msgNoImgFound);\n }\n\n /**\n * Set a img list in order to fill properly all the line of images displayed in mosaic.\n * Otherwise, the space-between css will do a bad display\n */\n private calculNbImgFake(nbImgDisplayed: number) {\n const nbImgPerLine = this.stateDisplayed === 'small' || this.tabDisplayed === 'img-upload' ? this.nbMaxImgPerLine : this.nbMinImgPerLine;\n\n if (nbImgDisplayed % nbImgPerLine !== 0) {\n this.nbFakeImg = nbImgPerLine - nbImgDisplayed % nbImgPerLine;\n }\n }\n\n private getImg (id_file: string) {\n this.imgManager.getShopImg(id_file).pipe(take(1)).subscribe(\n (picture: ImgPictureDTO) => {\n\n if (!this.imgAlreadyExist(picture.id_file)) {\n // check the img is not already present\n this.picturesList.unshift(picture);\n this.length += 1;\n }\n },\n error => {\n this.alertService.openAlert(this.errorGetImg);\n }\n );\n }\n\n private imgAlreadyExist (id_file: string): boolean {\n for (const img of this.picturesList) {\n if (img.id_file === id_file) {\n return true;\n }\n }\n return false;\n }\n\n private setNbImgToDelSelected () {\n this.nbImgToDelSelected = this.picturesList.filter(img =>\n img.delSelected).length;\n\n if (!this.nbImgToDelSelected) {\n this.confirmImgSup = false;\n }\n }\n\n private setEvents() {\n // Add a timer to retrieve img when the search bar or the paginator are used\n this.searchQueryChanged\n .pipe(debounceTime(400)) // wait 0.5 sec after the last event before emitting last event\n .subscribe(data => {\n this.getImgList();\n });\n\n this.filtersChanged\n .pipe(debounceTime(800)) // wait 0.8 sec after the last event before emitting last event\n .subscribe(data => {\n this._getImgList();\n });\n\n // Reload img when img is/are removed\n this.imgRemovedEvent = this.imgEventService.getImgRemovedEventListner().subscribe(id_file =>{\n this.getImgList();\n });\n\n // Create img from Canva\n this.imgAddedEvent = this.imgEventService.getImgAddedEventListner().subscribe(id_file =>{\n if (id_file && !this.imgAlreadyExist(id_file)) {\n this.getImg(id_file);\n }\n });\n\n this.imgSelectionChange = this.imgSelectionService.getImgSelectionChange().subscribe(imgSelection =>{\n if (this.listDisplayed) {\n return;\n }\n const idFileList = [];\n imgSelection.map(img => idFileList.push(img.id_file));\n for (const picture of this.picturesList) {\n if (idFileList.indexOf(picture.id_file) === -1) {\n picture.selected = false;\n }\n }\n });\n }\n\n private _getImgList() {\n this.isLoading = true;\n this.displayPexelsResults = false;\n this.setParams();\n\n this.refreshTotalImgList();\n\n this.imgManager.getShopImgList(this.params).pipe(take(1)).subscribe((data: ImgPicturesDTO) => {\n this.initVariables(true);\n const nbImgDisplayed = data.data.length;\n this.calculNbImgFake(nbImgDisplayed);\n this.picturesList = data.data;\n this.renamePictureService.setPicturesList(this.picturesList);\n this.selectImgSelected();\n\n this.length = this.isTotalRetieved ? this.length : data.totalRecords;\n this.tableFilters.totalItems = this.isTotalRetieved ? this.tableFilters.totalItems : data.totalRecords;\n this.tableFilters.itemsPerPage = this.tableFilters.itemsPerPage ? this.tableFilters.itemsPerPage : this.pageSize;\n\n // Display Pexels if no result\n if (data.totalRecords === 0) {\n this.displayPexelsLib();\n }\n\n },\n error => {\n this.alertService.openAlert(this.errorGetAllImg);\n this.initVariables(false);\n });\n }\n\n private refreshTotalImgList() {\n const searchValue = this.tableFilters.searchValue;\n\n if (this.isTotalRetieved && searchValue === this.previousSearchValue) {\n // Keep current total result\n return;\n }\n\n this.isTotalRetieved = false;\n\n this.imgManager.getShopTotalImgList(this.params).pipe(take(1)).subscribe(\n\n (data: ImgPicturesDTO) => {\n this.previousSearchValue = searchValue;\n this.isTotalRetieved = true;\n this.length = data.totalRecords;\n this.tableFilters.totalItems = data.totalRecords;\n },\n\n error => {\n //this.alertService.openAlert(this.errorGetTotalImg);\n this.initVariables(false);\n });\n }\n\n switchDisplayWindowMosaic() {\n this.switchDisplayWindow.emit(true);\n }\n\n ngOnDestroy(): void {\n this.searchQueryChanged.unsubscribe();\n this.imgRemovedEvent.unsubscribe();\n this.imgAddedEvent.unsubscribe();\n this.imgSelectionChange.unsubscribe();\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { listAnnimation } from '../../../animations/listAnnimation/list.animation';\nimport { PictureNameUpdate, tabDisplayed } from '../../../dto/export-dtos.api';\nimport { AlertService } from '../../../services/alert.service';\nimport { ImgManagerConfigService } from '../../../services/config/external-config.service';\nimport { ImgCDNService } from '../../../services/config/img-cdn.service';\nimport { ImgEventService } from '../../../services/img-event.service';\nimport { ImgManagerService } from '../../../services/img-manager.service';\nimport { ImgSelectionService } from '../../../services/img-selection.service';\nimport { ImagesActionHandler } from '../images-actions-handler';\n\n@Component({\n selector: 'mosaic-view',\n templateUrl: './mosaic-view.component.html',\n animations: [\n listAnnimation\n ]\n})\nexport class MosaicViewComponent extends ImagesActionHandler implements OnInit {\n\n @Input()\n tabDisplayed: tabDisplayed;\n @Input()\n fullSize: boolean;\n @Input()\n nbFakeImg: number = 0;\n @Output()\n switchDisplayWindow: EventEmitter<boolean> = new EventEmitter();\n\n constructor(\n imgManager: ImgManagerService,\n imgSelectionService: ImgSelectionService,\n http: HttpClient,\n imgCDNService: ImgCDNService,\n imgEventCardService: ImgEventService,\n alertService: AlertService,\n translateService: TranslateService,\n externalService: ImgManagerConfigService\n ) {\n super(\n imgManager,\n imgSelectionService,\n http,\n imgCDNService,\n imgEventCardService,\n alertService,\n translateService,\n externalService\n );\n }\n\n ngOnInit(): void {\n }\n\n onSearchChange(event: string) {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.filtersChange.emit(this.tableFilters);\n }\n\n onCardRenamePicture(pictureRenamed: PictureNameUpdate) {\n this.pictureNameChange.next(pictureRenamed);\n }\n\n switchDisplayWindowCard() {\n this.switchDisplayWindow.emit(true);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { listAnnimation } from '../../../animations/listAnnimation/list.animation';\nimport { AlertService } from '../../../services/alert.service';\nimport { ImgManagerConfigService } from '../../../services/config/external-config.service';\nimport { ImgCDNService } from '../../../services/config/img-cdn.service';\nimport { ImgEventService } from '../../../services/img-event.service';\nimport { ImgManagerService } from '../../../services/img-manager.service';\nimport { ImgSelectionService } from '../../../services/img-selection.service';\nimport { ImagesActionHandler } from '../images-actions-handler';\n\n@Component({\n selector: 'table-view',\n templateUrl: './table-view.component.html',\n animations: [\n listAnnimation\n ]\n})\nexport class TableViewComponent extends ImagesActionHandler implements OnInit {\n dataTableName: string = 'imgagesView'; // Name of your table\n\n constructor(\n imgManager: ImgManagerService,\n imgSelectionService: ImgSelectionService,\n http: HttpClient,\n imgCDNService: ImgCDNService,\n imgEventCardService: ImgEventService,\n alertService: AlertService,\n translateService: TranslateService,\n externalService: ImgManagerConfigService\n ) {\n super(\n imgManager,\n imgSelectionService,\n http,\n imgCDNService,\n imgEventCardService,\n alertService,\n translateService,\n externalService\n );\n }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NwbFilterGroup, NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';\nimport { Subject } from 'rxjs';\nimport { PaginationFilters } from '../../components/shared/pagination/pagination.component';\n\nexport interface TableFilters extends PaginationFilters {\n sort: string;\n order: boolean;\n searchValue: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltersTableService {\n filterGroups = new Map<string, NwbFilterGroup>();\n dataTableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: undefined,\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 0\n };\n\n private sortSubject: Subject<any> = new Subject<any>();\n\n constructor(private filterRoutingBuilder: NwbFilterRoutingBuilder) {}\n\n getTableFilterGroup(dataTableName: string) {\n if (this.filterGroups.has(dataTableName)) {\n return this.filterGroups.get(dataTableName);\n }\n const filterGroup: NwbFilterGroup = this.filterRoutingBuilder.group(this.dataTableFilters, dataTableName);\n this.filterGroups.set(dataTableName, filterGroup);\n return filterGroup;\n }\n\n /**\n * Use to reset the others sorts of the table\n * @param dataTableName\n * @param sortName\n * @param order\n */\n emitSortChange(dataTableName: string, sortName: string, order: boolean) {\n this.sortSubject.next({ dataTableName, sortName, order });\n }\n\n getSortChangeListner() {\n return this.sortSubject.asObservable();\n }\n\n setPaginationFilters(dataTableName: string, totalItems: number, itemsPerPage: number, currentPage: number) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage,\n currentPage\n });\n }\n\n setInitialPaginationFiltersIfNotExist(dataTableName: string, itemsPerPage: number, currentPage: number) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,\n currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage\n });\n }\n}","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { v4 as uuid } from 'uuid';\nimport { NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { TableFilters, FiltersTableService } from '../../../services/table/filters-table.service';\n\n@Component({\n selector: 'wz-table',\n templateUrl: './table.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TableComponent implements OnInit {\n /// Input/Output of table filters ///\n\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n @Input() tableRoutingName: string; // Name of the table\n @Input() placeholder: string = '';\n\n private _filterGroup: NwbFilterGroup;\n\n /// Input/Output of checkbox ///\n\n /** Pass to true to display checkbox in the header table */\n @Input() checkbox = false;\n /** Emit new header checboxValue */\n @Output() toggleAllCheckBox: EventEmitter<boolean> = new EventEmitter();\n\n /// Input to disable section ///\n\n /** Pass to true to hide search input */\n @Input() disableSearch: boolean = false;\n /** Pass to true to hide the pagniator */\n @Input() disablePagniation: boolean = false;\n\n /// Input for loader on table body ///\n @Input() isLoading = false;\n\n /// Private variables ///\n headerCheckBoxId: string;\n private filterGroupChangeSub: Subscription;\n\n constructor(private filtersTableService: FiltersTableService) {}\n\n ngOnInit(): void {\n this.headerCheckBoxId = uuid(); // Create checkbox unique id\n\n /* Handle routing filters */\n if (this.tableRoutingName) {\n this._filterGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);\n\n // Performe initial fetch data\n this._filterGroup.valuesChange$.next([]);\n\n this.setTablesFilters();\n\n // Listen to filters changes with debounced time to limit multiple api calls\n this.filterGroupChangeSub = this._filterGroup.valuesChange$.subscribe(filters => {\n this.setTablesFilters();\n });\n }\n }\n\n onToggleAllCheckBox(event) {\n this.toggleAllCheckBox.emit(event.target.checked);\n }\n\n searchChange(event: string) {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n\n // Reset routing filters\n if (this._filterGroup) {\n this._filterGroup.setValues({\n searchValue: this.tableFilters.searchValue,\n sort: undefined,\n order: undefined,\n currentPage: 1\n });\n }\n }\n\n pageChange() {\n this.tableFiltersChange.emit(this.tableFilters);\n if (this._filterGroup) {\n this._filterGroup.setValues({\n itemsPerPage: this.tableFilters.itemsPerPage,\n currentPage: this.tableFilters.currentPage\n });\n }\n }\n\n /**\n * Set tableFilters from routing data existing in the url\n * */\n private setTablesFilters() {\n this.tableFilters = {\n sort: this._filterGroup.get('sort'),\n order: this._filterGroup.get('order'),\n searchValue: this._filterGroup.get('searchValue'),\n itemsPerPage: this._filterGroup.get('itemsPerPage') ? parseInt(this._filterGroup.get('itemsPerPage')) : 0,\n currentPage: this._filterGroup.get('currentPage') ? parseInt(this._filterGroup.get('currentPage')) : 0,\n totalItems: this.tableFilters.totalItems\n };\n this.tableFiltersChange.emit(this.tableFilters);\n }\n\n ngDestroy() {\n if (this.filterGroupChangeSub) {\n this.filterGroupChangeSub.unsubscribe();\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wz-input-search',\n templateUrl: './input-search.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }]\n})\nexport class InputSearchComponent implements ControlValueAccessor {\n @Input()\n placeholder = '';\n @Input()\n smallPadding = false;\n @Input()\n id;\n private innerValue: any = '';\n @Output() changeDebounced = new EventEmitter<any>(); // debounced\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public handleDebouncedKeyUp(event): void {\n this.changeDebounced.emit(event.target.value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'IsLastPage'\n})\nexport class PagniationIsLastPage implements PipeTransform {\n /**\n * Return true, if the current page is the last page. Otherwise, return false.\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage: number, totalItems: number, itemsPerPage: number): boolean {\n if (!(currentPage >= 0 && totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('currentPage or totalItems or itemsPerPage is/are missing in PagniationIsLastPage pipe.');\n }\n return currentPage === Math.ceil(totalItems / itemsPerPage);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PagniationIsLastPage } from '../../../pipes/pagination/total-pages/is-last-page.pipe';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wz-pagination',\n templateUrl: './pagination.component.html'\n})\nexport class PaginationComponent {\n @Input() set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Output() pageChange: EventEmitter<PaginationFilters> = new EventEmitter();\n\n constructor() {}\n\n decrementPage() {\n if (this.pagination.currentPage <= 1) {\n return;\n }\n this.pagination.currentPage--;\n this.pageChange.emit(this.pagination);\n }\n\n incrementPage() {\n const isLastPage = new PagniationIsLastPage().transform(\n this.pagination.currentPage,\n this.pagination.totalItems,\n this.pagination.itemsPerPage\n );\n if (isLastPage) {\n return;\n }\n this.pagination.currentPage++;\n this.pageChange.emit(this.pagination);\n }\n\n onGotoPageChange(pageNumber) {\n this.pagination.currentPage = parseInt(pageNumber);\n this.pageChange.emit(this.pagination);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ArrayTotalPages'\n})\nexport class PagniationArrayTotalPages implements PipeTransform {\n /**\n * Return an incremental array corresponding with the number page\n * [ 1, 2, 3 ..., last page number ]\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems: number, itemsPerPage: number): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n const arrayLength: number = Math.ceil(totalItems / itemsPerPage);\n return Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map((x: number) => x + 1);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'customPagniationText'\n})\nexport class PagniationText implements PipeTransform {\n constructor(private translateService: TranslateService) {}\n\n /**\n * Update pagination text if at least one entrie change\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage: number, totalItems: number, itemsPerPage: number): any {\n let currentItemsLow = 0,\n currentItemsHigh = 0;\n\n if (totalItems) {\n currentItemsLow = (currentPage - 1) * itemsPerPage + 1;\n currentItemsHigh = currentPage * itemsPerPage;\n }\n\n if (currentItemsHigh > totalItems) {\n currentItemsHigh = totalItems;\n }\n\n return this.translateService.instant('PaginationComponent.on', { low: currentItemsLow, high: currentItemsHigh, total: totalItems });\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wz-checkbox',\n templateUrl: './checkbox.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n alone = false;\n @Input()\n checked = false;\n @Input()\n id = '';\n @Input()\n name: string;\n disabled = false;\n constructor() {}\n private _onChange: Function;\n private _onTouched: Function;\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Output,\n Renderer2,\n Directive,\n ElementRef,\n Input,\n ComponentRef,\n ApplicationRef,\n EmbeddedViewRef,\n Injector,\n Type\n} from '@angular/core';\n\nimport { v4 as uuid } from 'uuid';\nimport { CheckboxComponent } from '../../components/shared/checkbox/checkbox.component';\n\n@Directive({\n selector: '[checkBoxRow]'\n})\nexport class CheckBoxRow {\n @Input('checkBoxId') checkBoxId: string | number;\n @Input('checkBoxName') checkBoxName: string;\n\n @Input('checkBoxValue') set checkBoxValue(value: boolean) {\n this._value = value;\n if (this.checkboxComponentRef) {\n this.setCheckBoxValue();\n }\n }\n _value: boolean;\n get checkBoxValue(): boolean {\n return this._value;\n }\n\n @Output() checkBoxValueChange: EventEmitter<boolean> = new EventEmitter();\n\n private checkboxComponentRef: ComponentRef<CheckboxComponent>;\n private htmlContainer: HtmlContainer;\n\n constructor(\n private currentRow: ElementRef,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private resolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n ngOnInit() {\n this.createCheckBoxComponent();\n this.handleChecboxInputs();\n this.handleCheckboxOutputs();\n }\n\n createCheckBoxComponent() {\n // Create the container\n const checkBoxContainer = document.createElement('div');\n checkBoxContainer.className = 'wz-table__body__line__cell wz-table__body__line__cell--checkbox';\n\n // Insert divCheckBox in the DOM as the first child of the row\n this.renderer.insertBefore(this.currentRow.nativeElement, checkBoxContainer, this.currentRow.nativeElement.firstChild);\n\n // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)\n this.htmlContainer = new HtmlContainer(checkBoxContainer, this.appRef, this.resolver, this.injector);\n this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);\n }\n\n private handleChecboxInputs() {\n this.checkboxComponentRef.instance.id = this.checkBoxId ? this.checkBoxId : uuid();\n this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;\n this.checkboxComponentRef.instance.alone = true;\n this.setCheckBoxValue();\n }\n\n private setCheckBoxValue() {\n this.checkboxComponentRef.instance.value = this.checkBoxValue;\n }\n\n private handleCheckboxOutputs() {\n // Detect checkbox changes\n this.checkboxComponentRef.instance.registerOnChange(() => {\n this._toggleCheckbox();\n });\n }\n\n private _toggleCheckbox() {\n this.checkBoxValue = !this.checkBoxValue;\n this.checkBoxValueChange.emit(this.checkBoxValue);\n }\n\n ngOnDestroy() {\n this.htmlContainer.dispose();\n }\n}\n\nexport class HtmlContainer {\n private attached: boolean = false;\n\n private disposeFn: () => void;\n\n constructor(\n private hostElement: Element,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n attach(component: Type<any>): ComponentRef<any> {\n if (this.attached) {\n throw new Error('component has already been attached');\n }\n\n this.attached = true;\n const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\n let componentRef = childComponentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n this.disposeFn = () => {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n };\n\n this.hostElement.appendChild((componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n return componentRef;\n }\n\n dispose() {\n if (this.attached) {\n this.disposeFn();\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[tableColumn]'\n})\nexport class TableColumn {\n @Input('columnSize') columnSize: string; // Optional.\n @Input('centerCell') centerCell: string; // Optional. left|center|right\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__body__line__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wz-table__body__line__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EventEmitter, Inject, Output } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { FiltersTableService, TableFilters } from '../../services/table/filters-table.service';\n\n@Directive({\n // The selector has the same name as the headerCell selector in table.component.html\n selector: '[headerCell]'\n})\nexport class TableColumnHeader {\n @Input('headerName') // Optional.\n set headerName(value: string) {\n this._headerName = value;\n this.setHeaderName();\n }\n _headerName: string = '';\n get headerName(): string {\n return this._headerName;\n }\n @Input('columnSize') columnSize: string; // Optional.\n @Input('filterRouting') filterRouting: boolean = false; // Optional. Set to true to use Filter Routing.\n @Input('tableName') tableName: string; // Optional, but mandatory to handle sorting\n @Input('sortName') sortName: string; // Optional, but mandatory to handle sorting\n @Input('centerCell') centerCell: string; // Optional. left|center|right\n @Output() onSortChange: EventEmitter<boolean> = new EventEmitter(); // Emit the sort value (true, false, undefuned) of the current sort icon when clicking\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n private contentHeader: HTMLAnchorElement;\n private filterGroup: NwbFilterGroup;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private currentCell: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private filtersTableService: FiltersTableService\n ) {}\n\n ngOnInit() {\n if (this.tableName && this.sortName) {\n if (this.filterRouting) {\n this.handleSortRouting();\n } else {\n this.handleSortBasic();\n }\n }\n }\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n this.renderHeaderColumn();\n }\n\n handleSortRouting() {\n this.filterGroup = this.filtersTableService.getTableFilterGroup(this.tableName);\n\n const filterGroupChangeSub = this.filterGroup.valuesChange$.subscribe(filters => {\n const filterSort = filters.filter(filter => filter.key === 'sort')[0];\n if (this.sortName !== filterSort.value) {\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(filterGroupChangeSub);\n }\n\n handleSortBasic() {\n const sortChangeSub = this.filtersTableService.getSortChangeListner().subscribe(sort => {\n if (this.tableName === sort.dataTableName && this.sortName !== sort.sortName) {\n // Reset the current sort icon\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(sortChangeSub);\n }\n\n resetSortIcon() {\n // Replace current icon with default icon\n this.contentHeader.className = this.contentHeader.className.replace(this.getCurrentSortIcon(), 'idle');\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__head__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wz-table__head__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n\n renderHeaderColumn() {\n this.createHeaderContent();\n this.renderer.appendChild(this.currentCell.nativeElement, this.contentHeader);\n }\n\n createHeaderContent() {\n this.contentHeader = document.createElement('a');\n this.contentHeader.className = 'wz-table__head__cell__search';\n this.setHeaderName();\n if (this.tableName && this.sortName) {\n this.handleSort();\n }\n }\n\n private setHeaderName() {\n if (!this.contentHeader) {\n return;\n }\n this.contentHeader.innerHTML = this.headerName;\n }\n\n handleSort() {\n // Set icon in the header column cell\n this.contentHeader.className += ' wz-table__head__cell__search--' + this.getInitialSortIcon();\n\n // On click on the content header, change the icon and emit event\n this.renderer.listen(this.contentHeader, 'click', () => {\n const currentIcon = this.getCurrentSortIcon();\n let newIcon: string;\n let newSort: string, newOrder: boolean;\n\n switch (currentIcon) {\n case 'idle':\n newIcon = 'up';\n newSort = this.sortName;\n newOrder = true;\n break;\n\n case 'up':\n newIcon = 'down';\n newSort = this.sortName;\n newOrder = false;\n break;\n\n case 'down':\n newIcon = 'idle';\n break;\n\n default:\n newIcon = 'idle';\n break;\n }\n // Replace the icon\n this.contentHeader.className = this.contentHeader.className.replace(currentIcon, newIcon);\n\n this.emitEvents(newSort, newOrder);\n });\n }\n\n getInitialSortIcon() {\n if (!this.filterRouting) {\n return 'idle';\n }\n // Get Initial Sort Icon for Routing Filter\n let initialSortIcon = 'idle';\n if (this.filterGroup.get('sort') === this.sortName) {\n initialSortIcon = this.filterGroup.get('order') == 'true' ? 'up' : 'down';\n }\n return initialSortIcon;\n }\n\n getCurrentSortIcon() {\n const regexp = /wz-table__head__cell__search--(?<icon>\\w+)/;\n const { groups } = regexp.exec(this.contentHeader.className);\n return groups.icon;\n }\n\n emitEvents(newSort, newOrder) {\n if (this.filterRouting) {\n // Will send the filter routing value has changes event\n this.filterGroup.setValues({\n sort: newSort,\n order: newOrder,\n currentPage: 1\n });\n } else {\n // Send the event sort change\n this.filtersTableService.emitSortChange(this.tableName, this.sortName, newOrder);\n }\n if (this.tableFilters) {\n this.tableFilters.sort = this.sortName;\n this.tableFilters.order = newOrder;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n }\n this.onSortChange.emit(newOrder);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => {\n subscription.unsubscribe();\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // The selector has the same name as the tableRaw selector in table.component.html\n selector: '[tableRow]'\n})\nexport class TableRow {\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__body__line');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ImgCDNService } from '../../services/config/img-cdn.service';\n\n@Pipe({\n name: 'imgSrc'\n})\nexport class ImageSrcPipe implements PipeTransform {\n\n constructor(private imgCDNService: ImgCDNService) { }\n\n transform(pictureName: string, size: string): string {\n if(!size) {\n throw \"The size is undefined in ImageSrcPipe.\";\n }\n\n const route: string = this.imgCDNService.getUrlImg(size);\n\n if (!route) {\n throw \"The expected size is not defined in ImageSrcPipe.\";\n }\n\n return route + pictureName;\n }\n}\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';\n\n@Directive({\n selector: 'AbstractDebounceDirective'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n protected emitEvent$: Subject<any>;\n protected subscription$: Subject<void>;\n\n constructor() {\n this.debounceTime = 500;\n this.onEventChange = new EventEmitter<any>();\n this.emitEvent$ = new Subject<any>();\n this.subscription$ = new Subject<void>();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n this.onEventChange.emit(value);\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\n@Directive({\n selector: 'input[debounceKeyUp]'\n})\nexport class DebounceKeyupDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n event.preventDefault();\n this.emitEvent$.next(event);\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wz-loader',\n templateUrl: './loader.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LoaderComponent {\n @Input()\n text: string;\n @Input()\n small = false;\n @Input()\n position: string;\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wz-alert',\n styleUrls: ['./alert.component.scss'],\n templateUrl: './alert.component.html'\n})\nexport class AlertComponent implements OnInit {\n @Input() icon = true;\n @Input() warning = false;\n @Input() success = false;\n @Input() iconClass = 'fas fa-info';\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'numberToArray'\n})\nexport class NumberToArray implements PipeTransform {\n\n transform(number: number): any[] {\n return Array.from('x'.repeat(number));\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wz-page-selector',\n templateUrl: './page-selector.component.html'\n})\nexport class PageSelectorComponent {\n\n @Input() set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Input() set totalItems(totalItems: number) {\n this.numberOfPage = Math.ceil(totalItems / this.pagination.itemsPerPage);\n this.largeNumberOfPage = this.numberOfPage > 30;\n }\n get totalItems(): number {\n return this._totalItems;\n }\n private _totalItems: number;\n openAbsoluteSelect:boolean = false;\n\n largeNumberOfPage: boolean = false;\n numberOfPage: number = 0;\n\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n\n constructor() {}\n\n onGotoPageChange(event, directValue) {\n if (directValue) {\n this.pageChange.emit(event);\n this.openAbsoluteSelect = false;\n } else {\n this.pageChange.emit(parseInt(event.target.value));\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LargeNumberOfPage'\n})\nexport class LargeNumberOfPagePipe implements PipeTransform {\n /**\n * Return an incremental array\n * Display 30 pages, from -15 to +15 of the current page\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems: number, itemsPerPage: number, currentPage: number): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n\n let arrayLength: number = 32;\n\n const startAtPage = currentPage <= 15 ? 0: currentPage - 15;\n const totalPage = Math.ceil(totalItems / itemsPerPage);\n\n\n\n const arrayWithPageNumber = Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map((x: number) => {\n\n const pageIndex:any = {\n display: startAtPage + x + 1,\n value: startAtPage + x + 1\n };\n\n if (x === arrayLength - 2) {\n pageIndex.display = '...';\n }\n if (x === arrayLength - 1) {\n pageIndex.display = totalPage;\n pageIndex.value = totalPage;\n }\n\n return pageIndex;\n });\n\n\n if (startAtPage) {\n arrayWithPageNumber.unshift(\n {\n display: 1,\n value: 1\n },\n {\n display: \"...\",\n value: 2\n }\n );\n }\n\n return arrayWithPageNumber;\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectItem } from './select-items.dto';\nimport { CalllToAction } from './call-to-action.model';\n\n@Component({\n selector: 'wac-select',\n templateUrl: './select.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }]\n})\nexport class SelectComponent implements OnInit, ControlValueAccessor {\n @Input()\n items: SelectItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string;\n\n @Input()\n search = false;\n\n @Input()\n type = 'default';\n\n @Input()\n callToAction: CalllToAction;\n\n @Input() maxWidth = '100%';\n\n @Input()\n disabled = false;\n\n @Output() selectValue = new EventEmitter<number>();\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n @ViewChild('search') searchElement: ElementRef;\n\n openCategories = false;\n searchValue = '';\n\n indexItemSelected: number = -1;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n this.indexItemSelected = this.items.findIndex(item => item.selected);\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(item: SelectItem, index: number) {\n return `${item.id}-${index}`;\n }\n\n onSelectItem(id: number) {\n this.unselectAll();\n this.setIndexItemSelected(id);\n const itemSelected: SelectItem = this.getItemSelected();\n itemSelected.selected = true;\n this.selectValue.emit(this.indexItemSelected);\n this.onChange(itemSelected);\n }\n\n onClickCallToAction() {\n this.onClose();\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n private getItemSelected(): SelectItem {\n return this.items[this.indexItemSelected];\n }\n\n showCategories() {\n this.openCategories = true;\n setTimeout(() => { // this will make the execution after the above boolean has changed\n this.searchElement.nativeElement.focus();\n }, 0);\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n\n private setIndexItemSelected(id: number) {\n this.indexItemSelected = this.items.findIndex(item => item.id === id);\n }\n\n // ControlValueAccessor methods\n\n onChange: (selectItem: SelectItem) => void = () => {};\n onTouch: any = () => {}\n\n writeValue(selectItem: any){\n if (!selectItem) {\n return;\n }\n this.unselectAll();\n selectItem.selected = true;\n this.setIndexItemSelected(selectItem.id);\n }\n\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectItem } from '../../components/shared/select/select-items.dto';\n\n@Pipe({\n name: 'selectFilters'\n})\n\nexport class SelectFiltersPipe implements PipeTransform {\n transform(items: SelectItem[], filterName: string): any {\n return items.filter(item => {\n const regexp = new RegExp(filterName, 'i');\n return regexp.test(item.name);\n });\n }\n}","import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\n\n@Directive({\n selector: '[zIndexToggle]'\n})\nexport class ZindexToggleDirective implements OnInit, OnDestroy {\n isActived = false;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n @Input('zIndexToggle')\n set isActive(value: boolean) {\n this.isActived = value;\n this.switchToggle();\n }\n get isActive(): boolean {\n return this.isActived;\n }\n\n constructor(private currentElement: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n }\n\n switchToggle() {\n if (this.isActived) {\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n } else {\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n }\n }\n\n ngOnDestroy(): void {\n }\n}\n","import { NgModule } from '@angular/core';\nimport { WzImgManagerComponent } from './wz-img-manager.component';\nimport { ImgUploadComponent } from './components/img-upload/img-upload.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ImgTabsComponent } from './components/img-tabs/img-tabs.component';\nimport { CommonModule } from '@angular/common';\nimport { DragDropDirective } from './directives/drag-drop.directive';\nimport { PexelLibComponent } from './components/pexels-lib/pexels-lib.component';\nimport { FormsModule } from '@angular/forms';\nimport { ImgCardComponent } from './components/images-view/mosaic-view/img-card/img-card.component';\nimport { NgScrollbarModule } from 'ngx-scrollbar';\nimport { NgScrollbarReachedModule } from 'ngx-scrollbar/reached-event';\nimport { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { UploadListComponent } from './components/upload-list/upload-list.component';\nimport { ImgEditorComponent } from './components/img-editor/img-editor.component';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CanvaBtnComponent } from './components/canva-btn/canva-btn.component';\nimport { ImgSelectionComponent } from './components/img-selection/img-selection.component';;\nimport { LoadingDirective } from './directives/loading.directive';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AutoHideDirective } from './directives/auto-hide.directive';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CopyClipboardDirective } from './directives/copy-to-clipboard.directive';\nimport { DropdownComponent } from './components/shared/dropdown/dropdown.component';\nimport { EditorInfoSectionComponent } from './components/img-editor/info-section/info-section.component';\nimport { CropperComponent } from './components/img-editor/cropper/cropper.component';\nimport { ImagesViewComponent } from './components/images-view/images-view.component';\nimport { MosaicViewComponent } from './components/images-view/mosaic-view/mosaic-view.component';\nimport { TableViewComponent } from './components/images-view/table-view/table-view.component';\nimport { TableComponent } from './components/shared/table/table.component';\nimport { InputSearchComponent } from './components/shared/input-search/input-search.component';\nimport { PaginationComponent } from './components/shared/pagination/pagination.component';\nimport { PagniationArrayTotalPages } from './pipes/pagination/array-total-pages/array-pages.pipe';\nimport { PagniationText } from './pipes/pagination/text/custom-text.pipe';\nimport { PagniationIsLastPage } from './pipes/pagination/total-pages/is-last-page.pipe';\nimport { CheckBoxRow } from './directives/table/checkBoxRow.directive';\nimport { TableColumn } from './directives/table/column.directive';\nimport { TableColumnHeader } from './directives/table/columnHeader.directive';\nimport { TableRow } from './directives/table/raw.directive';\nimport { CheckboxComponent } from './components/shared/checkbox/checkbox.component';\nimport { ImageSrcPipe } from './pipes/images/img-src.pipe';\nimport { AbstractDebounceDirective } from './directives/abstract-debounce/abstract-debounce.directive';\nimport { DebounceKeyupDirective } from './directives/abstract-debounce/debounce-keyup.directive';\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { AlertComponent } from './components/shared/alert/alert.component';\nimport { NumberToArray } from './pipes/number-to-array.pipe';\nimport { PageSelectorComponent } from './components/shared/pagination/page-selector/page-selector.component';\nimport { LargeNumberOfPagePipe } from './pipes/pagination/large-number-of-page/large-number-of-page.pipe';\nimport { SelectComponent } from './components/shared/select/select.component';\nimport { SelectFiltersPipe } from './pipes/select/select-filters.pipe';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { ZindexToggleDirective } from './directives/zindex-toggle.directive';\n\nconst components = [\n WzImgManagerComponent,\n ImgTabsComponent,\n ImgUploadComponent,\n PexelLibComponent,\n ImgCardComponent,\n UploadListComponent,\n ImgEditorComponent,\n EditorInfoSectionComponent,\n CanvaBtnComponent,\n ImgSelectionComponent,\n LoaderComponent,\n DropdownComponent,\n CropperComponent,\n ImagesViewComponent,\n MosaicViewComponent,\n TableViewComponent,\n TableComponent,\n InputSearchComponent,\n PaginationComponent,\n CheckboxComponent,\n AlertComponent,\n PageSelectorComponent,\n SelectComponent\n];\n\nconst directives = [\n DragDropDirective,\n LoadingDirective,\n AutoHideDirective,\n CopyClipboardDirective,\n TableColumn,\n CheckBoxRow,\n TableColumnHeader,\n TableRow,\n AbstractDebounceDirective,\n DebounceKeyupDirective,\n ZindexToggleDirective\n];\n\nconst pipes = [\n PagniationArrayTotalPages,\n PagniationIsLastPage,\n PagniationText,\n ImageSrcPipe,\n NumberToArray,\n LargeNumberOfPagePipe,\n SelectFiltersPipe\n];\n\n@NgModule({\n declarations: [\n ...components,\n ...directives,\n ...pipes\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n NgScrollbarModule,\n NgScrollbarReachedModule,\n NwbAllModule,\n ImageCropperModule,\n CdkTableModule,\n DragDropModule,\n TranslateModule,\n PerfectScrollbarModule\n ],\n providers: [],\n exports: [\n WzImgManagerComponent]\n})\nexport class WzImgManagerModule { }\n","import { CanvaCreateDesign } from \"./canva-create-design.dto\";\n\nexport class CanvaButtonApi {\n createDesign: (\n opts: {\n design: CanvaCreateDesign,\n editor?: {\n publishLabel: string,\n fileType: string\n }\n onDesignOpen?: (\n opts: { designId: string, designTitle: string }\n ) => void,\n onDesignPublish?: (\n opts: { exportUrl: string, designId: string, designTitle: string }\n ) => void,\n onDesignClose?: () => void\n }\n ) => void;\n editDesign: (opts: {\n opts: {\n design: {\n id: any\n },\n editor?: {\n publishLabel: string,\n fileType: string\n }\n onDesignOpen?: (\n opts: { designId: string, designTitle: string }\n ) => void,\n onDesignPublish?: (\n opts: { exportUrl: string, designId: string, designTitle: string }\n ) => void,\n onDesignClose?: () => void\n }\n }) => void;\n};","export class ImgApiDto {\n shop_token: string;\n image_manager_route = '';\n pexels_token: string;\n pexels_route = '';\n shop_category: string;\n canva_token: string;\n canva_url = '';\n assets_route: string = 'assets/img-manager/';\n}\n","export class ImgCDNConfigDTO {\n url_raw_image = '';\n url_100_image = '';\n url_200_image = '';\n url_400_image = '';\n url_800_image = '';\n}"],"names":["ReplaySubject","Observable","Injectable","http","HttpParams","HttpHeaders","HttpClient","NwbAlertService","TranslateService","Subject","BehaviorSubject","take","EventEmitter","Input","Output","HostListener","Component","trigger","state","style","transition","animate","forkJoin","ViewChild","ElementRef","debounceTime","Router","HostBinding","Directive","map","query","stagger","NwbFilterRoutingBuilder","uuid","ViewEncapsulation","NG_VALUE_ACCESSOR","Pipe","ApplicationRef","Renderer2","Inject","DOCUMENT","ComponentFactoryResolver","Injector","takeUntil","distinctUntilChanged","tap","NgModule","CommonModule","HttpClientModule","FormsModule","NgScrollbarModule","NgScrollbarReachedModule","NwbAllModule","ImageCropperModule","CdkTableModule","DragDropModule","TranslateModule","PerfectScrollbarModule"],"mappings":"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"}