nuxeo-development-framework 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +110 -28
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +5 -4
  4. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +45 -16
  5. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +30 -1
  6. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +2 -6
  7. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +1 -1
  8. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +2 -2
  9. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +2 -2
  10. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +2 -2
  11. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +2 -2
  12. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +32 -5
  13. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +1 -1
  14. package/fesm2015/nuxeo-development-framework.js +109 -28
  15. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  16. package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +4 -1
  17. package/lib/components/cts-tags/services/tags-api.service.d.ts +2 -0
  18. package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +5 -2
  19. package/package.json +1 -1
@@ -8594,6 +8594,21 @@
8594
8594
  throw err;
8595
8595
  }));
8596
8596
  };
8597
+ // adding tags and sending data in params not in body
8598
+ TagsApiService.prototype.addingTagsWithParams = function (documentId, tags, apiName) {
8599
+ var params = {
8600
+ tags: tags.toString(),
8601
+ };
8602
+ return rxjs.from(this.nuxeoService.nuxeoClient
8603
+ .operation(apiName, {
8604
+ url: "" + this.environment.nuxeo + this.environment.customAutomation,
8605
+ })
8606
+ .params(Object.assign({}, params))
8607
+ .input(documentId)
8608
+ .execute()).pipe(operators.catchError(function (err) {
8609
+ throw err;
8610
+ }));
8611
+ };
8597
8612
  TagsApiService.prototype.deleteTagsToCorrespondence = function (correspondenceId, tag) {
8598
8613
  return rxjs.from(this.nuxeoService.nuxeoClient
8599
8614
  .operation('AC_UA_Correspondence_Tag_Delete', {
@@ -8607,6 +8622,20 @@
8607
8622
  throw err;
8608
8623
  }));
8609
8624
  };
8625
+ TagsApiService.prototype.deleteTagWithParams = function (correspondenceId, tag, apiName) {
8626
+ var params = {
8627
+ tags: tag,
8628
+ };
8629
+ return rxjs.from(this.nuxeoService.nuxeoClient
8630
+ .operation(apiName, {
8631
+ url: "" + this.environment.nuxeo + this.environment.customAutomation,
8632
+ })
8633
+ .input(correspondenceId)
8634
+ .params(Object.assign({}, params))
8635
+ .execute()).pipe(operators.catchError(function (err) {
8636
+ throw err;
8637
+ }));
8638
+ };
8610
8639
  TagsApiService.prototype.tagsSuggestion = function (term) {
8611
8640
  return rxjs.from(this.nuxeoService.nuxeoClient
8612
8641
  .operation('Tag.Suggestion', {
@@ -10125,7 +10154,7 @@
10125
10154
  return UserSelectorWrapperComponent;
10126
10155
  }());
10127
10156
  UserSelectorWrapperComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: UserSelectorWrapperComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
10128
- UserSelectorWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: UserSelectorWrapperComponent, selector: "lib-user-selector-wrapper", inputs: { value: "value", multipleMode: "multipleMode", customOptions: "customOptions" }, outputs: { valueChange: "valueChange" }, ngImport: i0__namespace, template: "<cts-dynamic-form-select-users placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{'CREATE.USER' | translate}}\"\n [multiple]=\"multipleMode\"\n [searchable]=\"true\"\n [bindLabel]=\"'fullName'\"\n [closeOnSelect]=\"!multipleMode\"\n [searchable]=\"true\"\n [deptTitle]=\"'all'\"\n [preSelectedValues]=\"[]\"\n [usePreSelectedValue]=\"true\"\n (onSelectItems)=\"executeFunction($event)\"\n (ngModelChange)=\"checkChange($event)\"\n [(ngModel)]=\"bindedValue\" >\n</cts-dynamic-form-select-users>\n <!-- -->\n\n<!-- <div>{{customOptions | json}}</div>\n<div>{{multipleMode}}</div> -->", styles: [""], components: [{ type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: ["deptTitle", "label", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "preSelectedValues", "usePreSelectedValue", "disabled", "filter"], outputs: ["onSelectItems"] }], directives: [{ type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1__namespace$1.TranslatePipe } });
10157
+ UserSelectorWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: UserSelectorWrapperComponent, selector: "lib-user-selector-wrapper", inputs: { value: "value", multipleMode: "multipleMode", customOptions: "customOptions" }, outputs: { valueChange: "valueChange" }, ngImport: i0__namespace, template: "<cts-dynamic-form-select-users placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{'CREATE.USER' | translate}}\"\r\n [multiple]=\"multipleMode\"\r\n [searchable]=\"true\"\r\n [bindLabel]=\"'fullName'\"\r\n [closeOnSelect]=\"!multipleMode\"\r\n [searchable]=\"true\"\r\n [deptTitle]=\"'all'\"\r\n [preSelectedValues]=\"[]\"\r\n [usePreSelectedValue]=\"true\"\r\n (onSelectItems)=\"executeFunction($event)\"\r\n (ngModelChange)=\"checkChange($event)\"\r\n [(ngModel)]=\"bindedValue\" >\r\n</cts-dynamic-form-select-users>\r\n <!-- -->\r\n\r\n<!-- <div>{{customOptions | json}}</div>\r\n<div>{{multipleMode}}</div> -->", styles: [""], components: [{ type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: ["deptTitle", "label", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "preSelectedValues", "usePreSelectedValue", "disabled", "filter"], outputs: ["onSelectItems"] }], directives: [{ type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1__namespace$1.TranslatePipe } });
10129
10158
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: UserSelectorWrapperComponent, decorators: [{
10130
10159
  type: i0.Component,
10131
10160
  args: [{
@@ -11268,11 +11297,7 @@
11268
11297
  }
11269
11298
  else {
11270
11299
  this.documentsApi.getDocument(docId).subscribe(function (file) {
11271
- _this.documentSelect.emit({
11272
- urlFileContent: file.properties.content.data,
11273
- docId: '' + docId,
11274
- title: file.title,
11275
- });
11300
+ _this.documentSelect.emit(file);
11276
11301
  }, function (error) {
11277
11302
  console.error(error);
11278
11303
  _this.toastr
@@ -13158,7 +13183,7 @@
13158
13183
  return CutomeVocViewerComponent;
13159
13184
  }());
13160
13185
  CutomeVocViewerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CutomeVocViewerComponent, deps: [{ token: TranslationService$1 }], target: i0__namespace.ɵɵFactoryTarget.Component });
13161
- CutomeVocViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: { type: "type", group: "group" }, ngImport: i0__namespace, template: "<span *ngIf=\"group\">\n <span *ngIf=\"type === 'vocabulary'\">\n {{\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key | translate\n }}\n </span>\n <span *ngIf=\"type === 'custom-voc'\">\n {{\n isArabic\n ? group.fetchedKey.properties.label_ar\n : group.fetchedKey.properties.label_en\n }}\n </span>\n</span>\n", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace$1.TranslatePipe } });
13186
+ CutomeVocViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: { type: "type", group: "group" }, ngImport: i0__namespace, template: "<span *ngIf=\"group\">\r\n <span *ngIf=\"type === 'vocabulary'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key | translate\r\n }}\r\n </span>\r\n <span *ngIf=\"type === 'custom-voc'\">\r\n {{\r\n isArabic\r\n ? group.fetchedKey.properties.label_ar\r\n : group.fetchedKey.properties.label_en\r\n }}\r\n </span>\r\n</span>\r\n", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace$1.TranslatePipe } });
13162
13187
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CutomeVocViewerComponent, decorators: [{
13163
13188
  type: i0.Component,
13164
13189
  args: [{
@@ -13205,7 +13230,7 @@
13205
13230
  return CustomPpViewerComponent;
13206
13231
  }());
13207
13232
  CustomPpViewerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CustomPpViewerComponent, deps: [{ token: CallApiService }, { token: TranslationService$1 }], target: i0__namespace.ɵɵFactoryTarget.Component });
13208
- CustomPpViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: { pageProvider: "pageProvider", group: "group" }, ngImport: i0__namespace, template: "<span *ngIf=\"data\">\n {{isArabic ? data['category:arabicTitle'] : data['dc:title']}}\n</span>", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13233
+ CustomPpViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: { pageProvider: "pageProvider", group: "group" }, ngImport: i0__namespace, template: "<span *ngIf=\"data\">\r\n {{isArabic ? data['category:arabicTitle'] : data['dc:title']}}\r\n</span>", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13209
13234
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CustomPpViewerComponent, decorators: [{
13210
13235
  type: i0.Component,
13211
13236
  args: [{
@@ -13252,7 +13277,7 @@
13252
13277
  return CustomDocumentViewerComponent;
13253
13278
  }());
13254
13279
  CustomDocumentViewerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CustomDocumentViewerComponent, deps: [{ token: CallApiService }, { token: TranslationService$1 }], target: i0__namespace.ɵɵFactoryTarget.Component });
13255
- CustomDocumentViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: { pageProvider: "pageProvider", group: "group" }, ngImport: i0__namespace, template: "<span *ngIf=\"data\">\n {{isArabic ? data['documenttypee:arabicTitle'] : data['dc:title']}}\n</span>", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13280
+ CustomDocumentViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: { pageProvider: "pageProvider", group: "group" }, ngImport: i0__namespace, template: "<span *ngIf=\"data\">\r\n {{isArabic ? data['documenttypee:arabicTitle'] : data['dc:title']}}\r\n</span>", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13256
13281
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CustomDocumentViewerComponent, decorators: [{
13257
13282
  type: i0.Component,
13258
13283
  args: [{
@@ -17623,6 +17648,7 @@
17623
17648
  this.nuxeoService = nuxeoService;
17624
17649
  this.removable = false;
17625
17650
  this.loading = false;
17651
+ this.useParams = false;
17626
17652
  this.tagsFrom = new i3$1.FormGroup({
17627
17653
  tag: new i3$1.FormControl(null, i3$1.Validators.required),
17628
17654
  });
@@ -17638,29 +17664,51 @@
17638
17664
  var _this = this;
17639
17665
  this.loading = true;
17640
17666
  if (this.tagsFrom.valid) {
17641
- this.tagsApiService
17642
- .addTagsToCorrespondence(this.correspondenceId, this.tagsFrom.value.tag)
17643
- .subscribe(function (res) {
17644
- _this.loading = false;
17645
- _this.tagsApiService.getUpdatedFile.next(); // add > service -> vwer sub updae
17646
- _this.removable = !_this.removable;
17647
- }, function (err) {
17648
- _this.loading = false;
17649
- });
17667
+ if (this.useParams) {
17668
+ this.tagsApiService
17669
+ .addingTagsWithParams(this.correspondenceId, this.tagsFrom.value.tag, this.addCustomApiName)
17670
+ .subscribe(function (res) {
17671
+ _this.loading = false;
17672
+ _this.tagsApiService.getUpdatedFile.next(); // add > service -> vwer sub updae
17673
+ _this.removable = !_this.removable;
17674
+ }, function (err) {
17675
+ _this.loading = false;
17676
+ });
17677
+ }
17678
+ else {
17679
+ this.tagsApiService
17680
+ .addTagsToCorrespondence(this.correspondenceId, this.tagsFrom.value.tag)
17681
+ .subscribe(function (res) {
17682
+ _this.loading = false;
17683
+ _this.tagsApiService.getUpdatedFile.next(); // add > service -> vwer sub updae
17684
+ _this.removable = !_this.removable;
17685
+ }, function (err) {
17686
+ _this.loading = false;
17687
+ });
17688
+ }
17650
17689
  }
17651
17690
  };
17652
17691
  CorrespondenceTagsComponent.prototype.deleteTag = function (tagId) {
17653
17692
  var _this = this;
17654
- this.tagsApiService
17655
- .deleteTagsToCorrespondence(this.correspondenceId, tagId)
17656
- .subscribe(function (res) {
17657
- _this.tagsApiService.getUpdatedFile.next();
17658
- }, function (err) { });
17693
+ if (this.useParams) {
17694
+ this.tagsApiService
17695
+ .deleteTagWithParams(this.correspondenceId, tagId, this.deleteCustomApiName)
17696
+ .subscribe(function (res) {
17697
+ _this.tagsApiService.getUpdatedFile.next();
17698
+ }, function (err) { });
17699
+ }
17700
+ else {
17701
+ this.tagsApiService
17702
+ .deleteTagsToCorrespondence(this.correspondenceId, tagId)
17703
+ .subscribe(function (res) {
17704
+ _this.tagsApiService.getUpdatedFile.next();
17705
+ }, function (err) { });
17706
+ }
17659
17707
  };
17660
17708
  return CorrespondenceTagsComponent;
17661
17709
  }());
17662
17710
  CorrespondenceTagsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CorrespondenceTagsComponent, deps: [{ token: TagsApiService }, { token: NuxeoService$1 }], target: i0__namespace.ɵɵFactoryTarget.Component });
17663
- CorrespondenceTagsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CorrespondenceTagsComponent, selector: "cts-correspondence-tags", inputs: { correspondence: "correspondence", customClass: "customClass" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"{{customClass}}\">\r\n <div class=\"tags-header\">\r\n <div class=\"tag-header-title\">{{ \"Tags.tags\" | translate }}</div>\r\n <div\r\n \r\n class=\"allowEdit-tag-btn\"\r\n *permission=\"{ name: 'addTag', entity: correspondence, user: nuxeoService.nuxeoClient.user }\"\r\n (click)=\"removable = !removable\"\r\n >\r\n <span class=\"bi bi-plus-lg detailed-menu\" [matTooltip]=\"'Tags.toolTip' | translate\" *ngIf=\"!removable\"></span>\r\n <span class=\"tags-close-icon bi bi-x detailed-menu\" [matTooltip]=\"'Tags.Close' | translate\" *ngIf=\"removable\"></span>\r\n </div>\r\n </div>\r\n <div class=\"tags-wrapper\">\r\n <ng-container *ngIf=\"removable\">\r\n <div class=\"add-tag-container\">\r\n <div class=\"tag-form-container\">\r\n <form [formGroup]=\"tagsFrom\">\r\n <cts-dynamic-form-select-tag formControlName=\"tag\">\r\n </cts-dynamic-form-select-tag>\r\n </form>\r\n </div>\r\n <div class=\"add-tag-btn\">\r\n <cts-button\r\n [disabled]=\"this.tagsFrom.invalid\"\r\n [loading]=\"loading\"\r\n (onClick)=\"addTag()\"\r\n class=\"detailed-menu\"\r\n >{{ \"BUTTONS.ADD\" | translate }}</cts-button\r\n >\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"tagsList.length > 0; else noEntry\">\r\n <div class=\"tags-list-container row\">\r\n <mat-chip-list *ngFor=\"let tag of tagsList\">\r\n <mat-chip [removable]=\"removable\" (removed)=\"deleteTag(tag)\"\r\n >{{ tag }} <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n\r\n<ng-template #noEntry>\r\n <cts-no-data [message]=\"'Tags.noEntry'\" [border]=\"false\"></cts-no-data>\r\n</ng-template>\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}.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.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.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}.tags-header{display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:14px}.tags-header .allowEdit-tag-btn{cursor:pointer}.tags-header .allowEdit-tag-btn span{color:#1a96c6;font-size:18px}.tags-header .allowEdit-tag-btn .tags-close-icon{display:flex;font-size:30px}.tags-wrapper{padding:5px 16px;border:1px solid #d9dce2;display:flex;flex-direction:column;grid-row-gap:8px;row-gap:8px}.tags-wrapper .add-tag-container{display:flex;justify-content:space-between;grid-column-gap:6px;column-gap:6px}.tags-wrapper .add-tag-container .tag-form-container{width:80%}.tags-wrapper .add-tag-container .add-tag-btn{width:20%}.tags-wrapper .tags-list-container{display:flex;grid-column-gap:4px;column-gap:4px;grid-row-gap:8px;row-gap:8px;margin:0}\n"], components: [{ type: DynamicFormSelectTagComponent, selector: "cts-dynamic-form-select-tag", inputs: ["label"] }, { type: ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme"], outputs: ["onClick"] }, { type: i5__namespace$1.MatChipList, selector: "mat-chip-list", inputs: ["aria-orientation", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "selectable", "tabIndex", "errorStateMatcher"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i3__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9__namespace.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i5__namespace$1.MatChipRemove, selector: "[matChipRemove]" }], pipes: { "translate": i1__namespace$1.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
17711
+ CorrespondenceTagsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: CorrespondenceTagsComponent, selector: "cts-correspondence-tags", inputs: { correspondence: "correspondence", customClass: "customClass", addCustomApiName: "addCustomApiName", deleteCustomApiName: "deleteCustomApiName", useParams: "useParams" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"{{customClass}}\">\r\n <div class=\"tags-header\">\r\n <div class=\"tag-header-title\">{{ \"Tags.tags\" | translate }}</div>\r\n <div\r\n \r\n class=\"allowEdit-tag-btn\"\r\n *permission=\"{ name: 'addTag', entity: correspondence, user: nuxeoService.nuxeoClient.user }\"\r\n (click)=\"removable = !removable\"\r\n >\r\n <span class=\"bi bi-plus-lg detailed-menu\" [matTooltip]=\"'Tags.toolTip' | translate\" *ngIf=\"!removable\"></span>\r\n <span class=\"tags-close-icon bi bi-x detailed-menu\" [matTooltip]=\"'Tags.Close' | translate\" *ngIf=\"removable\"></span>\r\n </div>\r\n </div>\r\n <div class=\"tags-wrapper\">\r\n <ng-container *ngIf=\"removable\">\r\n <div class=\"add-tag-container\">\r\n <div class=\"tag-form-container\">\r\n <form [formGroup]=\"tagsFrom\">\r\n <cts-dynamic-form-select-tag formControlName=\"tag\">\r\n </cts-dynamic-form-select-tag>\r\n </form>\r\n </div>\r\n <div class=\"add-tag-btn\">\r\n <cts-button\r\n [disabled]=\"this.tagsFrom.invalid\"\r\n [loading]=\"loading\"\r\n (onClick)=\"addTag()\"\r\n class=\"detailed-menu\"\r\n >{{ \"BUTTONS.ADD\" | translate }}</cts-button\r\n >\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"tagsList.length > 0; else noEntry\">\r\n <div class=\"tags-list-container row\">\r\n <mat-chip-list *ngFor=\"let tag of tagsList\">\r\n <mat-chip [removable]=\"removable\" (removed)=\"deleteTag(tag)\"\r\n >{{ tag }} <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n\r\n<ng-template #noEntry>\r\n <cts-no-data [message]=\"'Tags.noEntry'\" [border]=\"false\"></cts-no-data>\r\n</ng-template>\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}.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.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.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}.tags-header{display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:14px}.tags-header .allowEdit-tag-btn{cursor:pointer}.tags-header .allowEdit-tag-btn span{color:#1a96c6;font-size:18px}.tags-header .allowEdit-tag-btn .tags-close-icon{display:flex;font-size:30px}.tags-wrapper{padding:5px 16px;border:1px solid #d9dce2;display:flex;flex-direction:column;grid-row-gap:8px;row-gap:8px}.tags-wrapper .add-tag-container{display:flex;justify-content:space-between;grid-column-gap:6px;column-gap:6px}.tags-wrapper .add-tag-container .tag-form-container{width:80%}.tags-wrapper .add-tag-container .add-tag-btn{width:20%}.tags-wrapper .tags-list-container{display:flex;grid-column-gap:4px;column-gap:4px;grid-row-gap:8px;row-gap:8px;margin:0}\n"], components: [{ type: DynamicFormSelectTagComponent, selector: "cts-dynamic-form-select-tag", inputs: ["label"] }, { type: ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme"], outputs: ["onClick"] }, { type: i5__namespace$1.MatChipList, selector: "mat-chip-list", inputs: ["aria-orientation", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "selectable", "tabIndex", "errorStateMatcher"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i3__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9__namespace.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i5__namespace$1.MatChipRemove, selector: "[matChipRemove]" }], pipes: { "translate": i1__namespace$1.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
17664
17712
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: CorrespondenceTagsComponent, decorators: [{
17665
17713
  type: i0.Component,
17666
17714
  args: [{
@@ -17673,6 +17721,12 @@
17673
17721
  type: i0.Input
17674
17722
  }], customClass: [{
17675
17723
  type: i0.Input
17724
+ }], addCustomApiName: [{
17725
+ type: i0.Input
17726
+ }], deleteCustomApiName: [{
17727
+ type: i0.Input
17728
+ }], useParams: [{
17729
+ type: i0.Input
17676
17730
  }] } });
17677
17731
 
17678
17732
  /**
@@ -18600,7 +18654,7 @@
18600
18654
  return VersionsComponent;
18601
18655
  }());
18602
18656
  VersionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: VersionsComponent, deps: [{ token: ViewerFilesService }, { token: DocumentsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
18603
- VersionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.current\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(file)\">\r\n <div class=\"description\">\r\n {{ file.properties.major_version }}.{{\r\n file.properties.minor_version\r\n }}\r\n -\r\n {{ file.lastModified | localizedDate }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" *ngIf=\"versions.length > 0\">\r\n <div class=\"subheader\">\r\n <div>{{ \"viewer.origin\" | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list\r\n [item]=\"versions[versions.length -1]\"\r\n [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\"\r\n >\r\n \r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.history\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container >\r\n\r\n\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + ' - ' + ( cnt - (i-1) - 1 ) \" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\">\r\n <div class=\"description\">\r\n {{ version.properties.major_version }}.{{\r\n version.properties.minor_version\r\n }}\r\n -\r\n {{ version.lastModified | localizedDate }}\r\n <span class=\"font-weight-bold\">\r\n {{\r\n version.properties.lastContributor.properties.firstName +\r\n \" \" +\r\n version.properties.lastContributor.properties.lastName\r\n }}\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"versions.length === 0\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n<ng-template #noEntry>\r\n \r\n</ng-template>\r\n", styles: [""], components: [{ type: i2__namespace$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1__namespace$1.TranslatePipe, "localizedDate": LocalizedDatePipe } });
18657
+ VersionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.current\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(file)\">\r\n <div class=\"description\">\r\n {{ file.properties.major_version }}.{{\r\n file.properties.minor_version\r\n }}\r\n -\r\n {{ file.lastModified | localizedDate }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" *ngIf=\"versions.length > 0\">\r\n <div class=\"subheader\">\r\n <div>{{ \"viewer.origin\" | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list\r\n [item]=\"versions[versions.length -1]\"\r\n [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\"\r\n >\r\n \r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" *permission=\"{name: 'viewVersions', entity: file}\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.history\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container >\r\n\r\n\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + ' - ' + ( cnt - (i-1) - 1 ) \" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\">\r\n <div class=\"description\">\r\n {{ version.properties.major_version }}.{{\r\n version.properties.minor_version\r\n }}\r\n -\r\n {{ version.lastModified | localizedDate }}\r\n <span class=\"font-weight-bold\">\r\n {{\r\n version.properties.lastContributor.properties.firstName +\r\n \" \" +\r\n version.properties.lastContributor.properties.lastName\r\n }}\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"versions.length === 0\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n<ng-template #noEntry>\r\n \r\n</ng-template>\r\n", styles: [""], components: [{ type: i2__namespace$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1__namespace$1.TranslatePipe, "localizedDate": LocalizedDatePipe } });
18604
18658
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: VersionsComponent, decorators: [{
18605
18659
  type: i0.Component,
18606
18660
  args: [{
@@ -18932,6 +18986,7 @@
18932
18986
  this.actionClicked = false; // used to know if there is action clicked outside to start edit mode or not
18933
18987
  this.DOCUMENT_TYPE = 'application/pdf';
18934
18988
  this.fitMode = 'FitWidth';
18989
+ this.events = new i0.EventEmitter();
18935
18990
  }
18936
18991
  PdftronComponent.prototype.ngOnInit = function () {
18937
18992
  return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
@@ -18961,10 +19016,11 @@
18961
19016
  forceClientSideInit: true,
18962
19017
  streaming: true,
18963
19018
  licenseKey: this.environment.pdftronLicenceKey,
18964
- disabledElements: ['downloadButton'],
19019
+ disabledElements: ['downloadButton', 'printButton'],
18965
19020
  }, this.viewerRef.nativeElement).then(function (instance) { return __awaiter(_this, void 0, void 0, function () {
18966
19021
  return __generator(this, function (_a) {
18967
19022
  this.pdftronService.instance = this.webViewerInstance = instance;
19023
+ this.addPrintButton();
18968
19024
  this.addDownloadButton();
18969
19025
  this.loadDocument();
18970
19026
  return [2 /*return*/];
@@ -18994,12 +19050,27 @@
18994
19050
  document.body.appendChild(link);
18995
19051
  link.click();
18996
19052
  document.body.removeChild(link);
19053
+ _this.events.next('download');
18997
19054
  });
18998
19055
  }
18999
19056
  },
19000
19057
  });
19001
19058
  });
19002
19059
  };
19060
+ PdftronComponent.prototype.addPrintButton = function () {
19061
+ var _this = this;
19062
+ this.webViewerInstance.setHeaderItems(function (header) {
19063
+ header.push({
19064
+ type: 'actionButton',
19065
+ img: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#abb0c4;}</style></defs><title>icon - header - print - line</title><path class="cls-1" d="M20,6H18V2H6V6H4A2,2,0,0,0,2,8v9a2,2,0,0,0,2,2H6v3H18V19h2a2,2,0,0,0,2-2V8A2,2,0,0,0,20,6ZM8,4h8V6H8Zm8,16H8V16h8Zm4-3H18V14H6v3H4V8H20Zm-4-7h2v2H16Zm-3,0h2v2H13Z"></path></svg>',
19066
+ title: 'Print',
19067
+ onClick: function () {
19068
+ _this.pdftronService.instance.UI.print();
19069
+ _this.events.next('print');
19070
+ },
19071
+ });
19072
+ });
19073
+ };
19003
19074
  PdftronComponent.prototype.addWatermark = function () {
19004
19075
  var userinfo = this.nuxeo.nuxeoClient.user.properties;
19005
19076
  this.pdftronService.addWatermark(userinfo.username + " "
@@ -19043,7 +19114,14 @@
19043
19114
  });
19044
19115
  }
19045
19116
  this.isFetching = false;
19046
- if (this.environment.enableViewerWaterMark) {
19117
+ // if we need to check on secrecy level for adding water mark or not
19118
+ if (this.environment.enableViewerWaterMark && this.secrecyProperty) {
19119
+ // check for secrecy level befor adding watermark
19120
+ if (this.correspondance.properties[this.secrecyProperty] !== 'Normal') {
19121
+ this.addWatermark();
19122
+ }
19123
+ }
19124
+ else if (this.environment.enableViewerWaterMark && !this.secrecyProperty) {
19047
19125
  this.addWatermark();
19048
19126
  }
19049
19127
  this.cdr.detectChanges();
@@ -19124,7 +19202,7 @@
19124
19202
  return PdftronComponent;
19125
19203
  }());
19126
19204
  PdftronComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: PdftronComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: PdftronService }, { token: NuxeoService$1 }, { token: i3.APP_BASE_HREF }, { token: SecurePipe }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Component });
19127
- PdftronComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: PdftronComponent, selector: "app-pdftron", inputs: { editMode: "editMode", actionClicked: "actionClicked", fileTitle: "fileTitle", docId: "docId", DOCUMENT_TYPE: "DOCUMENT_TYPE", fileData: "fileData", fitMode: "fitMode", authHeader: "authHeader", fileURL: "fileURL", correspondance: "correspondance" }, providers: [SecurePipe], viewQueries: [{ propertyName: "viewerRef", first: true, predicate: ["fileViewer"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div #fileViewer style=\"width: 100%; height: 100%;\"></div>\r\n", styles: [""] });
19205
+ PdftronComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: PdftronComponent, selector: "app-pdftron", inputs: { editMode: "editMode", actionClicked: "actionClicked", fileTitle: "fileTitle", docId: "docId", DOCUMENT_TYPE: "DOCUMENT_TYPE", fileData: "fileData", fitMode: "fitMode", authHeader: "authHeader", fileURL: "fileURL", correspondance: "correspondance", secrecyProperty: "secrecyProperty" }, outputs: { events: "events" }, providers: [SecurePipe], viewQueries: [{ propertyName: "viewerRef", first: true, predicate: ["fileViewer"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div #fileViewer style=\"width: 100%; height: 100%;\"></div>\r\n", styles: [""] });
19128
19206
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: PdftronComponent, decorators: [{
19129
19207
  type: i0.Component,
19130
19208
  args: [{
@@ -19164,6 +19242,10 @@
19164
19242
  type: i0.Input
19165
19243
  }], correspondance: [{
19166
19244
  type: i0.Input
19245
+ }], secrecyProperty: [{
19246
+ type: i0.Input
19247
+ }], events: [{
19248
+ type: i0.Output
19167
19249
  }] } });
19168
19250
 
19169
19251
  var PdfTronModule = /** @class */ (function () {