nuxeo-development-framework 6.0.5 → 6.0.7

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 (32) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +756 -3
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +1 -3
  4. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +2 -2
  5. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.js +116 -0
  6. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/index.js +2 -0
  7. package/esm2015/lib/components/ndf-signatures/emdha/index.js +3 -0
  8. package/esm2015/lib/components/ndf-signatures/emdha/services/emdha.service.js +133 -0
  9. package/esm2015/lib/components/ndf-signatures/emdha/services/index.js +2 -0
  10. package/esm2015/lib/components/ndf-signatures/index.js +5 -0
  11. package/esm2015/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.js +132 -0
  12. package/esm2015/lib/components/ndf-signatures/ndf-signatures.module.js +68 -0
  13. package/esm2015/lib/components/ndf-signatures/services/index.js +2 -0
  14. package/esm2015/lib/components/ndf-signatures/services/signatures.service.js +307 -0
  15. package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +1 -1
  16. package/esm2015/public-api.js +2 -1
  17. package/fesm2015/nuxeo-development-framework.js +700 -6
  18. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  19. package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +0 -1
  20. package/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.d.ts +18 -0
  21. package/lib/components/ndf-signatures/emdha/dialogs/index.d.ts +1 -0
  22. package/lib/components/ndf-signatures/emdha/index.d.ts +2 -0
  23. package/lib/components/ndf-signatures/emdha/services/emdha.service.d.ts +31 -0
  24. package/lib/components/ndf-signatures/emdha/services/index.d.ts +1 -0
  25. package/lib/components/ndf-signatures/index.d.ts +4 -0
  26. package/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.d.ts +37 -0
  27. package/lib/components/ndf-signatures/ndf-signatures.module.d.ts +17 -0
  28. package/lib/components/ndf-signatures/services/index.d.ts +1 -0
  29. package/lib/components/ndf-signatures/services/signatures.service.d.ts +53 -0
  30. package/lib/shared/components/nuxeo-dialog/models/dialog-option.model.d.ts +1 -0
  31. package/package.json +1 -1
  32. package/public-api.d.ts +1 -0
@@ -12,14 +12,14 @@ import { ActivatedRoute, Router, RouterModule, NavigationStart, RoutesRecognized
12
12
  import * as i1 from '@ngx-translate/core';
13
13
  import { TranslateService, TranslateModule, TranslateStore, TranslateLoader } from '@ngx-translate/core';
14
14
  import { map, distinctUntilChanged, takeUntil, catchError, take, tap, switchMap, first, delay, retry, expand, last, debounceTime, filter as filter$1, finalize, startWith, mergeMap, toArray, reduce, concatMap, retryWhen } from 'rxjs/operators';
15
- import { BehaviorSubject, Subject, ReplaySubject, iif, of, combineLatest, Observable, from, forkJoin, isObservable, pipe, EMPTY, concat, fromEvent, interval, throwError } from 'rxjs';
15
+ import { BehaviorSubject, Subject, ReplaySubject, iif, of, combineLatest, Observable, from, forkJoin, isObservable, pipe, EMPTY, concat, fromEvent, interval, throwError, timer } from 'rxjs';
16
16
  import { trigger, state, style, transition, animate, AUTO_STYLE, animation, useAnimation } from '@angular/animations';
17
17
  import * as i1$1 from 'ngx-toastr';
18
18
  import { Toast, ToastrModule } from 'ngx-toastr';
19
19
  import CryptoJS from 'crypto-js';
20
20
  import * as i4 from '@angular/cdk/bidi';
21
21
  import * as i1$2 from '@angular/common/http';
22
- import { HttpClient, HttpClientModule } from '@angular/common/http';
22
+ import { HttpClient, HttpClientModule, HttpHeaders } from '@angular/common/http';
23
23
  import * as i2 from 'keycloak-angular';
24
24
  import { KeycloakAngularModule } from 'keycloak-angular';
25
25
  import * as i3 from 'ngx-cookie-service';
@@ -11374,8 +11374,6 @@ class DynamicFormSelectUsersComponent {
11374
11374
  });
11375
11375
  return filterData;
11376
11376
  }
11377
- getUsersUnderCertainGroup() {
11378
- }
11379
11377
  reset() {
11380
11378
  this.ngSelectComponent.handleClearClick();
11381
11379
  }
@@ -31539,7 +31537,7 @@ class SingleActivityComponent {
31539
31537
  }
31540
31538
  }
31541
31539
  SingleActivityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SingleActivityComponent, deps: [{ token: AppConfigService }], target: i0.ɵɵFactoryTarget.Component });
31542
- SingleActivityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SingleActivityComponent, selector: "cts-single-activity", inputs: { item: "item", documentTitle: "documentTitle", newLogActor: "newLogActor", isArabic: "isArabic" }, ngImport: i0, template: "<ng-container *ngIf=\"item\">\r\n <div class=\"avtivity-wrapper\">\r\n <div class=\"avtivity-point border-primary {{ item.documentLifecycle }}\">\r\n <span class=\"{{stateIcons[item.eventName]}} new-icon-section\"></span>\r\n </div>\r\n <div class=\"avtivity-panal border-primary {{ item.documentLifecycle }}\">\r\n <div class=\"avtivity-corr-status border-primary {{ item.documentLifecycle }}\">\r\n {{ \"STATS.\" + item.documentLifecycle | translate }}\r\n </div>\r\n <div class=\"avtivity-heading\">\r\n <div class=\"avtivity-title\">\r\n <div class=\"status\">{{ \"ACTIVITY_LOG.status.\" + item.eventName | translate }}</div>\r\n <div class=\"\">\r\n {{ item.creator.id === 'system' ? ('SYSTEM_ADMIN' | translate) : item.creator.properties.firstName + \" \" +item.creator.properties.lastName }}\r\n </div>\r\n </div>\r\n <div class=\"avtivity-date\">\r\n <div>{{ item.eventDate | localizedDate: \"M/d/y\" }}</div>\r\n <div>{{ item.eventDate | localizedDate: \"h:mm a\" }}</div>\r\n </div>\r\n <div class=\"defult-avtivity-date\">\r\n <div>{{ item.eventDate | localizedDate: defultDateFormate :(isArabic? 'ar-AR' : 'en-US') }}</div>\r\n </div>\r\n </div>\r\n <div class=\"avtivity-body\">\r\n <cts-activity-line\r\n [newLogActor]=\"newLogActor\"\r\n [item]=\"item\"\r\n [isArabic]=\"isArabic\"\r\n [documentTitle]=\"item.documentName\"\r\n ></cts-activity-line>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- <div class=\"d-flex\">\r\n <div class=\"myLink link creator\" id=\"parent3\">{{ creator }}</div>\r\n <div class=\"mx-1\">send the correspondence</div>\r\n <div class=\"myLink link\" id=\"child3\">{{ param2 }}</div>\r\n <div class=\"myLink to\" id=\"child3\">to</div>\r\n <div class=\"myLink link\" id=\"child3\">{{corr:to}}</div>\r\n <div class=\"myLink link\" id=\"child3\">and assigned it to</div>\r\n <div class=\"myLink link\" id=\"child3\">{{corr:owner}}</div>\r\n</div> -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.avtivity-wrapper{margin-bottom:36px;background:#fff;display:flex;position:relative}.avtivity-wrapper .avtivity-point{display:block;width:14px;height:14px;border-radius:50%;border:4px solid #0dbab5;background-color:#fff;position:absolute;top:0px;left:-28px}.avtivity-wrapper .avtivity-point .new-icon-section{display:none}.avtivity-wrapper .avtivity-point.draft{border-color:#596973!important}.avtivity-wrapper .avtivity-point.registered{border-color:#5a1496!important}.avtivity-wrapper .avtivity-point.closed{border-color:#00dca5!important}.avtivity-wrapper .avtivity-point.inProgress{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-point.archived{border-color:#fbb62c!important}.avtivity-wrapper .avtivity-panal{width:100%;border-radius:8px;border-inline-start:8px solid #0dbab5;padding:20px;position:relative;box-shadow:0 0 25px #0000001a}.avtivity-wrapper .avtivity-panal.draft{border-color:#596973!important}.avtivity-wrapper .avtivity-panal.registered{border-color:#5a1496!important}.avtivity-wrapper .avtivity-panal.inProgress{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal.closed{border-color:#00dca5!important}.avtivity-wrapper .avtivity-panal.archived{border-color:#fbb62c!important}.avtivity-wrapper .avtivity-panal.meeting_created{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status{position:absolute;background:#ffffff;font-size:11px;width:100px;height:24px;border:1px solid #0dbab5;border-radius:5px;left:11px;top:-13px;text-align:center;display:flex;align-items:center;justify-content:center}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.draft{border-color:#596973!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.registered{border-color:#5a1496!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.inProgress{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.closed{border-color:#00dca5!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.archived{border-color:#fbb62c!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.meeting_created{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal .avtivity-heading{display:flex;justify-content:space-between;margin-bottom:10px;border-bottom:2px solid #f5f6f8}.avtivity-wrapper .avtivity-panal .avtivity-heading .avtivity-date{font-size:12px;color:#6a768e}.avtivity-wrapper .avtivity-panal .avtivity-heading .defult-avtivity-date{font-size:12px;color:#6a768e;display:none}.avtivity-wrapper .avtivity-panal .avtivity-heading .avtivity-title{margin-bottom:8px;font-size:14px;color:#6a768e}.avtivity-wrapper .avtivity-panal .avtivity-heading .avtivity-title .status{font-weight:400;font-size:16px;color:#465573!important}.rtl .avtivity-corr-status{left:unset;right:11px}.rtl .avtivity-point{left:unset;right:-28px}\n"], components: [{ type: ActivityLineComponent, selector: "cts-activity-line", inputs: ["item", "documentTitle", "newLogActor", "isArabic"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe, "localizedDate": LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
31540
+ SingleActivityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SingleActivityComponent, selector: "cts-single-activity", inputs: { item: "item", documentTitle: "documentTitle", newLogActor: "newLogActor", isArabic: "isArabic" }, ngImport: i0, template: "<ng-container *ngIf=\"item\">\r\n <div class=\"avtivity-wrapper\">\r\n <div class=\"avtivity-point border-primary {{ item.documentLifecycle }}\">\r\n <span class=\"{{stateIcons[item.eventName]}} new-icon-section\"></span>\r\n </div>\r\n <div class=\"avtivity-panal border-primary {{ item.documentLifecycle }}\">\r\n <div class=\"avtivity-corr-status border-primary {{ item.documentLifecycle }}\">\r\n {{ \"STATS.\" + item.documentLifecycle | translate }}\r\n </div>\r\n <div class=\"avtivity-heading\">\r\n <div class=\"avtivity-title\">\r\n <div *ngIf=\"item.eventName == 'incoming_assignment_create'\" class=\"status\">{{ \"ACTIVITY_LOG.status.\" + item.eventName | translate }} {{item.extendedInfo.assignmentType?(\"ACTIVITY_LOG.assignmentTypes.\" + item.extendedInfo.assignmentType | translate):''}}</div>\r\n <div *ngIf=\"item.eventName !== 'incoming_assignment_create'\" class=\"status\">{{ \"ACTIVITY_LOG.status.\" + item.eventName | translate }}</div>\r\n\r\n <div class=\"\">\r\n {{ item.creator.id === 'system' ? ('SYSTEM_ADMIN' | translate) : item.creator.properties.firstName + \" \" +item.creator.properties.lastName }}\r\n </div>\r\n </div>\r\n <div class=\"avtivity-date\">\r\n <div>{{ item.eventDate | localizedDate: \"M/d/y\" }}</div>\r\n <div>{{ item.eventDate | localizedDate: \"h:mm a\" }}</div>\r\n </div>\r\n <div class=\"defult-avtivity-date\">\r\n <div>{{ item.eventDate | localizedDate: defultDateFormate :(isArabic? 'ar-AR' : 'en-US') }}</div>\r\n </div>\r\n </div>\r\n <div class=\"avtivity-body\">\r\n <cts-activity-line\r\n [newLogActor]=\"newLogActor\"\r\n [item]=\"item\"\r\n [isArabic]=\"isArabic\"\r\n [documentTitle]=\"item.documentName\"\r\n ></cts-activity-line>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- <div class=\"d-flex\">\r\n <div class=\"myLink link creator\" id=\"parent3\">{{ creator }}</div>\r\n <div class=\"mx-1\">send the correspondence</div>\r\n <div class=\"myLink link\" id=\"child3\">{{ param2 }}</div>\r\n <div class=\"myLink to\" id=\"child3\">to</div>\r\n <div class=\"myLink link\" id=\"child3\">{{corr:to}}</div>\r\n <div class=\"myLink link\" id=\"child3\">and assigned it to</div>\r\n <div class=\"myLink link\" id=\"child3\">{{corr:owner}}</div>\r\n</div> -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.avtivity-wrapper{margin-bottom:36px;background:#fff;display:flex;position:relative}.avtivity-wrapper .avtivity-point{display:block;width:14px;height:14px;border-radius:50%;border:4px solid #0dbab5;background-color:#fff;position:absolute;top:0px;left:-28px}.avtivity-wrapper .avtivity-point .new-icon-section{display:none}.avtivity-wrapper .avtivity-point.draft{border-color:#596973!important}.avtivity-wrapper .avtivity-point.registered{border-color:#5a1496!important}.avtivity-wrapper .avtivity-point.closed{border-color:#00dca5!important}.avtivity-wrapper .avtivity-point.inProgress{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-point.archived{border-color:#fbb62c!important}.avtivity-wrapper .avtivity-panal{width:100%;border-radius:8px;border-inline-start:8px solid #0dbab5;padding:20px;position:relative;box-shadow:0 0 25px #0000001a}.avtivity-wrapper .avtivity-panal.draft{border-color:#596973!important}.avtivity-wrapper .avtivity-panal.registered{border-color:#5a1496!important}.avtivity-wrapper .avtivity-panal.inProgress{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal.closed{border-color:#00dca5!important}.avtivity-wrapper .avtivity-panal.archived{border-color:#fbb62c!important}.avtivity-wrapper .avtivity-panal.meeting_created{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status{position:absolute;background:#ffffff;font-size:11px;width:100px;height:24px;border:1px solid #0dbab5;border-radius:5px;left:11px;top:-13px;text-align:center;display:flex;align-items:center;justify-content:center}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.draft{border-color:#596973!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.registered{border-color:#5a1496!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.inProgress{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.closed{border-color:#00dca5!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.archived{border-color:#fbb62c!important}.avtivity-wrapper .avtivity-panal .avtivity-corr-status.meeting_created{border-color:#3c3cf0!important}.avtivity-wrapper .avtivity-panal .avtivity-heading{display:flex;justify-content:space-between;margin-bottom:10px;border-bottom:2px solid #f5f6f8}.avtivity-wrapper .avtivity-panal .avtivity-heading .avtivity-date{font-size:12px;color:#6a768e}.avtivity-wrapper .avtivity-panal .avtivity-heading .defult-avtivity-date{font-size:12px;color:#6a768e;display:none}.avtivity-wrapper .avtivity-panal .avtivity-heading .avtivity-title{margin-bottom:8px;font-size:14px;color:#6a768e}.avtivity-wrapper .avtivity-panal .avtivity-heading .avtivity-title .status{font-weight:400;font-size:16px;color:#465573!important}.rtl .avtivity-corr-status{left:unset;right:11px}.rtl .avtivity-point{left:unset;right:-28px}\n"], components: [{ type: ActivityLineComponent, selector: "cts-activity-line", inputs: ["item", "documentTitle", "newLogActor", "isArabic"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe, "localizedDate": LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
31543
31541
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SingleActivityComponent, decorators: [{
31544
31542
  type: Component,
31545
31543
  args: [{
@@ -47766,6 +47764,702 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
47766
47764
  }]
47767
47765
  }] });
47768
47766
 
47767
+ var _EmdhaService_instances, _EmdhaService_txnId, _EmdhaService_emdhaPayload, _EmdhaService_displayCode, _EmdhaService_environment_get, _EmdhaService_checkTransactionStatus;
47768
+ var TransactionStatus;
47769
+ (function (TransactionStatus) {
47770
+ TransactionStatus["Pending"] = "pending";
47771
+ TransactionStatus["Authorized"] = "authorized";
47772
+ TransactionStatus["Failed"] = "failed";
47773
+ TransactionStatus["NotFound"] = "notfound";
47774
+ TransactionStatus["Error"] = "error";
47775
+ })(TransactionStatus || (TransactionStatus = {}));
47776
+ class EmdhaService extends BaseService {
47777
+ constructor(injector, nuxeoDialogService) {
47778
+ super(injector);
47779
+ this.nuxeoDialogService = nuxeoDialogService;
47780
+ _EmdhaService_instances.add(this);
47781
+ _EmdhaService_txnId.set(this, void 0);
47782
+ _EmdhaService_emdhaPayload.set(this, void 0);
47783
+ _EmdhaService_displayCode.set(this, void 0);
47784
+ }
47785
+ get displayCode() {
47786
+ return __classPrivateFieldGet(this, _EmdhaService_displayCode, "f");
47787
+ }
47788
+ get headers() {
47789
+ let header = new HttpHeaders();
47790
+ if (this.customToken) {
47791
+ header = header.append('Authorization', this.customToken);
47792
+ }
47793
+ return header;
47794
+ }
47795
+ start(component, emdhaPayload) {
47796
+ __classPrivateFieldSet(this, _EmdhaService_emdhaPayload, emdhaPayload, "f");
47797
+ const options = {
47798
+ component: component,
47799
+ panelClass: 'emdha-auth-dialog-container',
47800
+ width: '400px',
47801
+ minWidth: '400px',
47802
+ data: {},
47803
+ };
47804
+ return this.nuxeoDialogService
47805
+ .open(options)
47806
+ .afterClosed()
47807
+ .pipe(take(1), map((res) => {
47808
+ if (res) {
47809
+ return true;
47810
+ }
47811
+ else {
47812
+ return false;
47813
+ }
47814
+ }));
47815
+ }
47816
+ auth(signerId) {
47817
+ const payload = {
47818
+ params: {
47819
+ signerId,
47820
+ assuranceLevel: 'm',
47821
+ },
47822
+ };
47823
+ return this.post({
47824
+ endpoint: `${__classPrivateFieldGet(this, _EmdhaService_instances, "a", _EmdhaService_environment_get).nuxeo}/site/automation/Emdha.SignerAuth`,
47825
+ payload,
47826
+ headers: this.headers
47827
+ }).pipe(tap((data) => {
47828
+ __classPrivateFieldSet(this, _EmdhaService_txnId, data.txnId, "f");
47829
+ __classPrivateFieldSet(this, _EmdhaService_displayCode, data.displayCode, "f");
47830
+ }));
47831
+ }
47832
+ checkTransactionStatus() {
47833
+ return __classPrivateFieldGet(this, _EmdhaService_instances, "m", _EmdhaService_checkTransactionStatus).call(this).pipe(map((data) => ({ data, attempt: 1 })), expand(({ data, attempt }) => {
47834
+ var _a, _b;
47835
+ const state = (_a = data === null || data === void 0 ? void 0 : data.value) === null || _a === void 0 ? void 0 : _a.state;
47836
+ if (state === 'authorized') {
47837
+ return of(data);
47838
+ }
47839
+ if (['failed', 'notfound', 'error'].includes(state)) {
47840
+ return throwError(() => new Error(`Transaction ${state}`));
47841
+ }
47842
+ if (attempt >= (((_b = __classPrivateFieldGet(this, _EmdhaService_instances, "a", _EmdhaService_environment_get).emdhaSignature) === null || _b === void 0 ? void 0 : _b.maxAttempts) || 60)) {
47843
+ return throwError(() => new Error('Max retry attempts reached'));
47844
+ }
47845
+ return timer(__classPrivateFieldGet(this, _EmdhaService_instances, "a", _EmdhaService_environment_get).emdhaSignature.delayMs || 2000).pipe(switchMap(() => __classPrivateFieldGet(this, _EmdhaService_instances, "m", _EmdhaService_checkTransactionStatus).call(this)), map((nextData) => ({ data: nextData, attempt: attempt + 1 })));
47846
+ }), filter$1((data) => { var _a; return ((_a = data === null || data === void 0 ? void 0 : data.value) === null || _a === void 0 ? void 0 : _a.state) === 'authorized'; }), take(1), map(({ data }) => data));
47847
+ }
47848
+ signDocument() {
47849
+ var _a, _b;
47850
+ const signBase64 = __classPrivateFieldGet(this, _EmdhaService_emdhaPayload, "f").signImage.split(',')[1];
47851
+ const payload = {
47852
+ params: {
47853
+ signerName: this.user.fullName || 'comptech',
47854
+ emailId: ((_a = this.user.properties) === null || _a === void 0 ? void 0 : _a.email) || 'comptech@comptech.com',
47855
+ mobileNumber: ((_b = this.user.properties) === null || _b === void 0 ? void 0 : _b.phoneNumber) || '0000000000',
47856
+ targetDocumentId: __classPrivateFieldGet(this, _EmdhaService_emdhaPayload, "f").uid,
47857
+ pageNumber: __classPrivateFieldGet(this, _EmdhaService_emdhaPayload, "f").pageNumber,
47858
+ pageCoordinates: __classPrivateFieldGet(this, _EmdhaService_emdhaPayload, "f").pageCoordinates,
47859
+ returnSignedDocument: false,
47860
+ logoBase64: signBase64,
47861
+ },
47862
+ };
47863
+ return this.post({
47864
+ endpoint: `${__classPrivateFieldGet(this, _EmdhaService_instances, "a", _EmdhaService_environment_get).nuxeo}/site/automation/Emdha.SignDocument`,
47865
+ payload,
47866
+ headers: this.headers
47867
+ });
47868
+ }
47869
+ }
47870
+ _EmdhaService_txnId = new WeakMap(), _EmdhaService_emdhaPayload = new WeakMap(), _EmdhaService_displayCode = new WeakMap(), _EmdhaService_instances = new WeakSet(), _EmdhaService_environment_get = function _EmdhaService_environment_get() {
47871
+ return EnvManager.environment;
47872
+ }, _EmdhaService_checkTransactionStatus = function _EmdhaService_checkTransactionStatus() {
47873
+ const payload = {
47874
+ params: {
47875
+ txnId: __classPrivateFieldGet(this, _EmdhaService_txnId, "f"),
47876
+ },
47877
+ };
47878
+ return this.post({
47879
+ endpoint: `${__classPrivateFieldGet(this, _EmdhaService_instances, "a", _EmdhaService_environment_get).nuxeo}/site/automation/Emdha.CheckTransactionStatus`,
47880
+ payload,
47881
+ headers: this.headers
47882
+ });
47883
+ };
47884
+ EmdhaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmdhaService, deps: [{ token: i0.Injector }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
47885
+ EmdhaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmdhaService, providedIn: 'root' });
47886
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmdhaService, decorators: [{
47887
+ type: Injectable,
47888
+ args: [{ providedIn: 'root' }]
47889
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: NuxeoDialogService }]; } });
47890
+
47891
+ var _EmdhaAuthDialog_instances, _EmdhaAuthDialog_listenerTransactionStatus, _EmdhaAuthDialog_signDocument;
47892
+ class EmdhaAuthDialog extends BaseDialogComponent {
47893
+ constructor(injector, emdhaService) {
47894
+ super(injector);
47895
+ this.emdhaService = emdhaService;
47896
+ _EmdhaAuthDialog_instances.add(this);
47897
+ this.emdhaForm = new FormGroup({
47898
+ idNumber: new FormControl(null, [
47899
+ Validators.required,
47900
+ Validators.minLength(10),
47901
+ Validators.minLength(10),
47902
+ ]),
47903
+ });
47904
+ this.displayCode = '';
47905
+ this.proccessingSign = false;
47906
+ }
47907
+ get getDialogTitle() {
47908
+ if (this.proccessingSign) {
47909
+ return 'viewer.emdha.authenticating';
47910
+ }
47911
+ else if (this.displayCode) {
47912
+ return 'viewer.emdha.auth-confirmation';
47913
+ }
47914
+ return 'viewer.emdha.auth';
47915
+ }
47916
+ ngOnInit() {
47917
+ this.loading = true;
47918
+ this.proccessingSign = true;
47919
+ __classPrivateFieldGet(this, _EmdhaAuthDialog_instances, "m", _EmdhaAuthDialog_signDocument).call(this)
47920
+ .pipe(takeUntil(this.destroy$))
47921
+ .subscribe((data) => {
47922
+ this.loading = false;
47923
+ this.proccessingSign = false;
47924
+ if (data.code == 'NO_TOKEN') {
47925
+ return;
47926
+ }
47927
+ else {
47928
+ this.close(true);
47929
+ }
47930
+ }, (error) => {
47931
+ this.loading = false;
47932
+ this.proccessingSign = false;
47933
+ console.log(error);
47934
+ this.toastrService.error('viewer.emdha.auth-error');
47935
+ this.close(false);
47936
+ });
47937
+ }
47938
+ signerAuth() {
47939
+ this.loading = true;
47940
+ this.emdhaService
47941
+ .auth(this.emdhaForm.controls['idNumber'].value)
47942
+ .pipe(takeUntil(this.destroy$), finalize(() => {
47943
+ this.loading = false;
47944
+ }))
47945
+ .subscribe((data) => {
47946
+ this.displayCode = data.displayCode;
47947
+ __classPrivateFieldGet(this, _EmdhaAuthDialog_instances, "m", _EmdhaAuthDialog_listenerTransactionStatus).call(this);
47948
+ }, (error) => {
47949
+ if (error.error.includes('THERE IS AN ACTIVE TRANSACTION')) {
47950
+ this.displayCode = this.emdhaService.displayCode;
47951
+ __classPrivateFieldGet(this, _EmdhaAuthDialog_instances, "m", _EmdhaAuthDialog_listenerTransactionStatus).call(this);
47952
+ }
47953
+ else {
47954
+ this.toastrService.error('viewer.emdha.auth-error');
47955
+ this.close(false);
47956
+ }
47957
+ });
47958
+ }
47959
+ }
47960
+ _EmdhaAuthDialog_instances = new WeakSet(), _EmdhaAuthDialog_listenerTransactionStatus = function _EmdhaAuthDialog_listenerTransactionStatus() {
47961
+ this.emdhaService
47962
+ .checkTransactionStatus()
47963
+ .pipe(takeUntil(this.destroy$))
47964
+ .subscribe((data) => {
47965
+ this.loading = true;
47966
+ __classPrivateFieldGet(this, _EmdhaAuthDialog_instances, "m", _EmdhaAuthDialog_signDocument).call(this).subscribe(() => {
47967
+ this.loading = false;
47968
+ this.close(true);
47969
+ }, (error) => {
47970
+ console.log(error);
47971
+ this.loading = false;
47972
+ this.toastrService.error('viewer.emdha.auth-error');
47973
+ this.close(false);
47974
+ });
47975
+ }, (error) => {
47976
+ console.log(error);
47977
+ this.toastrService.error('viewer.emdha.auth-error');
47978
+ this.close(false);
47979
+ });
47980
+ }, _EmdhaAuthDialog_signDocument = function _EmdhaAuthDialog_signDocument() {
47981
+ return this.emdhaService.signDocument().pipe(takeUntil(this.destroy$), finalize(() => (this.loading = false)));
47982
+ };
47983
+ EmdhaAuthDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmdhaAuthDialog, deps: [{ token: i0.Injector }, { token: EmdhaService }], target: i0.ɵɵFactoryTarget.Component });
47984
+ EmdhaAuthDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmdhaAuthDialog, selector: "app-emdha-auth-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog\r\n dialogTitle=\"{{getDialogTitle | translate }}\"\r\n [loading]=\"loading\"\r\n>\r\n <ng-template #contentTemplate>\r\n <div class=\"nafath-container\">\r\n <ng-container *ngIf=\"!proccessingSign\">\r\n <div class=\"header\">\r\n <div class=\"nafath\">{{'viewer.emdha.nafath' | translate}}</div>\r\n <div class=\"nafath-sub\">\r\n {{'viewer.emdha.national single sign-on' | translate}}\r\n </div>\r\n </div>\r\n\r\n <form [formGroup]=\"emdhaForm\" *ngIf=\"!displayCode;else showDisplayCode\">\r\n <div class=\"flex\">\r\n <app-dynamic-form-textitem\r\n class=\"w-full py-10\"\r\n formControlName=\"idNumber\"\r\n [label]=\"'viewer.emdha.idNumber'\"\r\n [placeholder]=\"'viewer.emdha.idNumberHint'\"\r\n [preventSpace]=\"true\"\r\n ></app-dynamic-form-textitem>\r\n </div>\r\n\r\n <button\r\n class=\"cancelation-button confirmation-button\"\r\n [disabled]=\"emdhaForm?.invalid\"\r\n (click)=\"signerAuth()\"\r\n >\r\n <mat-icon svgIcon=\"icons:login\"></mat-icon>\r\n {{ 'viewer.emdha.login' | translate }}\r\n </button>\r\n </form>\r\n\r\n <ng-template #showDisplayCode>\r\n <div class=\"nafath-code-container py-10\">\r\n <div class=\"nafath-code\">{{displayCode}}</div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #actionsTemplate let-dialog=\"dialog\"> </ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [":host{--nafath-color: #11998e}.nafath-container{padding-bottom:10px;min-height:150px}.header{text-align:var(--emdha-header-text-align, center)}.header .nafath{color:var(--emdha-header-nafath-color, var(--nafath-color));font-weight:var(--emdha-header-nafath-font-weight, 500);font-size:var(--emdha-header-nafath-font-size, 1.5rem);line-height:var(--emdha-header-nafath-line-height, 1.75rem);font-style:var(--emdha-header-nafath-font-style, normal)}.header .nafath-sub{font-weight:var(--emdha-header-nafath-sub-font-weight, 100);font-size:var(--emdha-header-nafath-sub-font-size, .85rem)}.nafath-code-container{display:flex;justify-content:center}.nafath-code-container .nafath-code{width:-moz-fit-content;width:fit-content;padding:10px 16px;border-radius:8px;text-align:var(--emdha-nafath-code-text-align, center);color:var(--emdha-nafath-code-color, #fff);background:var(--emdha-nafath-code-bg-color, var(--nafath-color));font-weight:var(--emdha-nafath-code-font-weight, 500);font-size:var(--emdha-nafath-code-font-size, 2rem)}::ng-deep .app-property-value .app-input-wrapper label{color:unset!important}::ng-deep .app-property-value .app-input-wrapper label .text-danger{color:red}::ng-deep .app-property-value .app-input-wrapper .form-control{width:100%;background-color:unset!important;border-radius:4px!important}::ng-deep .app-property-value .input-filled{border-color:var(--emdha-dialog-input-border-color, var(--nafath-color))!important}::ng-deep .emdha-auth-dialog-container .ndf-dialog-wrapper .dialog-header{color:var(--emdha-dialog-header-color, var(--nafath-color))!important}::ng-deep .emdha-auth-dialog-container .ndf-dialog-wrapper .dialog-body{padding-bottom:unset!important}::ng-deep .emdha-auth-dialog-container .ndf-dialog-wrapper>div:last-child{padding-top:unset!important;display:block!important}::ng-deep .emdha-auth-dialog-container .cancelation-button{width:100%!important;padding-top:1px;display:flex!important;height:35px!important;max-height:35px!important;min-height:35px!important;min-width:80px!important;align-items:center!important;justify-content:center!important;grid-gap:.25rem!important;gap:.25rem!important;border-radius:4px!important;padding-left:1rem!important;padding-right:1rem!important;font-size:.875rem!important;font-weight:400!important;line-height:1.5rem!important;border:1px solid #aaa!important}::ng-deep .emdha-auth-dialog-container .confirmation-button{width:100%!important;border:unset!important;background-color:var(--emdha-header-login-bg-color, var(--nafath-color))!important;color:var(--emdha-header-login-color, #fff)!important}::ng-deep .emdha-auth-dialog-container .confirmation-button:disabled{opacity:.5}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1.TranslatePipe } });
47985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmdhaAuthDialog, decorators: [{
47986
+ type: Component,
47987
+ args: [{
47988
+ selector: 'app-emdha-auth-dialog',
47989
+ templateUrl: './emdha-auth.dialog.html',
47990
+ styleUrls: ['./emdha-auth.dialog.scss'],
47991
+ }]
47992
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: EmdhaService }]; } });
47993
+
47994
+ var _SignaturesService_instances, _SignaturesService_userSignatures, _SignaturesService_trackedSignatures, _SignaturesService_signAlreadyDrawed, _SignaturesService_selectedSign, _SignaturesService_createUserSignature, _SignaturesService_exctractNotRepeatedSign, _SignaturesService_findSignatureToDelete, _SignaturesService_findSignatureToUpdate, _SignaturesService_startConstructingSignOptions, _SignaturesService_getTitle, _SignaturesService_constructAndDrawSignature, _SignaturesService_checkIfHasSignatures, _SignaturesService_registerAuditLog;
47995
+ var SignatureType;
47996
+ (function (SignatureType) {
47997
+ SignatureType["Tron"] = "tron";
47998
+ SignatureType["Emdha"] = "emdha";
47999
+ })(SignatureType || (SignatureType = {}));
48000
+ var InsertSingPosition;
48001
+ (function (InsertSingPosition) {
48002
+ InsertSingPosition["CurrentPage"] = "currentPage";
48003
+ InsertSingPosition["FirstPage"] = "firstPage";
48004
+ InsertSingPosition["LastPage"] = "lastPage";
48005
+ InsertSingPosition["FirstLastPage"] = "firstLast";
48006
+ InsertSingPosition["AllPages"] = "allPages";
48007
+ })(InsertSingPosition || (InsertSingPosition = {}));
48008
+ class SignaturesService extends BaseService {
48009
+ constructor(injector, emdhaService, pdftronService, documentsService) {
48010
+ super(injector);
48011
+ this.emdhaService = emdhaService;
48012
+ this.pdftronService = pdftronService;
48013
+ this.documentsService = documentsService;
48014
+ _SignaturesService_instances.add(this);
48015
+ _SignaturesService_userSignatures.set(this, []);
48016
+ _SignaturesService_trackedSignatures.set(this, []);
48017
+ _SignaturesService_signAlreadyDrawed.set(this, false);
48018
+ _SignaturesService_selectedSign.set(this, void 0);
48019
+ this.hasSignatures$ = new BehaviorSubject(false);
48020
+ this.operations = {
48021
+ get: 'AC_UA_UserSignature_GetAsBase64',
48022
+ create: 'AC_UA_DMS_User_Signature_Create',
48023
+ delete: 'AC_UA_DMS_User_Signature_Delete',
48024
+ lock: 'AC_UA_DMS_Document_Lock',
48025
+ unlock: 'AC_UA_DMS_Document_Unlock',
48026
+ audit: 'AC_AU_RegisterAuditLog',
48027
+ createVersion: 'Document.CreateVersion'
48028
+ };
48029
+ }
48030
+ lockDocument(mode, docId, headers = {}) {
48031
+ return this.automation({
48032
+ operation: this.operations.lock,
48033
+ input: docId,
48034
+ params: { mode },
48035
+ headers
48036
+ });
48037
+ }
48038
+ unlockDocument(docId, headers = {}) {
48039
+ return this.automation({
48040
+ operation: this.operations.unlock,
48041
+ input: docId,
48042
+ headers
48043
+ });
48044
+ }
48045
+ getLockOwner(userId) {
48046
+ return this.request(`user/${userId}`);
48047
+ }
48048
+ getUserSignatures(forceFetch = false) {
48049
+ if (!forceFetch && __classPrivateFieldGet(this, _SignaturesService_userSignatures, "f").length > 0) {
48050
+ return of(__classPrivateFieldGet(this, _SignaturesService_userSignatures, "f"));
48051
+ }
48052
+ else {
48053
+ __classPrivateFieldSet(this, _SignaturesService_userSignatures, [], "f");
48054
+ }
48055
+ return this.automation({
48056
+ operation: this.operations.get,
48057
+ headers: { 'X-NXproperties': '*' }
48058
+ }).pipe(take(1), map((data) => {
48059
+ let base64sign = '';
48060
+ let notRepeatedSign = __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_exctractNotRepeatedSign).call(this, data);
48061
+ notRepeatedSign.map((sign, i) => {
48062
+ if (sign['file:content']) {
48063
+ base64sign =
48064
+ 'data:' +
48065
+ (sign['file:content']['mime-type'] ? sign['file:content']['mime-type'] : 'image/png') +
48066
+ ';base64,' +
48067
+ sign['file:content']['data'];
48068
+ __classPrivateFieldGet(this, _SignaturesService_userSignatures, "f").push({
48069
+ id: i,
48070
+ image: base64sign,
48071
+ name: sign.name || sign.title
48072
+ });
48073
+ }
48074
+ });
48075
+ return __classPrivateFieldGet(this, _SignaturesService_userSignatures, "f");
48076
+ }));
48077
+ }
48078
+ addUserSignature(file) {
48079
+ return this.documentsService.uploadBatch([file]).pipe(take(1), switchMap((batch) => __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_createUserSignature).call(this, batch).pipe(take(1))), switchMap(() => this.getUserSignatures(true)));
48080
+ }
48081
+ deleteUserSignature(sign) {
48082
+ return this.automation({
48083
+ operation: this.operations.delete,
48084
+ context: {
48085
+ userSignatureName: sign.name
48086
+ }
48087
+ }).pipe(map(() => {
48088
+ __classPrivateFieldGet(this, _SignaturesService_userSignatures, "f").splice(sign.id, 1);
48089
+ return __classPrivateFieldGet(this, _SignaturesService_userSignatures, "f");
48090
+ }));
48091
+ }
48092
+ applySignToDocument(sign, insertPosition) {
48093
+ __classPrivateFieldSet(this, _SignaturesService_selectedSign, sign, "f");
48094
+ if (__classPrivateFieldGet(this, _SignaturesService_signAlreadyDrawed, "f")) {
48095
+ this.pdftronService.instance.annotManager.deleteAnnotations(__classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f"));
48096
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_startConstructingSignOptions).call(this, sign, insertPosition, false);
48097
+ }
48098
+ else {
48099
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_startConstructingSignOptions).call(this, sign, insertPosition, true);
48100
+ }
48101
+ __classPrivateFieldSet(this, _SignaturesService_signAlreadyDrawed, true, "f");
48102
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_checkIfHasSignatures).call(this);
48103
+ }
48104
+ // client should lock/unlock the document to customize header if need
48105
+ saveSingFile(signatureType, document, file, extraHeaders = {}, useVersionCustomParam = true, updateDocument = true) {
48106
+ // const signInfo = this.pdftronService.getSignatureAnnotaionsInfo(
48107
+ // this.#trackedSignatures,
48108
+ // );
48109
+ if (__classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").length <= 0) {
48110
+ return throwError(() => new Error('No signature to save'));
48111
+ }
48112
+ if (signatureType === SignatureType.Emdha) {
48113
+ const pdfYCoordinate = 792;
48114
+ const x1 = __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].X;
48115
+ const y1 = pdfYCoordinate -
48116
+ (__classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Y + __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Height < pdfYCoordinate
48117
+ ? __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Y + __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Height
48118
+ : __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Y);
48119
+ const x2 = x1 + __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Width;
48120
+ const y2 = y1 + __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f")[0].Height;
48121
+ const emdhaPayload = {
48122
+ uid: document.uid,
48123
+ pageNumber: this.pdftronService.instance.docViewer.getCurrentPage(),
48124
+ pageCoordinates: `${Math.floor(x1)},${Math.floor(y1)},${Math.floor(x2)},${Math.floor(y2)}`,
48125
+ signImage: __classPrivateFieldGet(this, _SignaturesService_selectedSign, "f").image
48126
+ };
48127
+ return this.emdhaService.start(EmdhaAuthDialog, emdhaPayload);
48128
+ }
48129
+ else {
48130
+ return this.documentsService.uploadBatch([file], extraHeaders).pipe(take(1), switchMap((batch) => {
48131
+ const props = { 'file:content': batch[0].blob };
48132
+ const versionCustomParam = {
48133
+ increment: 'major',
48134
+ saveDocument: true
48135
+ };
48136
+ return this.documentsService
48137
+ .createVersion(document.uid, 'minor', this.operations.createVersion, useVersionCustomParam ? versionCustomParam : null)
48138
+ .pipe(take(1), switchMap(() => {
48139
+ if (!updateDocument)
48140
+ return of(batch);
48141
+ return this.documentsService.updateDocument(Object.assign(Object.assign({}, document), { properties: props }));
48142
+ }), tap(() => {
48143
+ this.documentsService.reFetch.next(true);
48144
+ if (this.operations.audit) {
48145
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_registerAuditLog).call(this, document.uid, 'sign');
48146
+ }
48147
+ }), take(1));
48148
+ }));
48149
+ }
48150
+ }
48151
+ onTrackingSignature(signatures) {
48152
+ console.log('onTrackingSignature', signatures);
48153
+ if (signatures.action === 'delete') {
48154
+ signatures.anotations.map((anot) => {
48155
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_findSignatureToDelete).call(this, anot); // delete old signature with its old position
48156
+ });
48157
+ }
48158
+ else if (signatures.action === 'modify') {
48159
+ if (signatures.anotations[0]['applyMovingToAllPages']) {
48160
+ __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").map((sign) => {
48161
+ sign.X = signatures.anotations[0]['X'];
48162
+ sign.Y = signatures.anotations[0]['Y'];
48163
+ this.pdftronService.instance.annotManager.redrawAnnotation(sign);
48164
+ });
48165
+ }
48166
+ else {
48167
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_findSignatureToUpdate).call(this, signatures.anotations[0]); // delete old signature with its old position
48168
+ __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").push(signatures.anotations[0]); // add new signature with its new position
48169
+ }
48170
+ }
48171
+ else if (signatures.action === 'add') {
48172
+ __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").push(signatures.anotations[0]);
48173
+ }
48174
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_checkIfHasSignatures).call(this);
48175
+ }
48176
+ reset() {
48177
+ __classPrivateFieldSet(this, _SignaturesService_trackedSignatures, [], "f");
48178
+ __classPrivateFieldSet(this, _SignaturesService_signAlreadyDrawed, false, "f");
48179
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_checkIfHasSignatures).call(this);
48180
+ }
48181
+ setCustomToken(token) {
48182
+ this.emdhaService.customToken = token;
48183
+ }
48184
+ }
48185
+ _SignaturesService_userSignatures = new WeakMap(), _SignaturesService_trackedSignatures = new WeakMap(), _SignaturesService_signAlreadyDrawed = new WeakMap(), _SignaturesService_selectedSign = new WeakMap(), _SignaturesService_instances = new WeakSet(), _SignaturesService_createUserSignature = function _SignaturesService_createUserSignature(batch) {
48186
+ return this.customAutomation({
48187
+ operation: this.operations.create,
48188
+ context: {
48189
+ signature: {
48190
+ 'file:content': {
48191
+ 'upload-batch': batch[0]['blob']['upload-batch'],
48192
+ 'upload-fileId': batch[0]['blob']['upload-fileId']
48193
+ }
48194
+ }
48195
+ }
48196
+ });
48197
+ }, _SignaturesService_exctractNotRepeatedSign = function _SignaturesService_exctractNotRepeatedSign(newSignatures) {
48198
+ let notRepeated = newSignatures.filter((sign) => !__classPrivateFieldGet(this, _SignaturesService_userSignatures, "f").some((s) => s.name === sign.title));
48199
+ return notRepeated;
48200
+ }, _SignaturesService_findSignatureToDelete = function _SignaturesService_findSignatureToDelete(signature) {
48201
+ __classPrivateFieldSet(this, _SignaturesService_trackedSignatures, __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").filter((sign) => {
48202
+ return (sign.PageNumber !== signature.PageNumber ||
48203
+ sign.ImageData !== signature.ImageData ||
48204
+ (sign.X !== signature.X && sign.Y !== signature.Y));
48205
+ }), "f");
48206
+ }, _SignaturesService_findSignatureToUpdate = function _SignaturesService_findSignatureToUpdate(signature) {
48207
+ __classPrivateFieldSet(this, _SignaturesService_trackedSignatures, __classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").filter((sign) => {
48208
+ return sign.PageNumber !== signature.PageNumber || sign.ImageData !== signature.ImageData;
48209
+ }), "f");
48210
+ }, _SignaturesService_startConstructingSignOptions = function _SignaturesService_startConstructingSignOptions(sign, insertPosition, addMoveButton) {
48211
+ this.pdftronService.instance.annotManager.setReadOnly(false);
48212
+ if (addMoveButton) {
48213
+ this.pdftronService.instance.annotationPopup.add({
48214
+ type: 'actionButton',
48215
+ img: '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="currentColor" class="bi bi-arrows-move" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10M.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708zM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8"/></svg>',
48216
+ title: this.translateService.instant('viewer.Sync movement with all pages'),
48217
+ onClick: () => {
48218
+ let selectAnot = this.pdftronService.instance.annotManager.getSelectedAnnotations();
48219
+ selectAnot[0]['applyMovingToAllPages'] = selectAnot[0]['applyMovingToAllPages'] ? false : true;
48220
+ this.pdftronService.instance.annotManager.setNoteContents(selectAnot[0], __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_getTitle).call(this, selectAnot[0]));
48221
+ console.log(selectAnot);
48222
+ }
48223
+ });
48224
+ this.pdftronService.instance.disableElements([
48225
+ 'toolbarGroup-Shapes',
48226
+ 'toolbarGroup-Edit',
48227
+ 'toolbarGroup-Insert',
48228
+ 'toolbarGroup-Annotate',
48229
+ 'linkButton',
48230
+ 'annotationStyleEditButton',
48231
+ 'annotationCommentButton'
48232
+ ]);
48233
+ }
48234
+ let pageCount = this.pdftronService.instance.docViewer.getPageCount();
48235
+ if (pageCount === 1 ||
48236
+ (pageCount > 1 && insertPosition === InsertSingPosition.FirstPage) ||
48237
+ (pageCount > 1 && insertPosition === InsertSingPosition.LastPage)) {
48238
+ let page = pageCount > 1 && insertPosition === InsertSingPosition.LastPage ? pageCount : 1;
48239
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_constructAndDrawSignature).call(this, page, sign.image);
48240
+ }
48241
+ else if (insertPosition === InsertSingPosition.FirstLastPage) {
48242
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_constructAndDrawSignature).call(this, 1, sign.image);
48243
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_constructAndDrawSignature).call(this, pageCount, sign.image);
48244
+ }
48245
+ else if (insertPosition === InsertSingPosition.CurrentPage) {
48246
+ const currentPage = this.pdftronService.instance.docViewer.getCurrentPage();
48247
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_constructAndDrawSignature).call(this, currentPage, sign.image);
48248
+ }
48249
+ else if (insertPosition === InsertSingPosition.AllPages) {
48250
+ for (let pageNum = 1; pageNum < pageCount + 1; pageNum++) {
48251
+ __classPrivateFieldGet(this, _SignaturesService_instances, "m", _SignaturesService_constructAndDrawSignature).call(this, pageNum, sign.image);
48252
+ }
48253
+ }
48254
+ }, _SignaturesService_getTitle = function _SignaturesService_getTitle(selectAnot) {
48255
+ if (selectAnot && selectAnot['applyMovingToAllPages']) {
48256
+ return this.translateService.instant('viewer.Motion is synchronized with all pages');
48257
+ }
48258
+ else {
48259
+ return this.translateService.instant('viewer.Motion is not synchronized with all pages');
48260
+ }
48261
+ }, _SignaturesService_constructAndDrawSignature = function _SignaturesService_constructAndDrawSignature(page, signImg) {
48262
+ const signatureAnnot = new this.pdftronService.instance.Annotations.StampAnnotation();
48263
+ signatureAnnot.PageNumber = page;
48264
+ let pageHeight = this.pdftronService.instance.docViewer.getPageHeight(page);
48265
+ let pageWidth = this.pdftronService.instance.docViewer.getPageWidth(page);
48266
+ signatureAnnot.X = pageWidth - 180;
48267
+ signatureAnnot.Y = pageHeight - 110;
48268
+ signatureAnnot.Width = 140;
48269
+ signatureAnnot.Height = 60;
48270
+ const keepAsSVG = false;
48271
+ signatureAnnot.setImageData(signImg, keepAsSVG);
48272
+ signatureAnnot.Author = this.pdftronService.instance.annotManager.getCurrentUser();
48273
+ this.pdftronService.instance.annotManager.addAnnotation(signatureAnnot);
48274
+ this.pdftronService.instance.annotManager.redrawAnnotation(signatureAnnot);
48275
+ }, _SignaturesService_checkIfHasSignatures = function _SignaturesService_checkIfHasSignatures() {
48276
+ this.hasSignatures$.next(__classPrivateFieldGet(this, _SignaturesService_trackedSignatures, "f").length > 0);
48277
+ }, _SignaturesService_registerAuditLog = function _SignaturesService_registerAuditLog(docId, eventType) {
48278
+ return this.customAutomation({
48279
+ operation: this.operations.audit,
48280
+ input: docId,
48281
+ params: { event: eventType }
48282
+ });
48283
+ };
48284
+ SignaturesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SignaturesService, deps: [{ token: i0.Injector }, { token: EmdhaService }, { token: PdftronService }, { token: DocumentsService }], target: i0.ɵɵFactoryTarget.Injectable });
48285
+ SignaturesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SignaturesService, providedIn: 'root' });
48286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SignaturesService, decorators: [{
48287
+ type: Injectable,
48288
+ args: [{ providedIn: 'root' }]
48289
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: EmdhaService }, { type: PdftronService }, { type: DocumentsService }]; } });
48290
+
48291
+ var _NdfSignaturePanelComponent_instances, _NdfSignaturePanelComponent_loadSignatures;
48292
+ class NdfSignaturePanelComponent extends BaseComponent {
48293
+ constructor(injector, signaturesService, dialog) {
48294
+ super(injector);
48295
+ this.signaturesService = signaturesService;
48296
+ this.dialog = dialog;
48297
+ _NdfSignaturePanelComponent_instances.add(this);
48298
+ this.allowedSignTypes = 'image/png,image/jpg,image/jpeg';
48299
+ this.svgDeleteIcon = 'icons:delete_elements';
48300
+ this.enableMultiSign = false;
48301
+ this.userSignatures = [];
48302
+ this.signaturePosition = [
48303
+ { label: 'viewer.current_page_only', id: InsertSingPosition.CurrentPage },
48304
+ { label: 'viewer.first_page_only', id: InsertSingPosition.FirstPage },
48305
+ { label: 'viewer.last_page_only', id: InsertSingPosition.LastPage }
48306
+ ];
48307
+ this.signaturesService.reset();
48308
+ }
48309
+ ngOnInit() {
48310
+ if (this.enableMultiSign) {
48311
+ this.signaturePosition.push(...[
48312
+ { label: 'viewer.first_last_pages', id: InsertSingPosition.FirstLastPage },
48313
+ { label: 'viewer.all_pages', id: InsertSingPosition.AllPages },
48314
+ ]);
48315
+ }
48316
+ __classPrivateFieldGet(this, _NdfSignaturePanelComponent_instances, "m", _NdfSignaturePanelComponent_loadSignatures).call(this);
48317
+ }
48318
+ addNewSign() {
48319
+ this.signatureUploadInput.nativeElement.click();
48320
+ }
48321
+ applySignToDocument() {
48322
+ if (!this.selectedSign || !this.selectedPosition)
48323
+ return;
48324
+ this.signaturesService.applySignToDocument(this.selectedSign, this.selectedPosition);
48325
+ }
48326
+ saveSignature(event) {
48327
+ if (!this.allowedSignTypes.split(',').includes(event.target.files[0].type)) {
48328
+ this.toastrService.error('viewer.notAllowedType');
48329
+ }
48330
+ else {
48331
+ this.loading = true;
48332
+ this.signaturesService
48333
+ .addUserSignature(event.target.files[0])
48334
+ .pipe(takeUntil(this.destroy$), finalize(() => {
48335
+ this.loading = false;
48336
+ const input = event.target;
48337
+ input.value = null;
48338
+ }))
48339
+ .subscribe((data) => {
48340
+ this.userSignatures = data;
48341
+ this.toastrService.success('viewer.sing_created_success');
48342
+ });
48343
+ }
48344
+ }
48345
+ selectSignature(sign) {
48346
+ this.selectedSign = sign;
48347
+ }
48348
+ deleteSignature(sign) {
48349
+ var _a, _b;
48350
+ this.dialog.open(((_a = this.customConfirmationDialog) === null || _a === void 0 ? void 0 : _a.component) || ConfirmationDialogComponent, ((_b = this.customConfirmationDialog) === null || _b === void 0 ? void 0 : _b.config) || {
48351
+ width: "510px",
48352
+ data: {
48353
+ title: this.translateService.instant("confirmDialog.confirm"),
48354
+ message: this.translateService.instant('viewer.confirm_sign_delete'),
48355
+ confirmButton: `viewer.sing_deleted_success`,
48356
+ cancelButton: "BUTTONS.Cancel",
48357
+ },
48358
+ disableClose: true,
48359
+ }).afterClosed().subscribe(data => {
48360
+ if (data) {
48361
+ this.loading = true;
48362
+ this.signaturesService.deleteUserSignature(sign).pipe(takeUntil(this.destroy$), finalize(() => (this.loading = false))).subscribe((data) => {
48363
+ this.userSignatures = data;
48364
+ this.toastrService.success('viewer.sing_deleted_success');
48365
+ });
48366
+ }
48367
+ });
48368
+ }
48369
+ }
48370
+ _NdfSignaturePanelComponent_instances = new WeakSet(), _NdfSignaturePanelComponent_loadSignatures = function _NdfSignaturePanelComponent_loadSignatures() {
48371
+ this.loading = true;
48372
+ this.signaturesService
48373
+ .getUserSignatures()
48374
+ .pipe(finalize(() => (this.loading = false)))
48375
+ .subscribe((data) => {
48376
+ this.userSignatures = data;
48377
+ });
48378
+ };
48379
+ NdfSignaturePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfSignaturePanelComponent, deps: [{ token: i0.Injector }, { token: SignaturesService }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
48380
+ NdfSignaturePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfSignaturePanelComponent, selector: "ndf-signature-panel", inputs: { allowedSignTypes: "allowedSignTypes", svgDeleteIcon: "svgDeleteIcon", enableMultiSign: "enableMultiSign", customConfirmationDialog: "customConfirmationDialog" }, queries: [{ propertyName: "addTemplate", first: true, predicate: ["addTemplate"], descendants: true }, { propertyName: "appendSigntoDoc", first: true, predicate: ["appendSigntoDoc"], descendants: true }], viewQueries: [{ propertyName: "signatureUploadInput", first: true, predicate: ["signatureUploadInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input\r\n type=\"file\"\r\n class=\"hidden\"\r\n #signatureUploadInput\r\n [accept]=\"allowedSignTypes\"\r\n (change)=\"saveSignature($event)\"\r\n/>\r\n<div class=\"ndf-signature-panel\">\r\n <div class=\"selecting-sign-iner-eraper\">\r\n <div class=\"section-title flex justify-between\">\r\n {{ \"viewer.choose_signature\" | translate }}\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n addTemplate;\r\n context: {\r\n action: addNewSign.bind(this),\r\n loading: loading,\r\n signaturesLength: userSignatures?.length\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n\r\n <mat-progress-bar\r\n *ngIf=\"loading\"\r\n [mode]=\"'indeterminate'\"\r\n class=\"mt-1\"\r\n ></mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-container *ngIf=\"userSignatures?.length; else showNoSignatures\">\r\n <div class=\"sign-imges mt-6\">\r\n <span\r\n *ngFor=\"let sign of userSignatures\"\r\n class=\"single-sign-img-container\"\r\n [ngClass]=\"{\r\n selected_sign: sign.id === selectedSign?.id\r\n }\"\r\n >\r\n <img [src]=\"sign.image\" (click)=\"selectSignature(sign)\" />\r\n <mat-icon\r\n [svgIcon]=\"svgDeleteIcon\"\r\n class=\"delete-sign\"\r\n (click)=\"deleteSignature(sign)\"\r\n ></mat-icon>\r\n </span>\r\n </div>\r\n <div class=\"sign-options mt-4\">\r\n <label class=\"sign-position\">\r\n {{ \"viewer.sign_position\" | translate }}\r\n </label>\r\n <mat-radio-group\r\n class=\"opsition-options-wraper\"\r\n [(ngModel)]=\"selectedPosition\"\r\n >\r\n <mat-radio-button\r\n *ngFor=\"let opt of signaturePosition\"\r\n class=\"single-option\"\r\n [value]=\"opt.id\"\r\n >{{ opt.label | translate }}</mat-radio-button\r\n >\r\n </mat-radio-group>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n appendSigntoDoc;\r\n context: {\r\n action: applySignToDocument.bind(this),\r\n disabled: !selectedPosition || !selectedSign || loading\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #showNoSignatures>\r\n <app-no-data-found\r\n message=\"viewer.no_sign_for_certificate\"\r\n ></app-no-data-found>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".ndf-signature-panel{overflow-x:hidden}.sign-imges{display:flex;grid-gap:10px;gap:10px;text-align:center;overflow-x:auto;height:100px;align-items:center}.sign-imges .single-sign-img-container{min-width:100px;width:100px;height:65px;box-shadow:0 1px 4px -1px #1c345442;cursor:pointer;position:relative}.sign-imges .single-sign-img-container img{height:100%;width:100%;padding:5px}.sign-imges .single-sign-img-container img:hover{transform:scale(1.1)}.sign-imges .single-sign-img-container.selected_sign{box-shadow:none;border:1px solid var(--selected-sign-border-color, #ddd)}.sign-imges .single-sign-img-container .delete-sign{position:absolute;top:-8px;left:0;border-radius:50%;padding:3px;color:var(--delete-sign-color, red);background:var(--delete-sign-bg-color, #ddd);cursor:pointer}.sign-imges .single-sign-img-container .delete-sign:hover{transform:scale(1.1)}mat-radio-button{display:block}::ng-deep .delete-sign.mat-icon svg{width:16px!important;height:16px!important}\n"], components: [{ type: i4$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: NoDataFoundComponent, selector: "app-no-data-found", inputs: ["message", "width", "height"] }], directives: [{ type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$5.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1.TranslatePipe } });
48381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfSignaturePanelComponent, decorators: [{
48382
+ type: Component,
48383
+ args: [{
48384
+ selector: 'ndf-signature-panel',
48385
+ templateUrl: './ndf-signature-panel.component.html',
48386
+ styleUrls: ['./ndf-signature-panel.component.scss'],
48387
+ }]
48388
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: SignaturesService }, { type: i1$3.MatDialog }]; }, propDecorators: { addTemplate: [{
48389
+ type: ContentChild,
48390
+ args: ['addTemplate']
48391
+ }], appendSigntoDoc: [{
48392
+ type: ContentChild,
48393
+ args: ['appendSigntoDoc']
48394
+ }], signatureUploadInput: [{
48395
+ type: ViewChild,
48396
+ args: ['signatureUploadInput']
48397
+ }], allowedSignTypes: [{
48398
+ type: Input
48399
+ }], svgDeleteIcon: [{
48400
+ type: Input
48401
+ }], enableMultiSign: [{
48402
+ type: Input
48403
+ }], customConfirmationDialog: [{
48404
+ type: Input
48405
+ }] } });
48406
+
48407
+ class NdfSignaturesModule {
48408
+ }
48409
+ NdfSignaturesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfSignaturesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48410
+ NdfSignaturesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfSignaturesModule, declarations: [NdfSignaturePanelComponent,
48411
+ EmdhaAuthDialog], imports: [CommonModule,
48412
+ TranslateModule,
48413
+ FormsModule,
48414
+ ReactiveFormsModule,
48415
+ MatProgressBarModule,
48416
+ MatIconModule,
48417
+ MatRadioModule,
48418
+ MatIconModule,
48419
+ NoDataModule,
48420
+ DynamicFormModule,
48421
+ NuxeoDialogModule], exports: [NdfSignaturePanelComponent,
48422
+ EmdhaAuthDialog] });
48423
+ NdfSignaturesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfSignaturesModule, imports: [[
48424
+ CommonModule,
48425
+ TranslateModule,
48426
+ FormsModule,
48427
+ ReactiveFormsModule,
48428
+ MatProgressBarModule,
48429
+ MatIconModule,
48430
+ MatRadioModule,
48431
+ MatIconModule,
48432
+ NoDataModule,
48433
+ DynamicFormModule,
48434
+ NuxeoDialogModule,
48435
+ ]] });
48436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfSignaturesModule, decorators: [{
48437
+ type: NgModule,
48438
+ args: [{
48439
+ declarations: [
48440
+ NdfSignaturePanelComponent,
48441
+ EmdhaAuthDialog
48442
+ ],
48443
+ imports: [
48444
+ CommonModule,
48445
+ TranslateModule,
48446
+ FormsModule,
48447
+ ReactiveFormsModule,
48448
+ MatProgressBarModule,
48449
+ MatIconModule,
48450
+ MatRadioModule,
48451
+ MatIconModule,
48452
+ NoDataModule,
48453
+ DynamicFormModule,
48454
+ NuxeoDialogModule,
48455
+ ],
48456
+ exports: [
48457
+ NdfSignaturePanelComponent,
48458
+ EmdhaAuthDialog
48459
+ ]
48460
+ }]
48461
+ }] });
48462
+
47769
48463
  /*
47770
48464
  * Public API Surface of nuxeo-development-framework
47771
48465
  */
@@ -47774,5 +48468,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
47774
48468
  * Generated bundle index. Do not edit.
47775
48469
  */
47776
48470
 
47777
- export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, ColumnRendererRegistryService, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomReportsRegistry, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GeneralNotificationPopupComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService$1 as VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, nuxeoBaseUrl, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
48471
+ export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, ColumnRendererRegistryService, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomReportsRegistry, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmdhaAuthDialog, EmdhaService, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GeneralNotificationPopupComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, InsertSingPosition, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfSignaturePanelComponent, NdfSignaturesModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SignatureType, SignaturesService, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransactionStatus, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService$1 as VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, nuxeoBaseUrl, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
47778
48472
  //# sourceMappingURL=nuxeo-development-framework.js.map