@rs-pk/asset-management 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/rs-pk-asset-management.umd.js +6474 -0
- package/bundles/rs-pk-asset-management.umd.js.map +1 -0
- package/bundles/rs-pk-asset-management.umd.min.js +16 -0
- package/bundles/rs-pk-asset-management.umd.min.js.map +1 -0
- package/esm2015/lib/asset-management.component.js +147 -0
- package/esm2015/lib/asset-management.module.js +179 -0
- package/esm2015/lib/asset-management.service.js +45 -0
- package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +143 -0
- package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +373 -0
- package/esm2015/lib/components/partial/asset-item/asset-item.component.js +165 -0
- package/esm2015/lib/components/partial/asset-list/asset-list.component.js +239 -0
- package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +108 -0
- package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +100 -0
- package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +115 -0
- package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -0
- package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +148 -0
- package/esm2015/lib/components/partial/file-item/file-item.component.js +136 -0
- package/esm2015/lib/components/partial/file-list/file-list.component.js +72 -0
- package/esm2015/lib/components/partial/folder-item/folder-item.component.js +114 -0
- package/esm2015/lib/components/partial/folder-list/folder-list.component.js +69 -0
- package/esm2015/lib/components/partial/node-details/node-details.component.js +402 -0
- package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -0
- package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -0
- package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -0
- package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +136 -0
- package/esm2015/lib/components/partial/upload-file/upload-file.component.js +102 -0
- package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -0
- package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -0
- package/esm2015/lib/components/ui/modal/modal.component.js +34 -0
- package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -0
- package/esm2015/lib/configs/admin.config.js +22 -0
- package/esm2015/lib/contanst/data-image.js +12 -0
- package/esm2015/lib/contanst/index.js +6 -0
- package/esm2015/lib/datasources/index.js +6 -0
- package/esm2015/lib/datasources/node-tree.datasource.js +179 -0
- package/esm2015/lib/directives/dialogTrigger.directive.js +47 -0
- package/esm2015/lib/directives/directives.module.js +20 -0
- package/esm2015/lib/directives/dnd.directive.js +57 -0
- package/esm2015/lib/models/asset-file.model.js +57 -0
- package/esm2015/lib/models/asset.model.js +135 -0
- package/esm2015/lib/models/file-type.enum.js +11 -0
- package/esm2015/lib/models/file.model.js +91 -0
- package/esm2015/lib/models/index.js +12 -0
- package/esm2015/lib/models/node-tree.model.js +32 -0
- package/esm2015/lib/models/sort.enum.js +23 -0
- package/esm2015/lib/pipes/datetime.pipe.js +79 -0
- package/esm2015/lib/pipes/file-size.pipe.js +54 -0
- package/esm2015/lib/services/asset.service.js +224 -0
- package/esm2015/lib/services/base.service.js +49 -0
- package/esm2015/lib/services/env-config.service.js +18 -0
- package/esm2015/lib/services/file.service.js +106 -0
- package/esm2015/lib/services/index.js +11 -0
- package/esm2015/lib/services/node-tree.service.js +212 -0
- package/esm2015/lib/services/upload-assets.service.js +203 -0
- package/esm2015/lib/store/actions.action.js +125 -0
- package/esm2015/lib/store/index.js +7 -0
- package/esm2015/lib/store/reducer.js +115 -0
- package/esm2015/public-api.js +34 -0
- package/esm2015/rs-pk-asset-management.js +17 -0
- package/esm5/lib/asset-management.component.js +162 -0
- package/esm5/lib/asset-management.module.js +180 -0
- package/esm5/lib/asset-management.service.js +54 -0
- package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +161 -0
- package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +417 -0
- package/esm5/lib/components/partial/asset-item/asset-item.component.js +184 -0
- package/esm5/lib/components/partial/asset-list/asset-list.component.js +266 -0
- package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +123 -0
- package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +115 -0
- package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +138 -0
- package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -0
- package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +166 -0
- package/esm5/lib/components/partial/file-item/file-item.component.js +151 -0
- package/esm5/lib/components/partial/file-list/file-list.component.js +93 -0
- package/esm5/lib/components/partial/folder-item/folder-item.component.js +126 -0
- package/esm5/lib/components/partial/folder-list/folder-list.component.js +82 -0
- package/esm5/lib/components/partial/node-details/node-details.component.js +443 -0
- package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -0
- package/esm5/lib/components/partial/search-box/search-box.component.js +184 -0
- package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -0
- package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +151 -0
- package/esm5/lib/components/partial/upload-file/upload-file.component.js +130 -0
- package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -0
- package/esm5/lib/components/ui/input-file/input-file.component.js +55 -0
- package/esm5/lib/components/ui/modal/modal.component.js +39 -0
- package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -0
- package/esm5/lib/configs/admin.config.js +22 -0
- package/esm5/lib/contanst/data-image.js +12 -0
- package/esm5/lib/contanst/index.js +6 -0
- package/esm5/lib/datasources/index.js +6 -0
- package/esm5/lib/datasources/node-tree.datasource.js +239 -0
- package/esm5/lib/directives/dialogTrigger.directive.js +53 -0
- package/esm5/lib/directives/directives.module.js +25 -0
- package/esm5/lib/directives/dnd.directive.js +80 -0
- package/esm5/lib/models/asset-file.model.js +69 -0
- package/esm5/lib/models/asset.model.js +154 -0
- package/esm5/lib/models/file-type.enum.js +11 -0
- package/esm5/lib/models/file.model.js +99 -0
- package/esm5/lib/models/index.js +12 -0
- package/esm5/lib/models/node-tree.model.js +37 -0
- package/esm5/lib/models/sort.enum.js +23 -0
- package/esm5/lib/pipes/datetime.pipe.js +83 -0
- package/esm5/lib/pipes/file-size.pipe.js +63 -0
- package/esm5/lib/services/asset.service.js +274 -0
- package/esm5/lib/services/base.service.js +57 -0
- package/esm5/lib/services/env-config.service.js +18 -0
- package/esm5/lib/services/file.service.js +127 -0
- package/esm5/lib/services/index.js +11 -0
- package/esm5/lib/services/node-tree.service.js +278 -0
- package/esm5/lib/services/upload-assets.service.js +260 -0
- package/esm5/lib/store/actions.action.js +143 -0
- package/esm5/lib/store/index.js +7 -0
- package/esm5/lib/store/reducer.js +116 -0
- package/esm5/public-api.js +34 -0
- package/esm5/rs-pk-asset-management.js +17 -0
- package/fesm2015/rs-pk-asset-management.js +5429 -0
- package/fesm2015/rs-pk-asset-management.js.map +1 -0
- package/fesm5/rs-pk-asset-management.js +6244 -0
- package/fesm5/rs-pk-asset-management.js.map +1 -0
- package/lib/asset-management.component.d.ts +21 -0
- package/lib/asset-management.module.d.ts +5 -0
- package/lib/asset-management.service.d.ts +7 -0
- package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -0
- package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +52 -0
- package/lib/components/partial/asset-item/asset-item.component.d.ts +25 -0
- package/lib/components/partial/asset-list/asset-list.component.d.ts +22 -0
- package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -0
- package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +19 -0
- package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +17 -0
- package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -0
- package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -0
- package/lib/components/partial/file-item/file-item.component.d.ts +27 -0
- package/lib/components/partial/file-list/file-list.component.d.ts +12 -0
- package/lib/components/partial/folder-item/folder-item.component.d.ts +14 -0
- package/lib/components/partial/folder-list/folder-list.component.d.ts +11 -0
- package/lib/components/partial/node-details/node-details.component.d.ts +29 -0
- package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -0
- package/lib/components/partial/search-box/search-box.component.d.ts +18 -0
- package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -0
- package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +24 -0
- package/lib/components/partial/upload-file/upload-file.component.d.ts +18 -0
- package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -0
- package/lib/components/ui/input-file/input-file.component.d.ts +9 -0
- package/lib/components/ui/modal/modal.component.d.ts +7 -0
- package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -0
- package/lib/configs/admin.config.d.ts +3 -0
- package/lib/contanst/data-image.d.ts +3 -0
- package/lib/contanst/index.d.ts +1 -0
- package/lib/datasources/index.d.ts +1 -0
- package/lib/datasources/node-tree.datasource.d.ts +24 -0
- package/lib/directives/dialogTrigger.directive.d.ts +7 -0
- package/lib/directives/directives.module.d.ts +5 -0
- package/lib/directives/dnd.directive.d.ts +7 -0
- package/lib/models/asset-file.model.d.ts +26 -0
- package/lib/models/asset.model.d.ts +61 -0
- package/lib/models/file-type.enum.d.ts +4 -0
- package/lib/models/file.model.d.ts +41 -0
- package/lib/models/index.d.ts +7 -0
- package/lib/models/node-tree.model.d.ts +9 -0
- package/lib/models/sort.enum.d.ts +9 -0
- package/lib/pipes/datetime.pipe.d.ts +13 -0
- package/lib/pipes/file-size.pipe.d.ts +5 -0
- package/lib/services/asset.service.d.ts +35 -0
- package/lib/services/base.service.d.ts +20 -0
- package/lib/services/env-config.service.d.ts +7 -0
- package/lib/services/file.service.d.ts +13 -0
- package/lib/services/index.d.ts +6 -0
- package/lib/services/node-tree.service.d.ts +24 -0
- package/lib/services/upload-assets.service.d.ts +42 -0
- package/lib/store/actions.action.d.ts +51 -0
- package/lib/store/index.d.ts +2 -0
- package/lib/store/reducer.d.ts +18 -0
- package/package.json +28 -0
- package/public-api.d.ts +26 -0
- package/rs-pk-asset-management.d.ts +12 -0
- package/rs-pk-asset-management.metadata.json +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rs-pk-asset-management.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@rs-pk/asset-management/lib/models/asset.model.ts","ng://@rs-pk/asset-management/lib/models/asset-file.model.ts","ng://@rs-pk/asset-management/lib/models/file.model.ts","ng://@rs-pk/asset-management/lib/models/node-tree.model.ts","ng://@rs-pk/asset-management/lib/models/file-type.enum.ts","ng://@rs-pk/asset-management/lib/models/sort.enum.ts","ng://@rs-pk/asset-management/lib/services/env-config.service.ts","ng://@rs-pk/asset-management/lib/services/base.service.ts","ng://@rs-pk/asset-management/lib/services/asset.service.ts","ng://@rs-pk/asset-management/lib/asset-management.service.ts","ng://@rs-pk/asset-management/lib/store/actions.action.ts","ng://@rs-pk/asset-management/lib/store/reducer.ts","ng://@rs-pk/asset-management/lib/services/node-tree.service.ts","ng://@rs-pk/asset-management/lib/services/upload-assets.service.ts","ng://@rs-pk/asset-management/lib/services/file.service.ts","ng://@rs-pk/asset-management/lib/components/partial/asset-management-dialog/asset-management-dialog.component.ts","ng://@rs-pk/asset-management/lib/asset-management.component.ts","ng://@rs-pk/asset-management/lib/directives/dialogTrigger.directive.ts","ng://@rs-pk/asset-management/lib/directives/dnd.directive.ts","ng://@rs-pk/asset-management/lib/directives/directives.module.ts","ng://@rs-pk/asset-management/lib/components/ui/input-file/input-file.component.ts","ng://@rs-pk/asset-management/lib/components/ui/modal/modal.component.ts","ng://@rs-pk/asset-management/lib/contanst/data-image.ts","ng://@rs-pk/asset-management/lib/components/ui/search-not-found/search-not-found.component.ts","ng://@rs-pk/asset-management/lib/components/partial/file-item/file-item.component.ts","ng://@rs-pk/asset-management/lib/components/partial/file-list/file-list.component.ts","ng://@rs-pk/asset-management/lib/components/partial/upload-file/upload-file.component.ts","ng://@rs-pk/asset-management/lib/components/partial/add-folder-dialog/add-folder-dialog.component.ts","ng://@rs-pk/asset-management/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.ts","ng://@rs-pk/asset-management/lib/components/partial/delete-dialog/delete-dialog.component.ts","ng://@rs-pk/asset-management/lib/components/partial/upload-dialog/upload-dialog.component.ts","ng://@rs-pk/asset-management/lib/components/partial/folder-item/folder-item.component.ts","ng://@rs-pk/asset-management/lib/components/partial/folder-list/folder-list.component.ts","ng://@rs-pk/asset-management/lib/components/partial/asset-list/asset-list.component.ts","ng://@rs-pk/asset-management/lib/pipes/file-size.pipe.ts","ng://@rs-pk/asset-management/lib/components/partial/asset-dialog/asset-dialog.component.ts","ng://@rs-pk/asset-management/lib/components/partial/asset-item/asset-item.component.ts","ng://@rs-pk/asset-management/lib/datasources/node-tree.datasource.ts","ng://@rs-pk/asset-management/lib/components/partial/node-tree/node-tree.component.ts","ng://@rs-pk/asset-management/lib/components/partial/breadcrumb/breadcrumb.component.ts","ng://@rs-pk/asset-management/lib/components/partial/search-box/search-box.component.ts","ng://@rs-pk/asset-management/lib/components/partial/sort-items/sort-items.component.ts","ng://@rs-pk/asset-management/lib/components/partial/asset-wrapper/asset-wrapper.component.ts","ng://@rs-pk/asset-management/lib/components/partial/node-details/node-details.component.ts","ng://@rs-pk/asset-management/lib/components/ui/drag-to-resize/drag-to-resize.component.ts","ng://@rs-pk/asset-management/lib/configs/admin.config.ts","ng://@rs-pk/asset-management/lib/pipes/datetime.pipe.ts","ng://@rs-pk/asset-management/lib/asset-management.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !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","export interface IPageMeta {\n PageIndex: number;\n PageSize: number;\n PageCount: number;\n Total: number;\n}\n\nexport interface IChildrenAssetPayload {\n assetId?: string;\n isFolder?: string;\n keyword?: string;\n getAll?: string;\n pageSize?: string;\n pageIndex?: string;\n}\n\nexport interface IAssetByIdPayload {\n assetId?: string;\n isFilter?: boolean;\n}\n\nexport interface IInitialFolderTreeOptions {\n dispatchRootId?: boolean;\n}\n\nexport class AssetModel {\n AssetId?: string;\n OriginalFileName?: string;\n OriginalFileNameWithoutExtension?: string;\n Description?: string;\n FileName: string;\n Width: number;\n Height: number;\n CompanyId: string;\n FilePath: string;\n CloudUrl: string;\n UrlDetail?: string;\n UrlThumbnail?: string;\n Extension: string;\n FileType: string;\n Source: string;\n Size: number;\n CreatedBy: string;\n ModifiedBy: string;\n CreatedDate: string;\n ModifiedDate: string;\n BackgroudProcessingStatus: string;\n IsRoot: boolean;\n IsFolder: boolean;\n TotalFile: number;\n TotalFolder: number;\n HaveChildren: boolean;\n ParentId?: string;\n}\nexport class FolderTreeModel extends AssetModel {\n Children?: FolderTreeModel[];\n}\n\nexport class AssetResultModel {\n Data: FolderTreeModel;\n Meta?: IPageMeta;\n}\n\nexport class DialogConfig {\n limit: number;\n allowedType: string;\n}\n","export class AssetFileUploadModel {\n File: FormData;\n CompanyId: string;\n}\n\nexport class AssetFileUploadResultModel {\n Files: AssetFileModel[];\n Messages: string[];\n Status: number;\n}\n\nexport class AssetFileModel {\n Id: number;\n OriginalFileName: string;\n CompanyId: string;\n FileData: null;\n ThumbnailPath: string;\n FilePath: string;\n Extension: string;\n FileType: string;\n Source: number;\n CloudUrl: string;\n CreatedBy: string;\n CreatedDate: string;\n ModifiedBy: string;\n ModifiedDate: string;\n FileName: string;\n}\n","import { AssetModel } from './asset.model';\n\nexport interface IAddFolderPayload {\n folderName: string;\n parentAssetId: string;\n}\n\nexport interface IAddFolderRes {\n AssetId: string;\n CorrelationId?: string;\n Data: AssetModel;\n Files?: AssetModel[];\n FolderName: string;\n IsFolder: boolean;\n Messages?: any[];\n ParentAssetId: string;\n ResponseCode: number;\n ResponseMessage: string;\n StackTrace: string | number;\n}\n\nexport interface IUpdateFilePayload {\n assetId: string;\n fileName: string;\n description?: string;\n}\n\nexport class IAssetUpdatedRes {\n AssetId?: AssetModel;\n CorrelationId?: string;\n Data: AssetModel;\n FileName: string;\n IncludeExtension: boolean;\n ResponseCode: number;\n ResponseMessage: string;\n StackTrace: string | number;\n}\n\nexport class IAssetDetailsRes {\n AssetDetail?: AssetModel;\n CorrelationId: string;\n Data: AssetModel;\n ResponseCode: number;\n ResponseMessage: string;\n StackTrace: string | number;\n}\n","import { FolderTreeModel } from './asset.model';\n\n/** Flat node with expandable and level information */\nexport class DynamicFlatNode {\n constructor(\n public item: FolderTreeModel,\n public level = 1,\n public expandable = false,\n public isLoading = false\n ) {}\n }\n","export enum FileTypeEnum {\n IMAGE = 'Image',\n DOCUMENT = 'Document',\n}\n","export enum SortFilesBy {\n NAME = 1,\n CREATED_DATE,\n MODIFIED_DATE,\n}\n\nexport enum TypeSort {\n DESC = 1,\n ASC,\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { InjectionToken } from '@angular/core';\n\nexport interface AMConfig {\n asset2Url: string;\n requestHeader?: HttpHeaders;\n}\n\nexport const AM_CONFIG = new InjectionToken<AMConfig>(\n 'asset.man.config.angular'\n);\n","import { HttpClient, HttpHandler, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AM_CONFIG } from './env-config.service';\n\nexport type HttpObserve = 'body' | 'events' | 'response';\n\n@Injectable()\nexport class BaseHttpClient extends HttpClient {\n\tconstructor(\n\t\t@Inject(AM_CONFIG) private _env,\n\t\thandler: HttpHandler) {\n\t\tsuper(handler);\n\t}\n\n\trequest(\n\t\tfirst: string | HttpRequest<any>,\n\t\turl?: string,\n\t\toptions: {\n\t\t\tbody?: any;\n\t\t\theaders?: HttpHeaders | { [header: string]: string | string[] };\n\t\t\tobserve?: HttpObserve;\n\t\t\tparams?: HttpParams | { [param: string]: string | string[] };\n\t\t\treportProgress?: boolean;\n\t\t\tresponseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n\t\t\twithCredentials?: boolean;\n\t\t} = {}\n\t): Observable<any> {\n\t\tconst { requestHeader } = this._env;\n\n\t\tif (!options) {\n\t\t\toptions = {};\n\t\t}\n\n\t\tif (requestHeader) {\n\t\t\toptions.headers = requestHeader;\n\t\t}\n\n\t\treturn super.request(first as string, url, options as any);\n\t}\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport {\n AssetModel,\n AssetResultModel,\n DialogConfig,\n FolderTreeModel,\n IAssetByIdPayload,\n IChildrenAssetPayload,\n SortFilesBy,\n TypeSort,\n} from '../models';\nimport { BaseHttpClient } from './base.service';\nimport { AM_CONFIG } from './env-config.service';\n\n@Injectable()\nexport class AssetService {\n private folderList$: BehaviorSubject<FolderTreeModel> = new BehaviorSubject(\n null\n );\n private assetList$: BehaviorSubject<AssetModel[]> = new BehaviorSubject(null);\n private openDialog$: BehaviorSubject<boolean> = new BehaviorSubject(null);\n public keyword: string;\n public pageSize: number;\n public pageIndex: number;\n public folderTotal: number;\n public fileTotal: number;\n public sortBy: SortFilesBy;\n public sortOrder: TypeSort;\n public dialogConfig: DialogConfig = new DialogConfig();\n private baseUrl: string;\n\n constructor(\n @Inject(AM_CONFIG) private _env,\n public dialog: MatDialog,\n private _api: BaseHttpClient\n ) {\n this.baseUrl = this._env.asset2Url;\n this.initOptionFiles();\n }\n\n private initOptionFiles() {\n this.keyword = '';\n this.pageSize = 12;\n this.pageIndex = 0;\n this.folderTotal = 0;\n this.fileTotal = 0;\n this.sortBy = SortFilesBy.MODIFIED_DATE;\n this.sortOrder = TypeSort.DESC;\n }\n\n private resetData() {\n this.setAssetList(null);\n this.setFolderList(null);\n }\n\n resetAsset() {\n this.initOptionFiles();\n this.resetData();\n }\n\n getFolderList(): Observable<FolderTreeModel> {\n return this.folderList$.asObservable();\n }\n\n setFolderList(folders: FolderTreeModel, folderTotal?: number) {\n this.folderTotal = folderTotal || 0;\n this.folderList$.next(folders);\n }\n\n getAssetList(): Observable<AssetModel[]> {\n return this.assetList$.asObservable();\n }\n\n setAssetList(assets: AssetModel[], pagination?: any) {\n this.setPagination(pagination);\n this.assetList$.next(assets);\n }\n\n setDialogOpenStatus(status: boolean): void {\n this.openDialog$.next(status);\n }\n\n getDialogOpenStatus(): Observable<boolean> {\n return this.openDialog$.asObservable();\n }\n\n\n private setPagination(pagination) {\n if (pagination) {\n this.fileTotal = pagination.Total;\n this.pageIndex = pagination.PageIndex;\n this.pageSize = pagination.PageSize;\n }\n }\n\n public getAssetById(assetId: string) {\n const url = `${this.baseUrl}/File/GetById/${assetId}`;\n return this._api.get<AssetResultModel>(url);\n }\n\n public getChildrenFolders({ assetId, isFilter = true }: IAssetByIdPayload) {\n const url = `${this.baseUrl}/File/GetChildren`;\n let params = new HttpParams().set('getAll', 'true').set('isFolder', 'true');\n\n if (assetId) {\n params = params.set('assetId', assetId);\n }\n if (isFilter && this.keyword.length) {\n params = params.set('keyword', this.keyword || '');\n }\n\n return this._api.get<AssetResultModel>(url, { params });\n }\n\n public getChildrenAssets({ assetId, pageIndex }: IChildrenAssetPayload) {\n const url = `${this.baseUrl}/File/GetChildren`;\n let params = new HttpParams()\n .set('pageSize', this.pageSize.toString())\n .set('pageIndex', pageIndex || this.pageIndex.toString())\n .set('getAll', 'false')\n .set('isFolder', 'false')\n .set('TypeSort', this.sortOrder.toString())\n .set('SortFilesBy', this.sortBy.toString());\n\n if (assetId) {\n params = params.set('assetId', assetId);\n }\n if (this.keyword.length) {\n params = params.set('keyword', this.keyword || '');\n }\n if (this.dialogConfig.allowedType) {\n params = params.set('fileType', this.dialogConfig.allowedType);\n }\n\n return this._api.get<AssetResultModel>(url, { params });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as ACTIONS from './store/actions.action';\n\nconst eventDispatcher = new Subject<ACTIONS.Actions>();\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetManagementService {\n\n private _dispatcher;\n\n constructor() {\n }\n\n getDispatcher() {\n if (!this._dispatcher) {\n this._dispatcher = eventDispatcher;\n }\n\n return this._dispatcher;\n }\n\n dispatch(action: ACTIONS.Actions) {\n this.getDispatcher().next(action);\n }\n}\n","import { AssetModel, FolderTreeModel } from '../models';\n\ninterface ActionInterface {\n type: string;\n payload?;\n}\n\nexport enum ActionTypes {\n // global loading\n SET_GLOBAL_LOADING = '[LOADING] Set global loading state',\n\n // asset area\n SET_SELECTED_ASSETS = '[ASSET] Set selected assets',\n RELOAD_CURRENT_ASSETS = '[ASSET] reload current asset list ',\n DELETE_ASSET = '[ASSET] delete an asset ',\n\n // folder area\n SET_CURRENT_FOLDER_ID = '[FOLDER] get current folder id',\n SET_CURRENT_FOLDER = '[FOLDER] set current folder ',\n RELOAD_CURRENT_FOLDER = '[FOLDER] reload current folder ',\n SET_CURRENT_FOLDER_HIERARCHY = '[FOLDER] set current folder hierarchy ',\n\n // node area\n RELOAD_CURRENT_NODE = '[NODE] reload current node ',\n}\n\nexport class SetGlobalLoading implements ActionInterface {\n readonly type = ActionTypes.SET_GLOBAL_LOADING;\n payload: boolean;\n}\n\nexport class SetSelectedAssets implements ActionInterface {\n readonly type = ActionTypes.SET_SELECTED_ASSETS;\n payload: Array<AssetModel>;\n}\n\nexport class DeleteAsset implements ActionInterface {\n readonly type = ActionTypes.DELETE_ASSET;\n payload: string;\n}\n\nexport class SetCurrentFolder implements ActionInterface {\n readonly type = ActionTypes.SET_CURRENT_FOLDER;\n payload: AssetModel;\n}\n\nexport class ReloadCurrentFolder implements ActionInterface {\n readonly type = ActionTypes.RELOAD_CURRENT_FOLDER;\n}\n\nexport class SetCurrentFolderHierarchy implements ActionInterface {\n readonly type = ActionTypes.SET_CURRENT_FOLDER_HIERARCHY;\n payload: Array<FolderTreeModel>;\n}\n\nexport class GetCurrentFolder implements ActionInterface {\n readonly type = ActionTypes.SET_CURRENT_FOLDER_ID;\n payload: string;\n}\n\nexport class ReloadCurrentAssets implements ActionInterface {\n readonly type = ActionTypes.RELOAD_CURRENT_ASSETS;\n}\n\nexport class ReloadCurrentNode implements ActionInterface {\n readonly type = ActionTypes.RELOAD_CURRENT_NODE;\n}\n\nexport type Actions =\n | SetGlobalLoading\n | SetSelectedAssets\n | SetCurrentFolder\n | ReloadCurrentFolder\n | SetCurrentFolderHierarchy\n | GetCurrentFolder\n | ReloadCurrentAssets\n | ReloadCurrentNode\n | DeleteAsset;\n","import { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\nimport { AssetModel, FolderTreeModel } from '../models';\nimport * as ACTIONS from './actions.action';\n\ninterface InitialState {\n globalLoading: boolean;\n selectedAssets: Array<AssetModel>;\n deletedAssetId: string;\n currentFolder: AssetModel;\n currentFolderId: string;\n currentFolderHierarchy: Array<FolderTreeModel>;\n reloadCurrentFolder: boolean;\n reloadCurrentAssets: boolean;\n reloadCurrentNode: boolean;\n}\n\nlet state: InitialState = {\n globalLoading: false,\n selectedAssets: [],\n deletedAssetId: null,\n currentFolder: null,\n currentFolderId: null,\n currentFolderHierarchy: [],\n reloadCurrentFolder: false,\n reloadCurrentAssets: false,\n reloadCurrentNode: false,\n};\n\nexport const store = new BehaviorSubject<InitialState>(state);\n\nexport const initialReducer = (dispatcher: Subject<ACTIONS.Actions>) => {\n if (!dispatcher) {\n console.warn('Dispatcher not found.');\n return;\n }\n\n dispatcher.subscribe((action: ACTIONS.Actions) => {\n switch (action.type) {\n case ACTIONS.ActionTypes.SET_SELECTED_ASSETS:\n state = {\n ...state,\n selectedAssets: action.payload,\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.SET_GLOBAL_LOADING:\n state = {\n ...state,\n globalLoading: action.payload,\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.SET_CURRENT_FOLDER:\n state = {\n ...state,\n currentFolder: { ...action.payload },\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.RELOAD_CURRENT_FOLDER:\n state = {\n ...state,\n reloadCurrentFolder: !state.reloadCurrentFolder,\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.RELOAD_CURRENT_ASSETS:\n state = {\n ...state,\n reloadCurrentAssets: !state.reloadCurrentAssets,\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.RELOAD_CURRENT_NODE:\n state = {\n ...state,\n reloadCurrentNode: !state.reloadCurrentNode,\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.SET_CURRENT_FOLDER_HIERARCHY:\n state = {\n ...state,\n currentFolderHierarchy: [...action.payload],\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.SET_CURRENT_FOLDER_ID:\n state = {\n ...state,\n currentFolderId: action.payload,\n };\n store.next(state);\n break;\n\n case ACTIONS.ActionTypes.DELETE_ASSET:\n state = {\n ...state,\n deletedAssetId: action.payload,\n };\n store.next(state);\n break;\n\n default:\n break;\n }\n });\n};\n\nexport const select = (mapFn: (status) => InitialState): Observable<any> => {\n return store.asObservable().pipe(\n map((status: InitialState) => mapFn(status)),\n distinctUntilChanged()\n );\n};\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\nimport { AssetManagementService } from '../asset-management.service';\nimport { AssetModel, DynamicFlatNode, FolderTreeModel, IInitialFolderTreeOptions } from '../models';\nimport { ActionTypes } from '../store';\nimport { AssetService } from './asset.service';\n\n@Injectable()\nexport class NodeTreeService {\n constructor(private assetService: AssetService, private svc: AssetManagementService) { }\n\n public storedData$ = new BehaviorSubject<AssetModel[]>([]);\n public loading$ = new BehaviorSubject<boolean>(false);\n public initialData$: BehaviorSubject<DynamicFlatNode[]> = new BehaviorSubject([]);\n public rootFolder: AssetModel;\n\n get data(): AssetModel[] {\n return this.storedData$.getValue();\n }\n set data(values: AssetModel[]) {\n this.storedData$.next(values);\n }\n\n private async fetchChildrenFolder(id: string): Promise<FolderTreeModel> {\n try {\n const result = await this.assetService.getChildrenFolders({ assetId: id, isFilter: false }).toPromise();\n if (result) {\n return result.Data;\n }\n } catch (err) { }\n return;\n }\n\n /** Initial data from database */\n public async initialData(\n { dispatchRootId }: IInitialFolderTreeOptions\n ): Promise<DynamicFlatNode[]> {\n if (dispatchRootId) { this.loading$.next(true); }\n const result = await this.assetService.getChildrenFolders({ isFilter: false }).toPromise();\n if (!result) { return; }\n if (dispatchRootId) {\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_ID,\n payload: result.Data.AssetId,\n });\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_HIERARCHY,\n payload: [],\n });\n }\n this.rootFolder = result.Data;\n const initData = result.Data.Children.map(\n (folder) => new DynamicFlatNode(folder, 0, this.isExpandable(folder))\n );\n this.initialData$.next(initData);\n\n if (dispatchRootId) { this.loading$.next(false); }\n return this.initialData$.getValue();\n }\n\n public async getChildren(node: FolderTreeModel): Promise<FolderTreeModel> {\n return await this.fetchChildrenFolder(node.AssetId);\n }\n\n public isExpandable(node: FolderTreeModel): boolean {\n return node.HaveChildren;\n }\n\n /** Add asset to stored data */\n public addNode(asset: AssetModel, parentId?: string): void {\n let data = [...this.data];\n const index = data.findIndex((node) => node.AssetId === asset.AssetId);\n if (index < 0) {\n data = [...data, { ...asset, ParentId: parentId ? parentId : null }];\n }\n this.data = data;\n }\n\n public async updateBreadcrumb(id: string) {\n const folder = this.data.find((n) => n.AssetId === id);\n if (folder) {\n const hierarchy = this.getFolderHierarchy(folder);\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_HIERARCHY,\n payload: hierarchy,\n });\n }\n }\n\n private getAssetParent(node: AssetModel): AssetModel {\n return this.data.find((n) => n.AssetId === node.ParentId);\n }\n\n private getFolderHierarchy(node: FolderTreeModel): Array<FolderTreeModel> {\n if (!node) {\n return [];\n }\n let parentHierarchy: Array<FolderTreeModel> = [];\n let parent = this.getAssetParent(node);\n while (parent) {\n parentHierarchy = [parent, ...parentHierarchy];\n parent = this.getAssetParent(parent);\n }\n return [...parentHierarchy, node];\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { BaseHttpClient } from './base.service';\nimport { AM_CONFIG } from './env-config.service';\n\n@Injectable()\nexport class UploadAssetsService {\n private files: File[] = [];\n private namesMap: { [key: string]: string } = {};\n private errorsMap: { [key: string]: boolean } = {};\n public readonly supportedSize = 10 * 1024 * 1024; // 10MB\n public readonly documentExtension = ['.pdf'];\n public readonly imageExtension = [\n '.png',\n '.gif',\n '.jpeg',\n '.jpg',\n '.svg',\n '.svg+xml',\n ];\n public supportedTypes = [...this.imageExtension, ...this.documentExtension];\n public readonly messageErrors = {\n size: `File size should be upto`,\n ext: `Only supported file extension:`,\n };\n\n private errorObs$: BehaviorSubject<any> = new BehaviorSubject(true);\n private baseUrl: string;\n\n constructor(\n @Inject(AM_CONFIG) private _env,\n public dialog: MatDialog,\n private _api: BaseHttpClient\n ) {\n this.baseUrl = this._env.asset2Url;\n }\n\n getErrorObs(): Observable<any> {\n return this.errorObs$.asObservable();\n }\n\n setErrorObs(error: boolean) {\n this.errorObs$.next(error);\n }\n\n get getFiles(): File[] {\n return this.files;\n }\n\n set setFiles(files: File[]) {\n this.files = files;\n }\n\n get nameFiles(): { [key: string]: string } {\n return this.namesMap;\n }\n\n set newName(newName: { [key: string]: string }) {\n this.namesMap = { ...this.namesMap, ...newName };\n }\n\n get errorFiles(): boolean {\n return !this.files.length || Object.keys(this.errorsMap).length > 0;\n }\n\n set errors(newError: { [key: string]: boolean }) {\n this.errorsMap = { ...this.errorsMap, ...newError };\n }\n\n get fileErrors() {\n return this.errorsMap;\n }\n\n get errorLength() {\n return Object.keys(this.errorsMap).length;\n }\n\n public deleteFile(fileName: string, index: number) {\n this.files = this.files.filter((_file, i) => i !== index);\n delete this.namesMap[fileName];\n delete this.errorsMap[fileName];\n }\n\n uploadMultipleAssests(parentAssetId: string) {\n const { files, namesMap } = this;\n const formData = new FormData();\n formData.append('parentAssetId', parentAssetId);\n formData.append('companyId', '732DA8D2-04EC-4BE0-A168-63EE0DCF50D8');\n\n for (const file of files) {\n const ext = `.${file.type.split('/')[1]}`;\n const originName = file.name;\n const fileName = namesMap[originName]\n ? `${namesMap[originName]}${ext}`\n : originName;\n\n formData.append('files', file, fileName);\n }\n\n return this._api.post<any>(`${this.baseUrl}/File/Upload`, formData);\n }\n}\n","import { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { IAddFolderPayload, IUpdateFilePayload } from '../models';\nimport { BaseHttpClient } from './base.service';\nimport { AM_CONFIG } from './env-config.service';\n\n@Injectable()\nexport class FileService {\n private baseUrl: string;\n\n constructor(@Inject(AM_CONFIG) private _env, private _api: BaseHttpClient) {\n this.baseUrl = this._env.asset2Url;\n }\n\n addFolder({ parentAssetId, folderName }: IAddFolderPayload) {\n const params = new HttpParams()\n .set('parentAssetId', parentAssetId)\n .set('folderName', folderName);\n return this._api.post<any>(`${this.baseUrl}/File/Addfolder`, null, {\n params,\n });\n }\n\n updateFile({ assetId, fileName, description }: IUpdateFilePayload) {\n let params = new HttpParams()\n .set('assetId', assetId)\n .set('fileName', fileName);\n if (description) {\n params = params.set('Description', description);\n }\n return this._api.post<any>(`${this.baseUrl}/File/Update`, null, { params });\n }\n\n replaceAsset(assetId: string, file: File) {\n const formData = new FormData();\n formData.append('AssetId', assetId);\n formData.append('files', file);\n formData.append('KeepOldName', 'true');\n\n return this._api.post<any>(`${this.baseUrl}/File/Replace`, formData);\n }\n\n deleteFile(ids: string[]) {\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n\n return this._api.request('delete', `${this.baseUrl}/File/Delete`, {\n headers,\n body: ids,\n });\n }\n\n getFileDetail(id: string) {\n const params = new HttpParams().set('IncludeDetailedWidth', 'true');\n\n return this._api.get<any>(`${this.baseUrl}/File/GetById/${id}`, { params });\n }\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { takeUntil } from 'rxjs/operators';\nimport { AssetModel, DialogConfig } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\nimport { select } from '../../../store';\n\n@Component({\n selector: 'lib-asset-management-dialog',\n templateUrl: './asset-management-dialog.component.html',\n styleUrls: ['./asset-management-dialog.component.scss'],\n})\nexport class AssetManagementDialogComponent implements OnInit, OnDestroy {\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogConfig,\n public dialogRef: MatDialogRef<AssetManagementDialogComponent>,\n private assetService: AssetService\n ) { }\n private destroy$: Subject<boolean> = new Subject();\n public selectedAssets: Array<AssetModel> = [];\n\n ngOnInit() {\n this.initDialogConfig(this.data);\n select((state) => state.selectedAssets)\n .pipe(takeUntil(this.destroy$))\n .subscribe((selectedAssets) => {\n this.selectedAssets = selectedAssets;\n });\n }\n\n get disabled(): boolean {\n const { limit } = this.data;\n return (\n (!this.selectedAssets || !this.selectedAssets.length) ||\n (limit && this.selectedAssets.length > limit)\n );\n }\n\n selectAssets() {\n this.dialogRef.close(this.selectedAssets);\n }\n\n initDialogConfig(data: DialogConfig) {\n if (!data) {\n return;\n }\n this.assetService.dialogConfig = data;\n }\n\n ngOnDestroy(): void {\n this.assetService.dialogConfig = new DialogConfig();\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from './asset-management.service';\nimport { AssetManagementDialogComponent } from './components/partial/asset-management-dialog/asset-management-dialog.component';\nimport { AssetModel, DialogConfig } from './models';\nimport { AssetService } from './services/asset.service';\nimport { initialReducer } from './store';\n\n@Component({\n selector: 'lib-asset-management',\n templateUrl: './asset-management.component.html',\n styleUrls: ['./asset-management.component.scss'],\n providers: [AssetService]\n})\nexport class AssetManagementComponent implements OnInit, OnDestroy {\n @Input() isDialog ? = true;\n @Input() limit?: number;\n @Input() allowedType?: string;\n @Output() assetChange = new EventEmitter<AssetModel[]>();\n\n private destroy$: Subject<boolean> = new Subject();\n\n constructor(\n private dialog: MatDialog,\n private svc: AssetManagementService,\n private assetService: AssetService\n ) {}\n\n ngOnInit() {\n initialReducer(this.svc.getDispatcher());\n this.bindSubscriber();\n }\n\n bindSubscriber() {\n this.assetService\n .getDialogOpenStatus()\n .pipe(takeUntil(this.destroy$))\n .subscribe((res) => {\n if (res) {\n this.openAssetsDialog();\n }\n });\n }\n\n onAssetsChange(assets) {\n if (!assets) {\n return;\n }\n this.assetChange.emit(assets);\n }\n\n openAssetsDialog() {\n const config: DialogConfig = {\n limit: this.limit,\n allowedType: this.allowedType,\n };\n const dialogRef = this.dialog.open(AssetManagementDialogComponent, {\n autoFocus: false,\n panelClass: 'lib-dialog--large',\n data: config,\n });\n dialogRef\n .afterClosed()\n .pipe(takeUntil(this.destroy$))\n .subscribe((res) => {\n if (res) {\n this.assetChange.emit(res);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AssetService } from '../services/asset.service';\n\n@Directive({\n selector: '[libDialogTrigger]',\n})\nexport class DialogTriggerDirective {\n constructor(private assetService: AssetService) {}\n @HostListener('click', ['$event.target'])\n onClick(event) {\n this.openAssetsDialog();\n }\n openAssetsDialog() {\n this.assetService.setDialogOpenStatus(true);\n }\n}\n","import { Directive, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[libDnDFile]',\n})\nexport class DndDirective {\n @Output() imageDropped = new EventEmitter<any>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(event: any) {\n event.preventDefault();\n event.stopPropagation();\n let files = event.dataTransfer.files;\n files = Array.from(files);\n this.imageDropped.emit(files);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DialogTriggerDirective } from './dialogTrigger.directive';\nimport { DndDirective } from './dnd.directive';\n\nexport const DIRECTIVES = [DndDirective, DialogTriggerDirective];\n\n@NgModule({\n declarations: [...DIRECTIVES],\n imports: [CommonModule],\n exports: [...DIRECTIVES],\n})\nexport class DirectivesModule {}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'lib-input-file',\n templateUrl: './input-file.component.html',\n styleUrls: ['./input-file.component.scss'],\n})\nexport class InputFileComponent {\n @Input() color: string;\n @Input() multiple = true;\n @Input() acceptTypes: string;\n @Output('onFileChange') fileChange = new EventEmitter<Event>();\n\n constructor() {}\n\n onFileChange(event: any) {\n let { files } = event.target;\n if (files.length < 1) {\n return;\n }\n\n files = Array.from(files);\n this.fileChange.emit(files);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n})\nexport class ModalComponent implements OnInit {\n @Input() heading: string;\n @Input() customHeader = false;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","// tslint:disable:max-line-length\nexport const imageDefault =\n 'data:image/png;base64,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';\n\nexport const searchNotFound =\n 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iNzAiIHZpZXdCb3g9IjAgMCA4MCA3MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTU5LjM4MDEgNDQuMDRINTYuMjIwMUw1NS4xMDAxIDQyLjk2QzU5LjAyMDEgMzguNCA2MS4zODAxIDMyLjQ4IDYxLjM4MDEgMjYuMDRDNjEuMzgwMSAxMS42OCA0OS43NDAxIDAuMDQwMDM5MSAzNS4zODAxIDAuMDQwMDM5MUMyMS43MDAxIDAuMDQwMDM5MSAxMC41MDAxIDEwLjYgOS41MDAwNiAyNC4wNEgxNy41ODAxQzE4LjU4MDEgMTUuMDQgMjYuMTAwMSA4LjA0MDA0IDM1LjM4MDEgOC4wNDAwNEM0NS4zNDAxIDguMDQwMDQgNTMuMzgwMSAxNi4wOCA1My4zODAxIDI2LjA0QzUzLjM4MDEgMzYgNDUuMzQwMSA0NC4wNCAzNS4zODAxIDQ0LjA0QzM0LjcwMDEgNDQuMDQgMzQuMDYwMSA0My45MiAzMy4zODAxIDQzLjg0VjUxLjkyQzM0LjA2MDEgNTIgMzQuNzAwMSA1Mi4wNCAzNS4zODAxIDUyLjA0QzQxLjgyMDEgNTIuMDQgNDcuNzQwMSA0OS42OCA1Mi4zMDAxIDQ1Ljc2TDUzLjM4MDEgNDYuODhWNTAuMDRMNzMuMzgwMSA3MEw3OS4zNDAxIDY0LjA0TDU5LjM4MDEgNDQuMDRaIiBmaWxsPSIjNkZDMEZGIi8+CjxwYXRoIGQ9Ik0yMy4yNiAzMS4zMjAzTDEzLjM4IDQxLjIwMDNMMy41MDAwMyAzMS4zMjAzTDAuNjYwMDM0IDM0LjE2MDNMMTAuNTQgNDQuMDQwM0wwLjY2MDAzNCA1My45MjAzTDMuNTAwMDMgNTYuNzYwM0wxMy4zOCA0Ni44ODAzTDIzLjI2IDU2Ljc2MDNMMjYuMSA1My45MjAzTDE2LjIyIDQ0LjA0MDNMMjYuMSAzNC4xNjAzTDIzLjI2IDMxLjMyMDNaIiBmaWxsPSIjNkZDMEZGIi8+Cjwvc3ZnPgo=';\n\nexport const imagePdf =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABLASURBVHgB7d0JkBzVfQbwr+fc2fvQHjp3V5ZAXkCALDA2BgMGYYRjl51wBnPEFQdJcYipVDl2pUA4JHZcxiXjKJiECoTKgYgTHCAIJMvLWWUbEMhGXJKFvAIdu9JKqz3n6vb792qEjWZ6Z6Z7prtnvl8xNYtmZmd2t79+Z78HEFFOGjzi/vvvr5mYmLhEfXmVpmmnqPsOwzBqQRVL/Z11dTek/s7D6uun1df3rV69ehc8xPWAPPjgg3UqGJfpun67+t9TQdUsqYLyqDoW7lyzZs2r8ABXA7Ju3brOcDj8gPqlfBpE7xtVx8Qdq1atugsucy0g9957b20qlXpO/SKWgSgLVfW6Q5Uka+GiAFyiitEfMBxkRR0ft61fv/4P4CJXSpB77rnni+rs8CCIZra/vr5+0fXXXz8OF5S9BFm7dm2tCsd3QJSfrtHR0TVwSdkD0tnZeY666wJR/q6AS8oeEFV6uFqnJP9RbZHld999dztc4EZAloCoQIFAYClcUPaAqLPBHBAVrhsucKObtxFEBVIliCvHjWvjIER+wIAQWQihAoTDYTQ3N6OpqQmxWEzaOaDipFIpxONxTE5OIpFISKfK8cey/V7l33RdN58nr5WbvE7uK4GvAyJh6O3txZw5c1BTUwNyVjKZxNjYGAYHBws64DNhmZqawvj4uHn/u0HzE98GpK2tDcuWLUM0GgWVhpTMLS0taGxsxL59+zAyMpLX66RUkdfKraGhwQza8PCwWSr5LSi+DMj8+fOxdOlSVqXKJBgMYt68eaivrzeDIlWqQkhQOjs7jwdlYmICfuG7RnpXVxfD4RJp50l1ttjffSYos2bNMkPnB74KSCQSYThcJh0hHR0dsEOqXbNnz0Yo5P0KjK8C0t3dbYaE3NXa2mp2kNghpYkfQuKbgKiRVLPtQe6Tv4Uc3HZJOOT7eLmjxTcBkaK9tpaLnHiFlCBOHNiZkEiJ4kW+CYjUW8lbpPvXCdKm9GpIfBMQu3Vecl5dXR2cIr1aXqxu+SYgfukWrCZOH8zyN5ZuYC+FhJMVqWilOGnJ95RuZK/0bjEgVLRSjUd5qeHOgJAnSUjmzp3renWLASHPkhJK2iRuliQMCHlapndLdSnXwwUMCHmehKStre2WTZs2fQplxoCQX8xKp9P3bdy4sQdlxICQn/SoW385Q8KAkN/0qNsbTzzxxDkog7KNxvRfgFAq9JG6XfF4yCim+zyRANExNaqH65GnnnrqwksvvfRNlFDJrjzafP6pHw4EwtdqmrFCM4zFBrRmO+/XcN5F6PzTvwR5y/bt2+Gi/YFAoKQhcbwE6b/gjB7DwN+pKFwLGMf+4xWAVBJduq4/p3q3rl6xYsUWlICjbZAt539khcrD1ulwEJWF9G49VKqGu2MB2fLJ02/StPSP1JctICqvWShR75YjAem/YOk5qtF0lyo5eFUTuUVV7Y1n+vv7Z8FBtgPy6Gdm16o2xn+CJQe5TJ2kF0xOTv4ADrIdkPrRzlvUR+sFkQeokFytqlor4RBbAXntir6I+kR/AapassKJB31fVbUcWazZ1k83NBQ+W3XickPOKubRda0WxePxL8IB9uKva2WfXUne4uGF/G598sknW2GTrYAEQtqHQFXNyZVNnCSbxarxkcthk62ABBFYCKpqTq2NVQrBYPAa2GQrIJEgkqCqJlUsWfXdi3RdX6Ya67Y+nK2A1AS9uVwklZdcN+7Fxrrq8u1MpVJLYIOtgMyKMSA03ZMl+4Z4UTKZXAobbAUkpn4xNSGueEjTaye3t7fDg06CDbYCIpPYu2q5eSZNkxURZS0rLw0eqmrWXNhg+ydprYmiPsKqFk2TBvuiRYvM7Sq8QHX32vogtgMipUhvQx1CGi9vp2my0Jts+rlw4UJzP0LZotutbfPU+9raFsCRrodIMIBFzfXYeWQUKZ/uh03Oky0r5Ca9XEJ2x1WDd5avyWebaNmDXXbMld1yZR/3hMV6Ber7FbYl7wc41jdXFw5hSWsTdh0dxUQyDaIPkraJE+2TzPQWqcZJoMbHxzE0NJR1e2lVgtg6YztaL4qqkmRxcyPm1MUQ9uYsT6owUnWT/dsXLFhgVueysBUQx0d3QrKdlgpIu+rdGkskMaJuk6k0UlK82vioQVWMakdHQDZJW0C1EQxZEDro/W2Y85XZfEf2sRwYGDj+74ZheCsgx7+x+kM0RyPmLUO381l3vwntW38FckBQBURVU/T2LiRPPxvJvjNgNNue+OoJMh4juyHv2bPH/H9VwnijDZKPgJ2eDGlrJW39rJShGrja1AQCR48g9Os3Ef3p/yN+/iVIfPxiGRaH38kESmmfjIyYNQ7vtEHInwJHDiH26EOo//4dCBwaRCXIbAhqt4rFgNBxwX17UH/3NxF629XVEh0hbRJptNutYjEg9Hu08THENtwHbeQw/E7aI2rQkiUIOSugwhF7/CH4nZQiKiS2BuUYEMoqvO1FBHfvgN+pBnsKNjAglJ0at4o+vxl+F4vFbE0CY0Aop9A7b/t+cNbuZEUGhHLSRo4gvOM1+JytK/oYELKkHT6EaubZYdNA6yzVT1fAtS56GsboURjjo+ZIceFvGECgrQOozXOdJzX+ZEyMAfKe8SkUS2tsgtbcNj1Hyo6JCeiHDphtBycF1M9XzTwXEC0cRvTGP0f4vIuhRQu7nNdIpWAMH0TqtZeRePxH0N8byOt1gVmdiH3lGwie1GcGJW/qYDSmJpF+fRsSP3kcqV+9LBcr5PdauZ7/qj9B+KKV0Ood2DVCfZaUGuCbXHcnjMMH4Rgb4a8EnqtihVQwIhd/puBwCE0ddIGOLkQuuhx13/4hon90fV6vi173ZQSXnFpYOIR6vqZKnNDyj6P2r/8edbd9D1pLfttThM/6BCKfvcqZcBz7LKElpyF61Y0g53guIOHl58IJWiSK6BU3qAPmJusnhsIInXomnBA8+RTUfXMdAp0zL4ETWvYxlELolDNlhAzkDO810mO1cFL0C9ch9LELcj6uRaPqt+DcARXomK2qa1+H1jTDgn4xW72PuaWSjrdDqllV9GLVqCqUJg3wMgku7kP0yhvhhvjG/zU7EMgZvpn8b4yqAau0xZlRtT9y1eelER5edg4Smx9FQe95xHrCntbQmLM6E1GN7/i//zOMyQkU9J7jY0X1wsn7JJ/bjOTmx0DO8U1Apv5lHVJbf5b7CdJNu/AkxNZ8DYH2E/f0CZ39iYIDMn7HV2EMHcj+oOqW1VpaEf38HyN84WVZPk/QrNolf/oEChF/5D+QfPLHKJT04MFg1cpp/ilBZJwjmbB8TvqNXyL+6MOIfenEXeG0Ii4plfezek/jwD5M/vC7CPQuRrBn0QmP59NYP0F65p+Tyqfi2iD63t9k/XetpkSNYkXGQbK+Z713986g/FReI13P0UAt4cJ+Zrshmwq4vrvacS4WkQUGhMgCA0JkgQEhssCAEFlgN4vHhM46F1p7Z+4nqFF2mVaf3v4q51yVQcUFJJBjQNBI+GPwLdR3unmzEv3sVeaIe3zD/aDSqqwqVjiC8Pkrsj929AgqhqYhsvIPEZizAFRavilBIiu/YFY/cpHrP4ILT8o5vSP1lu8XH/g9MjMg2LsI+t78rpqk4vgmIKG+M1AsY+Qwks9vQSWR0fv0e78BlVZV9GIlnn4K+p7dqCSJJx+BvvvXoNKq+F6s9NuvI/Hf/wa/SL2+TR34O3M+LjN906+9gtQvXwaVXkUHJPnKLzC17m99NX089eILSDzxPyBvqMiAyHUaU//3X0j2b+RYAdnim4Akn1HtiMH9uZ+QTkM/fFD16rwL/Z0dvOiIHOGfgKiqh1Q/iMqJc7GILDAgRBYYEAdoNTkWu0vb2tyIPIABsSsQRPDDp2V9yBgbA/kbp7tbCUfULZz1IU3OLQ0N5hyx4KIlWZ+jv/MWyN8YEAv1t3/P4lFNPaHBXFE+G1npMPVmZU2QrEYMiIViFpvLSD67GUaV785UCdgGKQGZgp5QI/nkf54LiOzYlNXEOEpCjcDDwVF349AQJr79Dejq3lKun7PKd3TyGs8FJPWL50/4N/3APqTeLk19XgKZ+tVW2GYY5nXiY1/7M/PzziT50omzAoxUEqntr4C8w3NtEJlgGFLdprJHoXSh6gf2YvLeu9QDpRtTkGu7A7PnIfihkwvbTFM28pyaQHrHG0hsfgzpbS/lvaFn6mfPmrN2wxddZo6jGGNHMfXwA9D37wV5h60Va49ceeFGDdqnUQLmLrexOhgHD9jaRTZf0hultbYXsMOVMV0djMdhHBlGsaQjQPY5NMZGYXjwuvnERz+JyStugl8ZhrGpu7v7UhTJZgkS2CsHSinow7JTq4O7tc7A3CF3cOaqkePvq8JlJ2ClprcU35NXCWy1QVTx8x6oohmNDEjR0kZ6kyrCuCFehTKiNUjK3vFVzFZAWibrt2oBbReoIqWWLIXR3IZqZq+K9fjjE4ah/Suo8qjevMQ5F6Da2R4HaUrgXtVO3wmqKMm+M5BaXN3VK2E7INqPtxwKBVNXqgY7h4ArhN4yC1Ofvw7k0Eh63UPPvqLDuAGl6vOlsjGiMUxcvwZ6lbc9MhybatL8cP/D0NKXqy8raJXo6qK3dWDsltuQnt8LmuboXKymDc9sDIf101TF6241hMnL6XzCiEQRv+RzGLv1Dugds0HvK9nmyCPXXrIYSf0aDcY1hgb1Wzdq1duFQe5SvVNGKGxeKSklRvL0jyJx7kUw5OrJCmR3qkkJdw+fpj6gNnzdygZ9Uq8L6fHoY+et7Dc0rQcFWrxoMRZ0cz8MJxjBEKBKDRkILGhypg+5PBdrZpqmScP96LEb/mnFlShGorHZ7F0hKideUUhkgQEhssCAEFlgQIgsMCBEFhgQIgsMCJEFBoTIAgNCZIEBIbLAgBBZYECILDAgRBYYECILDAiRBe4wZUMqlcLY2Bji8TjS6TQikQhqa2tRU1ODQIDnnkrAgBRBwjA0NITh4WFkW3lVQjJ79mwzKORvPM0VKJFIYPfu3Th06BByLUs8MTGBXbt2YXR0FORvDEgBMuGYmpp5jTwJz8DAAEPicwxInqRaJeFIJpMFvY4h8TcGJA/FhiPj3XffxcjICMh/2EifQaZaVWw4hK7r2Lt3eu/BpqYmkH+wBLHgRDgyMiFhdctfGJAc7IRDy7EYm4SEbRJ/YUCyyCcczc3NCIVCOR/TLFYsZEj8gwH5gHwa5A0NDeZAYK4QSDuju7ubIakADMjvyCcc9fX1mDdv3oxTSerq6sznWYWEvVvex4Ack88goJQcCxYsyHueVWNjo2VIMg13hsS7GBDkH4758+dblgjZSEisqluZkBw9ehTkPVUfkHwa5BKOuXPnFhyODKluWbVZJCR79uxhm8SDqjogEoqZwtHa2mqWHMFgEHa0tLSgq6trxoa7TJ8n76jqgAwODlqGI5+DuhASNmnDWH0/KUnIO6o6IHKhUy7SW2VVLSpWphfMqrolF2KRN1R1QOQKwGxkoG+mcQw7rHq3pIeMVyN6R1X/JTo6Ok4IiVSrpEFeapnerQ+OxkuVjgHxjqqezSvh6OnpMa8OlGqNXCorpUe5SO+WtEkOHz5sVq2kt0yCQ95R9dPdw+GwedZ2SywWM2/kTSzLiSwwIEQWGBAiCwwIkQUGhMgCA0JkgQEhssCAEFlgQIgsMCBEFhgQIgsMCJEFBoTIQtkDkmvTGSIvKntANE0bApFPuFHFGgCRT7gRkBdB5BNuBOQZVc1iQ4R8oewBGRwcfEk11F8AkQ+UPSBr165NqYB8WX1pf9sml+VafSTXviHkP66Mg6xZs+YNFZK/gc9l22+wpqYm53pb5D+uDRSqkHxH3a2Dj7W3t5srokiJIYvAybI9pVxwjsrP1ZH01atXf1UdTDepL327IG1bWxtOPvlk9PX1mWtcsXpVWVyfarJq1aoHVF3+U+rLDerG9f/JUzxxurv55pt3qLur169f36VKlDNV++QUdb9A3Royz1F1+7PU3SkgKiPfVJYHBgbuUne3gqgA6mS7SbULL0WROJuXyAIDQmTBNwFJp9PcVYaKYeu48U1AVIP9IIgKZPe48VNAXgVR4bbBBt8EZGho6Gl1NwWiPKmTajoYDPbDBt8EZPny5UnVZbcBRHlSx8u2OXPm2Kp5+KoXKxQKfUvdJUA0Ayk91O1Ou9ce+Sogc+fOfUv1Zt0Oopl9d/78+Y/AJt+Ng/T09PyDOiv8I4hyUMdH/86dOx25nMKX87JV3TK0e/fu21QD7OvgRqT0PkPX9Q3hcPgrqrbhyLCAL0fS1Rki1dvbe1sgEJA5Nj9XN17jXuXUSXOrun1ubGzsBqfCISriyp59+/b1JZPJL6kvL1Q32dO5FlTR1ElSejX3q9sWVWo8oqreL8iJE0RUPr8F+ZntgK18tkMAAAAASUVORK5CYII=';\n// tslint:enable:max-line-length\n","import { Component, OnInit } from '@angular/core';\nimport { searchNotFound } from '../../../contanst';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-search-not-found',\n templateUrl: './search-not-found.component.html',\n styleUrls: ['./search-not-found.component.scss'],\n})\nexport class SearchNotFoundComponent implements OnInit {\n public base64Image = this.domSanitizer.bypassSecurityTrustUrl(searchNotFound);\n constructor(private domSanitizer: DomSanitizer) {}\n\n ngOnInit() {}\n}\n","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\nimport { UploadAssetsService } from '../../../services/upload-assets.service';\nimport { imagePdf } from '../../../contanst';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n@Component({\n selector: 'lib-file-item',\n templateUrl: './file-item.component.html',\n styleUrls: ['./file-item.component.scss'],\n})\nexport class FileItemComponent implements OnInit {\n public base64Pdf = this.domSanitizer.bypassSecurityTrustUrl(imagePdf);\n @Input() file: File;\n @Output() checkError = new EventEmitter();\n @Output() fileChange = new EventEmitter();\n @Output() fileRemove = new EventEmitter();\n public dataFile = {\n name: '',\n size: 0,\n ext: '',\n data: null,\n errors: {\n ext: false,\n size: false,\n },\n };\n\n constructor(\n private domSanitizer: DomSanitizer,\n public uploadAssetService: UploadAssetsService\n ) {}\n\n ngOnInit() {\n this.setDataFile(this.file);\n }\n\n private setDataFile(file: File): void {\n const { supportedTypes, supportedSize } = this.uploadAssetService;\n const nameSplit = file.name.split('.');\n nameSplit.splice(nameSplit.length - 1, 1);\n this.dataFile.name = nameSplit.join('.');\n this.dataFile.size = file.size;\n this.dataFile.ext = file.type.split('/')[1];\n this.dataFile.errors = {\n ext: supportedTypes.indexOf(`.${this.dataFile.ext}`) < 0,\n size: supportedSize < this.dataFile.size,\n };\n\n const { ext, size } = this.dataFile.errors;\n if (ext || size) {\n this.uploadAssetService.errors = { [file.name]: true };\n this.checkError.emit();\n }\n\n if (file.type.indexOf('image') > -1) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (readerEvent: any) => {\n const img = document.createElement('img');\n img.src = readerEvent.target.result as string;\n\n img.onload = () => {\n this.dataFile.data = this.domSanitizer.bypassSecurityTrustUrl(\n readerEvent.target.result\n );\n };\n };\n }\n\n this.uploadAssetService.setErrorObs(this.uploadAssetService.errorFiles);\n }\n\n onChange(event: Event) {\n this.dataFile.name = (event.target as HTMLInputElement).value.trim();\n this.fileChange.emit(this.dataFile.name);\n }\n\n onRemove() {\n this.fileRemove.emit(true);\n }\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { UploadAssetsService } from '../../../services/upload-assets.service';\n\n@Component({\n selector: 'lib-file-list',\n templateUrl: './file-list.component.html',\n styleUrls: ['./file-list.component.scss'],\n})\nexport class FileListComponent implements OnInit {\n @Output() revalidate = new EventEmitter();\n constructor(public uploadAssetsService: UploadAssetsService) {}\n\n ngOnInit() {}\n\n onFileChange(newFiles: File[]): void {\n const { getFiles: files } = this.uploadAssetsService;\n this.uploadAssetsService.setFiles = [...files, ...newFiles];\n (document.getElementById('file-import') as HTMLInputElement).value = '';\n }\n\n onDelFile(fileName: string, index: number) {\n this.uploadAssetsService.deleteFile(fileName, index);\n this.revalidate.emit(this.uploadAssetsService.errorFiles);\n }\n\n onChangeName(newName: string, originName: string) {\n this.uploadAssetsService.newName = { [originName]: newName };\n }\n\n onEmitError(): void {\n this.revalidate.emit(this.uploadAssetsService.errorFiles);\n }\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { UploadAssetsService } from '../../../services/upload-assets.service';\nimport { imageDefault } from '../../../contanst';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-upload-file',\n templateUrl: './upload-file.component.html',\n styleUrls: ['./upload-file.component.scss'],\n})\nexport class UploadFileComponent implements OnInit {\n public base64Image = this.domSanitizer.bypassSecurityTrustUrl(imageDefault);\n @Output() revalidate = new EventEmitter();\n public isDragging = false;\n\n constructor(\n private domSanitizer: DomSanitizer,\n public uploadAssetsService: UploadAssetsService\n ) {}\n\n ngOnInit() {}\n\n onDelFile(fileName: string, index: number) {\n this.uploadAssetsService.deleteFile(fileName, index);\n this.revalidate.emit(this.uploadAssetsService.errorFiles);\n }\n\n onChangeName(newName: string, originName: string) {\n this.uploadAssetsService.newName = { [originName]: newName };\n }\n\n onFileChange(newFiles: any): void {\n this.isDragging = false;\n const { getFiles: files } = this.uploadAssetsService;\n this.uploadAssetsService.setFiles = [...files, ...newFiles];\n }\n\n onEmitError(): void {\n this.revalidate.emit(this.uploadAssetsService.errorFiles);\n }\n\n onDragover(_event: Event) {\n this.isDragging = true;\n }\n\n onDragleave(_event: Event) {\n this.isDragging = false;\n }\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { IAddFolderRes } from '../../../models';\nimport { FileService } from '../../../services/file.service';\n\ninterface IData {\n currentAssetId: string;\n}\n\n@Component({\n selector: 'lib-add-folder-dialog',\n templateUrl: './add-folder-dialog.component.html',\n styleUrls: ['./add-folder-dialog.component.scss'],\n})\nexport class AddFolderDialogComponent implements OnInit, OnDestroy {\n public isLoading = false;\n public errorMessage = '';\n public value = '';\n private destroy$: Subject<boolean> = new Subject();\n public formGroup: FormGroup;\n public form: FormControl = new FormControl();\n constructor(\n private fb: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: IData,\n public dialogRef: MatDialogRef<AddFolderDialogComponent>,\n private fileService: FileService\n ) {\n this.formGroup = this.fb.group({\n name: ['', Validators.compose([Validators.required])],\n });\n }\n\n ngOnInit() {}\n\n get disabled() {\n const { value: name } = this.formGroup.controls.name;\n return !name || !!this.errorMessage || this.isLoading;\n }\n\n onChange(_event: Event) {\n this.errorMessage = '';\n }\n\n addFolder() {\n const { value: name } = this.formGroup.controls.name;\n this.isLoading = true;\n this.fileService\n .addFolder({\n parentAssetId: this.data.currentAssetId,\n folderName: name.trim(),\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n (_res: IAddFolderRes) => this.closeDialog(true),\n err => {\n this.isLoading = false;\n this.errorMessage = err.ResponseMessage;\n }\n );\n }\n\n closeDialog(res?: boolean) {\n this.dialogRef.close(res);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { FileService } from '../../../services/file.service';\nimport { IAssetUpdatedRes } from '../../../models';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\n\ninterface IData {\n assetId: string;\n name: string;\n}\n\n@Component({\n selector: 'lib-edit-folder-dialog',\n templateUrl: './edit-folder-dialog.component.html',\n styleUrls: ['./edit-folder-dialog.component.scss'],\n})\nexport class EditFolderDialogComponent implements OnInit, OnDestroy {\n public isLoading = false;\n public errorMessage = '';\n public value = '';\n private destroy$: Subject<boolean> = new Subject();\n public formGroup: FormGroup;\n public form: FormControl = new FormControl();\n constructor(\n private fb: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: IData,\n public dialogRef: MatDialogRef<EditFolderDialogComponent>,\n private fileService: FileService\n ) {\n this.formGroup = this.fb.group({\n name: [this.data.name, Validators.compose([Validators.required])],\n });\n }\n\n ngOnInit() {}\n\n get disabled() {\n const { value: name } = this.formGroup.controls.name;\n return (\n !name ||\n !!this.errorMessage ||\n name.toLowerCase().trim() === this.data.name.toLowerCase() ||\n this.isLoading\n );\n }\n\n onChange(_event: Event) {\n this.errorMessage = '';\n }\n\n editFolder() {\n const { value: name } = this.formGroup.controls.name;\n this.isLoading = true;\n this.fileService\n .updateFile({\n assetId: this.data.assetId,\n fileName: name.trim(),\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n (_res: IAssetUpdatedRes) => this.closeDialog(true),\n err => {\n this.isLoading = false;\n this.errorMessage = err.ResponseMessage;\n }\n );\n }\n\n closeDialog(res?: boolean) {\n this.dialogRef.close(res);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Component, Inject, OnInit, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { FileService } from '../../../services/file.service';\nimport { IAssetDetailsRes } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\n\ninterface IData {\n type: 'file' | 'folder' | 'files';\n ids: string[];\n name?: string;\n}\n\n@Component({\n selector: 'lib-delete-dialog',\n templateUrl: './delete-dialog.component.html',\n styleUrls: ['./delete-dialog.component.scss'],\n})\nexport class DeleteDialogComponent implements OnInit, OnDestroy {\n public isLoading = false;\n private destroy$: Subject<boolean> = new Subject();\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: IData,\n public dialogRef: MatDialogRef<DeleteDialogComponent>,\n private fileService: FileService,\n private assetService: AssetService\n ) {}\n\n ngOnInit() {}\n\n delete() {\n this.isLoading = true;\n this.fileService\n .deleteFile(this.data.ids)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n (_res: IAssetDetailsRes) => {\n this.handleAssetPaging();\n this.isLoading = false;\n this.closeDialog(true);\n },\n (_err) => {\n this.isLoading = false;\n console.log('deleted fail', _err);\n }\n );\n }\n\n private handleAssetPaging() {\n this.assetService\n .getAssetList()\n .pipe(takeUntil(this.destroy$))\n .subscribe((assets) => {\n if (\n assets &&\n assets.length === this.data.ids.length &&\n this.assetService.pageIndex > 0\n ) {\n this.assetService.pageIndex--;\n }\n });\n }\n\n closeDialog(res?: boolean) {\n this.dialogRef.close(res);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { ChangeDetectorRef } from '@angular/core';\nimport { UploadAssetsService } from '../../../services/upload-assets.service';\n\ninterface IData {\n currentAssetId: string;\n fileType?: string;\n}\n\n@Component({\n selector: 'lib-upload-dialog',\n templateUrl: './upload-dialog.component.html',\n styleUrls: ['./upload-dialog.component.scss'],\n providers: [UploadAssetsService],\n})\nexport class UploadDialogComponent implements OnInit, OnDestroy {\n public isLoading = false;\n public disabled = true;\n private destroy$: Subject<boolean> = new Subject();\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: IData,\n public dialogRef: MatDialogRef<UploadDialogComponent>,\n private changeDetectorRef: ChangeDetectorRef,\n public uploadAssetsService: UploadAssetsService\n ) {\n if (this.data.fileType) {\n this.uploadAssetsService.supportedTypes =\n this.data.fileType === 'Image'\n ? [...this.uploadAssetsService.imageExtension]\n : [...this.uploadAssetsService.documentExtension];\n }\n }\n\n ngOnInit() {\n this.uploadAssetsService\n .getErrorObs()\n .pipe(takeUntil(this.destroy$))\n .subscribe(error => {\n this.disabled = error;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onValidate(hasError: boolean) {\n this.disabled = hasError;\n }\n\n uploadFiles() {\n this.isLoading = true;\n this.uploadAssetsService\n .uploadMultipleAssests(this.data.currentAssetId)\n .pipe(takeUntil(this.destroy$))\n .subscribe(res => {\n if (res) {\n this.closeDialog(true);\n }\n });\n }\n\n closeDialog(res?: boolean) {\n this.dialogRef.close(res);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AssetModel } from '../../../models';\nimport { ActionTypes } from '../../../store/actions.action';\nimport { EditFolderDialogComponent } from '../edit-folder-dialog/edit-folder-dialog.component';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nimport { AssetManagementService } from '../../../asset-management.service';\n\n@Component({\n selector: 'lib-folder-item',\n templateUrl: './folder-item.component.html',\n styleUrls: ['./folder-item.component.scss'],\n})\nexport class FolderItemComponent implements OnInit {\n constructor(private dialog: MatDialog, private svc: AssetManagementService) {}\n @Input() folder: AssetModel;\n ngOnInit() {}\n\n openFolder() {\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_ID,\n payload: this.folder.AssetId,\n });\n }\n\n renameFolder() {\n const dialogRef = this.dialog.open(EditFolderDialogComponent, {\n data: {\n assetId: this.folder.AssetId,\n name: this.folder.OriginalFileName,\n },\n panelClass: 'lib-dialog--small',\n });\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_FOLDER,\n });\n }\n });\n }\n\n deleteFolder() {\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: {\n type: 'folder',\n ids: [this.folder.AssetId],\n name: this.folder.OriginalFileName,\n },\n panelClass: 'lib-dialog--small',\n autoFocus: false,\n });\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_FOLDER,\n });\n }\n });\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { takeUntil } from 'rxjs/operators';\nimport { AssetModel } from '../../../models';\nimport { select } from '../../../store';\n\n@Component({\n selector: 'lib-folder-list',\n templateUrl: './folder-list.component.html',\n styleUrls: ['./folder-list.component.scss'],\n})\nexport class FolderListComponent implements OnInit, OnDestroy {\n\n constructor() {\n this.bindSubscriber();\n }\n\n @Input() folders: AssetModel[];\n public loading = false;\n private unsubscribe$ = new Subject<void>();\n\n ngOnInit() {}\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n private bindSubscriber() {\n select(state => state.globalLoading)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(globalLoading => {\n this.loading = globalLoading;\n });\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { of } from 'rxjs/internal/observable/of';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { AssetModel } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\nimport { ActionTypes } from '../../../store/actions.action';\nimport { select } from '../../../store/reducer';\n\n@Component({\n selector: 'lib-asset-list',\n templateUrl: './asset-list.component.html',\n styleUrls: ['./asset-list.component.scss'],\n})\nexport class AssetListComponent implements OnInit, OnChanges, OnDestroy {\n constructor(\n private assetService: AssetService,\n private svc: AssetManagementService\n ) {}\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @Input() assets: AssetModel[];\n\n private unsubscribe$ = new Subject<void>();\n private currentFolderId: string;\n private selectedAssets: Array<AssetModel> = [];\n\n ngOnInit() {\n this.bindSubscriber();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.assets) {\n this.paginator.pageIndex = this.assetService.pageIndex;\n this.paginator.pageSize = this.assetService.pageSize;\n this.paginator.length = this.assetService.fileTotal;\n }\n }\n\n public onSelectAsset(event: AssetModel) {\n const index = this.selectedAssets.findIndex(\n (asset) => asset.AssetId === event.AssetId\n );\n const newSelectedAssets: AssetModel[] =\n index > -1\n ? this.selectedAssets.filter((asset, i) => index !== i)\n : [...this.selectedAssets, event];\n\n this.svc.dispatch({\n type: ActionTypes.SET_SELECTED_ASSETS,\n payload: newSelectedAssets,\n });\n }\n\n private bindSubscriber() {\n select((state) => state.deletedAssetId)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((id) => {\n if (this.selectedAssets && this.selectedAssets.length) {\n const newSelectedAssets = this.selectedAssets.filter(\n (asset) => asset.AssetId !== id\n );\n this.svc.dispatch({\n type: ActionTypes.SET_SELECTED_ASSETS,\n payload: newSelectedAssets,\n });\n }\n });\n\n select((state) => state.currentFolderId)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((currentFolderId) => {\n this.currentFolderId = currentFolderId;\n this.svc.dispatch({\n type: ActionTypes.SET_SELECTED_ASSETS,\n payload: [],\n });\n });\n\n select((state) => state.selectedAssets)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((selectedAssets) => {\n this.selectedAssets = selectedAssets;\n });\n\n select((state) => state.reloadCurrentAssets)\n .pipe(\n takeUntil(this.unsubscribe$),\n switchMap((res) => of(res))\n )\n .subscribe(() => {\n this.fetchChildrenAssets();\n });\n }\n\n public pageChange(event?: PageEvent) {\n this.assetService.pageSize = event.pageSize;\n this.assetService.pageIndex = event.pageIndex;\n this.fetchChildrenAssets();\n }\n\n private fetchChildrenAssets() {\n if (!this.currentFolderId) {\n return;\n }\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: true,\n });\n\n this.assetService\n .getChildrenAssets({ assetId: this.currentFolderId })\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((res) => {\n this.assetService.setAssetList(res.Data.Children, res.Meta);\n })\n .add(() => {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: false,\n });\n });\n }\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/*\n * Convert bytes into largest possible unit.\n * Takes an precision argument that defaults to 2.\n * Usage:\n * bytes | fileSize:precision\n * Example:\n * {{ 1024 | fileSize}}\n * formats to: 1 KB\n*/\n@Pipe({name: 'fileSize'})\nexport class FileSizePipe implements PipeTransform {\n\n private units = [\n 'bytes',\n 'KB',\n 'MB',\n 'GB',\n 'TB',\n 'PB'\n ];\n\n transform(bytes: number = 0, precision: number = 2 ): string {\n if ( isNaN( parseFloat( String(bytes) )) || ! isFinite( bytes ) ) { return '?'; }\n\n let unit = 0;\n\n while ( bytes >= 1024 ) {\n bytes /= 1024;\n unit ++;\n }\n\n return bytes.toFixed( + precision ) + ' ' + this.units[ unit ];\n }\n}\n","import { Component, Inject, OnInit, OnDestroy } from '@angular/core';\nimport {\n MatDialog,\n MatDialogRef,\n MAT_DIALOG_DATA,\n} from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { imagePdf } from '../../../contanst';\nimport {\n AssetModel,\n FileTypeEnum,\n IAssetDetailsRes,\n IAssetUpdatedRes,\n} from '../../../models';\nimport { FileSizePipe } from '../../../pipes/file-size.pipe';\nimport { FileService } from '../../../services/file.service';\nimport { UploadAssetsService } from '../../../services/upload-assets.service';\nimport { ActionTypes } from '../../../store';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\n\ninterface IData {\n assetId: string;\n name: string;\n}\n\n@Component({\n selector: 'lib-asset-dialog',\n templateUrl: './asset-dialog.component.html',\n styleUrls: ['./asset-dialog.component.scss'],\n providers: [FileSizePipe],\n})\nexport class AssetDialogComponent implements OnInit, OnDestroy {\n public fileName = '';\n public description = '';\n public linkDownload = '';\n public isCopied = false;\n public errorMessage = '';\n public patternError = false;\n public replaceMessage = '';\n public acceptTypes: string[];\n public assetDetails: AssetModel;\n private destroy$: Subject<boolean> = new Subject();\n public base64Pdf = this.domSanitizer.bypassSecurityTrustUrl(imagePdf);\n private timer;\n public isLoading = true;\n public isUpdating = false;\n public fileType = FileTypeEnum;\n\n constructor(\n private dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) public data: IData,\n public dialogRef: MatDialogRef<AssetDialogComponent>,\n private fileSize: FileSizePipe,\n public assetService: UploadAssetsService,\n private fileService: FileService,\n private domSanitizer: DomSanitizer,\n private svc: AssetManagementService\n ) {}\n\n ngOnInit() {\n this.linkDownload = `https://sandboxunitedapi.relationshop.net/V6/Asset2/api/File/Download/${this.data.assetId}`;\n this.getAssetDetail();\n }\n\n get disabled() {\n return (\n !this.fileName.length ||\n !!this.errorMessage ||\n this.patternError ||\n this.isUpdating\n );\n }\n\n closeDialog(res?: boolean) {\n this.dialogRef.close(res);\n }\n\n getAssetDetail() {\n this.fileService\n .getFileDetail(this.data.assetId)\n .pipe(takeUntil(this.destroy$))\n .subscribe((res: IAssetDetailsRes) => {\n if (res) {\n this.isLoading = false;\n this.assetDetails = res.Data;\n this.fileName = this.assetDetails.OriginalFileNameWithoutExtension;\n this.description = this.assetDetails.Description;\n this.acceptTypes = [`.${this.assetDetails.Extension.toLowerCase()}`];\n }\n });\n }\n\n updateAsset() {\n this.isUpdating = true;\n this.fileService\n .updateFile({\n assetId: this.assetDetails.AssetId,\n fileName: this.fileName.trim(),\n description: this.description && this.description.trim(),\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n (_res: IAssetUpdatedRes) => {\n this.isUpdating = false;\n this.closeDialog(true);\n },\n err => {\n this.errorMessage = err.ResponseMessage;\n this.isUpdating = false;\n }\n );\n }\n\n deleteAsset() {\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: {\n type: 'file',\n ids: [this.assetDetails.AssetId],\n name: this.assetDetails.OriginalFileNameWithoutExtension,\n },\n panelClass: 'lib-dialog--small',\n autoFocus: false,\n });\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.closeDialog(true);\n this.svc.dispatch({\n type: ActionTypes.DELETE_ASSET,\n payload: this.assetDetails.AssetId,\n });\n }\n });\n }\n\n replaceAsset(files: File[]) {\n if (!this.validateFile(files[0])) {\n return;\n }\n this.isLoading = true;\n this.fileService\n .replaceAsset(this.assetDetails.AssetId, files[0])\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n (_res: IAssetDetailsRes) => {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_ASSETS,\n });\n this.getAssetDetail();\n },\n err => {\n this.isLoading = false;\n this.replaceMessage = err.ResponseMessage;\n }\n );\n }\n\n validateFile(file: File) {\n this.replaceMessage = '';\n if (!file) {\n return;\n }\n const ext = this.matchExt(file.type);\n const errors = [];\n\n if (this.acceptTypes.indexOf(ext) < 0) {\n const extError = `${\n this.assetService.messageErrors.ext\n } ${this.acceptTypes.join(', ')}`;\n errors.push(extError);\n }\n if (this.assetService.supportedSize < file.size) {\n const maxSize = this.fileSize.transform(\n this.assetService.supportedSize,\n 0\n );\n errors.push(`${this.assetService.messageErrors.size} ${maxSize}`);\n }\n\n if (errors.length) {\n this.replaceMessage = errors.join('<br/>');\n }\n\n return !errors.length;\n }\n\n matchExt(fileType: string) {\n const ext = `.${fileType.split('/')[1].toLowerCase()}`;\n\n switch (ext) {\n case '.jpeg':\n return '.jpg';\n\n case '.svg+xml':\n return '.svg';\n\n default:\n return ext;\n }\n }\n\n onChangeName(event: Event) {\n this.fileName = (event.target as HTMLInputElement).value;\n this.errorMessage = '';\n this.patternError = this.fileName && !this.fileName.match(/.*\\S+.*/);\n }\n\n onChangeDescription(event: Event) {\n this.description = (event.target as HTMLInputElement).value;\n }\n\n copyText(content: string) {\n const selBox = document.createElement('textarea');\n\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = content;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n\n this.isCopied = true;\n this.timer = setTimeout(() => {\n this.isCopied = false;\n }, 1000);\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.timer);\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { imagePdf } from '../../../contanst';\nimport { AssetModel, FileTypeEnum } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\nimport { ActionTypes, select } from '../../../store';\nimport { AssetDialogComponent } from '../asset-dialog/asset-dialog.component';\n\n@Component({\n selector: 'lib-asset-item',\n templateUrl: './asset-item.component.html',\n styleUrls: ['./asset-item.component.scss'],\n})\nexport class AssetItemComponent implements OnInit, OnDestroy {\n constructor(\n private dialog: MatDialog,\n private domSanitizer: DomSanitizer,\n private svc: AssetManagementService,\n private assetService: AssetService\n ) {\n this.bindSubscriber();\n }\n @Input() asset: AssetModel;\n\n @Output() selectAsset = new EventEmitter<AssetModel>();\n\n public base64Pdf = this.domSanitizer.bypassSecurityTrustUrl(imagePdf);\n public selectedAssets: Array<AssetModel> = [];\n public fileType = FileTypeEnum;\n private destroy$: Subject<boolean> = new Subject();\n\n ngOnInit() {}\n\n get checkSelectedAsset(): boolean {\n return (\n this.selectedAssets &&\n this.selectedAssets.some((asset) => asset.AssetId === this.asset.AssetId)\n );\n }\n\n private bindSubscriber() {\n select((state) => state.selectedAssets)\n .pipe(takeUntil(this.destroy$))\n .subscribe((selectedAssets) => {\n this.selectedAssets = selectedAssets;\n });\n }\n\n public onChange() {\n this.selectAsset.emit(this.asset);\n }\n\n public editAsset() {\n const dialogRef = this.dialog.open(AssetDialogComponent, {\n autoFocus: false,\n data: {\n assetId: this.asset.AssetId,\n name: this.asset.OriginalFileNameWithoutExtension,\n },\n panelClass: 'lib-dialog--medium',\n });\n if (dialogRef) {\n dialogRef.afterClosed().subscribe((res) => {\n if (res) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_ASSETS,\n });\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import {\n CollectionViewer,\n DataSource,\n SelectionChange,\n} from '@angular/cdk/collections';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DynamicFlatNode } from '../models';\nimport { NodeTreeService } from '../services/node-tree.service';\n\nexport class NodeTreeDataSource implements DataSource<DynamicFlatNode> {\n dataChange = new BehaviorSubject<DynamicFlatNode[]>([]);\n\n get data(): DynamicFlatNode[] {\n return this.dataChange.value;\n }\n set data(value: DynamicFlatNode[]) {\n this._treeControl.dataNodes = value;\n this.dataChange.next(value);\n }\n\n constructor(\n private _treeControl: FlatTreeControl<DynamicFlatNode>,\n private _database: NodeTreeService\n ) {}\n\n connect(collectionViewer: CollectionViewer): Observable<DynamicFlatNode[]> {\n this._treeControl.expansionModel.changed.subscribe((change) => {\n if (\n (change as SelectionChange<DynamicFlatNode>).added ||\n (change as SelectionChange<DynamicFlatNode>).removed\n ) {\n this.handleTreeControl(change as SelectionChange<DynamicFlatNode>);\n }\n });\n\n return merge(collectionViewer.viewChange, this.dataChange).pipe(\n map(() => this.data)\n );\n }\n\n disconnect(collectionViewer: CollectionViewer): void {}\n\n /** Handle expand/collapse behaviors */\n handleTreeControl(change: SelectionChange<DynamicFlatNode>) {\n if (change.added) {\n change.added.forEach(async (node) => await this.toggleNode(node, true));\n }\n if (change.removed) {\n change.removed\n .slice()\n .reverse()\n .forEach(async (node) => await this.toggleNode(node, false));\n }\n }\n\n /**\n * Toggle the node, remove from display list\n */\n async toggleNode(node: DynamicFlatNode, expand: boolean) {\n if (!node) {\n return;\n }\n node.isLoading = true;\n const index = this.data.indexOf(node);\n if (index < 0) {\n // If cannot find the node, no op\n return;\n }\n\n if (expand) {\n const newNode = await this._database.getChildren(node.item);\n if (!newNode) {\n // If no children, no op\n return;\n }\n const nodes = newNode.Children.map((child) => {\n this._database.addNode(child, node.item.AssetId);\n return new DynamicFlatNode(\n child,\n node.level + 1,\n this._database.isExpandable(child)\n );\n });\n this.data.splice(index + 1, 0, ...nodes);\n } else {\n let count = 0;\n for (\n let i = index + 1;\n i < this.data.length && this.data[i].level > node.level;\n i++, count++\n ) {}\n this.data.splice(index + 1, count);\n }\n\n // notify the change\n node.isLoading = false;\n this.dataChange.next(this.data);\n }\n\n /**\n * Reload the node, remove from display list\n */\n public async reloadNode(node: DynamicFlatNode) {\n if (!node) {\n return;\n }\n const newNode = await this._database.getChildren(node.item);\n const index = this.data.indexOf(node);\n if (!newNode || index < 0) {\n // If no children, or cannot find the node, no op\n return;\n }\n\n // Remove all current children\n let count = 0;\n for (\n let i = index + 1;\n i < this.data.length && this.data[i].level > node.level;\n i++, count++\n ) {}\n this.data.splice(index + 1, count);\n\n // Add new children\n const nodes = newNode.Children.map(\n (child) =>\n new DynamicFlatNode(\n child,\n node.level + 1,\n this._database.isExpandable(child)\n )\n );\n this.data.splice(index + 1, 0, ...nodes);\n\n // notify the change\n this.dataChange.next(this.data);\n }\n}\n","import { FlatTreeControl } from '@angular/cdk/tree';\nimport { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { of, Subject } from 'rxjs';\nimport { distinctUntilChanged, switchMap, takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { NodeTreeDataSource } from '../../../datasources';\nimport { DynamicFlatNode } from '../../../models';\nimport { NodeTreeService } from '../../../services/node-tree.service';\nimport { ActionTypes, select } from '../../../store/index';\n\n@Component({\n selector: 'lib-node-tree',\n templateUrl: './node-tree.component.html',\n styleUrls: ['./node-tree.component.scss'],\n})\nexport class NodeTreeComponent implements OnInit, OnDestroy {\n constructor(\n private nodeTreeService: NodeTreeService,\n private svc: AssetManagementService,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.treeControl = new FlatTreeControl<DynamicFlatNode>(\n this.getLevel,\n this.isExpandable\n );\n this.dataSource = new NodeTreeDataSource(this.treeControl, nodeTreeService);\n }\n\n @Input() width: number;\n\n public currentFolderId: string;\n public isRoot = false;\n public homeLoading = false;\n public loading = false;\n public treeControl: FlatTreeControl<DynamicFlatNode>;\n public dataSource: NodeTreeDataSource;\n private unsubscribe$ = new Subject<void>();\n\n ngOnInit() {\n this.bindSubscriber();\n this.initialData();\n }\n\n private async initialData() {\n await this.nodeTreeService.initialData({ dispatchRootId: true });\n this.changeDetectorRef.detectChanges();\n }\n\n private bindSubscriber() {\n this.nodeTreeService.loading$\n .pipe(takeUntil(this.unsubscribe$), distinctUntilChanged())\n .subscribe((loading) => {\n this.homeLoading = loading;\n this.changeDetectorRef.detectChanges();\n });\n\n this.nodeTreeService.initialData$\n .pipe(takeUntil(this.unsubscribe$), distinctUntilChanged())\n .subscribe((data) => {\n const { AssetId: rootId } = this.nodeTreeService.rootFolder || {AssetId: null};\n this.isRoot = rootId && this.currentFolderId === rootId;\n this.dataSource.data = data;\n data.forEach((node) => this.nodeTreeService.addNode(node.item, null));\n this.changeDetectorRef.detectChanges();\n });\n\n this.dataSource.dataChange\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((data) => {\n if (data && data.length) {\n this.changeDetectorRef.detectChanges();\n }\n });\n\n select((state) => state.currentFolderId)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(async (id) => {\n if (id) {\n const { AssetId: rootId } = this.nodeTreeService.rootFolder || {AssetId: null};\n this.isRoot = rootId && id === rootId;\n this.currentFolderId = id;\n await this.nodeTreeService.updateBreadcrumb(id);\n this.changeDetectorRef.detectChanges();\n }\n });\n\n select((state) => state.reloadCurrentFolder)\n .pipe(takeUntil(this.unsubscribe$), switchMap((res) => of(res)))\n .subscribe(async () => {\n await this.handleReloadFolder(this.currentFolderId);\n this.changeDetectorRef.detectChanges();\n });\n }\n\n public async selectNode(node: DynamicFlatNode) {\n const { AssetId: id } = node.item;\n if (id === this.currentFolderId) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_NODE,\n });\n } else {\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_ID,\n payload: id,\n });\n }\n await this.handleReloadFolder(id);\n this.changeDetectorRef.detectChanges();\n }\n\n public backToHome() {\n this.initialData();\n const { AssetId: rootId } = this.nodeTreeService.rootFolder;\n if (this.currentFolderId === rootId) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_NODE,\n });\n }\n\n }\n\n checked(node: DynamicFlatNode): boolean {\n return this.currentFolderId && this.currentFolderId === node.item.AssetId;\n }\n\n disabled(node: DynamicFlatNode): boolean {\n return node.expandable;\n }\n\n getLevel = (node: DynamicFlatNode) => node.level;\n\n isExpandable = (node: DynamicFlatNode) => node.expandable;\n\n hasChild = (_: number, _nodeData: DynamicFlatNode) => _nodeData.expandable;\n\n getParent(node: DynamicFlatNode): DynamicFlatNode {\n const currentLevel = this.getLevel(node);\n\n if (currentLevel < 1) {\n return null;\n }\n\n const startIndex = this.dataSource.data.indexOf(node) - 1;\n\n for (let i = startIndex; i >= 0; i--) {\n const currentNode = this.dataSource.data[i];\n if (this.getLevel(currentNode) < currentLevel) {\n return currentNode;\n }\n }\n }\n\n getNodeById(id: string): DynamicFlatNode {\n return this.treeControl.dataNodes.find((node) => node.item.AssetId === id);\n }\n\n private async handleReloadFolder(id: string) {\n if (!id || this.loading) {\n return;\n }\n this.loading = true;\n const node = this.getNodeById(id);\n if (node) {\n const parent = this.getParent(node);\n if (parent) {\n await this.dataSource.reloadNode(parent);\n const updatedNode = this.getNodeById(id);\n if (updatedNode) {\n await this.treeControl.expand(updatedNode);\n }\n } else {\n await this.nodeTreeService.initialData({ dispatchRootId: false });\n const updatedNode = this.getNodeById(id);\n if (updatedNode) {\n await this.treeControl.expand(updatedNode);\n }\n }\n } else {\n await this.nodeTreeService.initialData({ dispatchRootId: false });\n }\n this.loading = false;\n }\n\n ngOnDestroy() {\n this.dataSource.data = [];\n this.nodeTreeService.data = [];\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { of } from 'rxjs/internal/observable/of';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { FolderTreeModel } from '../../../models';\nimport { NodeTreeService } from '../../../services/node-tree.service';\nimport { ActionTypes, select } from '../../../store';\n\n@Component({\n selector: 'lib-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n})\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\n constructor(private nodeTreeService: NodeTreeService, private svc: AssetManagementService) {\n this.bindSubscriber();\n }\n private unsubscribe$ = new Subject<void>();\n public currentFolderHierarchy: Array<FolderTreeModel> = [];\n public maximumShownLevel = 3;\n\n ngOnInit() { }\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n private bindSubscriber() {\n select((state) => state.currentFolderHierarchy)\n .pipe(\n takeUntil(this.unsubscribe$),\n switchMap((res) => of(res))\n )\n .subscribe((currentFolderHierarchy) => {\n this.currentFolderHierarchy = currentFolderHierarchy;\n });\n }\n\n public navigateToFolder(folder: FolderTreeModel) {\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_ID,\n payload: folder.AssetId,\n });\n }\n\n public async backToHome() {\n await this.nodeTreeService.initialData({ dispatchRootId: true });\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_NODE,\n });\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { combineLatest } from 'rxjs/internal/observable/combineLatest';\nimport { of } from 'rxjs/internal/observable/of';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { AssetService } from '../../../services/asset.service';\nimport { ActionTypes, select } from '../../../store';\n\n@Component({\n selector: 'lib-search-box',\n templateUrl: './search-box.component.html',\n styleUrls: ['./search-box.component.scss'],\n})\nexport class SearchBoxComponent implements OnInit, OnDestroy {\n private destroy$: Subject<boolean> = new Subject();\n public value = '';\n private folderId = '';\n constructor(\n public assetService: AssetService,\n private svc: AssetManagementService\n ) {\n this.bindingSubscriber();\n }\n\n ngOnInit() {}\n\n private bindingSubscriber() {\n select(state => state.currentFolderId)\n .pipe(\n takeUntil(this.destroy$),\n switchMap(res => of(res))\n )\n .subscribe(currentFolderId => (this.folderId = currentFolderId));\n }\n\n onChange(event: Event) {\n this.value = (event.target as HTMLInputElement).value;\n }\n\n onSubmit() {\n if (!this.value && !this.assetService.keyword) {\n return;\n }\n this.assetService.keyword = this.value;\n this.searchByName();\n }\n\n clearSearch() {\n if (!this.assetService.keyword) {\n this.value = '';\n return;\n }\n\n this.value = '';\n this.assetService.keyword = '';\n this.searchByName();\n this.assetService.setFolderList(null);\n this.assetService.setAssetList(null);\n }\n\n private searchByName() {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: true,\n });\n combineLatest([\n this.assetService.getChildrenFolders({ assetId: this.folderId }),\n this.assetService.getChildrenAssets({\n assetId: this.folderId,\n pageIndex: '0',\n }),\n ])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([folders, assets]) => {\n this.assetService.setFolderList(folders.Data, folders.Meta.Total);\n this.assetService.setAssetList(assets.Data.Children, assets.Meta);\n })\n .add(() => {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: false,\n });\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { SortFilesBy, TypeSort } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\nimport { ActionTypes } from '../../../store';\n\n@Component({\n selector: 'lib-sort-items',\n templateUrl: './sort-items.component.html',\n styleUrls: ['./sort-items.component.scss'],\n})\nexport class SortItemsComponent implements OnInit {\n readonly typeSort = TypeSort;\n sortOrder: TypeSort = TypeSort.DESC;\n sortBy: SortFilesBy = SortFilesBy.MODIFIED_DATE;\n sortList: ISort[] = [\n { value: SortFilesBy.NAME, label: 'Sort by name' },\n { value: SortFilesBy.CREATED_DATE, label: 'Sort by created date' },\n { value: SortFilesBy.MODIFIED_DATE, label: 'Sort by modified date' },\n ];\n constructor(\n private assetService: AssetService,\n private svc: AssetManagementService\n ) {}\n\n ngOnInit() {\n this.sortBy = this.assetService.sortBy;\n this.sortOrder = this.assetService.sortOrder;\n }\n\n onSortBy(event: ISort) {\n this.sortBy = event.value;\n this.assetService.sortBy = this.sortBy;\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_ASSETS,\n });\n }\n\n toggleSortOrder() {\n this.sortOrder =\n this.sortOrder === TypeSort.ASC ? TypeSort.DESC : TypeSort.ASC;\n this.assetService.sortOrder = this.sortOrder;\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_ASSETS,\n });\n }\n}\n\ninterface ISort {\n value: SortFilesBy;\n label?: string;\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { takeUntil } from 'rxjs/operators';\nimport { AssetModel } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\nimport { select } from '../../../store';\n\n@Component({\n selector: 'lib-asset-wrapper',\n templateUrl: './asset-wrapper.component.html',\n styleUrls: ['./asset-wrapper.component.scss'],\n})\nexport class AssetWrapperComponent implements OnInit, OnDestroy {\n @Input() header = true;\n @Output() assets = new EventEmitter<AssetModel[]>();\n\n private unsubscribe$ = new Subject<void>();\n public nodeTreeMinWidth = 250;\n public nodeTreeMaxWidth = 700;\n public nodeTreeWidth;\n\n constructor(private assetService: AssetService) {}\n\n ngOnInit() {\n this.nodeTreeWidth = this.nodeTreeMinWidth;\n select((state) => state.selectedAssets)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((selectedAssets) => {\n this.assets.emit(selectedAssets);\n });\n }\n\n onResize({ width }) {\n this.nodeTreeWidth = width;\n }\n\n get nodeDetailsWidth(): string {\n return `calc(100% - ${this.nodeTreeWidth}px)`;\n }\n\n ngOnDestroy() {\n this.assetService.resetAsset();\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n}\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { of } from 'rxjs';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\nimport { combineLatest } from 'rxjs/internal/observable/combineLatest';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { AssetManagementService } from '../../../asset-management.service';\nimport { AssetModel, FolderTreeModel } from '../../../models';\nimport { AssetService } from '../../../services/asset.service';\nimport { NodeTreeService } from '../../../services/node-tree.service';\nimport { ActionTypes, select } from '../../../store';\nimport { AddFolderDialogComponent } from '../add-folder-dialog/add-folder-dialog.component';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nimport { UploadDialogComponent } from '../upload-dialog/upload-dialog.component';\n\n@Component({\n selector: 'lib-node-details',\n templateUrl: './node-details.component.html',\n styleUrls: ['./node-details.component.scss'],\n})\nexport class NodeDetailsComponent implements OnInit, OnDestroy {\n constructor(\n public dialog: MatDialog,\n public assetService: AssetService,\n private nodeTreeService: NodeTreeService,\n private svc: AssetManagementService,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.bindSubscriber();\n }\n\n private unsubscribe$ = new Subject<void>();\n\n public selectedAssets: Array<AssetModel> = [];\n public loading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public currentFolder: FolderTreeModel;\n public assets: AssetModel[];\n\n ngOnInit() {\n this.assetService\n .getFolderList()\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((folders) => {\n this.currentFolder = folders;\n this.changeDetectorRef.detectChanges();\n });\n this.assetService\n .getAssetList()\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((assets) => {\n this.assets = assets;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n private bindSubscriber() {\n select((state) => state.globalLoading)\n .pipe(\n takeUntil(this.unsubscribe$),\n switchMap((res) => of(res))\n )\n .subscribe((globalLoading) => {\n this.loading$.next(globalLoading);\n });\n\n select((state) => state.selectedAssets)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((selectedAssets) => {\n if (selectedAssets) {\n this.selectedAssets = selectedAssets;\n }\n });\n\n select((state) => state.currentFolderId)\n .pipe(\n takeUntil(this.unsubscribe$),\n switchMap((res) => of(res))\n )\n .subscribe((currentFolderId) => {\n if (currentFolderId) {\n this.assetService.pageIndex = 0;\n this.fetchNodeDetails(currentFolderId);\n }\n });\n\n select((state) => state.reloadCurrentFolder)\n .pipe(\n takeUntil(this.unsubscribe$),\n switchMap((res) => of(res))\n )\n .subscribe(() => {\n if (!this.currentFolder) {\n return;\n }\n this.fetchFolder(this.currentFolder.AssetId);\n });\n\n select((state) => state.reloadCurrentNode)\n .pipe(\n takeUntil(this.unsubscribe$),\n switchMap((res) => of(res))\n )\n .subscribe(() => {\n if (!this.currentFolder) {\n return;\n }\n this.assetService.pageIndex = 0;\n this.fetchNodeDetails(this.currentFolder.AssetId);\n });\n }\n\n public openUploadDialog() {\n const dialogRef = this.dialog.open(UploadDialogComponent, {\n data: {\n currentAssetId: this.currentFolder.AssetId,\n fileType: this.assetService.dialogConfig.allowedType,\n },\n panelClass: 'lib-dialog--medium',\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_ASSETS,\n });\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_FOLDER,\n });\n }\n });\n }\n\n addFolder() {\n const dialogRef = this.dialog.open(AddFolderDialogComponent, {\n data: {\n currentAssetId: this.currentFolder.AssetId,\n },\n panelClass: 'lib-dialog--small',\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_FOLDER,\n });\n }\n });\n }\n\n deleteAssets() {\n const ids = this.selectedAssets.map((asset) => asset.AssetId);\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: {\n type: 'files',\n ids,\n },\n panelClass: 'lib-dialog--small',\n autoFocus: false,\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res) {\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_ASSETS,\n });\n this.svc.dispatch({\n type: ActionTypes.RELOAD_CURRENT_FOLDER,\n });\n this.svc.dispatch({\n type: ActionTypes.SET_SELECTED_ASSETS,\n payload: [],\n });\n }\n });\n }\n\n private fetchFolder(id: string) {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: true,\n });\n\n this.assetService\n .getChildrenFolders({ assetId: id })\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((res) => {\n this.assetService.setFolderList(res.Data, res.Meta.Total);\n if (res.Data && res.Data.Children) {\n res.Data.Children.forEach((node) =>\n this.nodeTreeService.addNode(node, this.currentFolder.AssetId)\n );\n }\n })\n .add(() => {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: false,\n });\n });\n }\n\n private fetchNodeDetails(id: string) {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: true,\n });\n combineLatest([\n this.assetService.getChildrenFolders({ assetId: id }),\n this.assetService.getChildrenAssets({\n assetId: id,\n }),\n ])\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(([folders, assets]) => {\n this.assetService.setFolderList(folders.Data, folders.Meta.Total);\n this.assetService.setAssetList(assets.Data.Children, assets.Meta);\n if (folders.Data && folders.Data.Children) {\n folders.Data.Children.forEach((node) =>\n this.nodeTreeService.addNode(node, this.currentFolder.AssetId)\n );\n }\n })\n .add(() => {\n this.svc.dispatch({\n type: ActionTypes.SET_GLOBAL_LOADING,\n payload: false,\n });\n });\n }\n\n get noResults() {\n return (\n this.assetService.keyword &&\n !this.currentFolder.Children.length &&\n !this.assets.length\n );\n }\n\n ngOnDestroy() {\n this.svc.dispatch({\n type: ActionTypes.SET_CURRENT_FOLDER_ID,\n payload: null,\n });\n this.svc.dispatch({\n type: ActionTypes.SET_SELECTED_ASSETS,\n payload: [],\n });\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n}\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\n@Component({\n selector: 'lib-drag-to-resize',\n templateUrl: './drag-to-resize.component.html',\n styleUrls: ['./drag-to-resize.component.scss'],\n})\nexport class DragToResizeComponent implements OnInit {\n @Input() minWidth: number;\n @Input() maxWidth: number;\n\n @Output() resizeCompleted = new EventEmitter();\n\n public width: number;\n public grabber = false;\n private oldX = 0;\n\n constructor() {}\n\n ngOnInit() {\n this.width = this.minWidth;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMouseMove(event: MouseEvent) {\n if (!this.grabber) {\n return;\n }\n this.resizer(event.clientX - this.oldX);\n this.oldX = event.clientX;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(event: MouseEvent) {\n if (this.grabber) {\n this.grabber = false;\n }\n }\n\n onMouseDown(event: MouseEvent) {\n this.grabber = true;\n this.oldX = event.clientX;\n }\n\n resizer(offsetX: number) {\n if (this.width + offsetX > this.maxWidth) {\n this.width = this.maxWidth;\n } else if (this.width + offsetX < this.minWidth) {\n this.width = this.minWidth;\n } else {\n this.width += offsetX;\n }\n this.resizeCompleted.emit({ width: this.width });\n }\n}\n","export const AdminConfig: { [name: string]: any } = {\n locale: 'en-US',\n timeZone: 'local',\n format: {\n date: 'MM/DD/YYYY',\n dayMonth: 'MMM DD',\n dateTime: 'MM/DD/YYYY HH:mm',\n fullDateTime: 'MM/DD/YYYY HH:mm:ss',\n dateTimeAM: 'MM/DD/YYYY hh:mm A',\n apiDate: 'YYYY/MM/DD',\n apiDateTime: 'YYYY-MM-DD[T]HH:mm:ssZ',\n apiDateTimeNoZ: 'YYYY-MM-DD[T]HH:mm:ss',\n apiDateMonthYear: 'MMM DD YYYY',\n urlParam: 'YYYY-MM-DD',\n },\n};\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AdminConfig } from '../configs/admin.config';\nimport * as moment_ from 'moment';\nconst moment = moment_;\n\n@Pipe({ name: 'localDatetime' })\nexport class LocalDateTimePipe implements PipeTransform {\n transform = (\n value: string,\n config?: { format: string; timeZone: string }\n ): string => {\n // Assume timezone is at UTC0 if there's have no timezone.\n const { format, timeZone } = config || {\n format: AdminConfig.format.dateTimeAM,\n timeZone: 'America/Chicago',\n };\n\n if (!value) {\n return '-';\n }\n\n // Check if UTC0.\n if (value.indexOf('Z') !== -1) {\n return moment(value).format(format);\n }\n\n // const utc0String = moment.tz(value, timeZone).toISOString();\n const utc0String = moment.utc(value).toISOString();\n return moment(utc0String).format(format);\n }\n}\n\n@Pipe({ name: 'localDate' })\nexport class LocalDatePipe implements PipeTransform {\n transform = (\n value: string,\n config?: { format: string; timeZone: string }\n ): string => {\n // Assume timezone is at UTC0 if there's have no timezone.\n\n const { format, timeZone } = config || {\n format: AdminConfig.format.date,\n timeZone: 'America/Chicago',\n };\n\n if (!value) {\n return '-';\n }\n\n // Check if UTC0.\n\n if (value.indexOf('Z') !== -1) {\n return moment(value).format(format);\n }\n\n // const utc0String = moment.tz(value, timeZone).toISOString();\n\n const utc0String = moment.utc(value).toISOString();\n\n return moment(utc0String).format(format);\n }\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport {\n UploadAssetsService,\n AssetService,\n FileService,\n NodeTreeService,\n BaseHttpClient\n} from './services/index';\n\nimport { AssetManagementComponent } from './asset-management.component';\nimport { DirectivesModule } from './directives/directives.module';\n\n// UI\nimport { InputFileComponent } from './components/ui//input-file/input-file.component';\nimport { ModalComponent } from './components/ui//modal/modal.component';\nimport { SearchNotFoundComponent } from './components/ui//search-not-found/search-not-found.component';\n\n// Partials\nimport { FileItemComponent } from './components/partial/file-item/file-item.component';\nimport { FileListComponent } from './components/partial/file-list/file-list.component';\nimport { UploadFileComponent } from './components/partial/upload-file/upload-file.component';\nimport { AddFolderDialogComponent } from './components/partial/add-folder-dialog/add-folder-dialog.component';\nimport { EditFolderDialogComponent } from './components/partial/edit-folder-dialog/edit-folder-dialog.component';\nimport { DeleteDialogComponent } from './components/partial/delete-dialog/delete-dialog.component';\nimport { UploadDialogComponent } from './components/partial/upload-dialog/upload-dialog.component';\nimport { FolderItemComponent } from './components/partial/folder-item/folder-item.component';\nimport { FolderListComponent } from './components/partial/folder-list/folder-list.component';\nimport { AssetListComponent } from './components/partial/asset-list/asset-list.component';\nimport { AssetItemComponent } from './components/partial/asset-item/asset-item.component';\nimport { AssetManagementDialogComponent } from './components/partial/asset-management-dialog/asset-management-dialog.component';\nimport { NodeTreeComponent } from './components/partial/node-tree/node-tree.component';\nimport { AssetDialogComponent } from './components/partial/asset-dialog/asset-dialog.component';\nimport { BreadcrumbComponent } from './components/partial/breadcrumb/breadcrumb.component';\nimport { SearchBoxComponent } from './components/partial/search-box/search-box.component';\nimport { SortItemsComponent } from './components/partial/sort-items/sort-items.component';\nimport { AssetWrapperComponent } from './components/partial/asset-wrapper/asset-wrapper.component';\nimport { NodeDetailsComponent } from './components/partial/node-details/node-details.component';\nimport { DragToResizeComponent } from './components/ui/drag-to-resize/drag-to-resize.component';\n\n\n// Pipes\nimport { FileSizePipe } from './pipes/file-size.pipe';\nimport { AMConfig } from './services/env-config.service';\nimport { LocalDatePipe, LocalDateTimePipe } from './pipes/datetime.pipe';\n\n// SERVICES\nconst SERVICES = [\n UploadAssetsService,\n AssetService,\n FileService,\n NodeTreeService,\n BaseHttpClient\n];\n\nconst COMPONENTS = [\n // UI\n InputFileComponent,\n ModalComponent,\n SearchNotFoundComponent,\n DragToResizeComponent,\n\n // Partials\n UploadFileComponent,\n FileItemComponent,\n FileListComponent,\n UploadDialogComponent,\n AddFolderDialogComponent,\n EditFolderDialogComponent,\n DeleteDialogComponent,\n AssetDialogComponent,\n FolderListComponent,\n NodeDetailsComponent,\n FolderItemComponent,\n AssetListComponent,\n AssetItemComponent,\n NodeTreeComponent,\n BreadcrumbComponent,\n SearchBoxComponent,\n SortItemsComponent,\n AssetWrapperComponent,\n AssetManagementDialogComponent,\n];\n\nconst ENTRY_COMPONENTS = [\n ModalComponent,\n UploadDialogComponent,\n AddFolderDialogComponent,\n EditFolderDialogComponent,\n DeleteDialogComponent,\n AssetDialogComponent,\n AssetManagementDialogComponent,\n];\n\nexport function AMFactory(config: AMConfig) {\n const fn = () => {\n return new Promise(res => {\n return setTimeout(() => res(config));\n });\n };\n return fn;\n}\n\n@NgModule({\n declarations: [\n ...COMPONENTS,\n AssetManagementComponent,\n FileSizePipe,\n LocalDatePipe,\n LocalDateTimePipe,\n ],\n imports: [\n DirectivesModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule,\n MatButtonModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n MatButtonModule,\n MatInputModule,\n MatIconModule,\n MatTooltipModule,\n MatPaginatorModule,\n MatTableModule,\n MatProgressBarModule,\n MatMenuModule,\n MatCheckboxModule,\n MatTreeModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n ],\n exports: [\n ...COMPONENTS,\n AssetManagementComponent,\n DirectivesModule,\n FileSizePipe,\n LocalDatePipe,\n LocalDateTimePipe,\n ],\n providers: [\n ...SERVICES,\n {\n provide: APP_INITIALIZER,\n useFactory: AMFactory,\n deps: SERVICES,\n multi: true,\n }\n ],\n entryComponents: [...ENTRY_COMPONENTS],\n})\nexport class AssetManagementModule {\n constructor() {}\n}\n"],"names":["tslib_1.__extends","InjectionToken","Injectable","Inject","HttpHandler","HttpClient","BehaviorSubject","HttpParams","MatDialog","Subject","ACTIONS.ActionTypes","map","distinctUntilChanged","tslib_1.__values","HttpHeaders","takeUntil","Component","MAT_DIALOG_DATA","MatDialogRef","EventEmitter","Input","Output","Directive","HostListener","NgModule","CommonModule","DomSanitizer","FormControl","Validators","FormBuilder","IData","ChangeDetectorRef","switchMap","of","ViewChild","MatPaginator","Pipe","merge","FlatTreeControl","combineLatest","FormsModule","ReactiveFormsModule","MatDialogModule","MatButtonModule","MatInputModule","MatIconModule","MatTooltipModule","MatPaginatorModule","MatTableModule","MatProgressBarModule","MatMenuModule","MatCheckboxModule","MatTreeModule","MatSelectModule","MatProgressSpinnerModule","APP_INITIALIZER"],"mappings":"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"}
|