nuxeo-development-framework 2.0.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +8683 -454
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +84 -0
  4. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +35 -0
  5. package/esm2015/lib/components/activities-log/activities-log.module.js +30 -0
  6. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +54 -0
  7. package/esm2015/lib/components/attachment-item/attachment-item.module.js +44 -0
  8. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +40 -0
  9. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +157 -0
  10. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +30 -0
  11. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +30 -0
  12. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +44 -0
  13. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +140 -0
  14. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +24 -0
  15. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +177 -0
  16. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +43 -0
  17. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +39 -0
  18. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +34 -0
  19. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +132 -0
  20. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +264 -0
  21. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +119 -0
  22. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +91 -0
  23. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +455 -0
  24. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +26 -0
  25. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +77 -0
  26. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +114 -0
  27. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +80 -0
  28. package/esm2015/lib/components/file-manger/components/move/move.component.js +108 -0
  29. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +111 -0
  30. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +86 -0
  31. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +314 -0
  32. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +294 -0
  33. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +257 -0
  34. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +64 -0
  35. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +71 -0
  36. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +358 -0
  37. package/esm2015/lib/components/file-manger/file-manager.abstract.js +1031 -0
  38. package/esm2015/lib/components/file-manger/file-manger.module.js +295 -0
  39. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +51 -0
  40. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +30 -0
  41. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +177 -0
  42. package/esm2015/lib/components/permissions/permission.service.js +118 -0
  43. package/esm2015/lib/components/permissions/permissions/permissions.component.js +232 -0
  44. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +117 -0
  45. package/esm2015/lib/components/permissions/permissions.module.js +71 -0
  46. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +47 -0
  47. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +27 -0
  48. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +116 -0
  49. package/esm2015/lib/components/user/user/user.component.js +29 -0
  50. package/esm2015/lib/components/user/user.module.js +30 -0
  51. package/esm2015/lib/directive/directive.module.js +9 -4
  52. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +46 -0
  53. package/esm2015/lib/shared/libraryShared.module.js +1 -4
  54. package/esm2015/lib/shared-services/dialog-mangment.service.js +61 -0
  55. package/esm2015/lib/shared-services/dynamic-form.service.js +241 -0
  56. package/esm2015/lib/shared-services/file-manager.adapter.js +74 -0
  57. package/esm2015/lib/shared-services/file-manager.service.js +793 -0
  58. package/esm2015/lib/shared-services/global-pdftron.service.js +46 -0
  59. package/esm2015/lib/shared-services/mainfolder.service.js +160 -0
  60. package/esm2015/lib/shared-services/publishing-document.service.js +202 -0
  61. package/esm2015/lib/shared-services/recently-viewed.service.js +57 -0
  62. package/esm2015/lib/shared-services/shared-docs.service.js +135 -0
  63. package/esm2015/lib/shared-services/shared-services.module.js +20 -0
  64. package/esm2015/lib/shared-services/upload-file.service.js +29 -0
  65. package/esm2015/lib/shared-services/upload-managment.service.js +151 -0
  66. package/esm2015/lib/shared-services/user.service.js +54 -0
  67. package/esm2015/public-api.js +65 -1
  68. package/fesm2015/nuxeo-development-framework.js +7969 -154
  69. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  70. package/lib/components/activities-log/activities-log/activities-log.component.d.ts +23 -0
  71. package/lib/components/activities-log/activities-log/activities-log.service.d.ts +9 -0
  72. package/lib/components/activities-log/activities-log.module.d.ts +10 -0
  73. package/lib/components/attachment-item/attachment-item/attachment-item.component.d.ts +21 -0
  74. package/lib/components/attachment-item/attachment-item.module.d.ts +13 -0
  75. package/lib/components/attachment-modal/attachment-modal.module.d.ts +12 -0
  76. package/lib/components/attachment-modal/attachments/attachments.component.d.ts +50 -0
  77. package/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +12 -0
  78. package/lib/components/confirmation-dialog/confirmation-dialog.module.d.ts +10 -0
  79. package/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.d.ts +17 -0
  80. package/lib/components/display-suitable-icon/display-suitable-icon/icon.service.d.ts +8 -0
  81. package/lib/components/display-suitable-icon/display-suitable-icon.module.d.ts +8 -0
  82. package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.d.ts +137 -0
  83. package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.d.ts +12 -0
  84. package/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.d.ts +13 -0
  85. package/lib/components/dynamic-tabs/dynamic-tabs.module.d.ts +11 -0
  86. package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +31 -0
  87. package/lib/components/file-manger/components/clipboard/clipboard.component.d.ts +41 -0
  88. package/lib/components/file-manger/components/copy/copy.component.d.ts +32 -0
  89. package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +24 -0
  90. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +108 -0
  91. package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +11 -0
  92. package/lib/components/file-manger/components/delete/delete.component.d.ts +30 -0
  93. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +56 -0
  94. package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +23 -0
  95. package/lib/components/file-manger/components/move/move.component.d.ts +32 -0
  96. package/lib/components/file-manger/components/publish-dialog/publish-dialog.component.d.ts +32 -0
  97. package/lib/components/file-manger/components/rename/rename.component.d.ts +25 -0
  98. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +95 -0
  99. package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +58 -0
  100. package/lib/components/file-manger/components/sidepanel/sidepanel.component.d.ts +62 -0
  101. package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +34 -0
  102. package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +24 -0
  103. package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +194 -0
  104. package/lib/components/file-manger/file-manager.abstract.d.ts +173 -0
  105. package/lib/components/file-manger/file-manger.module.d.ts +59 -0
  106. package/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.d.ts +17 -0
  107. package/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.d.ts +10 -0
  108. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +44 -0
  109. package/lib/components/permissions/permission.service.d.ts +21 -0
  110. package/lib/components/permissions/permissions/permissions.component.d.ts +48 -0
  111. package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +22 -0
  112. package/lib/components/permissions/permissions.module.d.ts +21 -0
  113. package/lib/components/select-users-by-department/select-users-by-department.module.d.ts +13 -0
  114. package/lib/components/select-users-by-department/select-users-by-departments/department-management.service.d.ts +10 -0
  115. package/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.d.ts +33 -0
  116. package/lib/components/user/user/user.component.d.ts +12 -0
  117. package/lib/components/user/user.module.d.ts +10 -0
  118. package/lib/directive/directive.module.d.ts +3 -2
  119. package/lib/directive/drag-and-drop/drag-and-drop.directive.d.ts +11 -0
  120. package/lib/shared/libraryShared.module.d.ts +1 -1
  121. package/lib/shared-services/dialog-mangment.service.d.ts +15 -0
  122. package/lib/shared-services/dynamic-form.service.d.ts +24 -0
  123. package/lib/shared-services/file-manager.adapter.d.ts +48 -0
  124. package/lib/shared-services/file-manager.service.d.ts +94 -0
  125. package/lib/shared-services/global-pdftron.service.d.ts +10 -0
  126. package/lib/shared-services/mainfolder.service.d.ts +32 -0
  127. package/lib/shared-services/publishing-document.service.d.ts +25 -0
  128. package/lib/shared-services/recently-viewed.service.d.ts +17 -0
  129. package/lib/shared-services/shared-docs.service.d.ts +21 -0
  130. package/lib/shared-services/shared-services.module.d.ts +7 -0
  131. package/lib/shared-services/upload-file.service.d.ts +10 -0
  132. package/lib/shared-services/upload-managment.service.d.ts +72 -0
  133. package/lib/shared-services/user.service.d.ts +12 -0
  134. package/package.json +7 -6
  135. package/public-api.d.ts +62 -0
@@ -0,0 +1,46 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import WebViewer from '@pdftron/webviewer';
4
+ import * as i0 from "@angular/core";
5
+ export class GlobalPdfTron {
6
+ constructor() {
7
+ this.init();
8
+ }
9
+ exportLinearizedPDF(file) {
10
+ return new Promise((resolve, reject) => {
11
+ this.instance.loadDocument(file);
12
+ this.instance.docViewer.on('documentLoaded', () => __awaiter(this, void 0, void 0, function* () {
13
+ const doc = this.instance.docViewer.getDocument();
14
+ const data = yield doc.getFileData({
15
+ flags: this.saveOptions.LINEARIZED,
16
+ downloadType: 'pdf'
17
+ });
18
+ const arr = new Uint8Array(data);
19
+ const blob = new Blob([arr], { type: 'application/pdf' });
20
+ const newFile = new File([blob], file.name, { type: 'application/pdf' });
21
+ resolve(newFile);
22
+ }));
23
+ });
24
+ }
25
+ init() {
26
+ if (!document.getElementById('global-pdftron')) {
27
+ const div = document.createElement('div');
28
+ div.style.display = 'none';
29
+ div.id = 'global-pdftron';
30
+ document.body.appendChild(div);
31
+ }
32
+ WebViewer({
33
+ path: '/dms/assets/pdftrons',
34
+ }, document.getElementById('global-pdftron')).then((instance) => {
35
+ this.saveOptions = instance.CoreControls.SaveOptions;
36
+ this.instance = instance;
37
+ });
38
+ }
39
+ }
40
+ GlobalPdfTron.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: GlobalPdfTron, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
41
+ GlobalPdfTron.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: GlobalPdfTron, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: GlobalPdfTron, decorators: [{
43
+ type: Injectable,
44
+ args: [{ providedIn: 'root' }]
45
+ }], ctorParameters: function () { return []; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBkZnRyb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC1zZXJ2aWNlcy9nbG9iYWwtcGRmdHJvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sU0FBMkIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLGFBQWE7SUFHdEI7UUFDSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUdELG1CQUFtQixDQUFDLElBQUk7UUFDcEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FDdEIsSUFBSSxDQUNQLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsR0FBUyxFQUFFO2dCQUNwRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDO29CQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO29CQUNsQyxZQUFZLEVBQUUsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO2dCQUNILE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtnQkFDekQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtnQkFDeEUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQSxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUdQLENBQUM7SUFDRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUM1QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUMzQixHQUFHLENBQUMsRUFBRSxHQUFHLGdCQUFnQixDQUFDO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsU0FBUyxDQUNMO1lBQ0ksSUFBSSxFQUFFLHNCQUFzQjtTQUMvQixFQUNELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FDNUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MEdBNUNRLGFBQWE7OEdBQWIsYUFBYSxjQURBLE1BQU07MkZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgV2ViVmlld2VyLCB7IENvcmVDb250cm9scyB9IGZyb20gJ0BwZGZ0cm9uL3dlYnZpZXdlcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsUGRmVHJvbiB7XHJcbiAgICBpbnN0YW5jZTtcclxuICAgIHNhdmVPcHRpb25zO1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydExpbmVhcml6ZWRQREYoZmlsZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UubG9hZERvY3VtZW50KFxyXG4gICAgICAgICAgICAgICAgZmlsZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlLmRvY1ZpZXdlci5vbignZG9jdW1lbnRMb2FkZWQnLCBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb2MgPSB0aGlzLmluc3RhbmNlLmRvY1ZpZXdlci5nZXREb2N1bWVudCgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGRvYy5nZXRGaWxlRGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxhZ3M6IHRoaXMuc2F2ZU9wdGlvbnMuTElORUFSSVpFRCxcclxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZFR5cGU6ICdwZGYnXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFyciA9IG5ldyBVaW50OEFycmF5KGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pXHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCBmaWxlLm5hbWUsIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfSlcclxuICAgICAgICAgICAgICAgIHJlc29sdmUobmV3RmlsZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB9XHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbC1wZGZ0cm9uJykpIHtcclxuICAgICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICAgICAgICBkaXYuaWQgPSAnZ2xvYmFsLXBkZnRyb24nO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFdlYlZpZXdlcihcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGF0aDogJy9kbXMvYXNzZXRzL3BkZnRyb25zJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbC1wZGZ0cm9uJyksXHJcbiAgICAgICAgKS50aGVuKChpbnN0YW5jZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVPcHRpb25zID0gaW5zdGFuY2UuQ29yZUNvbnRyb2xzLlNhdmVPcHRpb25zO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,160 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { from, of } from 'rxjs';
3
+ import { catchError, switchMap, tap } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../Core/services/nuxeo/nuxeo.service";
6
+ import * as i2 from "../configuration/app-config.service";
7
+ import * as i3 from "../Core/services/user/user-preferences.service";
8
+ export class MainfolderService {
9
+ constructor(nuxeoService, appConfigService, userPreference) {
10
+ this.nuxeoService = nuxeoService;
11
+ this.appConfigService = appConfigService;
12
+ this.userPreference = userPreference;
13
+ this.localStoragKeys = this.appConfigService.myConfiguration.localStorageKey;
14
+ }
15
+ fetchfileManager_mainFolderId(apiName) {
16
+ return from(this.nuxeoService.nuxeoClient
17
+ .operation(apiName ? apiName : 'AC_UA_GetFileManagerID')
18
+ .execute({
19
+ headers: {
20
+ properties: 'file, dublincore, creator, driveroot, departmentspace',
21
+ 'fetch-document': 'dc:creator, dc:lastContributor',
22
+ 'enrichers-document': 'hasFolderishChild, favorites, thumbnail, quickAccess,breadcrumb',
23
+ 'X-NXenrichers-document': 'tags,permissions',
24
+ },
25
+ })).pipe(tap((res) => {
26
+ var _a;
27
+ if (!((_a = res === null || res === void 0 ? void 0 : res.entries) === null || _a === void 0 ? void 0 : _a.length)) {
28
+ throw Error('Main Folder - empty response');
29
+ }
30
+ }), catchError((err) => {
31
+ console.error(err);
32
+ return of(false);
33
+ }));
34
+ }
35
+ fetchMyFilesManager_mainFolderId() {
36
+ return from(this.nuxeoService.nuxeoClient
37
+ .operation('AC_UA_PersonalSpace_GetOrCreate')
38
+ .execute()).pipe(tap((res) => {
39
+ console.log('res', res);
40
+ }), catchError((err) => {
41
+ console.error(err);
42
+ return of(false);
43
+ }));
44
+ }
45
+ fetchArchiveManager_mainFolderId() {
46
+ return from(this.nuxeoService.nuxeoClient
47
+ .operation('AC_UA_GetSpaceID')
48
+ .execute()).pipe(tap((res) => {
49
+ console.log('res', res);
50
+ }), catchError((err) => {
51
+ console.error(err);
52
+ return of(false);
53
+ }));
54
+ }
55
+ fetchcategory_mainFolderId() {
56
+ return from(this.nuxeoService.nuxeoClient
57
+ .operation('AC_UA_GetNCARCategoryID')
58
+ .execute()).pipe(tap((res) => {
59
+ // if (!res?.entries?.length) {
60
+ // throw Error('Category Folder - empty response');
61
+ // }
62
+ }), catchError((err) => {
63
+ console.error(err);
64
+ return of(false);
65
+ }));
66
+ }
67
+ save_fileManagerObj_ToLocalStorage(apiName = 'AC_UA_GetFileManagerID') {
68
+ /*return this.userPreference.hasItem('fileManagerObj') && !reset
69
+ ? of(true):*/
70
+ return this.fetchfileManager_mainFolderId(apiName).pipe(tap((res) => {
71
+ console.log('res: ', res);
72
+ if (res) {
73
+ this.fileManagerObj = {
74
+ entries: res.entries.map((item) => {
75
+ delete item._baseOptions;
76
+ delete item._dirtyProperties;
77
+ delete item._nuxeo;
78
+ delete item._repository;
79
+ return item;
80
+ }),
81
+ };
82
+ this.userPreference.set(apiName ? this.localStoragKeys[apiName] : 'fileManagerObj', JSON.stringify(this.fileManagerObj));
83
+ }
84
+ }), switchMap(value => of(this.get_fileManagerObj_FromLocalStorage(apiName ? this.localStoragKeys[apiName] : 'fileManagerObj'))));
85
+ }
86
+ save_myfilesManagerObj_ToLocalStorage() {
87
+ return this.userPreference.hasItem('myFilesManagerObj')
88
+ ? of(true)
89
+ : this.fetchMyFilesManager_mainFolderId().pipe(tap((res) => {
90
+ console.log('res: ' + res);
91
+ if (res) {
92
+ this.myFilesManagerObj = {
93
+ id: res.uid,
94
+ path: res.path,
95
+ };
96
+ this.userPreference.set('myFilesManagerObj', JSON.stringify(this.myFilesManagerObj));
97
+ }
98
+ }));
99
+ }
100
+ save_ArchiveManagerObject_ToLocalStorage() {
101
+ return this.userPreference.hasItem('ArchiveManagerObj')
102
+ ? of(true)
103
+ : this.fetchArchiveManager_mainFolderId().pipe(tap((res) => {
104
+ console.log('res: ' + res);
105
+ if (res) {
106
+ this.ArchiveManagerObj = {
107
+ id: res.uid,
108
+ path: res.path,
109
+ };
110
+ this.userPreference.set('ArchiveManagerObj', JSON.stringify(this.ArchiveManagerObj));
111
+ }
112
+ }));
113
+ }
114
+ save_categoryObj_ToLocalStorage() {
115
+ return this.userPreference.hasItem('categoryObj')
116
+ ? of(true)
117
+ : this.fetchcategory_mainFolderId().pipe(tap((res) => {
118
+ if (res) {
119
+ this.categoryObj = {
120
+ id: res.uid,
121
+ path: res.path,
122
+ };
123
+ this.userPreference.set('categoryObj', JSON.stringify(this.categoryObj));
124
+ }
125
+ }));
126
+ }
127
+ get_fileManagerObj_FromLocalStorage(key) {
128
+ if (this.userPreference.hasItem(key ? key : 'fileManagerObj')) {
129
+ return JSON.parse(this.userPreference.get(key ? key : 'fileManagerObj'));
130
+ }
131
+ return null;
132
+ }
133
+ get_myFilesManagerObj_FromLocalStorage() {
134
+ if (this.userPreference.hasItem('myFilesManagerObj')) {
135
+ return JSON.parse(this.userPreference.get('myFilesManagerObj'));
136
+ }
137
+ return null;
138
+ }
139
+ get_ArchiveManagerObj_FromLocalStorage() {
140
+ if (this.userPreference.hasItem('ArchiveManagerObj')) {
141
+ return JSON.parse(this.userPreference.get('ArchiveManagerObj'));
142
+ }
143
+ return null;
144
+ }
145
+ get_categoryObj_FromLocalStorage() {
146
+ if (this.userPreference.hasItem('categoryObj')) {
147
+ return JSON.parse(this.userPreference.get('categoryObj'));
148
+ }
149
+ return null;
150
+ }
151
+ }
152
+ MainfolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: MainfolderService, deps: [{ token: i1.NuxeoService }, { token: i2.AppConfigService }, { token: i3.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable });
153
+ MainfolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: MainfolderService, providedIn: 'root' });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: MainfolderService, decorators: [{
155
+ type: Injectable,
156
+ args: [{
157
+ providedIn: 'root',
158
+ }]
159
+ }], ctorParameters: function () { return [{ type: i1.NuxeoService }, { type: i2.AppConfigService }, { type: i3.UserPreferencesService }]; } });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbmZvbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkLXNlcnZpY2VzL21haW5mb2xkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVM1RCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ1ksWUFBMEIsRUFDMUIsZ0JBQW1DLEVBQ25DLGNBQXNDO1FBRnRDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQXdCO1FBRTlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUM7SUFDakYsQ0FBQztJQUVELDZCQUE2QixDQUFDLE9BQVE7UUFDbEMsT0FBTyxJQUFJLENBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUM7YUFDdkQsT0FBTyxDQUFDO1lBQ0wsT0FBTyxFQUFFO2dCQUNMLFVBQVUsRUFBRSx1REFBdUQ7Z0JBQ25FLGdCQUFnQixFQUFFLGdDQUFnQztnQkFDbEQsb0JBQW9CLEVBQ2hCLGlFQUFpRTtnQkFDckUsd0JBQXdCLEVBQUUsa0JBQWtCO2FBQy9DO1NBQ0osQ0FBQyxDQUNULENBQUMsSUFBSSxDQUNGLEdBQUcsQ0FBQyxD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Q0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7OEdBN01RLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBSGQsTUFBTTsyRkFHVCxpQkFBaUI7a0JBSjdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4uL0NvcmUvc2VydmljZXMvdXNlci91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE1haW5mb2xkZXJTZXJ2aWNlIHtcclxuICAgIGZpbGVNYW5hZ2VyX21haW5Gb2xkZXJJZDtcclxuICAgIGNhdGVnb3J5X21haW5Gb2xkZXJJZDtcclxuICAgIGZpbGVNYW5hZ2VyT2JqOiBhbnk7XHJcbiAgICBteUZpbGVzTWFuYWdlck9iajogYW55O1xyXG4gICAgQXJjaGl2ZU1hbmFnZXJPYmo6IGFueTtcclxuICAgIGNhdGVnb3J5T2JqOiBhbnk7XHJcbiAgICBsb2NhbFN0b3JhZ0tleXM7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZSA6IEFwcENvbmZpZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZTogVXNlclByZWZlcmVuY2VzU2VydmljZVxyXG4gICAgKSB7IFxyXG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdLZXlzID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLm15Q29uZmlndXJhdGlvbi5sb2NhbFN0b3JhZ2VLZXk7XHJcbiAgICB9XHJcblxyXG4gICAgZmV0Y2hmaWxlTWFuYWdlcl9tYWluRm9sZGVySWQoYXBpTmFtZT8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgICAgICAgICAgLm9wZXJhdGlvbihhcGlOYW1lID8gYXBpTmFtZSA6ICdBQ19VQV9HZXRGaWxlTWFuYWdlcklEJylcclxuICAgICAgICAgICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6ICdmaWxlLCBkdWJsaW5jb3JlLCBjcmVhdG9yLCBkcml2ZXJvb3QsIGRlcGFydG1lbnRzcGFjZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdmZXRjaC1kb2N1bWVudCc6ICdkYzpjcmVhdG9yLCBkYzpsYXN0Q29udHJpYnV0b3InLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoYXNGb2xkZXJpc2hDaGlsZCwgZmF2b3JpdGVzLCB0aHVtYm5haWwsIHF1aWNrQWNjZXNzLGJyZWFkY3J1bWInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzLHBlcm1pc3Npb25zJyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghcmVzPy5lbnRyaWVzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignTWFpbiBGb2xkZXIgLSBlbXB0eSByZXNwb25zZScpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZmV0Y2hNeUZpbGVzTWFuYWdlcl9tYWluRm9sZGVySWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gZnJvbShcclxuICAgICAgICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAgICAgICAgIC5vcGVyYXRpb24oJ0FDX1VBX1BlcnNvbmFsU3BhY2VfR2V0T3JDcmVhdGUnKVxyXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgdGFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcyk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIGZldGNoQXJjaGl2ZU1hbmFnZXJfbWFpbkZvbGRlcklkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgICAgICAgICAub3BlcmF0aW9uKCdBQ19VQV9HZXRTcGFjZUlEJylcclxuICAgICAgICAgICAgICAgIC5leGVjdXRlKClcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXMnLCByZXMpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZmV0Y2hjYXRlZ29yeV9tYWluRm9sZGVySWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gZnJvbShcclxuICAgICAgICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAgICAgICAgIC5vcGVyYXRpb24oJ0FDX1VBX0dldE5DQVJDYXRlZ29yeUlEJylcclxuICAgICAgICAgICAgICAgIC5leGVjdXRlKClcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIGlmICghcmVzPy5lbnRyaWVzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0aHJvdyBFcnJvcignQ2F0ZWdvcnkgRm9sZGVyIC0gZW1wdHkgcmVzcG9uc2UnKTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVfZmlsZU1hbmFnZXJPYmpfVG9Mb2NhbFN0b3JhZ2UoYXBpTmFtZSA9ICdBQ19VQV9HZXRGaWxlTWFuYWdlcklEJyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgLypyZXR1cm4gdGhpcy51c2VyUHJlZmVyZW5jZS5oYXNJdGVtKCdmaWxlTWFuYWdlck9iaicpICYmICFyZXNldFxyXG4gICAgICAgICAgICAgPyBvZih0cnVlKToqL1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZldGNoZmlsZU1hbmFnZXJfbWFpbkZvbGRlcklkKGFwaU5hbWUpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygncmVzOiAnLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZU1hbmFnZXJPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudHJpZXM6IHJlcy5lbnRyaWVzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uX2Jhc2VPcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uX2RpcnR5UHJvcGVydGllcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLl9udXhlbztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLl9yZXBvc2l0b3J5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlclByZWZlcmVuY2Uuc2V0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcGlOYW1lID8gdGhpcy5sb2NhbFN0b3JhZ0tleXNbYXBpTmFtZV0gOiAnZmlsZU1hbmFnZXJPYmonLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLmZpbGVNYW5hZ2VyT2JqKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAodmFsdWUgPT4gb2YodGhpcy5nZXRfZmlsZU1hbmFnZXJPYmpfRnJvbUxvY2FsU3RvcmFnZShhcGlOYW1lID8gdGhpcy5sb2NhbFN0b3JhZ0tleXNbYXBpTmFtZV0gOiAnZmlsZU1hbmFnZXJPYmonKSkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlX215ZmlsZXNNYW5hZ2VyT2JqX1RvTG9jYWxTdG9yYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclByZWZlcmVuY2UuaGFzSXRlbSgnbXlGaWxlc01hbmFnZXJPYmonKVxyXG4gICAgICAgICAgICA/IG9mKHRydWUpXHJcbiAgICAgICAgICAgIDogdGhpcy5mZXRjaE15RmlsZXNNYW5hZ2VyX21haW5Gb2xkZXJJZCgpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXM6ICcgKyByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5teUZpbGVzTWFuYWdlck9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXMudWlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogcmVzLnBhdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlLnNldChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdteUZpbGVzTWFuYWdlck9iaicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLm15RmlsZXNNYW5hZ2VyT2JqKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZV9BcmNoaXZlTWFuYWdlck9iamVjdF9Ub0xvY2FsU3RvcmFnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJQcmVmZXJlbmNlLmhhc0l0ZW0oJ0FyY2hpdmVNYW5hZ2VyT2JqJylcclxuICAgICAgICAgICAgPyBvZih0cnVlKVxyXG4gICAgICAgICAgICA6IHRoaXMuZmV0Y2hBcmNoaXZlTWFuYWdlcl9tYWluRm9sZGVySWQoKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygncmVzOiAnICsgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQXJjaGl2ZU1hbmFnZXJPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogcmVzLnVpZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHJlcy5wYXRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZS5zZXQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJjaGl2ZU1hbmFnZXJPYmonLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5BcmNoaXZlTWFuYWdlck9iailcclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVfY2F0ZWdvcnlPYmpfVG9Mb2NhbFN0b3JhZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy51c2VyUHJlZmVyZW5jZS5oYXNJdGVtKCdjYXRlZ29yeU9iaicpXHJcbiAgICAgICAgICAgID8gb2YodHJ1ZSlcclxuICAgICAgICAgICAgOiB0aGlzLmZldGNoY2F0ZWdvcnlfbWFpbkZvbGRlcklkKCkucGlwZShcclxuICAgICAgICAgICAgICAgIHRhcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5T2JqID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlcy51aWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiByZXMucGF0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlclByZWZlcmVuY2Uuc2V0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3J5T2JqJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuY2F0ZWdvcnlPYmopXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRfZmlsZU1hbmFnZXJPYmpfRnJvbUxvY2FsU3RvcmFnZShrZXk/KSB7XHJcbiAgICAgICAgaWYgKHRoaXMudXNlclByZWZlcmVuY2UuaGFzSXRlbSgga2V5ID8ga2V5IDogJ2ZpbGVNYW5hZ2VyT2JqJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy51c2VyUHJlZmVyZW5jZS5nZXQoa2V5ID8ga2V5IDogJ2ZpbGVNYW5hZ2VyT2JqJykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRfbXlGaWxlc01hbmFnZXJPYmpfRnJvbUxvY2FsU3RvcmFnZSgpIHtcclxuICAgICAgICBpZiAodGhpcy51c2VyUHJlZmVyZW5jZS5oYXNJdGVtKCdteUZpbGVzTWFuYWdlck9iaicpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMudXNlclByZWZlcmVuY2UuZ2V0KCdteUZpbGVzTWFuYWdlck9iaicpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBnZXRfQXJjaGl2ZU1hbmFnZXJPYmpfRnJvbUxvY2FsU3RvcmFnZSgpIHtcclxuICAgICAgICBpZiAodGhpcy51c2VyUHJlZmVyZW5jZS5oYXNJdGVtKCdBcmNoaXZlTWFuYWdlck9iaicpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMudXNlclByZWZlcmVuY2UuZ2V0KCdBcmNoaXZlTWFuYWdlck9iaicpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0X2NhdGVnb3J5T2JqX0Zyb21Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudXNlclByZWZlcmVuY2UuaGFzSXRlbSgnY2F0ZWdvcnlPYmonKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLnVzZXJQcmVmZXJlbmNlLmdldCgnY2F0ZWdvcnlPYmonKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,202 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject, from } from 'rxjs';
3
+ import { catchError } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../Core/services/nuxeo/nuxeo.service";
6
+ import * as i2 from "../Core/services/callApi/call-api.service";
7
+ export class PublishingDocumentService {
8
+ constructor(nuxeoService, environment, callApiService) {
9
+ this.nuxeoService = nuxeoService;
10
+ this.environment = environment;
11
+ this.callApiService = callApiService;
12
+ this.newPublished = new BehaviorSubject(false);
13
+ }
14
+ getSectionById(docIds) {
15
+ return this.callApiService.query({
16
+ pageProvider: 'Documents_InList_PP',
17
+ pageSize: 1000,
18
+ system_uuid: JSON.stringify(docIds),
19
+ }, {
20
+ headers: {
21
+ "X-NXproperties": "*",
22
+ }
23
+ });
24
+ }
25
+ getSectionByTitle(titles) {
26
+ return this.callApiService.query({
27
+ pageProvider: 'Documents_InList_PP',
28
+ pageSize: 1000,
29
+ system_primaryType: "OSDepartment",
30
+ dublincore_title: JSON.stringify(titles),
31
+ }, {
32
+ headers: {
33
+ "X-NXproperties": "*",
34
+ }
35
+ });
36
+ }
37
+ getPublishingSections(pageNumber, pageSize, sortObj) {
38
+ return from(this.nuxeoService.nuxeoClient
39
+ .operation('Repository.PageProvider', {
40
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
41
+ })
42
+ .params({
43
+ "documentSchemas": ["*"],
44
+ page: pageNumber ? pageNumber : 0,
45
+ currentPageIndex: pageNumber ? pageNumber : 0,
46
+ offset: 0,
47
+ pageSize: pageSize ? pageSize : 0,
48
+ sortBy: sortObj === null || sortObj === void 0 ? void 0 : sortObj.sortBy,
49
+ sortOrder: sortObj === null || sortObj === void 0 ? void 0 : sortObj.sortOrder,
50
+ "pageProviderName": "publish_space_suggestion",
51
+ "providerName": "publish_space_suggestion",
52
+ "repository": "default",
53
+ "searchTerm": "",
54
+ })
55
+ .context()
56
+ .execute({
57
+ headers: {
58
+ 'X-NXproperties': '*',
59
+ 'enrichers-document': 'acls',
60
+ "fetch-document": "dc:creator"
61
+ },
62
+ })).pipe(catchError((err) => {
63
+ console.log(err);
64
+ throw err;
65
+ }));
66
+ }
67
+ unPublishDocument(docId) {
68
+ return from(this.nuxeoService.nuxeoClient
69
+ .operation('Document.Delete', {
70
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
71
+ })
72
+ .input(docId)
73
+ .execute()).pipe(catchError((err) => {
74
+ throw err;
75
+ }));
76
+ }
77
+ publishDocument(docId, params) {
78
+ return from(this.nuxeoService.nuxeoClient
79
+ .operation('AC_UA_Puplish_Documents', {
80
+ url: `${this.environment.nuxeo}/api/v1/custom-automation`,
81
+ })
82
+ .params()
83
+ .input(docId)
84
+ .context(Object.assign({}, params))
85
+ .execute()).pipe(catchError((err) => {
86
+ throw err;
87
+ }));
88
+ }
89
+ getPublishedPlaces(uid) {
90
+ return this.callApiService.query({
91
+ pageProvider: 'nxql_search',
92
+ currentPageIndex: 0,
93
+ pageSize: 40,
94
+ offset: 0,
95
+ queryParams: `SELECT * FROM Document WHERE ecm:isProxy = 1 AND ecm:isTrashed = 0 AND (rend:sourceVersionableId = "${uid}" OR ecm:proxyVersionableId = "${uid}")`,
96
+ sortBy: 'dc:modified,uid:major_version,uid:minor_version',
97
+ sortOrder: 'desc,desc,desc'
98
+ }, {
99
+ headers: {
100
+ 'enrichers-document': 'breadcrumb',
101
+ properties: "dublincore,common,uid,rendition,file"
102
+ }
103
+ });
104
+ }
105
+ getVersionToPublishDialog(uid) {
106
+ return from(this.nuxeoService.nuxeoClient
107
+ .request(`search/execute`)
108
+ .queryParams({
109
+ currentPageIndex: 0,
110
+ pageSize: 100,
111
+ offset: 0,
112
+ query: `SELECT * FROM Document WHERE ecm:versionVersionableId = "${uid}" AND ecm:isVersion = 1`,
113
+ sortBy: 'uid:major_version,uid:minor_version',
114
+ sortOrder: 'desc,desc'
115
+ })
116
+ .get({
117
+ headers: {
118
+ properties: '*'
119
+ }
120
+ })).pipe(catchError((err) => {
121
+ throw err;
122
+ }));
123
+ }
124
+ /*getProxyDocument(docId) {
125
+ return from(
126
+ this.nuxeoService.nuxeoClient
127
+ .operation('Proxy.GetSourceDocument', {
128
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
129
+ })
130
+ .input(docId)
131
+ .execute({
132
+ headers: {
133
+ properties: '*'
134
+ }
135
+ })
136
+ ).pipe(
137
+ catchError((err) => {
138
+ throw err;
139
+ })
140
+ );
141
+ }*/
142
+ buildVersionNum(element) {
143
+ return parseFloat(`${element.properties['uid:major_version']}.${element.properties['uid:minor_version']}`);
144
+ }
145
+ createPublishDepartmentSection(section) {
146
+ return from(this.nuxeoService.nuxeoClient
147
+ .operation('AC_UA_Section_Create', {
148
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
149
+ })
150
+ .context({ section })
151
+ .execute()).pipe(catchError((err) => {
152
+ //console.log(err);
153
+ throw err;
154
+ }));
155
+ }
156
+ Add_Permission_PublishDepartmentSection(sectionName, depList, uid) {
157
+ return from(this.nuxeoService.nuxeoClient
158
+ .operation('AC_UA_Section_Add_Permission', {
159
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
160
+ })
161
+ .context({
162
+ "permission": "Read",
163
+ "usersAndGroups": sectionName,
164
+ "departmentList": depList
165
+ })
166
+ .input(uid)
167
+ .execute()).pipe(catchError((err) => {
168
+ //console.log(err);
169
+ throw err;
170
+ }));
171
+ }
172
+ updatePublishDepartmentSection(section, uid) {
173
+ return from(this.nuxeoService.nuxeoClient
174
+ .operation('AC_UA_Section_Update', {
175
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
176
+ })
177
+ .context({ section })
178
+ .input(uid)
179
+ .execute()).pipe(catchError((err) => {
180
+ //console.log(err);
181
+ throw err;
182
+ }));
183
+ }
184
+ deleteSection(uid) {
185
+ return from(this.nuxeoService.nuxeoClient
186
+ .operation('AC_UA_Section_Delete')
187
+ .input(uid)
188
+ .execute());
189
+ }
190
+ }
191
+ PublishingDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: PublishingDocumentService, deps: [{ token: i1.NuxeoService }, { token: 'environment' }, { token: i2.CallApiService }], target: i0.ɵɵFactoryTarget.Injectable });
192
+ PublishingDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: PublishingDocumentService, providedIn: 'root' });
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: PublishingDocumentService, decorators: [{
194
+ type: Injectable,
195
+ args: [{
196
+ providedIn: 'root'
197
+ }]
198
+ }], ctorParameters: function () { return [{ type: i1.NuxeoService }, { type: undefined, decorators: [{
199
+ type: Inject,
200
+ args: ['environment']
201
+ }] }, { type: i2.CallApiService }]; } });
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy1kb2N1bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkLXNlcnZpY2VzL3B1Ymxpc2hpbmctZG9jdW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPNUMsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixZQUEwQixFQUNiLFdBQVcsRUFDbEMsY0FBOEI7UUFGcEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDYixnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFIeEMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUtuRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDOUI7WUFDRSxZQUFZLEVBQUUscUJBQXFCO1lBQ25DLFFBQVEsRUFBRSxJQUFJO1lBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1NBQ3BDLEVBQ0Q7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCLEVBQUUsR0FBRzthQUN0QjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQzlCO1lBQ0UsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxRQUFRLEVBQUUsSUFBSTtZ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SSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixTQUFTLENBQUMsc0JBQXNCLEVBQUU7WUFDakMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtTQUNyRSxDQUFDO2FBQ0QsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE9BQU8sRUFBRSxDQUNiLENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLG1CQUFtQjtZQUNuQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsYUFBYSxDQUFDLEdBQUc7UUFDZixPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsU0FBUyxDQUFDLHNCQUFzQixDQUFDO2FBQ2pDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixPQUFPLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQzs7c0hBdk9VLHlCQUF5Qiw4Q0FLMUIsYUFBYTswSEFMWix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uL0NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vQ29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHVibGlzaGluZ0RvY3VtZW50U2VydmljZSB7XHJcblxyXG5cclxuICBuZXdQdWJsaXNoZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpU2VydmljZTogQ2FsbEFwaVNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRTZWN0aW9uQnlJZChkb2NJZHMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlUHJvdmlkZXI6ICdEb2N1bWVudHNfSW5MaXN0X1BQJyxcclxuICAgICAgICBwYWdlU2l6ZTogMTAwMCxcclxuICAgICAgICBzeXN0ZW1fdXVpZDogSlNPTi5zdHJpbmdpZnkoZG9jSWRzKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgIFwiWC1OWHByb3BlcnRpZXNcIjogXCIqXCIsXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBnZXRTZWN0aW9uQnlUaXRsZSh0aXRsZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlUHJvdmlkZXI6ICdEb2N1bWVudHNfSW5MaXN0X1BQJyxcclxuICAgICAgICBwYWdlU2l6ZTogMTAwMCxcclxuICAgICAgICBzeXN0ZW1fcHJpbWFyeVR5cGU6IFwiT1NEZXBhcnRtZW50XCIsXHJcbiAgICAgICAgZHVibGluY29yZV90aXRsZTogSlNPTi5zdHJpbmdpZnkodGl0bGVzKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgIFwiWC1OWHByb3BlcnRpZXNcIjogXCIqXCIsXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHVibGlzaGluZ1NlY3Rpb25zKHBhZ2VOdW1iZXI/LCBwYWdlU2l6ZT8sIHNvcnRPYmo/KSB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAub3BlcmF0aW9uKCdSZXBvc2l0b3J5LlBhZ2VQcm92aWRlcicsIHtcclxuICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgfSlcclxuICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgXCJkb2N1bWVudFNjaGVtYXNcIjogW1wiKlwiXSxcclxuICAgICAgICBwYWdlOiBwYWdlTnVtYmVyID8gcGFnZU51bWJlciA6IDAsXHJcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZU51bWJlciA/IHBhZ2VOdW1iZXIgOiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogcGFnZVNpemUgPyBwYWdlU2l6ZSA6IDAsXHJcbiAgICAgICAgc29ydEJ5OiBzb3J0T2JqPy5zb3J0QnksXHJcbiAgICAgICAgc29ydE9yZGVyOiBzb3J0T2JqPy5zb3J0T3JkZXIsXHJcbiAgICAgICAgXCJwYWdlUHJvdmlkZXJOYW1lXCI6IFwicHVibGlzaF9zcGFjZV9zdWdnZXN0aW9uXCIsXHJcbiAgICAgICAgXCJwcm92aWRlck5hbWVcIjogXCJwdWJsaXNoX3NwYWNlX3N1Z2dlc3Rpb25cIixcclxuICAgICAgICBcInJlcG9zaXRvcnlcIjogXCJkZWZhdWx0XCIsXHJcbiAgICAgICAgXCJzZWFyY2hUZXJtXCI6IFwiXCIsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5jb250ZXh0KClcclxuICAgICAgLmV4ZWN1dGUoe1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnYWNscycsXHJcbiAgICAgICAgICBcImZldGNoLWRvY3VtZW50XCI6IFwiZGM6Y3JlYXRvclwiXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgdW5QdWJsaXNoRG9jdW1lbnQoZG9jSWQpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0RvY3VtZW50LkRlbGV0ZScsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1Ymxpc2hEb2N1bWVudChkb2NJZCwgcGFyYW1zKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdBQ19VQV9QdXBsaXNoX0RvY3VtZW50cycsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30vYXBpL3YxL2N1c3RvbS1hdXRvbWF0aW9uYCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFB1Ymxpc2hlZFBsYWNlcyh1aWQpIHtcclxuICAgIHJldHVybiB0aGlzLmNhbGxBcGlTZXJ2aWNlLnF1ZXJ5KFxyXG4gICAgICB7XHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiAnbnhxbF9zZWFyY2gnLFxyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBxdWVyeVBhcmFtczogYFNFTEVDVCAqIEZST00gRG9jdW1lbnQgV0hFUkUgZWNtOmlzUHJveHkgPSAxIEFORCBlY206aXNUcmFzaGVkID0gMCBBTkQgKHJlbmQ6c291cmNlVmVyc2lvbmFibGVJZCA9IFwiJHt1aWR9XCIgT1IgZWNtOnByb3h5VmVyc2lvbmFibGVJZCA9IFwiJHt1aWR9XCIpYCxcclxuICAgICAgICBzb3J0Qnk6ICdkYzptb2RpZmllZCx1aWQ6bWFqb3JfdmVyc2lvbix1aWQ6bWlub3JfdmVyc2lvbicsXHJcbiAgICAgICAgc29ydE9yZGVyOiAnZGVzYyxkZXNjLGRlc2MnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2JyZWFkY3J1bWInLFxyXG4gICAgICAgICAgcHJvcGVydGllczogXCJkdWJsaW5jb3JlLGNvbW1vbix1aWQscmVuZGl0aW9uLGZpbGVcIlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFZlcnNpb25Ub1B1Ymxpc2hEaWFsb2codWlkKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVxdWVzdChgc2VhcmNoL2V4ZWN1dGVgKVxyXG4gICAgICAgIC5xdWVyeVBhcmFtcyh7XHJcbiAgICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgICAgcGFnZVNpemU6IDEwMCxcclxuICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgIHF1ZXJ5OiBgU0VMRUNUICogRlJPTSBEb2N1bWVudCBXSEVSRSBlY206dmVyc2lvblZlcnNpb25hYmxlSWQgPSBcIiR7dWlkfVwiIEFORCBlY206aXNWZXJzaW9uID0gMWAsXHJcbiAgICAgICAgICBzb3J0Qnk6ICd1aWQ6bWFqb3JfdmVyc2lvbix1aWQ6bWlub3JfdmVyc2lvbicsXHJcbiAgICAgICAgICBzb3J0T3JkZXI6ICdkZXNjLGRlc2MnXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZ2V0KHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qZ2V0UHJveHlEb2N1bWVudChkb2NJZCkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignUHJveHkuR2V0U291cmNlRG9jdW1lbnQnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIHByb3BlcnRpZXM6ICcqJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfSovXHJcbiAgYnVpbGRWZXJzaW9uTnVtKGVsZW1lbnQpIHtcclxuICAgIHJldHVybiBwYXJzZUZsb2F0KGAke2VsZW1lbnQucHJvcGVydGllc1sndWlkOm1ham9yX3ZlcnNpb24nXX0uJHtlbGVtZW50LnByb3BlcnRpZXNbJ3VpZDptaW5vcl92ZXJzaW9uJ119YClcclxuICB9XHJcbiAgY3JlYXRlUHVibGlzaERlcGFydG1lbnRTZWN0aW9uKHNlY3Rpb24pIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0FDX1VBX1NlY3Rpb25fQ3JlYXRlJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7IHNlY3Rpb24gfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIC8vY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBBZGRfUGVybWlzc2lvbl9QdWJsaXNoRGVwYXJ0bWVudFNlY3Rpb24oc2VjdGlvbk5hbWUsIGRlcExpc3QsIHVpZCkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignQUNfVUFfU2VjdGlvbl9BZGRfUGVybWlzc2lvbicsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgXCJwZXJtaXNzaW9uXCI6IFwiUmVhZFwiLFxyXG4gICAgICAgICAgXCJ1c2Vyc0FuZEdyb3Vwc1wiOiBzZWN0aW9uTmFtZSxcclxuICAgICAgICAgIFwiZGVwYXJ0bWVudExpc3RcIjogZGVwTGlzdFxyXG5cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAvL2NvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgdXBkYXRlUHVibGlzaERlcGFydG1lbnRTZWN0aW9uKHNlY3Rpb24sIHVpZCkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignQUNfVUFfU2VjdGlvbl9VcGRhdGUnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHsgc2VjdGlvbiB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAvL2NvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgZGVsZXRlU2VjdGlvbih1aWQpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0FDX1VBX1NlY3Rpb25fRGVsZXRlJylcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { EventEmitter, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../Core/services/user/user-preferences.service";
4
+ import * as i2 from "../Core/services/callApi/call-api.service";
5
+ export class RecentlyViewedService {
6
+ constructor(userPreference, callApiService) {
7
+ this.userPreference = userPreference;
8
+ this.callApiService = callApiService;
9
+ this.itemAdded = new EventEmitter();
10
+ this.recentViewedDocsIds = [];
11
+ this.getIdsFromLocalStorage();
12
+ }
13
+ getIdsFromLocalStorage() {
14
+ this.recentViewedDocsIds = JSON.parse(this.userPreference.get('recentlyViewedDocsIds') || '[]');
15
+ return this.recentViewedDocsIds;
16
+ }
17
+ setIdsInLocalStorage(Id) {
18
+ if (this.recentViewedDocsIds.length > 14 && !this.recentViewedDocsIds.includes(Id)) {
19
+ this.recentViewedDocsIds.pop();
20
+ }
21
+ else if (this.recentViewedDocsIds.includes(Id)) {
22
+ this.recentViewedDocsIds.forEach((element, index) => {
23
+ if (element == Id)
24
+ this.recentViewedDocsIds.splice(index, 1);
25
+ });
26
+ }
27
+ this.recentViewedDocsIds.unshift(Id);
28
+ this.userPreference.set("recentlyViewedDocsIds", JSON.stringify(this.recentViewedDocsIds));
29
+ this.itemAdded.emit();
30
+ }
31
+ getRecentlyViewedDocs(docIds, sortObj) {
32
+ return this.callApiService.query({
33
+ pageProvider: 'Documents_InList_PP',
34
+ currentPageIndex: 0,
35
+ offset: 0,
36
+ pageSize: 15,
37
+ system_uuid: JSON.stringify(docIds),
38
+ sortBy: (sortObj) ? sortObj.sortBy : '',
39
+ sortOrder: (sortObj) ? sortObj.sortOrder : ''
40
+ }, {
41
+ headers: {
42
+ "X-NXproperties": "*",
43
+ "enrichers-document": "thumbnail",
44
+ "fetch-document": "dc:lastContributor"
45
+ }
46
+ });
47
+ }
48
+ }
49
+ RecentlyViewedService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RecentlyViewedService, deps: [{ token: i1.UserPreferencesService }, { token: i2.CallApiService }], target: i0.ɵɵFactoryTarget.Injectable });
50
+ RecentlyViewedService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RecentlyViewedService, providedIn: 'root' });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RecentlyViewedService, decorators: [{
52
+ type: Injectable,
53
+ args: [{
54
+ providedIn: 'root'
55
+ }]
56
+ }], ctorParameters: function () { return [{ type: i1.UserPreferencesService }, { type: i2.CallApiService }]; } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50bHktdmlld2VkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQtc2VydmljZXMvcmVjZW50bHktdmlld2VkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRekQsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUFvQixjQUFzQyxFQUNoRCxjQUE4QjtRQURwQixtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSHhDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLHdCQUFtQixHQUFDLEVBQUUsQ0FBQztRQUdyQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBR0Ysc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsR0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUssSUFBSSxDQUFDLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLEVBQVU7UUFDN0IsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xELElBQUksT0FBTyxJQUFJLEVBQUU7b0JBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELHFCQUFxQixDQUFDLE1BQU0sRUFBQyxPQUFZO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQzlCO1lBQ0UsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxDQUFDO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDbkMsTUFBTSxFQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDOUMsRUFDRDtZQUNFLE9BQU8sRUFBRTtnQkFDUCxnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixvQkFBb0IsRUFBRSxXQUFXO2dCQUNqQyxnQkFBZ0IsRUFBRSxvQkFBb0I7YUFDdkM7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDOztrSEE3Q1UscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4uL0NvcmUvc2VydmljZXMvdXNlci91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlY2VudGx5Vmlld2VkU2VydmljZSB7XHJcbiAgaXRlbUFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHJlY2VudFZpZXdlZERvY3NJZHM9W107XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyUHJlZmVyZW5jZTogVXNlclByZWZlcmVuY2VzU2VydmljZSxcclxuICAgIHByaXZhdGUgY2FsbEFwaVNlcnZpY2U6IENhbGxBcGlTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdldElkc0Zyb21Mb2NhbFN0b3JhZ2UoKTtcclxuICAgfVxyXG4gIFxyXG5cclxuICBnZXRJZHNGcm9tTG9jYWxTdG9yYWdlKCkge1xyXG4gICAgdGhpcy5yZWNlbnRWaWV3ZWREb2NzSWRzID1KU09OLnBhcnNlKHRoaXMudXNlclByZWZlcmVuY2UuZ2V0KCdyZWNlbnRseVZpZXdlZERvY3NJZHMnKSAgfHwgJ1tdJyk7XHJcbiAgICByZXR1cm4gdGhpcy5yZWNlbnRWaWV3ZWREb2NzSWRzO1xyXG4gIH1cclxuXHJcbiAgc2V0SWRzSW5Mb2NhbFN0b3JhZ2UoSWQ6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMucmVjZW50Vmlld2VkRG9jc0lkcy5sZW5ndGggPiAxNCAmJiAhdGhpcy5yZWNlbnRWaWV3ZWREb2NzSWRzLmluY2x1ZGVzKElkKSkge1xyXG4gICAgICB0aGlzLnJlY2VudFZpZXdlZERvY3NJZHMucG9wKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVjZW50Vmlld2VkRG9jc0lkcy5pbmNsdWRlcyhJZCkpIHtcclxuICAgICAgdGhpcy5yZWNlbnRWaWV3ZWREb2NzSWRzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQgPT0gSWQpIHRoaXMucmVjZW50Vmlld2VkRG9jc0lkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVjZW50Vmlld2VkRG9jc0lkcy51bnNoaWZ0KElkKTtcclxuICAgIHRoaXMudXNlclByZWZlcmVuY2Uuc2V0KFwicmVjZW50bHlWaWV3ZWREb2NzSWRzXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMucmVjZW50Vmlld2VkRG9jc0lkcykpO1xyXG4gICAgdGhpcy5pdGVtQWRkZWQuZW1pdCgpO1xyXG4gIH1cclxuICBnZXRSZWNlbnRseVZpZXdlZERvY3MoZG9jSWRzLHNvcnRPYmo/OmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogJ0RvY3VtZW50c19Jbkxpc3RfUFAnLFxyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiAxNSxcclxuICAgICAgICBzeXN0ZW1fdXVpZDogSlNPTi5zdHJpbmdpZnkoZG9jSWRzKSxcclxuICAgICAgICBzb3J0Qnk6ICAoc29ydE9iaikgPyBzb3J0T2JqLnNvcnRCeSA6ICcnLFxyXG4gICAgICAgIHNvcnRPcmRlcjogKHNvcnRPYmopID8gc29ydE9iai5zb3J0T3JkZXIgOiAnJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgXCJYLU5YcHJvcGVydGllc1wiOiBcIipcIixcclxuICAgICAgICAgIFwiZW5yaWNoZXJzLWRvY3VtZW50XCI6IFwidGh1bWJuYWlsXCIsXHJcbiAgICAgICAgICBcImZldGNoLWRvY3VtZW50XCI6IFwiZGM6bGFzdENvbnRyaWJ1dG9yXCJcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==