nuxeo-development-framework 4.2.2 → 4.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +504 -477
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +30 -23
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +27 -32
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +27 -32
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +22 -19
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/move/move.component.js +2 -2
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +260 -258
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +100 -57
- package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +36 -52
- package/esm2015/lib/shared-services/dialog-mangment.service.js +27 -23
- package/esm2015/lib/shared-services/shared-docs.service.js +22 -27
- package/fesm2015/nuxeo-development-framework.js +487 -460
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/comments/components/comment-item/comment-item.component.d.ts +3 -1
- package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +4 -2
- package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +4 -2
- package/lib/components/documents/components/document-list/documents-list.component.d.ts +3 -1
- package/lib/components/file-manger/file-manager.abstract.d.ts +24 -22
- package/lib/components/permissions/permissions/permissions.component.d.ts +3 -1
- package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +3 -3
- package/lib/shared-services/dialog-mangment.service.d.ts +3 -3
- package/lib/shared-services/shared-docs.service.d.ts +4 -2
- package/package.json +2 -2
|
@@ -56,11 +56,11 @@ import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';
|
|
|
56
56
|
import * as i6 from '@angular/material/form-field';
|
|
57
57
|
import * as i8 from '@angular/material/chips';
|
|
58
58
|
import { MatChipsModule } from '@angular/material/chips';
|
|
59
|
-
import * as
|
|
59
|
+
import * as i7$1 from '@angular/material/expansion';
|
|
60
60
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
61
61
|
import * as i1$9 from '@angular/material/button';
|
|
62
62
|
import { MatButtonModule } from '@angular/material/button';
|
|
63
|
-
import * as i7$
|
|
63
|
+
import * as i7$2 from '@angular/material/checkbox';
|
|
64
64
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
65
65
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
66
66
|
import * as i5 from '@angular/material/input';
|
|
@@ -69,7 +69,7 @@ import * as i2$8 from '@angular/material/radio';
|
|
|
69
69
|
import { MatRadioModule } from '@angular/material/radio';
|
|
70
70
|
import * as i2$7 from '@angular/material/slide-toggle';
|
|
71
71
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
72
|
-
import * as i6$
|
|
72
|
+
import * as i6$1 from '@busacca/ng-pick-datetime';
|
|
73
73
|
import { OWL_DATE_TIME_FORMATS, OwlDateTimeIntl, OwlDateTimeModule, OwlNativeDateTimeModule } from '@busacca/ng-pick-datetime';
|
|
74
74
|
import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
|
|
75
75
|
import * as i3$3 from 'angular-formio';
|
|
@@ -87,7 +87,7 @@ import * as i4$2 from '@swimlane/ngx-datatable';
|
|
|
87
87
|
import { NgxDatatableModule } from '@swimlane/ngx-datatable';
|
|
88
88
|
import * as i5$1 from '@angular/cdk/layout';
|
|
89
89
|
import { LayoutModule } from '@angular/cdk/layout';
|
|
90
|
-
import * as i7$
|
|
90
|
+
import * as i7$3 from '@angular/material/autocomplete';
|
|
91
91
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
92
92
|
import Dynamsoft from 'dwt';
|
|
93
93
|
import * as i4$3 from '@angular/material/progress-bar';
|
|
@@ -103,7 +103,7 @@ import { DxiToolbarItemModule } from 'devextreme-angular/ui/nested';
|
|
|
103
103
|
import WebViewer from '@pdftron/webviewer';
|
|
104
104
|
import * as i1$8 from '@angular/material/tabs';
|
|
105
105
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
106
|
-
import * as
|
|
106
|
+
import * as i9$1 from '@angular/material/divider';
|
|
107
107
|
import { MatDividerModule } from '@angular/material/divider';
|
|
108
108
|
import localeAr from '@angular/common/locales/ar';
|
|
109
109
|
import localeEn from '@angular/common/locales/en';
|
|
@@ -120,7 +120,7 @@ import { MinimapPlugin } from 'rete-minimap-plugin';
|
|
|
120
120
|
import { curveLinear } from 'd3-shape';
|
|
121
121
|
import { ConnectionPathPlugin, Transformers } from 'rete-connection-path-plugin';
|
|
122
122
|
import { getDOMSocketPosition } from 'rete-render-utils';
|
|
123
|
-
import * as i7$
|
|
123
|
+
import * as i7$4 from '@angular/material/badge';
|
|
124
124
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
125
125
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
126
126
|
import colorLib from '@kurkle/color';
|
|
@@ -4123,47 +4123,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4123
4123
|
* @ignore
|
|
4124
4124
|
*/
|
|
4125
4125
|
class CommentItemComponent {
|
|
4126
|
-
constructor(translationSrvice, dialog) {
|
|
4126
|
+
constructor(translationSrvice, dialog, nuxeoDialogService) {
|
|
4127
4127
|
this.translationSrvice = translationSrvice;
|
|
4128
4128
|
this.dialog = dialog;
|
|
4129
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
4129
4130
|
this.loaderType = 'scroll';
|
|
4130
4131
|
this.showCommentActions = true;
|
|
4131
4132
|
this.lang = 'en';
|
|
4132
4133
|
this.refreshCommentList = new EventEmitter();
|
|
4133
4134
|
}
|
|
4134
4135
|
ngOnInit() {
|
|
4135
|
-
console.log(
|
|
4136
|
+
console.log('comment comment', this.comment);
|
|
4136
4137
|
let date = new Date(this.comment.creationDate);
|
|
4137
4138
|
date.setSeconds(date.getSeconds() - 5);
|
|
4138
4139
|
this.comment.creationDate = date.toISOString();
|
|
4139
|
-
this.comment.Commenter.fullName =
|
|
4140
|
-
|
|
4140
|
+
this.comment.Commenter.fullName =
|
|
4141
|
+
this.comment.Commenter.properties.firstName +
|
|
4142
|
+
' ' +
|
|
4143
|
+
this.comment.Commenter.properties.lastName;
|
|
4144
|
+
this.langSubscription = this.translationSrvice.isArabic.subscribe((res) => {
|
|
4141
4145
|
this.lang = res ? 'ar' : 'en';
|
|
4142
4146
|
});
|
|
4143
4147
|
}
|
|
4144
4148
|
executeFunction(type) {
|
|
4145
4149
|
if (type === 'edit') {
|
|
4146
|
-
this.dialogRef = this.
|
|
4150
|
+
this.dialogRef = this.nuxeoDialogService.open({
|
|
4151
|
+
component: EditDeleteModalComponent,
|
|
4147
4152
|
width: '500px',
|
|
4148
4153
|
height: '220px',
|
|
4149
4154
|
panelClass: 'watcher-dialog-container',
|
|
4150
4155
|
data: {
|
|
4151
4156
|
type: 'edit',
|
|
4152
4157
|
comment: Object.assign({}, this.comment)
|
|
4153
|
-
}
|
|
4154
|
-
disableClose: true,
|
|
4158
|
+
}
|
|
4159
|
+
//disableClose: true,
|
|
4155
4160
|
});
|
|
4156
4161
|
}
|
|
4157
4162
|
else if (type === 'delete') {
|
|
4158
|
-
this.dialogRef = this.
|
|
4163
|
+
this.dialogRef = this.nuxeoDialogService.open({
|
|
4164
|
+
component: EditDeleteModalComponent,
|
|
4159
4165
|
width: '500px',
|
|
4160
4166
|
height: '150px',
|
|
4161
4167
|
panelClass: 'watcher-dialog-container',
|
|
4162
4168
|
data: {
|
|
4163
4169
|
type: 'delete',
|
|
4164
4170
|
comment: Object.assign({}, this.comment)
|
|
4165
|
-
}
|
|
4166
|
-
disableClose: true,
|
|
4171
|
+
}
|
|
4172
|
+
//disableClose: true,
|
|
4167
4173
|
});
|
|
4168
4174
|
}
|
|
4169
4175
|
this.dialogRef.afterClosed().subscribe((res) => {
|
|
@@ -4173,7 +4179,7 @@ class CommentItemComponent {
|
|
|
4173
4179
|
});
|
|
4174
4180
|
}
|
|
4175
4181
|
}
|
|
4176
|
-
CommentItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentItemComponent, deps: [{ token: TranslationService }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
4182
|
+
CommentItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentItemComponent, deps: [{ token: TranslationService }, { token: i1$3.MatDialog }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4177
4183
|
CommentItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentItemComponent, selector: "app-comment-item", inputs: { comment: "comment", loaderType: "loaderType", showCommentActions: "showCommentActions" }, outputs: { refreshCommentList: "refreshCommentList" }, ngImport: i0, template: "<div class=\"comment-item\" SetRtl>\r\n\r\n <div class=\"comment-controls\" *ngIf=\"showCommentActions\">\r\n <span class=\"bi bi-pencil contril-icon\" \r\n *permission=\"{name: 'updateComment', entity: comment}\"\r\n matTooltip=\"{{ 'BUTTONS.EDIT' | translate }}\"\r\n (click)=\"executeFunction('edit')\"\r\n ></span>\r\n\r\n <span class=\"bi bi-trash contril-icon\" \r\n *permission=\"{name: 'deleteComment', entity: comment}\"\r\n matTooltip=\"{{ 'BUTTONS.Delete' | translate }}\"\r\n (click)=\"executeFunction('delete')\"\r\n ></span>\r\n </div>\r\n\r\n <app-user-card [user]=\"comment.Commenter\" [diameter]=\"12\">\r\n <div class=\"lineOne\">\r\n {{lang === 'en' ? (comment.Commenter.fullName) : (comment.Commenter.fullNameAr ? comment.Commenter.fullNameAr : comment.Commenter.fullName)}}\r\n </div>\r\n <div class=\"lineOnePart2\">\r\n <span class=\"date\" matTooltip='{{ comment?.creationDate | localizedDate:\r\n \"fullDate\"}}' matTooltipClass=\"tdf-tooltip\" TooltipPosition='below'>\r\n <span class=\"date-sperator px-1\">|</span>{{ comment?.creationDate | timeAgo : lang }}</span>\r\n </div>\r\n <div class=\"lineTwo\">\r\n <app-read-more class=\"comment-text\" [text]=\"comment?.text\" [wordCount]=\"loaderType === 'scroll' ? 20 : 60\">\r\n </app-read-more>\r\n </div>\r\n </app-user-card>\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}.comment-item{border:1px solid #d9dce2;padding:8px 4px;display:flex;position:relative}.comment-item:hover{background:#f5f6f8}.comment-item .comment-controls{position:absolute;right:5px}.comment-item .comment-controls .contril-icon{padding:0 5px;cursor:pointer}.date{color:#3c3cf0}.comment-text{color:#8f98aa}.comment-avatar{align-items:top;padding:0 4px;display:flex}.comment-avatar .avatar{width:40px;height:40px;display:block}.rtl .comment-controls{left:5px;right:auto}\n"], components: [{ type: UserCardComponent, selector: "app-user-card", inputs: ["user", "diameter"] }, { type: ReadMoreComponent, selector: "app-read-more", inputs: ["text", "charCount", "wordCount", "lineBreaks"] }], directives: [{ type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "translate": i1.TranslatePipe, "localizedDate": LocalizedDatePipe, "timeAgo": TimeAgoPipe } });
|
|
4178
4184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentItemComponent, decorators: [{
|
|
4179
4185
|
type: Component,
|
|
@@ -4182,7 +4188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4182
4188
|
templateUrl: './comment-item.component.html',
|
|
4183
4189
|
styleUrls: ['./comment-item.component.scss']
|
|
4184
4190
|
}]
|
|
4185
|
-
}], ctorParameters: function () { return [{ type: TranslationService }, { type: i1$3.MatDialog }]; }, propDecorators: { comment: [{
|
|
4191
|
+
}], ctorParameters: function () { return [{ type: TranslationService }, { type: i1$3.MatDialog }, { type: NuxeoDialogService }]; }, propDecorators: { comment: [{
|
|
4186
4192
|
type: Input
|
|
4187
4193
|
}], loaderType: [{
|
|
4188
4194
|
type: Input
|
|
@@ -5470,12 +5476,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
5470
5476
|
}] } });
|
|
5471
5477
|
|
|
5472
5478
|
class CorrespondenceRelationListComponent {
|
|
5473
|
-
constructor(relationsvc, dialog, viewerFilesService, documentsApi, adapter) {
|
|
5479
|
+
constructor(relationsvc, dialog, viewerFilesService, documentsApi, adapter, nuxeoDialogService) {
|
|
5474
5480
|
this.relationsvc = relationsvc;
|
|
5475
5481
|
this.dialog = dialog;
|
|
5476
5482
|
this.viewerFilesService = viewerFilesService;
|
|
5477
5483
|
this.documentsApi = documentsApi;
|
|
5478
5484
|
this.adapter = adapter;
|
|
5485
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
5479
5486
|
this.reload = false;
|
|
5480
5487
|
this.relateddoc = [];
|
|
5481
5488
|
this.menu_actions = [
|
|
@@ -5508,30 +5515,24 @@ class CorrespondenceRelationListComponent {
|
|
|
5508
5515
|
let functionToPerform = () => {
|
|
5509
5516
|
return this.relationsvc.Delete_Named_Relation(this.correspondence_id, relateddoc.relationId, relateddoc.uid);
|
|
5510
5517
|
};
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
|
|
5515
|
-
|
|
5518
|
+
this.openDialog(functionToPerform);
|
|
5519
|
+
}
|
|
5520
|
+
openDialog(functionToPerform) {
|
|
5521
|
+
this.nuxeoDialogService.showConfirm({
|
|
5522
|
+
message: 'genericConfirm',
|
|
5523
|
+
actions: {
|
|
5524
|
+
confirm: {
|
|
5525
|
+
fn: () => {
|
|
5526
|
+
return functionToPerform().pipe(tap((data) => {
|
|
5527
|
+
if (data) {
|
|
5528
|
+
this.relationsvc.getUpdatedRelation.next();
|
|
5529
|
+
}
|
|
5530
|
+
}));
|
|
5531
|
+
}
|
|
5532
|
+
}
|
|
5516
5533
|
}
|
|
5517
5534
|
});
|
|
5518
5535
|
}
|
|
5519
|
-
openDialog(functionToPerform, title, msg) {
|
|
5520
|
-
return this.dialog
|
|
5521
|
-
.open(NdfConfirmationDialogComponent, {
|
|
5522
|
-
width: '400px',
|
|
5523
|
-
panelClass: 'relation-confirm-dialog',
|
|
5524
|
-
data: {
|
|
5525
|
-
title: 'genericConfirm',
|
|
5526
|
-
toastrTitle: title,
|
|
5527
|
-
toastrMsg: msg
|
|
5528
|
-
}
|
|
5529
|
-
})
|
|
5530
|
-
.afterClosed()
|
|
5531
|
-
.pipe(tap((res) => {
|
|
5532
|
-
functionToPerform();
|
|
5533
|
-
}));
|
|
5534
|
-
}
|
|
5535
5536
|
view_Corres(relation) {
|
|
5536
5537
|
let url = window.location.href;
|
|
5537
5538
|
window.open(url.replace(this.correspondence_id, relation.uid), '_blank');
|
|
@@ -5551,8 +5552,8 @@ class CorrespondenceRelationListComponent {
|
|
|
5551
5552
|
}
|
|
5552
5553
|
}
|
|
5553
5554
|
}
|
|
5554
|
-
CorrespondenceRelationListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationListComponent, deps: [{ token: CorrespondenceRelationService }, { token: i1$3.MatDialog }, { token: ViewerFilesService }, { token: DocumentsService }, { token: AdapterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5555
|
-
CorrespondenceRelationListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationListComponent, selector: "cts-correspondence-relation-list", inputs: { correspondence_id: "correspondence_id", reload: "reload" }, ngImport: i0, template: "<div class=\"relations-list\" *ngIf=\"relateddoc.length > 0\">\r\n <ng-container>\r\n <div *ngFor=\"let group of relateddoc; first as isFirst\">\r\n <mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"isFirst\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{('vocabulary.VOC_CorrespondenceRelationsNames.' + group[0]) | translate }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let item of group[1]\">\r\n <cts-item-list\r\n [item]=\"item\"\r\n [title]=\"item.title\"\r\n [iconname]=\"'link'\"\r\n [actions]=\"menu_actions\"\r\n (actionclicked)=\"handleMenuItemClicked($event)\"\r\n (itemClicked)=\"showCorrespondenceInViewer(item)\"\r\n [moreclasses]=\"'link-relation'\"\r\n ></cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"nocontent\" *ngIf=\"relateddoc.length === 0\">\r\n <p>{{ \"correspondence-relation.nocontent\" | translate }}</p>\r\n</div>\r\n", styles: [".relations-list{border:1px solid #eee}.relations-list .mat-expansion-panel{box-shadow:none!important}.relations-list .mat-expansion-panel-header{border-bottom:1px solid #d9dce2;background-color:#f5f6f8;height:50px!important}.relations-list .mat-expansion-panel-header:hover{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header:focus{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header-title{font-weight:500}.relations-list .mat-accordion .mat-expansion-panel{border-radius:0!important}.relations-list .mat-expansion-panel-body{padding:0!important}.nocontent{color:gray;padding:10px;font-size:14px;border:1px solid #d9dce2}.nocontent p{margin:0;text-align:center}\n"], components: [{ type:
|
|
5555
|
+
CorrespondenceRelationListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationListComponent, deps: [{ token: CorrespondenceRelationService }, { token: i1$3.MatDialog }, { token: ViewerFilesService }, { token: DocumentsService }, { token: AdapterService }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5556
|
+
CorrespondenceRelationListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationListComponent, selector: "cts-correspondence-relation-list", inputs: { correspondence_id: "correspondence_id", reload: "reload" }, ngImport: i0, template: "<div class=\"relations-list\" *ngIf=\"relateddoc.length > 0\">\r\n <ng-container>\r\n <div *ngFor=\"let group of relateddoc; first as isFirst\">\r\n <mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"isFirst\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{('vocabulary.VOC_CorrespondenceRelationsNames.' + group[0]) | translate }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let item of group[1]\">\r\n <cts-item-list\r\n [item]=\"item\"\r\n [title]=\"item.title\"\r\n [iconname]=\"'link'\"\r\n [actions]=\"menu_actions\"\r\n (actionclicked)=\"handleMenuItemClicked($event)\"\r\n (itemClicked)=\"showCorrespondenceInViewer(item)\"\r\n [moreclasses]=\"'link-relation'\"\r\n ></cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"nocontent\" *ngIf=\"relateddoc.length === 0\">\r\n <p>{{ \"correspondence-relation.nocontent\" | translate }}</p>\r\n</div>\r\n", styles: [".relations-list{border:1px solid #eee}.relations-list .mat-expansion-panel{box-shadow:none!important}.relations-list .mat-expansion-panel-header{border-bottom:1px solid #d9dce2;background-color:#f5f6f8;height:50px!important}.relations-list .mat-expansion-panel-header:hover{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header:focus{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header-title{font-weight:500}.relations-list .mat-accordion .mat-expansion-panel{border-radius:0!important}.relations-list .mat-expansion-panel-body{padding:0!important}.nocontent{color:gray;padding:10px;font-size:14px;border:1px solid #d9dce2}.nocontent p{margin:0;text-align:center}\n"], components: [{ type: i7$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i7$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight"] }, { type: i2$4.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"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7$1.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i7$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i7$1.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
5556
5557
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationListComponent, decorators: [{
|
|
5557
5558
|
type: Component,
|
|
5558
5559
|
args: [{
|
|
@@ -5561,14 +5562,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
5561
5562
|
styleUrls: ['./correspondence-relation-list.component.scss'],
|
|
5562
5563
|
encapsulation: ViewEncapsulation.None
|
|
5563
5564
|
}]
|
|
5564
|
-
}], ctorParameters: function () { return [{ type: CorrespondenceRelationService }, { type: i1$3.MatDialog }, { type: ViewerFilesService }, { type: DocumentsService }, { type: AdapterService }]; }, propDecorators: { correspondence_id: [{
|
|
5565
|
+
}], ctorParameters: function () { return [{ type: CorrespondenceRelationService }, { type: i1$3.MatDialog }, { type: ViewerFilesService }, { type: DocumentsService }, { type: AdapterService }, { type: NuxeoDialogService }]; }, propDecorators: { correspondence_id: [{
|
|
5565
5566
|
type: Input
|
|
5566
5567
|
}], reload: [{
|
|
5567
5568
|
type: Input
|
|
5568
5569
|
}] } });
|
|
5569
5570
|
|
|
5570
5571
|
class CorrespondenceRelationComponent {
|
|
5571
|
-
constructor(dialog, corrrelationsvc, toastr, viewerFilesService, documentsApi, userPreference, nuxeoService) {
|
|
5572
|
+
constructor(dialog, corrrelationsvc, toastr, viewerFilesService, documentsApi, userPreference, nuxeoService, nuxeoDialogService) {
|
|
5572
5573
|
this.dialog = dialog;
|
|
5573
5574
|
this.corrrelationsvc = corrrelationsvc;
|
|
5574
5575
|
this.toastr = toastr;
|
|
@@ -5576,6 +5577,7 @@ class CorrespondenceRelationComponent {
|
|
|
5576
5577
|
this.documentsApi = documentsApi;
|
|
5577
5578
|
this.userPreference = userPreference;
|
|
5578
5579
|
this.nuxeoService = nuxeoService;
|
|
5580
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
5579
5581
|
this.reload = false;
|
|
5580
5582
|
}
|
|
5581
5583
|
ngOnInit() {
|
|
@@ -5654,36 +5656,30 @@ class CorrespondenceRelationComponent {
|
|
|
5654
5656
|
this.viewerFilesService.updateViewer.next(file);
|
|
5655
5657
|
});
|
|
5656
5658
|
}
|
|
5657
|
-
openConfirmDialog(functionToPerform
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5659
|
+
openConfirmDialog(functionToPerform) {
|
|
5660
|
+
this.nuxeoDialogService.showConfirm({
|
|
5661
|
+
message: 'genericConfirm',
|
|
5662
|
+
actions: {
|
|
5663
|
+
confirm: {
|
|
5664
|
+
fn: () => {
|
|
5665
|
+
return functionToPerform().pipe(tap((data) => {
|
|
5666
|
+
if (data) {
|
|
5667
|
+
this.corrrelationsvc.getUpdatedRelation.next();
|
|
5668
|
+
}
|
|
5669
|
+
}));
|
|
5670
|
+
}
|
|
5671
|
+
}
|
|
5666
5672
|
}
|
|
5667
|
-
})
|
|
5668
|
-
.afterClosed()
|
|
5669
|
-
.pipe(tap((res) => {
|
|
5670
|
-
functionToPerform();
|
|
5671
|
-
}));
|
|
5673
|
+
});
|
|
5672
5674
|
}
|
|
5673
5675
|
deleteRelation(relateddoc) {
|
|
5674
5676
|
let functionToPerform = () => {
|
|
5675
5677
|
return this.corrrelationsvc.Delete_Named_Relation(this.corr_id, relateddoc.relationId, relateddoc.uid);
|
|
5676
5678
|
};
|
|
5677
|
-
|
|
5678
|
-
let msg = '';
|
|
5679
|
-
this.openConfirmDialog(functionToPerform, 'Success', 'correspondence-relation.deleted_success').subscribe((data) => {
|
|
5680
|
-
if (data) {
|
|
5681
|
-
this.corrrelationsvc.getUpdatedRelation.next();
|
|
5682
|
-
}
|
|
5683
|
-
});
|
|
5679
|
+
this.openConfirmDialog(functionToPerform);
|
|
5684
5680
|
}
|
|
5685
5681
|
}
|
|
5686
|
-
CorrespondenceRelationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationComponent, deps: [{ token: i1$3.MatDialog }, { token: CorrespondenceRelationService }, { token: CustomToastrService }, { token: ViewerFilesService }, { token: DocumentsService }, { token: UserPreferencesService }, { token: NuxeoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5682
|
+
CorrespondenceRelationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationComponent, deps: [{ token: i1$3.MatDialog }, { token: CorrespondenceRelationService }, { token: CustomToastrService }, { token: ViewerFilesService }, { token: DocumentsService }, { token: UserPreferencesService }, { token: NuxeoService }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5687
5683
|
CorrespondenceRelationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationComponent, selector: "cts-correspondence-relation", inputs: { corr_id: "corr_id", correspondance: "correspondance" }, ngImport: i0, template: "<div class=\"relations-container\">\r\n <div class=\"mb-3 relations-reply\">\r\n <div class=\"subheader\">\r\n <div>{{ \"correspondence-relation.reply_relation\" | translate }}</div>\r\n </div>\r\n <cts-correspondence-relation-reply\r\n [correspondence_id]=\"corr_id\"\r\n (actionclicked)=\"handleActions($event)\"\r\n ></cts-correspondence-relation-reply>\r\n </div>\r\n\r\n <div class=\"mb-2 relations-listing\">\r\n <div class=\"subheader\">\r\n <div>{{ \"correspondence-relation.title\" | translate }}</div>\r\n <div class=\"\" *permission=\"{\r\n name: 'AddRelatedCorrespondence',\r\n entity: correspondance , user: nuxeoService.nuxeoClient.user\r\n }\" (click)=\"openDialog()\"><mat-icon>add</mat-icon></div>\r\n </div>\r\n <cts-correspondence-relation-list\r\n [correspondence_id]=\"corr_id\"\r\n [reload]=\"reload\"\r\n ></cts-correspondence-relation-list>\r\n </div>\r\n\r\n\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}.relations-container .subheader{padding:10px 0 0;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:bold}.relations-container .subheader mat-icon{font-size:25px;cursor:pointer;color:#465573}.relations-container .relations-title{display:flex;justify-content:space-between;align-items:center}.relations-container .relations-title a{font-size:30px;color:#789}.relations-container .relations-list{border:1px solid #00000026}.relations-container .relations-list .relation-item{display:flex;justify-content:space-between;align-items:center}\n"], components: [{ type: CorrespondenceRelationReplyComponent, selector: "cts-correspondence-relation-reply", inputs: ["correspondence_id"], outputs: ["actionclicked"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: CorrespondenceRelationListComponent, selector: "cts-correspondence-relation-list", inputs: ["correspondence_id", "reload"] }], directives: [{ type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
5688
5684
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationComponent, decorators: [{
|
|
5689
5685
|
type: Component,
|
|
@@ -5692,7 +5688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
5692
5688
|
templateUrl: './correspondence-relation.component.html',
|
|
5693
5689
|
styleUrls: ['./correspondence-relation.component.scss']
|
|
5694
5690
|
}]
|
|
5695
|
-
}], ctorParameters: function () { return [{ type: i1$3.MatDialog }, { type: CorrespondenceRelationService }, { type: CustomToastrService }, { type: ViewerFilesService }, { type: DocumentsService }, { type: UserPreferencesService }, { type: NuxeoService }]; }, propDecorators: { corr_id: [{
|
|
5691
|
+
}], ctorParameters: function () { return [{ type: i1$3.MatDialog }, { type: CorrespondenceRelationService }, { type: CustomToastrService }, { type: ViewerFilesService }, { type: DocumentsService }, { type: UserPreferencesService }, { type: NuxeoService }, { type: NuxeoDialogService }]; }, propDecorators: { corr_id: [{
|
|
5696
5692
|
type: Input
|
|
5697
5693
|
}], correspondance: [{
|
|
5698
5694
|
type: Input
|
|
@@ -6611,7 +6607,7 @@ class DynamicFormBoolItemComponent {
|
|
|
6611
6607
|
}
|
|
6612
6608
|
}
|
|
6613
6609
|
DynamicFormBoolItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormBoolItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6614
|
-
DynamicFormBoolItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormBoolItemComponent, selector: "app-dynamic-form-boolitem", inputs: { property: "property", editable: "editable" }, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable()\">\r\n <div class=\"row gap\">\r\n\r\n <label class=\"col-sm-3\" for=\"formGroupInputSmall\">{{\r\n property.label | translate\r\n }}<span *ngIf=\"property.mandatory\" class=\"text-danger\">*</span></label>\r\n <div class=\"col-sm-9\">\r\n <mat-checkbox [required]=\"property.mandatory\" [attr.data-automation-id]=\"'card-boolean-' + property.key\"\r\n [attr.title]=\"'CORE.METADATA.ACTIONS.TOGGLE' | translate\" [checked]=\"property.displayValue\"\r\n [disabled]=\"!isEditable()\" (change)=\"changed($event)\">\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [""], components: [{ type: i7$
|
|
6610
|
+
DynamicFormBoolItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormBoolItemComponent, selector: "app-dynamic-form-boolitem", inputs: { property: "property", editable: "editable" }, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable()\">\r\n <div class=\"row gap\">\r\n\r\n <label class=\"col-sm-3\" for=\"formGroupInputSmall\">{{\r\n property.label | translate\r\n }}<span *ngIf=\"property.mandatory\" class=\"text-danger\">*</span></label>\r\n <div class=\"col-sm-9\">\r\n <mat-checkbox [required]=\"property.mandatory\" [attr.data-automation-id]=\"'card-boolean-' + property.key\"\r\n [attr.title]=\"'CORE.METADATA.ACTIONS.TOGGLE' | translate\" [checked]=\"property.displayValue\"\r\n [disabled]=\"!isEditable()\" (change)=\"changed($event)\">\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [""], components: [{ type: i7$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
6615
6611
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormBoolItemComponent, decorators: [{
|
|
6616
6612
|
type: Component,
|
|
6617
6613
|
args: [{
|
|
@@ -7765,7 +7761,7 @@ class DynamicFormDateItemComponent {
|
|
|
7765
7761
|
DynamicFormDateItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDateItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i2$5.DateAdapter }, { token: UserPreferencesService }, { token: i1.TranslateService }, { token: i2$6.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
7766
7762
|
DynamicFormDateItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDateItemComponent, selector: "app-dynamic-form-dateitem", inputs: { label: "label", disabled: "disabled", property: "property", editable: "editable", displayEmpty: "displayEmpty", min: "min", max: "max", startAt: "startAt", displayClearAction: "displayClearAction", pickerType: "pickerType", selectMode: "selectMode", isfilter: "isfilter", placeholder: "placeholder" }, providers: [
|
|
7767
7763
|
{ provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS }
|
|
7768
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\"></i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6$
|
|
7764
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\"></i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6$1.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6$1.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "value", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i2$6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe, "date": i4$1.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
7769
7765
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDateItemComponent, decorators: [{
|
|
7770
7766
|
type: Component,
|
|
7771
7767
|
args: [{
|
|
@@ -7875,14 +7871,14 @@ class owlDateTimeIntl extends OwlDateTimeIntl {
|
|
|
7875
7871
|
});
|
|
7876
7872
|
}
|
|
7877
7873
|
}
|
|
7878
|
-
owlDateTimeIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: owlDateTimeIntl, deps: [{ token: i1.TranslateService }, { token: UserPreferencesService }, { token: i6$
|
|
7874
|
+
owlDateTimeIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: owlDateTimeIntl, deps: [{ token: i1.TranslateService }, { token: UserPreferencesService }, { token: i6$1.DateTimeAdapter }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7879
7875
|
owlDateTimeIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: owlDateTimeIntl, providedIn: 'root' });
|
|
7880
7876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: owlDateTimeIntl, decorators: [{
|
|
7881
7877
|
type: Injectable,
|
|
7882
7878
|
args: [{
|
|
7883
7879
|
providedIn: 'root',
|
|
7884
7880
|
}]
|
|
7885
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: UserPreferencesService }, { type: i6$
|
|
7881
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: UserPreferencesService }, { type: i6$1.DateTimeAdapter }]; } });
|
|
7886
7882
|
|
|
7887
7883
|
class DepartmentConstants {
|
|
7888
7884
|
}
|
|
@@ -9075,7 +9071,7 @@ class TreeviewSelectComponent {
|
|
|
9075
9071
|
}
|
|
9076
9072
|
}
|
|
9077
9073
|
TreeviewSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TreeviewSelectComponent, deps: [{ token: i1$7.TreeviewI18n }, { token: TranslationService }, { token: DepartmentApiService }, { token: DepartmentManagementService$1 }, { token: RolesService }, { token: NuxeoService }, { token: GlobalAdminService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9078
|
-
TreeviewSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", config: "config", items: "items", value: "value", multiple: "multiple", defaultSelect: "defaultSelect", pp_departmentNestedTree: "pp_departmentNestedTree", useCustomAddEditAction: "useCustomAddEditAction", customPrefix: "customPrefix", customParentProperty: "customParentProperty", placeholder: "placeholder", defaultSelection: "defaultSelection", displayDepTypee: "displayDepTypee", disabled: "disabled", displayIsAllowRecExternal: "displayIsAllowRecExternal" }, outputs: { valueChange: "valueChange", plusClicked: "plusClicked", actionClicked: "actionClicked" }, providers: [{ provide: TreeviewI18n, useClass: DropdownTreeviewSelectI18n }], viewQueries: [{ propertyName: "dropdownTreeviewComponent", first: true, predicate: DropdownTreeviewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #itemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\">\r\n <!-- single -->\r\n <div *ngIf=\"!treeview && !multiple\">\r\n <div class=\"text-nowrap row-item\" [ngClass]=\"{ active: item.value === this.value }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <!-- <label class=\"form-check-label\" (click)=\"select(item)\">{{\r\n item.text\r\n }}</label> -->\r\n <label *ngIf=\"item.disabled\" class=\"form-check-label\">{{\r\n item.text\r\n }}</label>\r\n <label *ngIf=\"!item.disabled\" class=\"form-check-label\" (click)=\"select(item)\">{{\r\n item.text\r\n }}</label>\r\n </div>\r\n </div>\r\n <!-- Multiple -->\r\n <div *ngIf=\"!treeview && multiple\">\r\n <div class=\"text-nowrap row-item\" [ngClass]=\"{ active: item.value === this.value }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <!-- <input\r\n class=\"multiple-checkBox\"\r\n type=\"checkbox\"\r\n [checked]=\"multipleSelection.includes(item.value)\"\r\n (change)=\"selectMultiple($event.target.checked, item)\"\r\n />\r\n\r\n <label class=\"form-check-label\">{{ item.text }}</label> -->\r\n <div class=\"multiple-treeview\">\r\n <mat-checkbox [checked]=\"isItemSelected(item)\" (change)=\"selectMultiple($event.checked, item)\">\r\n <span> {{ item.text }} </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- treeView -->\r\n <div *ngIf=\"treeview && !treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div (mouseenter)=\"hoverField.style.display = 'flex'\" (mouseleave)=\"hoverField.style.display = 'none'\"\r\n class=\"text-nowrap row-item treeview-row\" [ngClass]=\"{ selected: item.value == selectedItem }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapsed(item)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\">{{ item.text }}\r\n <span #hoverField class=\"hoverField\">\r\n <span type=\"button\" matTooltip=\"{{ 'department_management.form.edit' | translate }}\"\r\n (click)=\"onAction($event, 'update', item)\">\r\n <li class=\"bi bi-pencil\"></li>\r\n </span>\r\n\r\n <span type=\"button\" matTooltip=\"{{\r\n 'department_management.form.toolTip_message' | translate\r\n }}\" (click)=\"onAction($event, 'add', item)\">\r\n <li class=\"bi bi-plus\"></li>\r\n </span>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n <!-- treeView as form control -->\r\n <div *ngIf=\"treeview && treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div class=\"text-nowrap row-item treeview-row-form-control\"\r\n [ngClass]=\"{ 'selected-form-control': item.value == selectedItem }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapsed(item)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\">{{ item.text }}\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #headerTemplate let-config=\"config\" let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\" let-onFilterTextChange=\"onFilterTextChange\">\r\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\r\n <div class=\"col-12\">\r\n <input class=\"form-control\" type=\"text\" [placeholder]=\"i18n.getFilterPlaceholder(placeholder)\"\r\n [(ngModel)]=\"filterText\" (ngModelChange)=\"onFilterTextChange($event)\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row\">\r\n <div class=\"col-12\">\r\n <label *ngIf=\"config.hasAllCheckBox\" (click)=\"select(item)\">\r\n <strong>{{ i18n.getAllCheckboxText() }}</strong>\r\n </label>\r\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right\" (click)=\"onCollapseExpand()\">\r\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-arrows-angle-expand\"></span>\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-arrows-angle-contract\"></span>\r\n </i>\r\n </label>\r\n </div>\r\n </div>\r\n <a *ngIf=\"defaultSelect\" class=\"select-default\" (click)=\"selectDefault()\">{{'department_management.selectDefault'|\r\n translate}}</a>\r\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\" [ngClass]=\"{'dropdown-divider-noMargin': defaultSelect}\">\r\n </div>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"!treeview && !multiple\">\r\n <div class=\"dropdown-wrapper\">\r\n <ngx-dropdown-treeview [config]=\"config\" [headerTemplate]=\"headerTemplate\" [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\">\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!treeview && multiple\">\r\n <div class=\"multiple-tree-view dropdown-wrapper\">\r\n <ngx-dropdown-treeview [config]=\"config\" [items]=\"items\" [itemTemplate]=\"itemTemplate\">\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"treeview && !treeViewAsFormControl\">\r\n <div class=\"tree-view\">\r\n <ngx-treeview [config]=\"config\" [headerTemplate]=\"headerTemplate\" [items]=\"items\" [itemTemplate]=\"itemTemplate\">\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"treeview && treeViewAsFormControl\">\r\n <div class=\"tree-view-form-control\">\r\n <ngx-treeview [config]=\"config\" [headerTemplate]=\"headerTemplate\" [items]=\"items\" [itemTemplate]=\"itemTemplate\">\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>", 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}.caret-icon{color:#6c757d;font-size:14px}.dropdown-wrapper{position:relative}.dropdown-wrapper .disable-effect{position:absolute;top:0;bottom:0;left:0;right:0;z-index:99}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element,.multiple-treeview .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.multiple-treeview mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.form-check-label-treeview{display:flex;align-items:center;justify-content:space-between;width:100%}.form-check-label-treeview .hoverField{display:none;align-items:center;text-align:center}.form-check-label-treeview .hoverField span{display:flex;align-items:center;justify-content:center;margin:0 3px;border:none;background-color:snow;background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:30px;width:30px;color:#fff;border-radius:5px;list-style:none;margin-inline-end:4px}.form-check-label-treeview .hoverField span .bi-plus{font-size:28px;display:flex;justify-content:center}.form-check-label-treeview .hoverField .add-btn{width:164px;padding:1px;display:flex;justify-content:center;align-items:center;font-size:13px;background-color:#0dbab5;border-radius:5px;border:0;color:#fff;--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.form-check-label-treeview .hoverField .plus-btn{display:flex;font-size:28px;align-items:center}.selected{background-color:#f5f6f8}.selected .hoverField{display:flex!important}.selected-form-control{background-color:#d9dce2}.selected-form-control .hoverField{display:flex!important}.treeview-item .row-item{display:flex;align-items:center;padding:5px 10px}.treeview-item .row-item .multiple-checkBox{margin-inline-start:4px;margin-inline-end:4px}.treeview-item .active{background-color:#f5f6f8}.treeview-row{display:flex;align-items:center}.treeview-row:hover{background-color:#f5f6f8}.treeview-row-form-control{display:flex;align-items:center}.treeview-row-form-control:hover{background-color:#d9dce2}label{margin-bottom:0;cursor:pointer}.bi{cursor:pointer;margin-right:.3rem}ngx-treeview .treeview-container{max-height:200px!important;overflow-x:hidden;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-y:auto}ngx-treeview .select-default{display:flex;justify-content:start;font-size:13px;cursor:pointer;margin-bottom:3px;margin-top:4px}ngx-treeview .dropdown-divider-noMargin{margin-top:0!important}.tree-view ngx-treeview .treeview-container{max-height:500px!important;overflow-x:hidden}.tree-view-form-control ngx-treeview .treeview-container{max-height:300px!important;overflow-x:hidden}ngx-dropdown-treeview .dropdown .dropdown-menu{margin-top:0!important;width:100%}ngx-dropdown-treeview .dropdown .btn-outline-secondary{background-color:#8f98aa1a;border:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:hover{color:#6c757d!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:focus{box-shadow:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:active{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}ngx-dropdown-treeview .dropdown:after{position:static!important}ngx-dropdown-treeview .show .dropdown-toggle{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}.rtl .treeview-item .treeview-item{margin-right:2rem!important;margin-left:0!important}.rtl .row-all .col-12{text-align:right}.rtl .row-all .col-12 .pull-right{float:left!important}.rtl .form-check.form-check-inline{margin-right:0!important}.rtl .btn.dropdown-toggle{margin-right:0!important}.rtl .dropdown-menu:not(ngb-datepicker){right:0px;left:unset}.rtl .dropdown :after{margin-top:.6rem;left:.6rem;right:unset!important}.rtl ngx-treeview-item{text-align:right;direction:rtl}@media (min-width: 576px){.rtl .form-inline .form-check-input{margin:3px}}.rtl .form-inline .form-check-input{margin:3px;position:inherit}.rtl .dropdown button{text-align:right!important;direction:rtl}.rtl .fa.fa-caret-right{transform:rotate(180deg)}\n"], components: [{ type: i7$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i1$7.DropdownTreeviewComponent, selector: "ngx-dropdown-treeview", inputs: ["buttonClass", "config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }, { type: i1$7.TreeviewComponent, selector: "ngx-treeview", inputs: ["config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
9074
|
+
TreeviewSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", config: "config", items: "items", value: "value", multiple: "multiple", defaultSelect: "defaultSelect", pp_departmentNestedTree: "pp_departmentNestedTree", useCustomAddEditAction: "useCustomAddEditAction", customPrefix: "customPrefix", customParentProperty: "customParentProperty", placeholder: "placeholder", defaultSelection: "defaultSelection", displayDepTypee: "displayDepTypee", disabled: "disabled", displayIsAllowRecExternal: "displayIsAllowRecExternal" }, outputs: { valueChange: "valueChange", plusClicked: "plusClicked", actionClicked: "actionClicked" }, providers: [{ provide: TreeviewI18n, useClass: DropdownTreeviewSelectI18n }], viewQueries: [{ propertyName: "dropdownTreeviewComponent", first: true, predicate: DropdownTreeviewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #itemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\">\r\n <!-- single -->\r\n <div *ngIf=\"!treeview && !multiple\">\r\n <div class=\"text-nowrap row-item\" [ngClass]=\"{ active: item.value === this.value }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <!-- <label class=\"form-check-label\" (click)=\"select(item)\">{{\r\n item.text\r\n }}</label> -->\r\n <label *ngIf=\"item.disabled\" class=\"form-check-label\">{{\r\n item.text\r\n }}</label>\r\n <label *ngIf=\"!item.disabled\" class=\"form-check-label\" (click)=\"select(item)\">{{\r\n item.text\r\n }}</label>\r\n </div>\r\n </div>\r\n <!-- Multiple -->\r\n <div *ngIf=\"!treeview && multiple\">\r\n <div class=\"text-nowrap row-item\" [ngClass]=\"{ active: item.value === this.value }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <!-- <input\r\n class=\"multiple-checkBox\"\r\n type=\"checkbox\"\r\n [checked]=\"multipleSelection.includes(item.value)\"\r\n (change)=\"selectMultiple($event.target.checked, item)\"\r\n />\r\n\r\n <label class=\"form-check-label\">{{ item.text }}</label> -->\r\n <div class=\"multiple-treeview\">\r\n <mat-checkbox [checked]=\"isItemSelected(item)\" (change)=\"selectMultiple($event.checked, item)\">\r\n <span> {{ item.text }} </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- treeView -->\r\n <div *ngIf=\"treeview && !treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div (mouseenter)=\"hoverField.style.display = 'flex'\" (mouseleave)=\"hoverField.style.display = 'none'\"\r\n class=\"text-nowrap row-item treeview-row\" [ngClass]=\"{ selected: item.value == selectedItem }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapsed(item)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\">{{ item.text }}\r\n <span #hoverField class=\"hoverField\">\r\n <span type=\"button\" matTooltip=\"{{ 'department_management.form.edit' | translate }}\"\r\n (click)=\"onAction($event, 'update', item)\">\r\n <li class=\"bi bi-pencil\"></li>\r\n </span>\r\n\r\n <span type=\"button\" matTooltip=\"{{\r\n 'department_management.form.toolTip_message' | translate\r\n }}\" (click)=\"onAction($event, 'add', item)\">\r\n <li class=\"bi bi-plus\"></li>\r\n </span>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n <!-- treeView as form control -->\r\n <div *ngIf=\"treeview && treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div class=\"text-nowrap row-item treeview-row-form-control\"\r\n [ngClass]=\"{ 'selected-form-control': item.value == selectedItem }\">\r\n <i *ngIf=\"item.children\" (click)=\"onCollapsed(item)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"></span>\r\n\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-caret-down-fill caret-icon\"></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\">{{ item.text }}\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #headerTemplate let-config=\"config\" let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\" let-onFilterTextChange=\"onFilterTextChange\">\r\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\r\n <div class=\"col-12\">\r\n <input class=\"form-control\" type=\"text\" [placeholder]=\"i18n.getFilterPlaceholder(placeholder)\"\r\n [(ngModel)]=\"filterText\" (ngModelChange)=\"onFilterTextChange($event)\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row\">\r\n <div class=\"col-12\">\r\n <label *ngIf=\"config.hasAllCheckBox\" (click)=\"select(item)\">\r\n <strong>{{ i18n.getAllCheckboxText() }}</strong>\r\n </label>\r\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right\" (click)=\"onCollapseExpand()\">\r\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-arrows-angle-expand\"></span>\r\n <span *ngSwitchCase=\"false\" class=\"bi bi-arrows-angle-contract\"></span>\r\n </i>\r\n </label>\r\n </div>\r\n </div>\r\n <a *ngIf=\"defaultSelect\" class=\"select-default\" (click)=\"selectDefault()\">{{'department_management.selectDefault'|\r\n translate}}</a>\r\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\" [ngClass]=\"{'dropdown-divider-noMargin': defaultSelect}\">\r\n </div>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"!treeview && !multiple\">\r\n <div class=\"dropdown-wrapper\">\r\n <ngx-dropdown-treeview [config]=\"config\" [headerTemplate]=\"headerTemplate\" [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\">\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!treeview && multiple\">\r\n <div class=\"multiple-tree-view dropdown-wrapper\">\r\n <ngx-dropdown-treeview [config]=\"config\" [items]=\"items\" [itemTemplate]=\"itemTemplate\">\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"treeview && !treeViewAsFormControl\">\r\n <div class=\"tree-view\">\r\n <ngx-treeview [config]=\"config\" [headerTemplate]=\"headerTemplate\" [items]=\"items\" [itemTemplate]=\"itemTemplate\">\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"treeview && treeViewAsFormControl\">\r\n <div class=\"tree-view-form-control\">\r\n <ngx-treeview [config]=\"config\" [headerTemplate]=\"headerTemplate\" [items]=\"items\" [itemTemplate]=\"itemTemplate\">\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>", 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}.caret-icon{color:#6c757d;font-size:14px}.dropdown-wrapper{position:relative}.dropdown-wrapper .disable-effect{position:absolute;top:0;bottom:0;left:0;right:0;z-index:99}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element,.multiple-treeview .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.multiple-treeview mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.form-check-label-treeview{display:flex;align-items:center;justify-content:space-between;width:100%}.form-check-label-treeview .hoverField{display:none;align-items:center;text-align:center}.form-check-label-treeview .hoverField span{display:flex;align-items:center;justify-content:center;margin:0 3px;border:none;background-color:snow;background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:30px;width:30px;color:#fff;border-radius:5px;list-style:none;margin-inline-end:4px}.form-check-label-treeview .hoverField span .bi-plus{font-size:28px;display:flex;justify-content:center}.form-check-label-treeview .hoverField .add-btn{width:164px;padding:1px;display:flex;justify-content:center;align-items:center;font-size:13px;background-color:#0dbab5;border-radius:5px;border:0;color:#fff;--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.form-check-label-treeview .hoverField .plus-btn{display:flex;font-size:28px;align-items:center}.selected{background-color:#f5f6f8}.selected .hoverField{display:flex!important}.selected-form-control{background-color:#d9dce2}.selected-form-control .hoverField{display:flex!important}.treeview-item .row-item{display:flex;align-items:center;padding:5px 10px}.treeview-item .row-item .multiple-checkBox{margin-inline-start:4px;margin-inline-end:4px}.treeview-item .active{background-color:#f5f6f8}.treeview-row{display:flex;align-items:center}.treeview-row:hover{background-color:#f5f6f8}.treeview-row-form-control{display:flex;align-items:center}.treeview-row-form-control:hover{background-color:#d9dce2}label{margin-bottom:0;cursor:pointer}.bi{cursor:pointer;margin-right:.3rem}ngx-treeview .treeview-container{max-height:200px!important;overflow-x:hidden;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-y:auto}ngx-treeview .select-default{display:flex;justify-content:start;font-size:13px;cursor:pointer;margin-bottom:3px;margin-top:4px}ngx-treeview .dropdown-divider-noMargin{margin-top:0!important}.tree-view ngx-treeview .treeview-container{max-height:500px!important;overflow-x:hidden}.tree-view-form-control ngx-treeview .treeview-container{max-height:300px!important;overflow-x:hidden}ngx-dropdown-treeview .dropdown .dropdown-menu{margin-top:0!important;width:100%}ngx-dropdown-treeview .dropdown .btn-outline-secondary{background-color:#8f98aa1a;border:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:hover{color:#6c757d!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:focus{box-shadow:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:active{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}ngx-dropdown-treeview .dropdown:after{position:static!important}ngx-dropdown-treeview .show .dropdown-toggle{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}.rtl .treeview-item .treeview-item{margin-right:2rem!important;margin-left:0!important}.rtl .row-all .col-12{text-align:right}.rtl .row-all .col-12 .pull-right{float:left!important}.rtl .form-check.form-check-inline{margin-right:0!important}.rtl .btn.dropdown-toggle{margin-right:0!important}.rtl .dropdown-menu:not(ngb-datepicker){right:0px;left:unset}.rtl .dropdown :after{margin-top:.6rem;left:.6rem;right:unset!important}.rtl ngx-treeview-item{text-align:right;direction:rtl}@media (min-width: 576px){.rtl .form-inline .form-check-input{margin:3px}}.rtl .form-inline .form-check-input{margin:3px;position:inherit}.rtl .dropdown button{text-align:right!important;direction:rtl}.rtl .fa.fa-caret-right{transform:rotate(180deg)}\n"], components: [{ type: i7$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i1$7.DropdownTreeviewComponent, selector: "ngx-dropdown-treeview", inputs: ["buttonClass", "config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }, { type: i1$7.TreeviewComponent, selector: "ngx-treeview", inputs: ["config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
9079
9075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TreeviewSelectComponent, decorators: [{
|
|
9080
9076
|
type: Component,
|
|
9081
9077
|
args: [{
|
|
@@ -10475,7 +10471,7 @@ class DynamicFormSelectUsersComponent {
|
|
|
10475
10471
|
}
|
|
10476
10472
|
}
|
|
10477
10473
|
DynamicFormSelectUsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSelectUsersComponent, deps: [{ token: UsersInDepartmentsApiService }, { token: i1.TranslateService }, { token: TranslationService }, { token: i2$6.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
10478
|
-
DynamicFormSelectUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: { deptTitle: "deptTitle", groupName: "groupName", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", arabicBindLabel: "arabicBindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", usePreSelectedValue: "usePreSelectedValue", disabled: "disabled", filter: "filter", useArabicName: "useArabicName" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"useArabicName ? (isArabic ? arabicBindLabel : bindLabel) : bindLabel\"\r\n [placeholder]=\"\r\n multiple && (selection && selection.length > 0) ? selectionstrg : placeholder\r\n \"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [typeahead]=\"userNameInput$\"\r\n [compareWith]=\"compareFn\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n\r\n\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <mat-checkbox\r\n *ngIf=\"multiple\"\r\n id=\"item-{{ index }}\"\r\n [ngModel]=\"item$.selected\"\r\n (click)=\"(false)\"\r\n ></mat-checkbox>\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\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}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .mat-checkbox-ripple .mat-ripple-element,.user-select .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.user-select .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.user-select mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container.ng-has-value{margin-bottom:65px}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%;max-height:65px;overflow-y:auto}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-value-container .ng-input{position:absolute;top:-35px!important}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper .ng-select-filtered .ng-value-container .ng-placeholder{display:none!important}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}\n"], components: [{ type: i3$2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i7$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$2.ɵh, selector: "[ng-label-tmp]" }, { type: i3$2.ɵf, selector: "[ng-option-tmp]" }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
10474
|
+
DynamicFormSelectUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: { deptTitle: "deptTitle", groupName: "groupName", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", arabicBindLabel: "arabicBindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", usePreSelectedValue: "usePreSelectedValue", disabled: "disabled", filter: "filter", useArabicName: "useArabicName" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"useArabicName ? (isArabic ? arabicBindLabel : bindLabel) : bindLabel\"\r\n [placeholder]=\"\r\n multiple && (selection && selection.length > 0) ? selectionstrg : placeholder\r\n \"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [typeahead]=\"userNameInput$\"\r\n [compareWith]=\"compareFn\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n\r\n\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <mat-checkbox\r\n *ngIf=\"multiple\"\r\n id=\"item-{{ index }}\"\r\n [ngModel]=\"item$.selected\"\r\n (click)=\"(false)\"\r\n ></mat-checkbox>\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\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}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .mat-checkbox-ripple .mat-ripple-element,.user-select .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.user-select .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.user-select mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container.ng-has-value{margin-bottom:65px}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%;max-height:65px;overflow-y:auto}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-value-container .ng-input{position:absolute;top:-35px!important}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper .ng-select-filtered .ng-value-container .ng-placeholder{display:none!important}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}\n"], components: [{ type: i3$2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i7$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$2.ɵh, selector: "[ng-label-tmp]" }, { type: i3$2.ɵf, selector: "[ng-option-tmp]" }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
10479
10475
|
__decorate([
|
|
10480
10476
|
Cacheable({
|
|
10481
10477
|
maxCacheCount: 1000,
|
|
@@ -12013,7 +12009,7 @@ class DynamicFilterComponent {
|
|
|
12013
12009
|
}
|
|
12014
12010
|
}
|
|
12015
12011
|
DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFilterComponent, deps: [{ token: TranslationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
12016
|
-
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department", componentType: "componentType", customPageProvider: "customPageProvider", config: "config" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters && componentType != 'colorsCodes'\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"componentType\" class=\"aggregation-label\">\r\n\r\n <span *ngSwitchCase=\"'custom-voc'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'vocabulary'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.key === 'system' ? ('SYSTEM_ADMIN' | translate) : (group.fetchedKey.properties.firstName + \" \" + group.fetchedKey.properties.lastName)\r\n }}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-pp'\">\r\n <lib-custom-pp-viewer [pageProvider]=\"customPageProvider\" [config]=\"config\" [group]=\"group\"></lib-custom-pp-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-document'\">\r\n <lib-custom-document-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-document-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-department'\">\r\n {{isArabic ? group.fetchedKey.properties[config.propertyAr] : group.fetchedKey.properties[config.propertyEn]}}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'string'\">\r\n <span>{{group.key}}</span>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"filters && componentType == 'colorsCodes'\">\r\n <div class=\"flex flex-wrap colorsContainer\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 24 || more\" class=\"color-search-checkbox flex items-end justify-start\" [style.backgroundColor]=\"group.key\"\r\n matTooltip=\"{{'search.colorInOtherPhotos' | translate :{num:group.docCount} }}\" [matTooltipPosition]=\"'above'\" \r\n (click)=\"onFilterSelect(group.key, (_selections.includes(group.key)) ? false : true)\">\r\n <span class=\"checkIcon bi bi-check\" *ngIf=\"_selections.includes(group.key)\" [ngStyle]=\"{color: (isWhiteOrClosetToWhite(group.key)) ? 'black': 'white'}\"></span>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"filters.length > 20\" class=\"more\">\r\n <button class=\"btn-more mt-1\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n\r\n \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}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .colorsContainer{overflow:visible;width:max-content;max-width:252px;grid-gap:4px;gap:4px}.aggregation-container .color-search-checkbox{width:28px;height:28px;box-shadow:#00000059 3px 5px 10px;transition:all .2s ease-in-out;cursor:pointer;border-radius:10%/50%}.aggregation-container .color-search-checkbox .checkIcon{width:1rem;height:1rem;min-width:1rem;min-height:1rem;font-size:1rem;line-height:1rem;color:#fff}.aggregation-container .color-search-checkbox:hover{transform:scale(1.3)}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i7$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: ["type", "group"] }, { type: CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: ["pageProvider", "group", "config"] }, { type: CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: ["pageProvider", "group"] }, { type: DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
12012
|
+
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department", componentType: "componentType", customPageProvider: "customPageProvider", config: "config" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters && componentType != 'colorsCodes'\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"componentType\" class=\"aggregation-label\">\r\n\r\n <span *ngSwitchCase=\"'custom-voc'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'vocabulary'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.key === 'system' ? ('SYSTEM_ADMIN' | translate) : (group.fetchedKey.properties.firstName + \" \" + group.fetchedKey.properties.lastName)\r\n }}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-pp'\">\r\n <lib-custom-pp-viewer [pageProvider]=\"customPageProvider\" [config]=\"config\" [group]=\"group\"></lib-custom-pp-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-document'\">\r\n <lib-custom-document-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-document-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-department'\">\r\n {{isArabic ? group.fetchedKey.properties[config.propertyAr] : group.fetchedKey.properties[config.propertyEn]}}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'string'\">\r\n <span>{{group.key}}</span>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"filters && componentType == 'colorsCodes'\">\r\n <div class=\"flex flex-wrap colorsContainer\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 24 || more\" class=\"color-search-checkbox flex items-end justify-start\" [style.backgroundColor]=\"group.key\"\r\n matTooltip=\"{{'search.colorInOtherPhotos' | translate :{num:group.docCount} }}\" [matTooltipPosition]=\"'above'\" \r\n (click)=\"onFilterSelect(group.key, (_selections.includes(group.key)) ? false : true)\">\r\n <span class=\"checkIcon bi bi-check\" *ngIf=\"_selections.includes(group.key)\" [ngStyle]=\"{color: (isWhiteOrClosetToWhite(group.key)) ? 'black': 'white'}\"></span>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"filters.length > 20\" class=\"more\">\r\n <button class=\"btn-more mt-1\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n\r\n \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}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .colorsContainer{overflow:visible;width:max-content;max-width:252px;grid-gap:4px;gap:4px}.aggregation-container .color-search-checkbox{width:28px;height:28px;box-shadow:#00000059 3px 5px 10px;transition:all .2s ease-in-out;cursor:pointer;border-radius:10%/50%}.aggregation-container .color-search-checkbox .checkIcon{width:1rem;height:1rem;min-width:1rem;min-height:1rem;font-size:1rem;line-height:1rem;color:#fff}.aggregation-container .color-search-checkbox:hover{transform:scale(1.3)}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i7$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: ["type", "group"] }, { type: CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: ["pageProvider", "group", "config"] }, { type: CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: ["pageProvider", "group"] }, { type: DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
12017
12013
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFilterComponent, decorators: [{
|
|
12018
12014
|
type: Component,
|
|
12019
12015
|
args: [{
|
|
@@ -12953,7 +12949,7 @@ class TableComponent {
|
|
|
12953
12949
|
}
|
|
12954
12950
|
}
|
|
12955
12951
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableComponent, deps: [{ token: NuxeoService }, { token: AppConfigService }, { token: TranslationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
12956
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableComponent, selector: "cts-table", inputs: { rows: "rows", columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", pageCount: "pageCount", totalRecords: "totalRecords", rowCursor: "rowCursor", fullWidth: "fullWidth", vocItemTranslationPrefix: "vocItemTranslationPrefix", tableMode: "tableMode", tableActions: "tableActions", format: "format", defultSort: "defultSort", highlightSelectedCard: "highlightSelectedCard", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", showActionsAsMenu: "showActionsAsMenu" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", onIconSelected: "onIconSelected", actionOnRow: "actionOnRow", onSorting: "onSorting", onMultiRowSelected: "onMultiRowSelected" }, ngImport: i0, template: "<div class=\"iner-table-container\" [style]=\"'width:' + tableWidth\" *ngIf=\"tableMode === 'list' && !responsiveView\">\r\n <ngx-datatable\r\n [ngClass]=\"{'overflowVisible': customFirstRow}\"\r\n class=\"large-table\"\r\n [rows]=\"rows\"\r\n [summaryRow]=\"customFirstRow\"\r\n [columnMode]=\"'force'\"\r\n [externalSorting]=\"true\"\r\n (activate)=\"rowDetails($event)\"\r\n (select)=\"onSelect($event)\"\r\n (sort)=\"onSort($event)\"\r\n (window:resize)=\"assignTableColumns($event)\"\r\n [rowHeight]=\"'auto'\"\r\n [selected]=\"selected\"\r\n [selectionType]=\"multiSelectRows ? 'checkbox' : 'single'\"\r\n [sorts]=\"[{ prop: defultSort?.name, dir: defultSort?.dir }]\"\r\n >\r\n\r\n <ngx-datatable-column\r\n *ngIf=\"multiSelectRows\"\r\n [width]=\"30\"\r\n [sortable]=\"false\"\r\n [prop]=\"''\"\r\n [canAutoResize]=\"false\"\r\n [draggable]=\"false\"\r\n [resizeable]=\"false\"\r\n>\r\n <ng-template\r\n ngx-datatable-header-template\r\n let-value=\"value\"\r\n let-allRowsSelected=\"allRowsSelected\"\r\n let-selectFn=\"selectFn\"\r\n >\r\n <!-- <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\" /> -->\r\n <mat-checkbox color=\"primary\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\">\r\n </mat-checkbox>\r\n </ng-template>\r\n <ng-template\r\n ngx-datatable-cell-template\r\n let-value=\"value\"\r\n let-isSelected=\"isSelected\"\r\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\r\n >\r\n <!-- <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn($event)\" /> -->\r\n <mat-checkbox color=\"primary\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn(!allRowsSelected)\">\r\n </mat-checkbox>\r\n </ng-template>\r\n</ngx-datatable-column>\r\n <!-- | translate -->\r\n <ng-container *ngFor=\"let column of tableColumns; let i = index\">\r\n <ng-container *permission=\"{name: column.permission}\">\r\n <ngx-datatable-column *ngIf=\"column.display\" [sortable]=\"column.sortable\"\r\n [name]=\"prefix + column.name | translate\" [prop]=\"column.prop\" [resizeable]=\"false\" [draggable]=\"false\"\r\n [maxWidth]=\"column.size\" [headerClass]=\"column.headerClass ? column.headerClass : ''\"\r\n [summaryTemplate]=\"(customFirstRow) ? customRowTemplate : null\">\r\n <ng-template let-row=\"row\" let-value=\"value\" let-index=\"index\" ngx-datatable-cell-template>\r\n <ng-container *ngIf=\"column.type === 'text'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ value ? value : \"--\" }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'vocabulary'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-dropdown-viewer [withOutLabel]=\"true\" [value]=\"value\" [dropdownId]=\"column.vocabularyId\">\r\n </cts-dropdown-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'VocCell'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ (value ? column.vocabularyId + '.' + value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'VocItem'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ vocItemTranslationPrefix + value | translate }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'department'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-department-viewer [noStyle]=\"true\" [value]=\"value\">\r\n </cts-department-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'status'\">\r\n <div class=\"status-wrapper\">\r\n <span class=\"value {{ value }}\">\r\n <span *ngIf=\"statusIcons && statusIcons !== {}\" class=\"status-icon {{statusIcons[value]}}\"></span>\r\n {{\"STATS.\" + value | translate }}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'role'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ \"role.\" + (value ? value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'actions' && rows.length !== 0\">\r\n <div [ngClass]=\"disabledActions ? 'disabled-actions-wrapper' : 'actions-wrapper'\" *ngIf=\"!showActionsAsMenu\">\r\n <!-- <span class=\"bi bi-trash delete-icon\" (click)=\"performAction(row , 'delete')\"></span> -->\r\n <i\r\n class=\"bi bi-pencil-square edit-icon\"\r\n matTooltip=\"{{ 'UPDATE' | translate }}\"\r\n (click)=\"performAction(row, 'edit')\"\r\n *ngIf=\"entityType === 'voc-table'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'delete' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \"></i>\r\n\r\n <i class=\"bi bi-plus-square\" matTooltip=\"{{ 'USER_MANGMENT.addToDepartment' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\" *ngIf=\"entityType === 'users' && row.isInitial\"></i>\r\n\r\n <span *ngFor=\"let action of column.actions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n\r\n <!-- <i\r\n *permission=\"{ name: 'registerCorrespondance', entity: row }\"\r\n class=\"bi bi-box-arrow-in-right\"\r\n matTooltip=\"{{ 'LISTING.REGISTER' | translate }}\"\r\n (click)=\"performAction(row, 'register')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'sendCorrespondance', entity: row }\"\r\n class=\"bi bi-envelope\"\r\n matTooltip=\"{{ 'LISTING.SEND' | translate }}\"\r\n (click)=\"performAction(row, 'send')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'closeCorrespondance', entity: row }\"\r\n class=\"bi bi-x-circle\"\r\n matTooltip=\"{{ 'LISTING.CLOSE' | translate }}\"\r\n (click)=\"performAction(row, 'close')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'archiveCorrespondance', entity: row }\"\r\n class=\"bi bi-folder-symlink\"\r\n matTooltip=\"{{ 'LISTING.ARCHIVE' | translate }}\"\r\n (click)=\"performAction(row, 'archive')\"\r\n ></i> -->\r\n </div>\r\n <div [ngClass]=\"disabledActions ? 'disabled-actions-wrapper' : 'actions-wrapper'\" *ngIf=\"showActionsAsMenu\">\r\n <button class=\"action-menu-trigger\" [matMenuTriggerFor]=\"menu\" [disabled]=\"disabledActions\">\r\n <i class=\"bi bi-three-dots-vertical\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\" class=\"datatable-actions-menu\">\r\n <button mat-menu-item (click)=\"performAction(row, 'edit')\" *ngIf=\"entityType === 'voc-table'\">\r\n <i class=\"bi bi-pencil-square edit-icon\"></i>\r\n <span class=\"action-text\">{{ 'UPDATE' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"performAction(row, 'delete')\" *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \">\r\n <i class=\"bi bi-trash\"></i>\r\n <span class=\"action-text\">{{ 'delete' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"performAction(row, 'delete')\" *ngIf=\"entityType === 'users' && row.isInitial\">\r\n <i class=\"bi bi-plus-square\"></i>\r\n <span class=\"action-text\">{{ 'USER_MANGMENT.addToDepartment' | translate }}</span>\r\n </button>\r\n <ng-conttainer *ngFor=\"let action of column.actions\">\r\n <button (click)=\"performAction(row, action.actionName)\" *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n <i class=\"{{ action.icon }}\"></i>\r\n <span class=\"action-text\">{{ action.tooltip | translate }}</span>\r\n </button>\r\n </ng-conttainer>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'date'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-date-viewer [withOutLabel]=\"true\" [value]=\"value\"></cts-date-viewer>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'custom'\">\r\n <cts-dynamic-column [id]=\"column.template\" [column]=\"column\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'direction'\">\r\n <div\r\n (click)=\"iconSelected($event, row)\"\r\n class=\"status-wrapper {{ value }} {{ row.state }}\"\r\n >\r\n <span class=\"iner-status-wrapper\" matTooltip=\"{{ 'STATS.' + row.state | translate }}\">\r\n <ng-container *permission=\"{ name: 'isFavorite', entity: row }\" >\r\n <span class=\"fav-icon-indicator bi bi-star-fill\"></span>\r\n </ng-container>\r\n <i\r\n class=\"{{directionIcons ? directionIcons['incoming'] : 'bi bi-box-arrow-down'}}\"\r\n *ngIf=\"row.type === 'IncomingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"{{directionIcons ? directionIcons['outgoing'] : 'bi bi-box-arrow-up outgoing'}}\"\r\n *ngIf=\"row.type === 'OutgoingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"{{directionIcons ? directionIcons['internal'] : 'bi bi-box-arrow-right internal'}}\"\r\n *ngIf=\"row.type === 'InternalCorrespondence'\"\r\n ></i>\r\n </span>\r\n <!-- <span class=\"value {{ value }}\">{{ \"STATS.\" + value | translate }}</span> -->\r\n </div>\r\n </ng-container>\r\n \r\n </ng-template>\r\n <ng-template #customRowTemplate let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <div class=\"w-full flex items-center justify-center overflow-visible\">\r\n <cts-dynamic-column [id]=\"column.custom1stCellTemplate\" [column]=\"column\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-datatable>\r\n</div>\r\n\r\n<div *ngIf=\"responsiveView && tableMode !== 'card'\" (window:resize)=\"assignTableColumns($event)\">\r\n <div class=\"dynamic-cards-container\">\r\n <div class=\"single-card\" [ngClass]=\"{'selected-card': highlightSelectedCard && row?.isSelected}\"\r\n *ngFor=\"let row of rows\">\r\n <div class=\"memo-title\">\r\n <span>\r\n {{ row.properties.referenceNumber }}\r\n </span>\r\n <span class=\"action-wrap\">\r\n <!-- <div *ngIf=\"property.type === 'actions' && rows.length !== 0\" class=\"actions-wrapper\">\r\n <i class=\"bi bi-pencil-square edit-icon\" matTooltip=\"{{ 'UPDATE' | translate }}\"\r\n (click)=\"performAction(row, 'edit')\" *ngIf=\"entityType === 'voc-table'\"></i>\r\n <i class=\"bi bi-trash\" matTooltip=\"{{ 'delete' | translate }}\" (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \"></i>\r\n\r\n <i class=\"bi bi-plus-square\" matTooltip=\"{{ 'USER_MANGMENT.addToDepartment' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\" *ngIf=\"entityType === 'users' && row.isInitial\"></i>\r\n\r\n <span *ngFor=\"let action of property.actions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n </div> -->\r\n <span class=\"action\" *ngFor=\"let action of tableActions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div *ngIf=\"tableColumns.length > 1\">\r\n <div class=\"memo-body\" *ngFor=\"let property of tableColumns\" (click)=\"cardSelected(row)\">\r\n <div class=\"key\">{{ prefix + property.key | translate }}</div>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value]}}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'owner'\">\r\n {{ row.properties[property.owner]?.[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{ row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US') }}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n <div *ngIf=\"property.type === 'status'\" class=\"value {{ row[property.value]}}\">{{\r\n \"STATS.\" + row[property.value] | translate\r\n }}</div>\r\n <div *ngIf=\"property.type === 'vocabulary'\" class=\"cell-text-wrapper\">\r\n <cts-dropdown-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\"\r\n [dropdownId]=\"property.vocabularyId\">\r\n </cts-dropdown-viewer>\r\n </div>\r\n <div *ngIf=\"property.type === 'direction'\" (click)=\"iconSelected($event, row)\"\r\n class=\"status-wrapper {{ property.value }} {{ row.state }}\">\r\n <span class=\"iner-status-wrapper\" matTooltip=\"{{ 'STATS.' + row.state | translate }}\">\r\n <ng-container *permission=\"{ name: 'isFavorite', entity: row }\">\r\n <span class=\"fav-icon-indicator bi bi-star-fill\"></span>\r\n </ng-container>\r\n <i class=\"bi bi-box-arrow-down\" *ngIf=\"row.type === 'IncomingCorrespondence'\"></i>\r\n <i class=\"bi bi-box-arrow-up outgoing\" *ngIf=\"row.type === 'OutgoingCorrespondence'\"></i>\r\n <i class=\"bi bi-box-arrow-right internal\" *ngIf=\"row.type === 'InternalCorrespondence'\"></i>\r\n </span>\r\n </div>\r\n <div *ngIf=\"property.type === 'custom'\">\r\n <cts-dynamic-column [id]=\"property.template\" [column]=\"property\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"iner-card-container {{entityType}}\" (click)=\"cardSelected(row)\" *ngIf=\"tableColumns.length === 1\">\r\n <cts-dynamic-column [id]=\"columns[0].template\" [column]=\"columns[0]\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'card'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" *ngFor=\"let row of rows; let i = index\">\r\n <div class=\"memo-title\">\r\n <span>\r\n {{ row.properties.referenceNumber }}\r\n </span>\r\n <span class=\"action-wrap\">\r\n <span class=\"action\" *ngFor=\"let action of tableActions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n <button *permission=\"{ name: 'deleteMemo', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'deleteMemo')\">\r\n <i class=\"bi bi-trash\" matTooltip=\"{{ 'LISTING.ONLY_DELETE' | translate }}\"></i>\r\n </button>\r\n <button *permission=\"{ name: 'terminateDelegation', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'terminateDelegation')\">\r\n <i class=\"bi bi-trash\" matTooltip=\"{{ 'LISTING.CANCEL' | translate }}\"></i>\r\n </button>\r\n <span class=\"publish-state\"\r\n *permission=\"{ name: 'memoPublished', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ \"MEMOS.PUBLISHED\" | translate }}\r\n </span>\r\n <span class=\"publish-state\"\r\n *permission=\"{ name: 'delegationFinished', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ \"delegations.finished\" | translate }}\r\n </span>\r\n <span class=\"publish-state\"\r\n *permission=\"{ name: 'delegationActive', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ \"delegations.active\" | translate }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"memo-body\" *ngFor=\"let property of columns\" (click)=\"cardSelected(row);cardFocused(i)\">\r\n <div class=\"key\" *ngIf=\"property.type !== 'default'\">{{ prefix + property.key | translate }}</div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"key\"\r\n *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ prefix + property.key | translate }}\r\n </div>\r\n </ng-container>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'user'\">\r\n {{ row.properties[property.value].fullName }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US')}}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'boolean'\">\r\n {{ (row.properties[property.value] ? 'Yes':'No') | translate }}\r\n </div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"text\"\r\n *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"property.type === 'custom'\">\r\n <div class=\"text\" *ngFor=\"let item of row.properties[property.value]\">\r\n {{ item | translate }} {{\", \" }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'dynamicCard'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" [ngClass]=\"{'selected-card': highlightSelectedCard && row?.isSelected}\"\r\n *ngFor=\"let row of rows\">\r\n <div *ngIf=\"columns.length > 1\">\r\n <div class=\"memo-body\" *ngFor=\"let property of columns\" (click)=\"cardSelected(row)\">\r\n <div class=\"key\">{{ prefix + property.key | translate }}</div>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{ row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US') }}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"iner-card-container {{entityType}}\" (click)=\"cardSelected(row)\" *ngIf=\"columns.length === 1\">\r\n <cts-dynamic-column [id]=\"columns[0].template\" [column]=\"columns[0]\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.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}.ngx-datatable{border:1px solid #eef1f5;border-radius:5px}.ngx-datatable .datatable-header{font-weight:bold;width:100%!important;height:50px!important;background-color:#eef1f5;color:#9aa4ac;font-size:14px}.ngx-datatable .datatable-header .datatable-header-inner{width:100%!important;height:100%;padding:0 20px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;align-items:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn{margin:5px 5px 0;width:16px;height:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn:before{content:\"\\f127\";display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:normal!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-up.sort-btn:before{content:\"\\f57b\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-down.sort-btn:before{content:\"\\f574\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;white-space:pre-wrap}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper{display:flex}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper .datatable-header-cell-label{text-align:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .checkbox-input{z-index:99}.ngx-datatable .datatable-body .empty-row{text-align:center}.ngx-datatable .datatable-body .datatable-scroll{width:100%!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row{display:flex!important;min-height:50px!important;overflow:visible!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-row-center{overflow:visible!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-row-center .datatable-body-cell{overflow:visible!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row{height:50px;font-size:14px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row{width:100%!important;height:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;padding:0 20px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell{min-height:50px;display:flex;align-items:center;overflow:hidden}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label{width:100%;display:flex;justify-content:center}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .checkbox-input,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .checkbox-input{z-index:99}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .cell-text-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .cell-text-wrapper{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper{position:relative}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper .fav-icon-indicator,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper .fav-icon-indicator{font-size:12px;position:absolute;top:-5px;right:-10px;color:#ebb98e}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value{display:flex;justify-content:center;align-items:center;border-radius:5px;width:100px;height:25px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value .status-icon,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value .status-icon{margin-inline-end:5px;font-size:16px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .draft,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .draft{background-color:#596973;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .inProgress,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .inProgress{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .registered,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .registered{background-color:#5a1496;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .archived,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .archived{background-color:#fbb62c;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .closed,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .closed{background-color:#00dca5;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .approved,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .approved{background-color:#06a57e;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .assigned,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .assigned{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .sent,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .sent{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_revision,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_revision{background:#689be7;color:#e9f1fd}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .rejected,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .rejected{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_sign,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_sign{background-color:#dda722;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirectSelection,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirectSelection{background-color:#28b994;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirect,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirect{background-color:#e38888;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Incoming,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Incoming{color:#00dca5;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Outgoing,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Outgoing{color:#fbb62c;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Internal,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.internal,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi{font-size:25px;cursor:pointer;color:#465573;margin:0 5px!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi:hover,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi:hover{color:#2e62df!important;font-size:26px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button{display:flex;color:#5171a6;font-size:16px;height:45px;align-items:center;padding:0 10px;width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button i,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button i{font-size:20px;padding:0;display:flex;align-items:center}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button .action-text,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button .action-text{padding:0 5px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button:hover,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button:hover{background-color:#e6ebf2}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper .bi,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper .bi{font-size:25px;cursor:not-allowed;color:#465573;margin:0 5px!important;opacity:.7}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:nth-child(even){background-color:#f4f6f8}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:hover{background-color:#eef1f5}.cards-container{display:flex;flex-wrap:wrap;justify-content:center}.cards-container .single-card{padding:15px;border:1px solid rgba(180,186,198,.2);border-radius:3px;min-width:270px;width:24%;margin:0 5px 10px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.cards-container .single-card .memo-title{font-size:14px;font-weight:bold;color:#465573;border-bottom:1px solid lightgray;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.cards-container .single-card .memo-title .action-wrap .action{margin:0 5px;cursor:pointer}.cards-container .single-card .memo-title .action-wrap .action i{font-size:16px}.cards-container .single-card .memo-title .action-wrap .action i:hover{color:#00f}.cards-container .single-card .memo-title .action-wrap .publish-state{font-size:12px;color:#00dca5;font-weight:bold}.cards-container .single-card .memo-title .action-wrap button{border:none;color:#465573;background-color:transparent}.cards-container .single-card .memo-title .action-wrap button i{font-size:16px}.cards-container .single-card .memo-title .action-wrap button i:hover{color:#00f}.cards-container .single-card .memo-body{display:flex;padding:0 10px}.cards-container .single-card .memo-body .key{width:50%;font-size:12px;color:#9aa4ac}.cards-container .single-card .memo-body .value{width:50%;font-size:12px}.cards-container .single-card .memo-body .value .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards-container .single-card:hover{background-color:#f6f7f8}.cards-container .single-card:focus{background-color:#f6f7f8}.cards-container .selected-card{background-color:#f6f7f8}.rtl .ngx-datatable .datatable-body .status-wrapper .fav-icon-indicator{left:-10px;top:15px!important;right:auto!important}.dynamic-cards-container{display:flex;flex-wrap:wrap;justify-content:center}.dynamic-cards-container .single-card{padding:15px;border:1px solid rgba(180,186,198,.2);border-radius:3px;min-width:306px;width:24%;margin:0 5px 10px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.dynamic-cards-container .single-card .memo-title{font-size:14px;font-weight:bold;color:#465573;border-bottom:1px solid lightgray;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.dynamic-cards-container .single-card .memo-title .action-wrap .action{cursor:pointer}.dynamic-cards-container .single-card .memo-title .action-wrap .action i{font-size:16px}.dynamic-cards-container .single-card .memo-title .action-wrap .action i:hover{color:#00f}.dynamic-cards-container .single-card .memo-title .action-wrap .publish-state{font-size:12px;color:#00dca5;font-weight:bold}.dynamic-cards-container .single-card .memo-title .action-wrap button{border:none;color:#465573;background-color:transparent}.dynamic-cards-container .single-card .memo-title .action-wrap button i{font-size:16px}.dynamic-cards-container .single-card .memo-title .action-wrap button i:hover{color:#00f}.dynamic-cards-container .single-card .memo-body{display:flex;padding:0 10px}.dynamic-cards-container .single-card .memo-body .key{width:58%;font-size:12px;color:#9aa4ac;margin-bottom:4px}.dynamic-cards-container .single-card .memo-body .value{width:58%;font-size:12px}.dynamic-cards-container .single-card .memo-body .value .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dynamic-cards-container .single-card .memo-body .draft{background-color:#596973;color:#fff;width:24%}.dynamic-cards-container .single-card .memo-body .inProgress{background-color:#3c3cf0;color:#fff;width:51%}.dynamic-cards-container .single-card .memo-body .registered{background-color:#5a1496;color:#fff;width:51%}.dynamic-cards-container .single-card .memo-body .archived{background-color:#fbb62c;color:#fff;width:40%}.dynamic-cards-container .single-card .memo-body .closed{background-color:#00dca5;color:#fff;width:31%}.dynamic-cards-container .single-card .memo-body .approved{background-color:#06a57e;color:#fff;width:43%}.dynamic-cards-container .single-card .memo-body .assigned{background-color:#fd6670;color:#fff;width:43%}.dynamic-cards-container .single-card .memo-body .sent{background-color:#3c3cf0;color:#fff;width:23%}.dynamic-cards-container .single-card .memo-body .under_revision{background:#689be7;color:#e9f1fd;width:65%}.dynamic-cards-container .single-card .memo-body .rejected{background-color:#fd6670;color:#fff;width:37%}.dynamic-cards-container .single-card .memo-body .under_sign{background-color:#dda722;color:#fff;width:51%}.dynamic-cards-container .single-card:hover{background-color:#f6f7f8}.dynamic-cards-container .single-card:focus{background-color:#f6f7f8}.dynamic-cards-container .selected-card{background-color:#f6f7f8}.overflowVisible{overflow:visible!important}\n"], components: [{ type: i4$2.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: i7$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: DropdownViewerComponent, selector: "cts-dropdown-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel"] }, { type: DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }, { type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: DateViewerComponent, selector: "cts-date-viewer", inputs: ["label", "value", "vertical", "format", "hijri", "withOutLabel"] }, { type: DynamicColumnComponent, selector: "cts-dynamic-column", inputs: ["id", "context", "column"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$2.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i4$2.DataTableColumnHeaderDirective, selector: "[ngx-datatable-header-template]" }, { type: i4$2.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "translate": i1.TranslatePipe, "localizedDate": LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
12952
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableComponent, selector: "cts-table", inputs: { rows: "rows", columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", pageCount: "pageCount", totalRecords: "totalRecords", rowCursor: "rowCursor", fullWidth: "fullWidth", vocItemTranslationPrefix: "vocItemTranslationPrefix", tableMode: "tableMode", tableActions: "tableActions", format: "format", defultSort: "defultSort", highlightSelectedCard: "highlightSelectedCard", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", showActionsAsMenu: "showActionsAsMenu" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", onIconSelected: "onIconSelected", actionOnRow: "actionOnRow", onSorting: "onSorting", onMultiRowSelected: "onMultiRowSelected" }, ngImport: i0, template: "<div class=\"iner-table-container\" [style]=\"'width:' + tableWidth\" *ngIf=\"tableMode === 'list' && !responsiveView\">\r\n <ngx-datatable\r\n [ngClass]=\"{'overflowVisible': customFirstRow}\"\r\n class=\"large-table\"\r\n [rows]=\"rows\"\r\n [summaryRow]=\"customFirstRow\"\r\n [columnMode]=\"'force'\"\r\n [externalSorting]=\"true\"\r\n (activate)=\"rowDetails($event)\"\r\n (select)=\"onSelect($event)\"\r\n (sort)=\"onSort($event)\"\r\n (window:resize)=\"assignTableColumns($event)\"\r\n [rowHeight]=\"'auto'\"\r\n [selected]=\"selected\"\r\n [selectionType]=\"multiSelectRows ? 'checkbox' : 'single'\"\r\n [sorts]=\"[{ prop: defultSort?.name, dir: defultSort?.dir }]\"\r\n >\r\n\r\n <ngx-datatable-column\r\n *ngIf=\"multiSelectRows\"\r\n [width]=\"30\"\r\n [sortable]=\"false\"\r\n [prop]=\"''\"\r\n [canAutoResize]=\"false\"\r\n [draggable]=\"false\"\r\n [resizeable]=\"false\"\r\n>\r\n <ng-template\r\n ngx-datatable-header-template\r\n let-value=\"value\"\r\n let-allRowsSelected=\"allRowsSelected\"\r\n let-selectFn=\"selectFn\"\r\n >\r\n <!-- <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\" /> -->\r\n <mat-checkbox color=\"primary\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\">\r\n </mat-checkbox>\r\n </ng-template>\r\n <ng-template\r\n ngx-datatable-cell-template\r\n let-value=\"value\"\r\n let-isSelected=\"isSelected\"\r\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\r\n >\r\n <!-- <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn($event)\" /> -->\r\n <mat-checkbox color=\"primary\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn(!allRowsSelected)\">\r\n </mat-checkbox>\r\n </ng-template>\r\n</ngx-datatable-column>\r\n <!-- | translate -->\r\n <ng-container *ngFor=\"let column of tableColumns; let i = index\">\r\n <ng-container *permission=\"{name: column.permission}\">\r\n <ngx-datatable-column *ngIf=\"column.display\" [sortable]=\"column.sortable\"\r\n [name]=\"prefix + column.name | translate\" [prop]=\"column.prop\" [resizeable]=\"false\" [draggable]=\"false\"\r\n [maxWidth]=\"column.size\" [headerClass]=\"column.headerClass ? column.headerClass : ''\"\r\n [summaryTemplate]=\"(customFirstRow) ? customRowTemplate : null\">\r\n <ng-template let-row=\"row\" let-value=\"value\" let-index=\"index\" ngx-datatable-cell-template>\r\n <ng-container *ngIf=\"column.type === 'text'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ value ? value : \"--\" }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'vocabulary'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-dropdown-viewer [withOutLabel]=\"true\" [value]=\"value\" [dropdownId]=\"column.vocabularyId\">\r\n </cts-dropdown-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'VocCell'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ (value ? column.vocabularyId + '.' + value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'VocItem'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ vocItemTranslationPrefix + value | translate }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'department'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-department-viewer [noStyle]=\"true\" [value]=\"value\">\r\n </cts-department-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'status'\">\r\n <div class=\"status-wrapper\">\r\n <span class=\"value {{ value }}\">\r\n <span *ngIf=\"statusIcons && statusIcons !== {}\" class=\"status-icon {{statusIcons[value]}}\"></span>\r\n {{\"STATS.\" + value | translate }}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'role'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ \"role.\" + (value ? value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'actions' && rows.length !== 0\">\r\n <div [ngClass]=\"disabledActions ? 'disabled-actions-wrapper' : 'actions-wrapper'\" *ngIf=\"!showActionsAsMenu\">\r\n <!-- <span class=\"bi bi-trash delete-icon\" (click)=\"performAction(row , 'delete')\"></span> -->\r\n <i\r\n class=\"bi bi-pencil-square edit-icon\"\r\n matTooltip=\"{{ 'UPDATE' | translate }}\"\r\n (click)=\"performAction(row, 'edit')\"\r\n *ngIf=\"entityType === 'voc-table'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'delete' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \"></i>\r\n\r\n <i class=\"bi bi-plus-square\" matTooltip=\"{{ 'USER_MANGMENT.addToDepartment' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\" *ngIf=\"entityType === 'users' && row.isInitial\"></i>\r\n\r\n <span *ngFor=\"let action of column.actions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n\r\n <!-- <i\r\n *permission=\"{ name: 'registerCorrespondance', entity: row }\"\r\n class=\"bi bi-box-arrow-in-right\"\r\n matTooltip=\"{{ 'LISTING.REGISTER' | translate }}\"\r\n (click)=\"performAction(row, 'register')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'sendCorrespondance', entity: row }\"\r\n class=\"bi bi-envelope\"\r\n matTooltip=\"{{ 'LISTING.SEND' | translate }}\"\r\n (click)=\"performAction(row, 'send')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'closeCorrespondance', entity: row }\"\r\n class=\"bi bi-x-circle\"\r\n matTooltip=\"{{ 'LISTING.CLOSE' | translate }}\"\r\n (click)=\"performAction(row, 'close')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'archiveCorrespondance', entity: row }\"\r\n class=\"bi bi-folder-symlink\"\r\n matTooltip=\"{{ 'LISTING.ARCHIVE' | translate }}\"\r\n (click)=\"performAction(row, 'archive')\"\r\n ></i> -->\r\n </div>\r\n <div [ngClass]=\"disabledActions ? 'disabled-actions-wrapper' : 'actions-wrapper'\" *ngIf=\"showActionsAsMenu\">\r\n <button class=\"action-menu-trigger\" [matMenuTriggerFor]=\"menu\" [disabled]=\"disabledActions\">\r\n <i class=\"bi bi-three-dots-vertical\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\" class=\"datatable-actions-menu\">\r\n <button mat-menu-item (click)=\"performAction(row, 'edit')\" *ngIf=\"entityType === 'voc-table'\">\r\n <i class=\"bi bi-pencil-square edit-icon\"></i>\r\n <span class=\"action-text\">{{ 'UPDATE' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"performAction(row, 'delete')\" *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \">\r\n <i class=\"bi bi-trash\"></i>\r\n <span class=\"action-text\">{{ 'delete' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"performAction(row, 'delete')\" *ngIf=\"entityType === 'users' && row.isInitial\">\r\n <i class=\"bi bi-plus-square\"></i>\r\n <span class=\"action-text\">{{ 'USER_MANGMENT.addToDepartment' | translate }}</span>\r\n </button>\r\n <ng-conttainer *ngFor=\"let action of column.actions\">\r\n <button (click)=\"performAction(row, action.actionName)\" *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n <i class=\"{{ action.icon }}\"></i>\r\n <span class=\"action-text\">{{ action.tooltip | translate }}</span>\r\n </button>\r\n </ng-conttainer>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'date'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-date-viewer [withOutLabel]=\"true\" [value]=\"value\"></cts-date-viewer>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'custom'\">\r\n <cts-dynamic-column [id]=\"column.template\" [column]=\"column\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'direction'\">\r\n <div\r\n (click)=\"iconSelected($event, row)\"\r\n class=\"status-wrapper {{ value }} {{ row.state }}\"\r\n >\r\n <span class=\"iner-status-wrapper\" matTooltip=\"{{ 'STATS.' + row.state | translate }}\">\r\n <ng-container *permission=\"{ name: 'isFavorite', entity: row }\" >\r\n <span class=\"fav-icon-indicator bi bi-star-fill\"></span>\r\n </ng-container>\r\n <i\r\n class=\"{{directionIcons ? directionIcons['incoming'] : 'bi bi-box-arrow-down'}}\"\r\n *ngIf=\"row.type === 'IncomingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"{{directionIcons ? directionIcons['outgoing'] : 'bi bi-box-arrow-up outgoing'}}\"\r\n *ngIf=\"row.type === 'OutgoingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"{{directionIcons ? directionIcons['internal'] : 'bi bi-box-arrow-right internal'}}\"\r\n *ngIf=\"row.type === 'InternalCorrespondence'\"\r\n ></i>\r\n </span>\r\n <!-- <span class=\"value {{ value }}\">{{ \"STATS.\" + value | translate }}</span> -->\r\n </div>\r\n </ng-container>\r\n \r\n </ng-template>\r\n <ng-template #customRowTemplate let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <div class=\"w-full flex items-center justify-center overflow-visible\">\r\n <cts-dynamic-column [id]=\"column.custom1stCellTemplate\" [column]=\"column\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-datatable>\r\n</div>\r\n\r\n<div *ngIf=\"responsiveView && tableMode !== 'card'\" (window:resize)=\"assignTableColumns($event)\">\r\n <div class=\"dynamic-cards-container\">\r\n <div class=\"single-card\" [ngClass]=\"{'selected-card': highlightSelectedCard && row?.isSelected}\"\r\n *ngFor=\"let row of rows\">\r\n <div class=\"memo-title\">\r\n <span>\r\n {{ row.properties.referenceNumber }}\r\n </span>\r\n <span class=\"action-wrap\">\r\n <!-- <div *ngIf=\"property.type === 'actions' && rows.length !== 0\" class=\"actions-wrapper\">\r\n <i class=\"bi bi-pencil-square edit-icon\" matTooltip=\"{{ 'UPDATE' | translate }}\"\r\n (click)=\"performAction(row, 'edit')\" *ngIf=\"entityType === 'voc-table'\"></i>\r\n <i class=\"bi bi-trash\" matTooltip=\"{{ 'delete' | translate }}\" (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \"></i>\r\n\r\n <i class=\"bi bi-plus-square\" matTooltip=\"{{ 'USER_MANGMENT.addToDepartment' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\" *ngIf=\"entityType === 'users' && row.isInitial\"></i>\r\n\r\n <span *ngFor=\"let action of property.actions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n </div> -->\r\n <span class=\"action\" *ngFor=\"let action of tableActions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div *ngIf=\"tableColumns.length > 1\">\r\n <div class=\"memo-body\" *ngFor=\"let property of tableColumns\" (click)=\"cardSelected(row)\">\r\n <div class=\"key\">{{ prefix + property.key | translate }}</div>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value]}}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'owner'\">\r\n {{ row.properties[property.owner]?.[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{ row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US') }}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n <div *ngIf=\"property.type === 'status'\" class=\"value {{ row[property.value]}}\">{{\r\n \"STATS.\" + row[property.value] | translate\r\n }}</div>\r\n <div *ngIf=\"property.type === 'vocabulary'\" class=\"cell-text-wrapper\">\r\n <cts-dropdown-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\"\r\n [dropdownId]=\"property.vocabularyId\">\r\n </cts-dropdown-viewer>\r\n </div>\r\n <div *ngIf=\"property.type === 'direction'\" (click)=\"iconSelected($event, row)\"\r\n class=\"status-wrapper {{ property.value }} {{ row.state }}\">\r\n <span class=\"iner-status-wrapper\" matTooltip=\"{{ 'STATS.' + row.state | translate }}\">\r\n <ng-container *permission=\"{ name: 'isFavorite', entity: row }\">\r\n <span class=\"fav-icon-indicator bi bi-star-fill\"></span>\r\n </ng-container>\r\n <i class=\"bi bi-box-arrow-down\" *ngIf=\"row.type === 'IncomingCorrespondence'\"></i>\r\n <i class=\"bi bi-box-arrow-up outgoing\" *ngIf=\"row.type === 'OutgoingCorrespondence'\"></i>\r\n <i class=\"bi bi-box-arrow-right internal\" *ngIf=\"row.type === 'InternalCorrespondence'\"></i>\r\n </span>\r\n </div>\r\n <div *ngIf=\"property.type === 'custom'\">\r\n <cts-dynamic-column [id]=\"property.template\" [column]=\"property\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"iner-card-container {{entityType}}\" (click)=\"cardSelected(row)\" *ngIf=\"tableColumns.length === 1\">\r\n <cts-dynamic-column [id]=\"columns[0].template\" [column]=\"columns[0]\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'card'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" *ngFor=\"let row of rows; let i = index\">\r\n <div class=\"memo-title\">\r\n <span>\r\n {{ row.properties.referenceNumber }}\r\n </span>\r\n <span class=\"action-wrap\">\r\n <span class=\"action\" *ngFor=\"let action of tableActions\">\r\n <i *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\" matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"></i>\r\n </span>\r\n <button *permission=\"{ name: 'deleteMemo', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'deleteMemo')\">\r\n <i class=\"bi bi-trash\" matTooltip=\"{{ 'LISTING.ONLY_DELETE' | translate }}\"></i>\r\n </button>\r\n <button *permission=\"{ name: 'terminateDelegation', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'terminateDelegation')\">\r\n <i class=\"bi bi-trash\" matTooltip=\"{{ 'LISTING.CANCEL' | translate }}\"></i>\r\n </button>\r\n <span class=\"publish-state\"\r\n *permission=\"{ name: 'memoPublished', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ \"MEMOS.PUBLISHED\" | translate }}\r\n </span>\r\n <span class=\"publish-state\"\r\n *permission=\"{ name: 'delegationFinished', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ \"delegations.finished\" | translate }}\r\n </span>\r\n <span class=\"publish-state\"\r\n *permission=\"{ name: 'delegationActive', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ \"delegations.active\" | translate }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"memo-body\" *ngFor=\"let property of columns\" (click)=\"cardSelected(row);cardFocused(i)\">\r\n <div class=\"key\" *ngIf=\"property.type !== 'default'\">{{ prefix + property.key | translate }}</div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"key\"\r\n *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ prefix + property.key | translate }}\r\n </div>\r\n </ng-container>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'user'\">\r\n {{ row.properties[property.value].fullName }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US')}}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'boolean'\">\r\n {{ (row.properties[property.value] ? 'Yes':'No') | translate }}\r\n </div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"text\"\r\n *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"property.type === 'custom'\">\r\n <div class=\"text\" *ngFor=\"let item of row.properties[property.value]\">\r\n {{ item | translate }} {{\", \" }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'dynamicCard'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" [ngClass]=\"{'selected-card': highlightSelectedCard && row?.isSelected}\"\r\n *ngFor=\"let row of rows\">\r\n <div *ngIf=\"columns.length > 1\">\r\n <div class=\"memo-body\" *ngFor=\"let property of columns\" (click)=\"cardSelected(row)\">\r\n <div class=\"key\">{{ prefix + property.key | translate }}</div>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{ row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US') }}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"iner-card-container {{entityType}}\" (click)=\"cardSelected(row)\" *ngIf=\"columns.length === 1\">\r\n <cts-dynamic-column [id]=\"columns[0].template\" [column]=\"columns[0]\" [context]=\"row\">\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.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}.ngx-datatable{border:1px solid #eef1f5;border-radius:5px}.ngx-datatable .datatable-header{font-weight:bold;width:100%!important;height:50px!important;background-color:#eef1f5;color:#9aa4ac;font-size:14px}.ngx-datatable .datatable-header .datatable-header-inner{width:100%!important;height:100%;padding:0 20px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;align-items:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn{margin:5px 5px 0;width:16px;height:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn:before{content:\"\\f127\";display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:normal!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-up.sort-btn:before{content:\"\\f57b\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-down.sort-btn:before{content:\"\\f574\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;white-space:pre-wrap}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper{display:flex}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper .datatable-header-cell-label{text-align:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .checkbox-input{z-index:99}.ngx-datatable .datatable-body .empty-row{text-align:center}.ngx-datatable .datatable-body .datatable-scroll{width:100%!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row{display:flex!important;min-height:50px!important;overflow:visible!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-row-center{overflow:visible!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-row-center .datatable-body-cell{overflow:visible!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row{height:50px;font-size:14px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row{width:100%!important;height:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;padding:0 20px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell{min-height:50px;display:flex;align-items:center;overflow:hidden}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label{width:100%;display:flex;justify-content:center}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .checkbox-input,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .checkbox-input{z-index:99}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .cell-text-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .cell-text-wrapper{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper{position:relative}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper .fav-icon-indicator,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper .fav-icon-indicator{font-size:12px;position:absolute;top:-5px;right:-10px;color:#ebb98e}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value{display:flex;justify-content:center;align-items:center;border-radius:5px;width:100px;height:25px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value .status-icon,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value .status-icon{margin-inline-end:5px;font-size:16px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .draft,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .draft{background-color:#596973;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .inProgress,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .inProgress{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .registered,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .registered{background-color:#5a1496;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .archived,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .archived{background-color:#fbb62c;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .closed,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .closed{background-color:#00dca5;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .approved,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .approved{background-color:#06a57e;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .assigned,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .assigned{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .sent,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .sent{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_revision,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_revision{background:#689be7;color:#e9f1fd}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .rejected,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .rejected{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_sign,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_sign{background-color:#dda722;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirectSelection,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirectSelection{background-color:#28b994;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirect,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .redirect{background-color:#e38888;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Incoming,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Incoming{color:#00dca5;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Outgoing,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Outgoing{color:#fbb62c;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Internal,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.internal,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi{font-size:25px;cursor:pointer;color:#465573;margin:0 5px!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi:hover,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi:hover{color:#2e62df!important;font-size:26px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button{display:flex;color:#5171a6;font-size:16px;height:45px;align-items:center;padding:0 10px;width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button i,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button i{font-size:20px;padding:0;display:flex;align-items:center}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button .action-text,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button .action-text{padding:0 5px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button:hover,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .datatable-actions-menu button:hover{background-color:#e6ebf2}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper .bi,.ngx-datatable .datatable-body .datatable-scroll .datatable-summary-row .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper .bi{font-size:25px;cursor:not-allowed;color:#465573;margin:0 5px!important;opacity:.7}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:nth-child(even){background-color:#f4f6f8}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:hover{background-color:#eef1f5}.cards-container{display:flex;flex-wrap:wrap;justify-content:center}.cards-container .single-card{padding:15px;border:1px solid rgba(180,186,198,.2);border-radius:3px;min-width:270px;width:24%;margin:0 5px 10px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.cards-container .single-card .memo-title{font-size:14px;font-weight:bold;color:#465573;border-bottom:1px solid lightgray;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.cards-container .single-card .memo-title .action-wrap .action{margin:0 5px;cursor:pointer}.cards-container .single-card .memo-title .action-wrap .action i{font-size:16px}.cards-container .single-card .memo-title .action-wrap .action i:hover{color:#00f}.cards-container .single-card .memo-title .action-wrap .publish-state{font-size:12px;color:#00dca5;font-weight:bold}.cards-container .single-card .memo-title .action-wrap button{border:none;color:#465573;background-color:transparent}.cards-container .single-card .memo-title .action-wrap button i{font-size:16px}.cards-container .single-card .memo-title .action-wrap button i:hover{color:#00f}.cards-container .single-card .memo-body{display:flex;padding:0 10px}.cards-container .single-card .memo-body .key{width:50%;font-size:12px;color:#9aa4ac}.cards-container .single-card .memo-body .value{width:50%;font-size:12px}.cards-container .single-card .memo-body .value .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards-container .single-card:hover{background-color:#f6f7f8}.cards-container .single-card:focus{background-color:#f6f7f8}.cards-container .selected-card{background-color:#f6f7f8}.rtl .ngx-datatable .datatable-body .status-wrapper .fav-icon-indicator{left:-10px;top:15px!important;right:auto!important}.dynamic-cards-container{display:flex;flex-wrap:wrap;justify-content:center}.dynamic-cards-container .single-card{padding:15px;border:1px solid rgba(180,186,198,.2);border-radius:3px;min-width:306px;width:24%;margin:0 5px 10px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.dynamic-cards-container .single-card .memo-title{font-size:14px;font-weight:bold;color:#465573;border-bottom:1px solid lightgray;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.dynamic-cards-container .single-card .memo-title .action-wrap .action{cursor:pointer}.dynamic-cards-container .single-card .memo-title .action-wrap .action i{font-size:16px}.dynamic-cards-container .single-card .memo-title .action-wrap .action i:hover{color:#00f}.dynamic-cards-container .single-card .memo-title .action-wrap .publish-state{font-size:12px;color:#00dca5;font-weight:bold}.dynamic-cards-container .single-card .memo-title .action-wrap button{border:none;color:#465573;background-color:transparent}.dynamic-cards-container .single-card .memo-title .action-wrap button i{font-size:16px}.dynamic-cards-container .single-card .memo-title .action-wrap button i:hover{color:#00f}.dynamic-cards-container .single-card .memo-body{display:flex;padding:0 10px}.dynamic-cards-container .single-card .memo-body .key{width:58%;font-size:12px;color:#9aa4ac;margin-bottom:4px}.dynamic-cards-container .single-card .memo-body .value{width:58%;font-size:12px}.dynamic-cards-container .single-card .memo-body .value .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dynamic-cards-container .single-card .memo-body .draft{background-color:#596973;color:#fff;width:24%}.dynamic-cards-container .single-card .memo-body .inProgress{background-color:#3c3cf0;color:#fff;width:51%}.dynamic-cards-container .single-card .memo-body .registered{background-color:#5a1496;color:#fff;width:51%}.dynamic-cards-container .single-card .memo-body .archived{background-color:#fbb62c;color:#fff;width:40%}.dynamic-cards-container .single-card .memo-body .closed{background-color:#00dca5;color:#fff;width:31%}.dynamic-cards-container .single-card .memo-body .approved{background-color:#06a57e;color:#fff;width:43%}.dynamic-cards-container .single-card .memo-body .assigned{background-color:#fd6670;color:#fff;width:43%}.dynamic-cards-container .single-card .memo-body .sent{background-color:#3c3cf0;color:#fff;width:23%}.dynamic-cards-container .single-card .memo-body .under_revision{background:#689be7;color:#e9f1fd;width:65%}.dynamic-cards-container .single-card .memo-body .rejected{background-color:#fd6670;color:#fff;width:37%}.dynamic-cards-container .single-card .memo-body .under_sign{background-color:#dda722;color:#fff;width:51%}.dynamic-cards-container .single-card:hover{background-color:#f6f7f8}.dynamic-cards-container .single-card:focus{background-color:#f6f7f8}.dynamic-cards-container .selected-card{background-color:#f6f7f8}.overflowVisible{overflow:visible!important}\n"], components: [{ type: i4$2.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: i7$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: DropdownViewerComponent, selector: "cts-dropdown-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel"] }, { type: DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }, { type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: DateViewerComponent, selector: "cts-date-viewer", inputs: ["label", "value", "vertical", "format", "hijri", "withOutLabel"] }, { type: DynamicColumnComponent, selector: "cts-dynamic-column", inputs: ["id", "context", "column"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$2.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i4$2.DataTableColumnHeaderDirective, selector: "[ngx-datatable-header-template]" }, { type: i4$2.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "translate": i1.TranslatePipe, "localizedDate": LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
12957
12953
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableComponent, decorators: [{
|
|
12958
12954
|
type: Component,
|
|
12959
12955
|
args: [{
|
|
@@ -13737,7 +13733,7 @@ class DynamicSearchComponent {
|
|
|
13737
13733
|
}
|
|
13738
13734
|
}
|
|
13739
13735
|
DynamicSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicSearchComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: i1$4.Router }, { token: EvaluatorsService }, { token: NuxeoService }, { token: GlobalAdminService }, { token: 'environment' }, { token: i5$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
13740
|
-
DynamicSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicSearchComponent, selector: "cts-dynamic-search", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", sortingBy: "sortingBy", fullTextParamName: "fullTextParamName", filter: "filter", suggesterApi: "suggesterApi", onRowSelected: "onRowSelected", sortingArray: "sortingArray", customResponsiveStyle: "customResponsiveStyle", openCloseFilterFromOutside: "openCloseFilterFromOutside", theme: "theme" }, outputs: { actionOnRow: "actionOnRow" }, viewQueries: [{ propertyName: "dynamicTable", first: true, predicate: ["dynamicTable"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!customResponsiveStyle\">\r\n <div class=\"search-toolbar d-md-flex d-xl-none mx-3\">\r\n <button (click)=\"onOpenFilter()\" class=\"my-button\">\r\n <span> {{ \"FILTER\" | translate }}</span>\r\n <i class=\"bi bi-filter\" *ngIf=\"!openFilter\"></i>\r\n <i class=\"bi bi-x\" *ngIf=\"openFilter\"></i>\r\n </button>\r\n <div *ngIf=\"openFilter\">\r\n <i class=\"bi bi-caret-up-fill arrow-up\"></i>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"customResponsiveStyle\">\r\n <div class=\"customStyle -mt-12 px-8 flex flex-col\"\r\n [ngClass]=\"{'bg-accent-200': theme === 'dgda','bg-accent-100': theme === 'ksreleif' || theme === 'comptechco'}\"\r\n [@collapse]=\"!openFilter\">\r\n <!-- <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form> -->\r\n <div class=\"flex gap-x-18 flex-row mt-5 pb-3 overflow-x-auto\">\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <ng-container *ngIf=\"aggregations.length; else noAggregations\">\r\n <ng-container *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter [entityType]=\"entityType\" [filters]=\"aggregation.buckets\" [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\" [title]=\"aggregation.field\" [prefix]=\"'search'\" [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \" [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n [config]=\"aggregation.config ? aggregation.config : {}\" (onFilterSelected)=\"FilterSelected($event)\">\r\n </cts-dynamic-filter>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"row wrapper\">\r\n <ng-container *ngIf=\"!customResponsiveStyle\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"openFilter\">\r\n <form [formGroup]=\"searchForm\" class=\"search-form\" (ngSubmit)=\"submitForm()\">\r\n <input class=\"search-input\" type=\"text\" formControlName=\"text\" [matAutocomplete]=\"matAutocomplete1\" [placeholder]=\"'search.search' | translate\" />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <mat-autocomplete\r\n class=\"\r\n auto-complete-iner-wrapper\r\n auto-complete-wrapper\r\n \"\r\n [disableRipple]=\"true\"\r\n #matAutocomplete1=\"matAutocomplete\"\r\n >\r\n <mat-option\r\n class=\"no-text\"\r\n *ngIf=\"resultSets && !resultSets.length\"\r\n >\r\n {{'no_result_found' | translate}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let resultSet of resultSets\">\r\n <mat-option (click)=\"setOptionValue(resultSet.label)\">\r\n <span\r\n class=\"option-iner-text\"\r\n >{{ resultSet.label }}</span\r\n >\r\n </mat-option >\r\n </ng-container>\r\n </mat-autocomplete>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <ng-container *ngIf=\"aggregations.length; else noAggregations\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter [entityType]=\"entityType\" [filters]=\"aggregation.buckets\" [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\" [title]=\"aggregation.field\" [prefix]=\"'search'\" [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \" [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n [config]=\"aggregation.config ? aggregation.config : {}\" (onFilterSelected)=\"FilterSelected($event)\">\r\n </cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\r\n <form [formGroup]=\"searchForm\" class=\"search-form\" (ngSubmit)=\"submitForm()\">\r\n <input class=\"search-input\" type=\"text\" formControlName=\"text\" [matAutocomplete]=\"matAutocomplete2\"\r\n [placeholder]=\"'search.search' | translate\" />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <mat-autocomplete class=\"\r\n auto-complete-iner-wrapper\r\n auto-complete-wrapper\r\n \" [disableRipple]=\"true\" #matAutocomplete2=\"matAutocomplete\">\r\n <mat-option class=\"no-text\" *ngIf=\"resultSets && !resultSets.length\">\r\n {{'no_result_found' | translate}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let resultSet of resultSets\">\r\n <mat-option (click)=\"setOptionValue(resultSet.label)\">\r\n <span class=\"option-iner-text\">{{ resultSet.label }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter [entityType]=\"entityType\" [filters]=\"aggregation.buckets\" [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\" [title]=\"aggregation.field\" [prefix]=\"'search'\" [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \" [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n [config]=\"aggregation.config ? aggregation.config : {}\" (onFilterSelected)=\"FilterSelected($event)\">\r\n </cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"col-12 col-xl-9\">\r\n <app-card>\r\n <div class=\"title\">\r\n <h3>\r\n {{ \"search.header\" | translate }}\r\n </h3>\r\n </div>\r\n <div class=\"body\">\r\n <div *ngIf=\"aggregations\" class=\"table-toolbar\">\r\n <div class=\"result-count\">\r\n <span>\r\n {{\r\n \"search.\" + \"resultsNumber\"\r\n | translate: { value: totalRecords ? totalRecords : 0 }\r\n }}\r\n </span>\r\n </div>\r\n <div>\r\n <form class=\"d-flex justify-between\" [formGroup]=\"searchForm\" (ngSubmit)=\"submitForm()\">\r\n <div *ngIf=\"useToggleFilters && !customResponsiveStyle\"></div>\r\n <div *ngIf=\"customResponsiveStyle\">\r\n <div class=\"search-form custom-responsive-search\">\r\n <input class=\"search-input\" type=\"text\" formControlName=\"text\" [matAutocomplete]=\"matAutocomplete\"\r\n [placeholder]=\"'search.search' | translate\" />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </div>\r\n <mat-autocomplete\r\n class=\"\r\n auto-complete-iner-wrapper\r\n auto-complete-wrapper\r\n \"\r\n [disableRipple]=\"true\"\r\n #matAutocomplete=\"matAutocomplete\"\r\n >\r\n <mat-option\r\n class=\"no-text\"\r\n *ngIf=\"resultSets && !resultSets.length\"\r\n >\r\n {{no_result_found | translate}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let resultSet of resultSets\">\r\n <mat-option (click)=\"setOptionValue(resultSet.label)\">\r\n <span\r\n class=\"option-iner-text\"\r\n >{{ resultSet.label }}</span\r\n >\r\n </mat-option >\r\n </ng-container>\r\n </mat-autocomplete>\r\n </div>\r\n <div class=\"d-flex\" *ngIf=\"useToggleFilters\">\r\n <cts-dynamic-form-slide-toggleitem class=\"mx-2 small-font\" [label]=\"'search.PERSONAL_FILES'\"\r\n (onToggle)=\"submitForm()\" formControlName=\"personalFiles\">\r\n </cts-dynamic-form-slide-toggleitem>\r\n <cts-dynamic-form-slide-toggleitem class=\"mx-2 small-font\" [label]=\"'search.DEP_FILES'\"\r\n formControlName=\"depFiles\" (onToggle)=\"submitForm()\">\r\n </cts-dynamic-form-slide-toggleitem>\r\n <cts-dynamic-form-slide-toggleitem class=\"mx-2 small-font\" [label]=\"'search.WORKSPACE_FILES'\"\r\n formControlName=\"workSpaceFiles\" (onToggle)=\"submitForm()\">\r\n </cts-dynamic-form-slide-toggleitem>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n <cts-dynamic-table #dynamicTable [pageSize]=\"pageSize\" [columns]=\"columns\" [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\" [quickFilter]=\"filter\" [entityType]=\"entityType\" [fields]=\"fields\"\r\n [queryParam]=\"queryParams\" [headers]=\"headers\" [prefix]=\"prefix\" [sortingBy]=\"sortingBy\" [isSearchPage]=\"true\"\r\n (onRowSelected)=\"onRowSelected($event)\" (actionOnRow)=\"performAction($event)\"\r\n (onGettingData)=\"getTableData($event)\"></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\r\n\r\n <ng-template #progressSpinner>\r\n <div class=\"progress-spinner\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <ng-template #noAggregations>\r\n <div class=\"progress-spinner\">\r\n {{ \"search.noAggregations\" | translate }}\r\n </div>\r\n </ng-template>\r\n</div>", 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}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.auto-complete-iner-wrapper{max-height:350px;border-radius:4px}.auto-complete-iner-wrapper .no-text{font-size:14px;color:#465573}.auto-complete-iner-wrapper .mat-option{text-align:start;color:#465573;font-weight:bold;font-size:14px}.auto-complete-iner-wrapper .mat-option .mat-option-text{text-align:flex-start}.search-form{display:flex;color:#6a768e;width:100%}.search-form .search-input{width:100%;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-form .search-icon{background:#465573;color:#fff;width:12%;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}.small-font{font-size:14px}.custom-responsive-search{width:300px!important;margin:0 35px}.search-toolbar{position:relative;display:flex;justify-content:flex-end;margin-bottom:16px}.search-toolbar .my-button{width:90px}.search-toolbar .arrow-up{position:absolute;top:26px;right:28px;font-size:25px;color:#8f98aab3}.wrapper{position:relative}.wrapper .popup-filter{flex-direction:column;position:absolute;right:0;z-index:9999;max-height:70vh;max-width:400px;background-color:#fff;overflow:scroll;box-shadow:0 1px 10px 2px #00000054;top:-4px;border-radius:5px}.wrapper .popup-filter .search-form{margin-top:10px!important}.wrapper .popup-filter .search-input{width:100%!important}.wrapper .search-container{background-color:#fff;border-radius:5px;border:0px;padding:16px;height:max-content}.wrapper .search-container .table-toolbar{display:flex;align-items:center;margin-bottom:8px;justify-content:space-between}.progress-spinner{margin-top:10px;margin-block-end:0;display:grid;place-items:center;width:100%}.rtl .popup-filter{left:0px;right:unset!important}.rtl .arrow-up{position:absolute;top:33px;left:28px;right:unset!important}@media (width: 1180px),(width: 820px){.customStyle cts-dynamic-filter .aggregation-container{width:176px!important}}.customStyle .search-form{display:flex;color:#6a768e;width:100%}.customStyle .search-form .search-input{width:288px;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.customStyle .search-form .search-input::-webkit-input-placeholder{font-size:14px}.customStyle .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.customStyle .search-form .search-icon{background:#465573;color:#fff;width:40px;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}\n"], components: [{ type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department", "componentType", "customPageProvider", "config"], outputs: ["onFilterSelected"] }, { type: i7$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i2$5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }, { type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "sortingBy", "queryParam", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "tableActions", "defultSort", "range", "isSearchPage", "multiSelectRows", "customFirstRow", "highlightSelectedCard", "showActionsAsMenu", "filterParams", "format"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading"] }, { type: i1$5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1.TranslatePipe }, animations: [
|
|
13736
|
+
DynamicSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicSearchComponent, selector: "cts-dynamic-search", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", sortingBy: "sortingBy", fullTextParamName: "fullTextParamName", filter: "filter", suggesterApi: "suggesterApi", onRowSelected: "onRowSelected", sortingArray: "sortingArray", customResponsiveStyle: "customResponsiveStyle", openCloseFilterFromOutside: "openCloseFilterFromOutside", theme: "theme" }, outputs: { actionOnRow: "actionOnRow" }, viewQueries: [{ propertyName: "dynamicTable", first: true, predicate: ["dynamicTable"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!customResponsiveStyle\">\r\n <div class=\"search-toolbar d-md-flex d-xl-none mx-3\">\r\n <button (click)=\"onOpenFilter()\" class=\"my-button\">\r\n <span> {{ \"FILTER\" | translate }}</span>\r\n <i class=\"bi bi-filter\" *ngIf=\"!openFilter\"></i>\r\n <i class=\"bi bi-x\" *ngIf=\"openFilter\"></i>\r\n </button>\r\n <div *ngIf=\"openFilter\">\r\n <i class=\"bi bi-caret-up-fill arrow-up\"></i>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"customResponsiveStyle\">\r\n <div class=\"customStyle -mt-12 px-8 flex flex-col\"\r\n [ngClass]=\"{'bg-accent-200': theme === 'dgda','bg-accent-100': theme === 'ksreleif' || theme === 'comptechco'}\"\r\n [@collapse]=\"!openFilter\">\r\n <!-- <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form> -->\r\n <div class=\"flex gap-x-18 flex-row mt-5 pb-3 overflow-x-auto\">\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <ng-container *ngIf=\"aggregations.length; else noAggregations\">\r\n <ng-container *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter [entityType]=\"entityType\" [filters]=\"aggregation.buckets\" [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\" [title]=\"aggregation.field\" [prefix]=\"'search'\" [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \" [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n [config]=\"aggregation.config ? aggregation.config : {}\" (onFilterSelected)=\"FilterSelected($event)\">\r\n </cts-dynamic-filter>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"row wrapper\">\r\n <ng-container *ngIf=\"!customResponsiveStyle\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"openFilter\">\r\n <form [formGroup]=\"searchForm\" class=\"search-form\" (ngSubmit)=\"submitForm()\">\r\n <input class=\"search-input\" type=\"text\" formControlName=\"text\" [matAutocomplete]=\"matAutocomplete1\" [placeholder]=\"'search.search' | translate\" />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <mat-autocomplete\r\n class=\"\r\n auto-complete-iner-wrapper\r\n auto-complete-wrapper\r\n \"\r\n [disableRipple]=\"true\"\r\n #matAutocomplete1=\"matAutocomplete\"\r\n >\r\n <mat-option\r\n class=\"no-text\"\r\n *ngIf=\"resultSets && !resultSets.length\"\r\n >\r\n {{'no_result_found' | translate}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let resultSet of resultSets\">\r\n <mat-option (click)=\"setOptionValue(resultSet.label)\">\r\n <span\r\n class=\"option-iner-text\"\r\n >{{ resultSet.label }}</span\r\n >\r\n </mat-option >\r\n </ng-container>\r\n </mat-autocomplete>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <ng-container *ngIf=\"aggregations.length; else noAggregations\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter [entityType]=\"entityType\" [filters]=\"aggregation.buckets\" [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\" [title]=\"aggregation.field\" [prefix]=\"'search'\" [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \" [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n [config]=\"aggregation.config ? aggregation.config : {}\" (onFilterSelected)=\"FilterSelected($event)\">\r\n </cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\r\n <form [formGroup]=\"searchForm\" class=\"search-form\" (ngSubmit)=\"submitForm()\">\r\n <input class=\"search-input\" type=\"text\" formControlName=\"text\" [matAutocomplete]=\"matAutocomplete2\"\r\n [placeholder]=\"'search.search' | translate\" />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <mat-autocomplete class=\"\r\n auto-complete-iner-wrapper\r\n auto-complete-wrapper\r\n \" [disableRipple]=\"true\" #matAutocomplete2=\"matAutocomplete\">\r\n <mat-option class=\"no-text\" *ngIf=\"resultSets && !resultSets.length\">\r\n {{'no_result_found' | translate}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let resultSet of resultSets\">\r\n <mat-option (click)=\"setOptionValue(resultSet.label)\">\r\n <span class=\"option-iner-text\">{{ resultSet.label }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter [entityType]=\"entityType\" [filters]=\"aggregation.buckets\" [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\" [title]=\"aggregation.field\" [prefix]=\"'search'\" [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \" [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n [config]=\"aggregation.config ? aggregation.config : {}\" (onFilterSelected)=\"FilterSelected($event)\">\r\n </cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"col-12 col-xl-9\">\r\n <app-card>\r\n <div class=\"title\">\r\n <h3>\r\n {{ \"search.header\" | translate }}\r\n </h3>\r\n </div>\r\n <div class=\"body\">\r\n <div *ngIf=\"aggregations\" class=\"table-toolbar\">\r\n <div class=\"result-count\">\r\n <span>\r\n {{\r\n \"search.\" + \"resultsNumber\"\r\n | translate: { value: totalRecords ? totalRecords : 0 }\r\n }}\r\n </span>\r\n </div>\r\n <div>\r\n <form class=\"d-flex justify-between\" [formGroup]=\"searchForm\" (ngSubmit)=\"submitForm()\">\r\n <div *ngIf=\"useToggleFilters && !customResponsiveStyle\"></div>\r\n <div *ngIf=\"customResponsiveStyle\">\r\n <div class=\"search-form custom-responsive-search\">\r\n <input class=\"search-input\" type=\"text\" formControlName=\"text\" [matAutocomplete]=\"matAutocomplete\"\r\n [placeholder]=\"'search.search' | translate\" />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </div>\r\n <mat-autocomplete\r\n class=\"\r\n auto-complete-iner-wrapper\r\n auto-complete-wrapper\r\n \"\r\n [disableRipple]=\"true\"\r\n #matAutocomplete=\"matAutocomplete\"\r\n >\r\n <mat-option\r\n class=\"no-text\"\r\n *ngIf=\"resultSets && !resultSets.length\"\r\n >\r\n {{no_result_found | translate}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let resultSet of resultSets\">\r\n <mat-option (click)=\"setOptionValue(resultSet.label)\">\r\n <span\r\n class=\"option-iner-text\"\r\n >{{ resultSet.label }}</span\r\n >\r\n </mat-option >\r\n </ng-container>\r\n </mat-autocomplete>\r\n </div>\r\n <div class=\"d-flex\" *ngIf=\"useToggleFilters\">\r\n <cts-dynamic-form-slide-toggleitem class=\"mx-2 small-font\" [label]=\"'search.PERSONAL_FILES'\"\r\n (onToggle)=\"submitForm()\" formControlName=\"personalFiles\">\r\n </cts-dynamic-form-slide-toggleitem>\r\n <cts-dynamic-form-slide-toggleitem class=\"mx-2 small-font\" [label]=\"'search.DEP_FILES'\"\r\n formControlName=\"depFiles\" (onToggle)=\"submitForm()\">\r\n </cts-dynamic-form-slide-toggleitem>\r\n <cts-dynamic-form-slide-toggleitem class=\"mx-2 small-font\" [label]=\"'search.WORKSPACE_FILES'\"\r\n formControlName=\"workSpaceFiles\" (onToggle)=\"submitForm()\">\r\n </cts-dynamic-form-slide-toggleitem>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n <cts-dynamic-table #dynamicTable [pageSize]=\"pageSize\" [columns]=\"columns\" [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\" [quickFilter]=\"filter\" [entityType]=\"entityType\" [fields]=\"fields\"\r\n [queryParam]=\"queryParams\" [headers]=\"headers\" [prefix]=\"prefix\" [sortingBy]=\"sortingBy\" [isSearchPage]=\"true\"\r\n (onRowSelected)=\"onRowSelected($event)\" (actionOnRow)=\"performAction($event)\"\r\n (onGettingData)=\"getTableData($event)\"></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\r\n\r\n <ng-template #progressSpinner>\r\n <div class=\"progress-spinner\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <ng-template #noAggregations>\r\n <div class=\"progress-spinner\">\r\n {{ \"search.noAggregations\" | translate }}\r\n </div>\r\n </ng-template>\r\n</div>", 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}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.auto-complete-iner-wrapper{max-height:350px;border-radius:4px}.auto-complete-iner-wrapper .no-text{font-size:14px;color:#465573}.auto-complete-iner-wrapper .mat-option{text-align:start;color:#465573;font-weight:bold;font-size:14px}.auto-complete-iner-wrapper .mat-option .mat-option-text{text-align:flex-start}.search-form{display:flex;color:#6a768e;width:100%}.search-form .search-input{width:100%;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-form .search-icon{background:#465573;color:#fff;width:12%;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}.small-font{font-size:14px}.custom-responsive-search{width:300px!important;margin:0 35px}.search-toolbar{position:relative;display:flex;justify-content:flex-end;margin-bottom:16px}.search-toolbar .my-button{width:90px}.search-toolbar .arrow-up{position:absolute;top:26px;right:28px;font-size:25px;color:#8f98aab3}.wrapper{position:relative}.wrapper .popup-filter{flex-direction:column;position:absolute;right:0;z-index:9999;max-height:70vh;max-width:400px;background-color:#fff;overflow:scroll;box-shadow:0 1px 10px 2px #00000054;top:-4px;border-radius:5px}.wrapper .popup-filter .search-form{margin-top:10px!important}.wrapper .popup-filter .search-input{width:100%!important}.wrapper .search-container{background-color:#fff;border-radius:5px;border:0px;padding:16px;height:max-content}.wrapper .search-container .table-toolbar{display:flex;align-items:center;margin-bottom:8px;justify-content:space-between}.progress-spinner{margin-top:10px;margin-block-end:0;display:grid;place-items:center;width:100%}.rtl .popup-filter{left:0px;right:unset!important}.rtl .arrow-up{position:absolute;top:33px;left:28px;right:unset!important}@media (width: 1180px),(width: 820px){.customStyle cts-dynamic-filter .aggregation-container{width:176px!important}}.customStyle .search-form{display:flex;color:#6a768e;width:100%}.customStyle .search-form .search-input{width:288px;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.customStyle .search-form .search-input::-webkit-input-placeholder{font-size:14px}.customStyle .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.customStyle .search-form .search-icon{background:#465573;color:#fff;width:40px;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}\n"], components: [{ type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department", "componentType", "customPageProvider", "config"], outputs: ["onFilterSelected"] }, { type: i7$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i2$5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }, { type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "sortingBy", "queryParam", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "tableActions", "defultSort", "range", "isSearchPage", "multiSelectRows", "customFirstRow", "highlightSelectedCard", "showActionsAsMenu", "filterParams", "format"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading"] }, { type: i1$5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1.TranslatePipe }, animations: [
|
|
13741
13737
|
trigger('collapse', [
|
|
13742
13738
|
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
|
13743
13739
|
state('true', style({ height: '0', visibility: 'hidden' })),
|
|
@@ -14667,12 +14663,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14667
14663
|
* ></app-documents-list>
|
|
14668
14664
|
*/
|
|
14669
14665
|
class DocumentsListComponent {
|
|
14670
|
-
constructor(documentsApi, nuxeoApi, toastr, dialog, router) {
|
|
14666
|
+
constructor(documentsApi, nuxeoApi, toastr, dialog, router, nuxeoDialogService) {
|
|
14671
14667
|
this.documentsApi = documentsApi;
|
|
14672
14668
|
this.nuxeoApi = nuxeoApi;
|
|
14673
14669
|
this.toastr = toastr;
|
|
14674
14670
|
this.dialog = dialog;
|
|
14675
14671
|
this.router = router;
|
|
14672
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
14676
14673
|
/** Should disable Pagination */
|
|
14677
14674
|
this.disablePagination = false;
|
|
14678
14675
|
/** documents or batch items array */
|
|
@@ -14732,14 +14729,16 @@ class DocumentsListComponent {
|
|
|
14732
14729
|
event.stopPropagation();
|
|
14733
14730
|
if (this.canDelete) {
|
|
14734
14731
|
if (!this.batchList) {
|
|
14735
|
-
this.
|
|
14736
|
-
.
|
|
14737
|
-
|
|
14738
|
-
|
|
14739
|
-
|
|
14740
|
-
|
|
14741
|
-
|
|
14742
|
-
|
|
14732
|
+
this.nuxeoDialogService
|
|
14733
|
+
.showConfirm({
|
|
14734
|
+
message: 'genericConfirm',
|
|
14735
|
+
actions: {
|
|
14736
|
+
confirm: {
|
|
14737
|
+
fn: () => {
|
|
14738
|
+
return of(true);
|
|
14739
|
+
},
|
|
14740
|
+
show: true
|
|
14741
|
+
}
|
|
14743
14742
|
}
|
|
14744
14743
|
})
|
|
14745
14744
|
.afterClosed()
|
|
@@ -14839,7 +14838,7 @@ class DocumentsListComponent {
|
|
|
14839
14838
|
this.onDestroy$.complete();
|
|
14840
14839
|
}
|
|
14841
14840
|
}
|
|
14842
|
-
DocumentsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentsListComponent, deps: [{ token: DocumentsService }, { token: NuxeoService }, { token: CustomToastrService }, { token: i1$3.MatDialog }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
14841
|
+
DocumentsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentsListComponent, deps: [{ token: DocumentsService }, { token: NuxeoService }, { token: CustomToastrService }, { token: i1$3.MatDialog }, { token: i1$4.Router }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14843
14842
|
DocumentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DocumentsListComponent, selector: "app-documents-list", inputs: { ancestorId: "ancestorId", provider: "provider", disablePagination: "disablePagination", containerClasses: "containerClasses", itemsClasses: "itemsClasses", items: "items", notifier: "notifier", canPreview: "canPreview", batchList: "batchList", dontDelete: "dontDelete", canDelete: "canDelete", quickFilters: "quickFilters", memoView: "memoView" }, outputs: { deleteSuccess: "deleteSuccess", documentsCount: "documentsCount", documentSelect: "documentSelect" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!isFetching; else spinner\">\r\n <div *ngIf=\"items.length; else noEntry\">\r\n <div class=\"doc-list\">\r\n <div class=\"doc-item\" (click)=\"preview(item.uid)\" *ngFor=\"\r\n let item of items\r\n ;\r\n let last = last\r\n \">\r\n <div class=\"item-content\">\r\n <mat-icon class=\"file-icon\">file_copy</mat-icon>\r\n {{ item.title }}\r\n </div>\r\n <button *ngIf=\"canDelete && isCreator(item)\" (click)=\"deleteDocument($event, item)\"\r\n class=\"btn btn-outline-danger btn-no-border\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{ 'hidden': disablePagination }\" class=\"wrapping-pagination my-3\">\r\n <cts-pagination [page]=\"p\" (change)=\"onChange($event)\"\r\n [size]=\"count\" [count]=\"totalRecords\">\r\n </cts-pagination>\r\n </div>\r\n </div>\r\n <ng-template #noEntry>\r\n <!-- <app-no-entry [msg]=\"'documents.noEntry'\"></app-no-entry> -->\r\n <!-- <cts-no-data\r\n [message]=\"'documents.noEntry'\"\r\n ></cts-no-data> -->\r\n </ng-template>\r\n</ng-container>\r\n<ng-template #spinner>\r\n <mat-spinner class=\"centered-spinner\"></mat-spinner>\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}.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}.doc-list{flex:1;justify-content:space-between;cursor:pointer;margin-bottom:14px;border:2px solid #d9dce2;margin-top:2px;border-radius:5px}.wrapping-pagination{display:flex;justify-content:center;align-items:center}.doc-item{display:flex;flex:1;justify-content:space-between;cursor:pointer;padding:8px;border-bottom:1px solid;border-color:#d9dce2}.doc-item:last-child{border-width:0px}.doc-item .item-content{display:flex;align-items:center;justify-content:space-between}.doc-item .file-icon{margin:8px;color:#465573}.pagination{justify-self:center}\n"], components: [{ type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: i1$5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ 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"] }] });
|
|
14844
14843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentsListComponent, decorators: [{
|
|
14845
14844
|
type: Component,
|
|
@@ -14848,7 +14847,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14848
14847
|
templateUrl: './documents-list.component.html',
|
|
14849
14848
|
styleUrls: ['./documents-list.component.scss']
|
|
14850
14849
|
}]
|
|
14851
|
-
}], ctorParameters: function () { return [{ type: DocumentsService }, { type: NuxeoService }, { type: CustomToastrService }, { type: i1$3.MatDialog }, { type: i1$4.Router }]; }, propDecorators: { ancestorId: [{
|
|
14850
|
+
}], ctorParameters: function () { return [{ type: DocumentsService }, { type: NuxeoService }, { type: CustomToastrService }, { type: i1$3.MatDialog }, { type: i1$4.Router }, { type: NuxeoDialogService }]; }, propDecorators: { ancestorId: [{
|
|
14852
14851
|
type: Input
|
|
14853
14852
|
}], provider: [{
|
|
14854
14853
|
type: Input
|
|
@@ -18828,7 +18827,7 @@ class AddToCollectionComponent extends BaseComponent {
|
|
|
18828
18827
|
}
|
|
18829
18828
|
}
|
|
18830
18829
|
AddToCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, deps: [{ token: FileManagerService }, { token: CustomToastrService }, { token: NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
18831
|
-
AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "
|
|
18830
|
+
AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<form>\r\n\t\t<dx-form\r\n\t\t\tclass=\"collection-form-wrapper\"\r\n\t\t\t#createForm\r\n\t\t\t[formData]=\"formData\"\r\n\t\t\t[disabled]=\"loading\"\r\n\t\t>\r\n\t\t\t<dxi-item editorType=\"dxTextBox\">\r\n\t\t\t\t<ng-select\r\n\t\t\t\t\t[items]=\"items$ | async\"\r\n\t\t\t\t\tbindLabel=\"displayLabel\"\r\n\t\t\t\t\t[addTag]=\"true\"\r\n\t\t\t\t\taddTagText=\"Add collection\"\r\n\t\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t\t[hideSelected]=\"true\"\r\n\t\t\t\t\t[minTermLength]=\"0\"\r\n\t\t\t\t\t[loading]=\"tagsLoading\"\r\n\t\t\t\t\ttypeToSearchText=\"search\"\r\n\t\t\t\t\t[typeahead]=\"tagsInput$\"\r\n\t\t\t\t\t[(ngModel)]=\"selectedTags\"\r\n\t\t\t\t\trequired\r\n\t\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t\tname=\"selectedItem\"\r\n\t\t\t\t\t(change)=\"emitSelection($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t</ng-select>\r\n\t\t\t</dxi-item>\r\n\t\t</dx-form>\r\n\t</form>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(onFormCollectionSubmit, [$event])\"\r\n\t>\r\n\t\t{{ 'FILE_MANAGER.ADD' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4$4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5$2.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i3$2.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i2$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe } });
|
|
18832
18831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, decorators: [{
|
|
18833
18832
|
type: Component,
|
|
18834
18833
|
args: [{
|
|
@@ -19183,7 +19182,7 @@ class ClipboardComponent {
|
|
|
19183
19182
|
}
|
|
19184
19183
|
}
|
|
19185
19184
|
ClipboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClipboardComponent, deps: [{ token: FileManagerService }, { token: UserService }, { token: CustomToastrService }, { token: UserPreferencesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19186
|
-
ClipboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ClipboardComponent, selector: "lib-clipboard", inputs: { clipboardItems: "clipboardItems", myCurrecntFolderData: "myCurrecntFolderData", preventedGroups: "preventedGroups", directory: "directory" }, outputs: { onClipboardClose: "onClipboardClose", onRefreshFolderTree: "onRefreshFolderTree" }, ngImport: i0, template: "<div class=\"clipboard-side-section relative\">\r\n\r\n <div class=\"p-3 h-full\">\r\n <div class=\"clipboard-header flex justify-between items-center border-b-2\">\r\n <span class=\"flex text-gray-500 font-bold items-center\">\r\n <span class=\"text-4xl bi bi-clipboard\"></span>\r\n <span class=\"mx-2 text-xl\">{{'clipboard' | translate}}</span>\r\n </span>\r\n <mat-icon class=\"close-icon text-gray-500 cursor-pointer\" (click)=\"closeClipboard()\"\r\n [matTooltip]=\"'BUTTONS.CLOSE' | translate\">close</mat-icon>\r\n </div>\r\n <!-- <div class=\"h-full font-bold d-flex justify-center items-center\" *ngIf=\"clipboardLoading\">\r\n {{ \"loading\" | translate }}\r\n </div> -->\r\n <div class=\"w-full h-px bg-gray-200 mb-3\" *ngIf=\"clipboardLoading\">\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </div>\r\n <div class=\"clipboard-content flex flex-col justify-between items-between\">\r\n <div class=\"h-full flex justify-center items-center text-gray-500\"\r\n *ngIf=\"clipboardDocments.length === 0\">{{'no_clipboard_items' | translate}}</div>\r\n\r\n <div class=\"px-2 h-5/6 overflow-y-auto\" *ngIf=\"clipboardDocments.length > 0\">\r\n <div class=\"border-b-2\" *ngFor=\"let document of clipboardDocments\">\r\n <div class=\"py-1 w-82 flex items-center justify-between\">\r\n <div class=\"flex items-center w-5/6\">\r\n <mat-checkbox [(ngModel)]=\"document.isSelected\" (change)=\"checking()\"> </mat-checkbox>\r\n <div class=\"flex w-full\">\r\n <!-- <title-with-icon class=\"w-1/6 -my-1.5\" [context]=\"document\"\r\n [showTitle]=\"false\"></title-with-icon> -->\r\n <app-display-suitable-icon class=\"mx-1\" [data]=\"document\" [size]=\"'40px'\"></app-display-suitable-icon>\r\n\r\n <!-- -->\r\n <div *ngIf=\"document.isFile === 'File'\"\r\n class=\"justify-center flex flex-col flex-1 flex-grow-0 w-5/6\">\r\n <div class=\"text-base text-gray-500 font-bold truncate\"\r\n [title]=\"document.properties?.['file:content']?.['name']\"\r\n [alt]=\"document.properties?.['file:content']?.['name']\">\r\n {{document['title']}}\r\n </div>\r\n <div class=\"text-gray-500 text-sm text-nowrap\">\r\n {{((document.properties?.['file:content']?.['length']) / (1024 *\r\n 1024)).toFixed(2) }}\r\n MB\r\n </div>\r\n </div>\r\n <div class=\"\r\n d-flex\r\n items-center\r\n text-base text-gray-500\r\n font-bold\r\n \" *ngIf=\"document.isFile === 'Folder'\">\r\n {{ document?.title }}\r\n </div>\r\n </div>\r\n </div>\r\n <span [matTooltip]=\"'BUTTONS.REMOVE_CLIPBOARD' | translate\"\r\n class=\"cursor-pointer w-5 h-5 rounded-full border-2 flex justify-center items-center border-gray-500 \"\r\n (click)=\"deletefromClipboard(document)\">\r\n <span class=\"text-gray-500 bi bi-x text-lg flex items-center\"></span>\r\n </span>\r\n </div>\r\n <div class=\"text-md text-gray-500 text-center my-2\">\r\n <span *ngIf=\"document.canCopyToTarget && !document.canMoveToTarget\">{{'can_copy_only' |\r\n translate}}</span>\r\n <span *ngIf=\"!document.canCopyToTarget && document.canMoveToTarget\">{{'can_move_only' |\r\n translate}}</span>\r\n <span *ngIf=\"document.canCopyToTarget && document.canMoveToTarget\">{{'can_copy_and_move' |\r\n translate}}</span>\r\n <span\r\n *ngIf=\"!document.canCopyToTarget && !document.canMoveToTarget\">{{'can_not_copy_and_move'\r\n | translate}}</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"h-1/6 flex w-full justify-center items-center\">\r\n <button class=\"submission-button mx-2\" [disabled]=\"!enableCopy\"\r\n (click)=\"copyFromInsideClipboard()\">{{'BUTTONS.COPY' | translate}}</button>\r\n <button class=\"submission-button mx-2\" [disabled]=\"!enableMove\"\r\n (click)=\"moveFromInsideClipboard()\">{{'BUTTONS.MOVE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-transparent absolute top-0 bottom-0 left-0 right-0 \" *ngIf=\"clipboardLoading\">\r\n\r\n </div>\r\n</div>", styles: [".clipboard-side-section{width:0px;overflow-x:hidden;height:91vh;background-color:#fff;overflow:hidden;border:1px solid lightgray;z-index:999;transition:.1s ease-in-out;border-bottom:none}.clipboard-side-section .clipboard-header{height:60px}.clipboard-side-section .clipboard-content{height:calc(100% - 60px)}\n"], components: [{ type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i7$
|
|
19185
|
+
ClipboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ClipboardComponent, selector: "lib-clipboard", inputs: { clipboardItems: "clipboardItems", myCurrecntFolderData: "myCurrecntFolderData", preventedGroups: "preventedGroups", directory: "directory" }, outputs: { onClipboardClose: "onClipboardClose", onRefreshFolderTree: "onRefreshFolderTree" }, ngImport: i0, template: "<div class=\"clipboard-side-section relative\">\r\n\r\n <div class=\"p-3 h-full\">\r\n <div class=\"clipboard-header flex justify-between items-center border-b-2\">\r\n <span class=\"flex text-gray-500 font-bold items-center\">\r\n <span class=\"text-4xl bi bi-clipboard\"></span>\r\n <span class=\"mx-2 text-xl\">{{'clipboard' | translate}}</span>\r\n </span>\r\n <mat-icon class=\"close-icon text-gray-500 cursor-pointer\" (click)=\"closeClipboard()\"\r\n [matTooltip]=\"'BUTTONS.CLOSE' | translate\">close</mat-icon>\r\n </div>\r\n <!-- <div class=\"h-full font-bold d-flex justify-center items-center\" *ngIf=\"clipboardLoading\">\r\n {{ \"loading\" | translate }}\r\n </div> -->\r\n <div class=\"w-full h-px bg-gray-200 mb-3\" *ngIf=\"clipboardLoading\">\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </div>\r\n <div class=\"clipboard-content flex flex-col justify-between items-between\">\r\n <div class=\"h-full flex justify-center items-center text-gray-500\"\r\n *ngIf=\"clipboardDocments.length === 0\">{{'no_clipboard_items' | translate}}</div>\r\n\r\n <div class=\"px-2 h-5/6 overflow-y-auto\" *ngIf=\"clipboardDocments.length > 0\">\r\n <div class=\"border-b-2\" *ngFor=\"let document of clipboardDocments\">\r\n <div class=\"py-1 w-82 flex items-center justify-between\">\r\n <div class=\"flex items-center w-5/6\">\r\n <mat-checkbox [(ngModel)]=\"document.isSelected\" (change)=\"checking()\"> </mat-checkbox>\r\n <div class=\"flex w-full\">\r\n <!-- <title-with-icon class=\"w-1/6 -my-1.5\" [context]=\"document\"\r\n [showTitle]=\"false\"></title-with-icon> -->\r\n <app-display-suitable-icon class=\"mx-1\" [data]=\"document\" [size]=\"'40px'\"></app-display-suitable-icon>\r\n\r\n <!-- -->\r\n <div *ngIf=\"document.isFile === 'File'\"\r\n class=\"justify-center flex flex-col flex-1 flex-grow-0 w-5/6\">\r\n <div class=\"text-base text-gray-500 font-bold truncate\"\r\n [title]=\"document.properties?.['file:content']?.['name']\"\r\n [alt]=\"document.properties?.['file:content']?.['name']\">\r\n {{document['title']}}\r\n </div>\r\n <div class=\"text-gray-500 text-sm text-nowrap\">\r\n {{((document.properties?.['file:content']?.['length']) / (1024 *\r\n 1024)).toFixed(2) }}\r\n MB\r\n </div>\r\n </div>\r\n <div class=\"\r\n d-flex\r\n items-center\r\n text-base text-gray-500\r\n font-bold\r\n \" *ngIf=\"document.isFile === 'Folder'\">\r\n {{ document?.title }}\r\n </div>\r\n </div>\r\n </div>\r\n <span [matTooltip]=\"'BUTTONS.REMOVE_CLIPBOARD' | translate\"\r\n class=\"cursor-pointer w-5 h-5 rounded-full border-2 flex justify-center items-center border-gray-500 \"\r\n (click)=\"deletefromClipboard(document)\">\r\n <span class=\"text-gray-500 bi bi-x text-lg flex items-center\"></span>\r\n </span>\r\n </div>\r\n <div class=\"text-md text-gray-500 text-center my-2\">\r\n <span *ngIf=\"document.canCopyToTarget && !document.canMoveToTarget\">{{'can_copy_only' |\r\n translate}}</span>\r\n <span *ngIf=\"!document.canCopyToTarget && document.canMoveToTarget\">{{'can_move_only' |\r\n translate}}</span>\r\n <span *ngIf=\"document.canCopyToTarget && document.canMoveToTarget\">{{'can_copy_and_move' |\r\n translate}}</span>\r\n <span\r\n *ngIf=\"!document.canCopyToTarget && !document.canMoveToTarget\">{{'can_not_copy_and_move'\r\n | translate}}</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"h-1/6 flex w-full justify-center items-center\">\r\n <button class=\"submission-button mx-2\" [disabled]=\"!enableCopy\"\r\n (click)=\"copyFromInsideClipboard()\">{{'BUTTONS.COPY' | translate}}</button>\r\n <button class=\"submission-button mx-2\" [disabled]=\"!enableMove\"\r\n (click)=\"moveFromInsideClipboard()\">{{'BUTTONS.MOVE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-transparent absolute top-0 bottom-0 left-0 right-0 \" *ngIf=\"clipboardLoading\">\r\n\r\n </div>\r\n</div>", styles: [".clipboard-side-section{width:0px;overflow-x:hidden;height:91vh;background-color:#fff;overflow:hidden;border:1px solid lightgray;z-index:999;transition:.1s ease-in-out;border-bottom:none}.clipboard-side-section .clipboard-header{height:60px}.clipboard-side-section .clipboard-content{height:calc(100% - 60px)}\n"], components: [{ type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i7$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: DisplaySuitableIconComponent, selector: "app-display-suitable-icon", inputs: ["data", "size", "dataType", "archive"] }], directives: [{ type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
19187
19186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClipboardComponent, decorators: [{
|
|
19188
19187
|
type: Component,
|
|
19189
19188
|
args: [{
|
|
@@ -19420,7 +19419,7 @@ class CreateDirectoryComponent extends BaseComponent {
|
|
|
19420
19419
|
}
|
|
19421
19420
|
}
|
|
19422
19421
|
CreateDirectoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, deps: [{ token: FileManagerService }, { token: CustomToastrService }, { token: NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
19423
|
-
CreateDirectoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateDirectoryComponent, selector: "app-create-directory", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "
|
|
19422
|
+
CreateDirectoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateDirectoryComponent, selector: "app-create-directory", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<div>\r\n\t\t<form>\r\n\t\t\t<dx-form\r\n\t\t\t\tclass=\"form-wrapper\"\r\n\t\t\t\t#form\r\n\t\t\t\t[formData]=\"formData\"\r\n\t\t\t\t[disabled]=\"loading\"\r\n\t\t\t>\r\n\t\t\t\t<dxi-item dataField=\"title\" editorType=\"dxTextBox\">\r\n\t\t\t\t\t<dxo-label text=\"{{ 'CREATE.TITLE' | translate }}\"></dxo-label>\r\n\t\t\t\t\t<dxi-validation-rule\r\n\t\t\t\t\t\ttype=\"required\"\r\n\t\t\t\t\t\tmessage=\"Title is required\"\r\n\t\t\t\t\t></dxi-validation-rule>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t\t<dxi-item name=\"description\" editorType=\"dxTextBox\">\r\n\t\t\t\t\t<dxo-label text=\"{{ 'CREATE.DESCRIPTION' | translate }}\"></dxo-label>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t</dx-form>\r\n\t\t</form>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(onSubmit, [$event])\"\r\n\t>\r\n\t\t{{ 'FILE_MANAGER.CREATE' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4$4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5$2.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i5$2.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i5$2.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }], directives: [{ type: i2$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
19424
19423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, decorators: [{
|
|
19425
19424
|
type: Component,
|
|
19426
19425
|
args: [{
|
|
@@ -19474,8 +19473,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
19474
19473
|
}], ctorParameters: function () { return [{ type: NuxeoService }]; } });
|
|
19475
19474
|
|
|
19476
19475
|
class DialogMangmentService {
|
|
19477
|
-
constructor(
|
|
19478
|
-
this.
|
|
19476
|
+
constructor(nuxeoDialogService) {
|
|
19477
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
19479
19478
|
this.minizedModal = false;
|
|
19480
19479
|
this.creationMode = '';
|
|
19481
19480
|
this.fileType = '';
|
|
@@ -19486,46 +19485,50 @@ class DialogMangmentService {
|
|
|
19486
19485
|
this.fileType = type;
|
|
19487
19486
|
this.addingFrom = source;
|
|
19488
19487
|
this.creationMode = creationMode;
|
|
19489
|
-
|
|
19490
|
-
|
|
19491
|
-
|
|
19492
|
-
|
|
19493
|
-
panelClass: 'watcher-dialog-container',
|
|
19488
|
+
const options = {
|
|
19489
|
+
component,
|
|
19490
|
+
width,
|
|
19491
|
+
height,
|
|
19494
19492
|
data: Object.assign({}, data),
|
|
19495
|
-
|
|
19496
|
-
}
|
|
19497
|
-
|
|
19493
|
+
panelClass: 'watcher-dialog-container'
|
|
19494
|
+
};
|
|
19495
|
+
this.nuxeoDialogService
|
|
19496
|
+
.open(options)
|
|
19497
|
+
.afterClosed()
|
|
19498
|
+
.subscribe((res) => {
|
|
19498
19499
|
if (res) {
|
|
19499
|
-
//console.log('open minismed');
|
|
19500
19500
|
this.minizedModal = true;
|
|
19501
19501
|
}
|
|
19502
19502
|
});
|
|
19503
19503
|
}
|
|
19504
19504
|
openMinimzedModal(component, width, height, data = {}) {
|
|
19505
19505
|
this.minizedModal = false;
|
|
19506
|
-
|
|
19507
|
-
|
|
19508
|
-
|
|
19509
|
-
|
|
19506
|
+
//TODO Find a way for disablie closing
|
|
19507
|
+
const options = {
|
|
19508
|
+
component,
|
|
19509
|
+
width,
|
|
19510
|
+
height,
|
|
19510
19511
|
data: Object.assign({}, data),
|
|
19511
|
-
|
|
19512
|
-
}
|
|
19513
|
-
|
|
19512
|
+
panelClass: 'watcher-dialog-container'
|
|
19513
|
+
};
|
|
19514
|
+
this.nuxeoDialogService
|
|
19515
|
+
.open(options)
|
|
19516
|
+
.afterClosed()
|
|
19517
|
+
.subscribe((res) => {
|
|
19514
19518
|
if (res) {
|
|
19515
|
-
//console.log('open minismed');
|
|
19516
19519
|
this.minizedModal = true;
|
|
19517
19520
|
}
|
|
19518
19521
|
});
|
|
19519
19522
|
}
|
|
19520
19523
|
}
|
|
19521
|
-
DialogMangmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DialogMangmentService, deps: [{ token:
|
|
19524
|
+
DialogMangmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DialogMangmentService, deps: [{ token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19522
19525
|
DialogMangmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DialogMangmentService, providedIn: 'root' });
|
|
19523
19526
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DialogMangmentService, decorators: [{
|
|
19524
19527
|
type: Injectable,
|
|
19525
19528
|
args: [{
|
|
19526
19529
|
providedIn: 'root'
|
|
19527
19530
|
}]
|
|
19528
|
-
}], ctorParameters: function () { return [{ type:
|
|
19531
|
+
}], ctorParameters: function () { return [{ type: NuxeoDialogService }]; } });
|
|
19529
19532
|
|
|
19530
19533
|
class GlobalPdfTron {
|
|
19531
19534
|
constructor(baseHref) {
|
|
@@ -21464,7 +21467,7 @@ class MoveComponent extends BaseComponent {
|
|
|
21464
21467
|
}
|
|
21465
21468
|
}
|
|
21466
21469
|
MoveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MoveComponent, deps: [{ token: FileManagerService }, { token: CustomToastrService }, { token: NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
21467
|
-
MoveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MoveComponent, selector: "app-move", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem", rootFolder: "rootFolder", rootEntries: "rootEntries", selectedItems: "selectedItems", directory: "directory", pageConfigurations: "pageConfigurations" }, outputs: { visibleChange: "visibleChange", getSelectedFolder: "getSelectedFolder" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "
|
|
21470
|
+
MoveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MoveComponent, selector: "app-move", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem", rootFolder: "rootFolder", rootEntries: "rootEntries", selectedItems: "selectedItems", directory: "directory", pageConfigurations: "pageConfigurations" }, outputs: { visibleChange: "visibleChange", getSelectedFolder: "getSelectedFolder" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<div class=\"p-4\">\r\n\t\t<dx-scroll-view width=\"100%\" height=\"100%\">\r\n\t\t\t<div class=\"form\">\r\n\t\t\t\t<dx-tree-view\r\n\t\t\t\t\t[rtlEnabled]=\"rtlEnabled\"\r\n\t\t\t\t\tid=\"treeList\"\r\n\t\t\t\t\t[rootValue]=\"rootFolder\"\r\n\t\t\t\t\tkeyExpr=\"id\"\r\n\t\t\t\t\tdisplayExpr=\"name\"\r\n\t\t\t\t\thasItemsExpr=\"isExpanded\"\r\n\t\t\t\t\tdataStructure=\"plain\"\r\n\t\t\t\t\t[createChildren]=\"createTreeNodeChildren\"\r\n\t\t\t\t\t[width]=\"465\"\r\n\t\t\t\t\t(onItemClick)=\"selectItem($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t</dx-tree-view>\r\n\t\t\t</div>\r\n\t\t</dx-scroll-view>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\t[disabled]=\"disable\"\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(move, [false])\"\r\n\t>\r\n\t\t{{ 'BUTTONS.MOVE' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4$4.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { type: i4$4.DxTreeViewComponent, selector: "dx-tree-view", inputs: ["accessKey", "activeStateEnabled", "animationEnabled", "collapseIcon", "createChildren", "dataSource", "dataStructure", "disabled", "disabledExpr", "displayExpr", "elementAttr", "expandAllEnabled", "expandedExpr", "expandEvent", "expandIcon", "expandNodesRecursive", "focusStateEnabled", "hasItemsExpr", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemsExpr", "itemTemplate", "keyExpr", "noDataText", "parentIdExpr", "rootValue", "rtlEnabled", "scrollDirection", "searchEditorOptions", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "searchValue", "selectAllText", "selectByClick", "selectedExpr", "selectionMode", "selectNodesRecursive", "showCheckBoxesMode", "tabIndex", "useNativeScrolling", "virtualModeEnabled", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemCollapsed", "onItemContextMenu", "onItemExpanded", "onItemHold", "onItemRendered", "onItemSelectionChanged", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationEnabledChange", "collapseIconChange", "createChildrenChange", "dataSourceChange", "dataStructureChange", "disabledChange", "disabledExprChange", "displayExprChange", "elementAttrChange", "expandAllEnabledChange", "expandedExprChange", "expandEventChange", "expandIconChange", "expandNodesRecursiveChange", "focusStateEnabledChange", "hasItemsExprChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemsExprChange", "itemTemplateChange", "keyExprChange", "noDataTextChange", "parentIdExprChange", "rootValueChange", "rtlEnabledChange", "scrollDirectionChange", "searchEditorOptionsChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "searchValueChange", "selectAllTextChange", "selectByClickChange", "selectedExprChange", "selectionModeChange", "selectNodesRecursiveChange", "showCheckBoxesModeChange", "tabIndexChange", "useNativeScrollingChange", "virtualModeEnabledChange", "visibleChange", "widthChange"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
21468
21471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MoveComponent, decorators: [{
|
|
21469
21472
|
type: Component,
|
|
21470
21473
|
args: [{
|
|
@@ -22253,10 +22256,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
22253
22256
|
}] }, { type: DocumentScanService }, { type: i0.Injector }]; } });
|
|
22254
22257
|
|
|
22255
22258
|
class SharedDocsService {
|
|
22256
|
-
constructor(nuxeoService, dialog, adapter) {
|
|
22259
|
+
constructor(nuxeoService, dialog, adapter, nuxeoDialogService) {
|
|
22257
22260
|
this.nuxeoService = nuxeoService;
|
|
22258
22261
|
this.dialog = dialog;
|
|
22259
22262
|
this.adapter = adapter;
|
|
22263
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
22260
22264
|
}
|
|
22261
22265
|
shareDocumentWithUser(context, DocId) {
|
|
22262
22266
|
return from(this.nuxeoService.nuxeoClient
|
|
@@ -22284,8 +22288,8 @@ class SharedDocsService {
|
|
|
22284
22288
|
.execute({
|
|
22285
22289
|
headers: {
|
|
22286
22290
|
properties: '*',
|
|
22287
|
-
|
|
22288
|
-
}
|
|
22291
|
+
'fetch-document': 'sharedInfo:sharedList'
|
|
22292
|
+
}
|
|
22289
22293
|
})).pipe(catchError((err) => {
|
|
22290
22294
|
//console.log(err);
|
|
22291
22295
|
throw err;
|
|
@@ -22298,8 +22302,8 @@ class SharedDocsService {
|
|
|
22298
22302
|
.execute({
|
|
22299
22303
|
headers: {
|
|
22300
22304
|
properties: '*',
|
|
22301
|
-
|
|
22302
|
-
}
|
|
22305
|
+
'fetch-document': 'sharedInfo:sharedList'
|
|
22306
|
+
}
|
|
22303
22307
|
})).pipe(catchError((err) => {
|
|
22304
22308
|
//console.log(err);
|
|
22305
22309
|
throw err;
|
|
@@ -22324,24 +22328,17 @@ class SharedDocsService {
|
|
|
22324
22328
|
throw err;
|
|
22325
22329
|
}));
|
|
22326
22330
|
}
|
|
22327
|
-
openShareDialog(selectedItem
|
|
22328
|
-
|
|
22329
|
-
|
|
22330
|
-
|
|
22331
|
-
|
|
22332
|
-
|
|
22333
|
-
|
|
22334
|
-
|
|
22335
|
-
|
|
22336
|
-
|
|
22337
|
-
|
|
22338
|
-
},
|
|
22339
|
-
width: '40%',
|
|
22340
|
-
height: '85%',
|
|
22341
|
-
panelClass: 'share-dialog-wrapper'
|
|
22342
|
-
};
|
|
22343
|
-
}
|
|
22344
|
-
this.dialog.open(ShareDialogComponent, conf);
|
|
22331
|
+
openShareDialog(selectedItem) {
|
|
22332
|
+
this.nuxeoDialogService.open({
|
|
22333
|
+
component: ShareDialogComponent,
|
|
22334
|
+
width: '40%',
|
|
22335
|
+
height: '85%',
|
|
22336
|
+
panelClass: 'share-dialog-wrapper',
|
|
22337
|
+
data: {
|
|
22338
|
+
selectedItem
|
|
22339
|
+
}
|
|
22340
|
+
//disableClose: true,
|
|
22341
|
+
});
|
|
22345
22342
|
}
|
|
22346
22343
|
getSharesByMe(selectedItemId, getAllInfo) {
|
|
22347
22344
|
let sharedData = [];
|
|
@@ -22350,7 +22347,7 @@ class SharedDocsService {
|
|
|
22350
22347
|
return this.getMyShares().pipe(switchMap((res) => {
|
|
22351
22348
|
if (res) {
|
|
22352
22349
|
sharedData = res.entries.map((res) => this.adapter.adaptIn(res, {
|
|
22353
|
-
sharedList: 'sharedInfo:sharedList'
|
|
22350
|
+
sharedList: 'sharedInfo:sharedList'
|
|
22354
22351
|
}));
|
|
22355
22352
|
sharedData.forEach((element) => {
|
|
22356
22353
|
if (selectedItemId === element.uid) {
|
|
@@ -22370,14 +22367,14 @@ class SharedDocsService {
|
|
|
22370
22367
|
}));
|
|
22371
22368
|
}
|
|
22372
22369
|
}
|
|
22373
|
-
SharedDocsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedDocsService, deps: [{ token: NuxeoService }, { token: i1$3.MatDialog }, { token: AdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22370
|
+
SharedDocsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedDocsService, deps: [{ token: NuxeoService }, { token: i1$3.MatDialog }, { token: AdapterService }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22374
22371
|
SharedDocsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedDocsService, providedIn: 'root' });
|
|
22375
22372
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedDocsService, decorators: [{
|
|
22376
22373
|
type: Injectable,
|
|
22377
22374
|
args: [{
|
|
22378
22375
|
providedIn: 'root'
|
|
22379
22376
|
}]
|
|
22380
|
-
}], ctorParameters: function () { return [{ type: NuxeoService }, { type: i1$3.MatDialog }, { type: AdapterService }]; } });
|
|
22377
|
+
}], ctorParameters: function () { return [{ type: NuxeoService }, { type: i1$3.MatDialog }, { type: AdapterService }, { type: NuxeoDialogService }]; } });
|
|
22381
22378
|
|
|
22382
22379
|
class DepartmentManagementService {
|
|
22383
22380
|
constructor(nuxeoService) {
|
|
@@ -23774,44 +23771,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
23774
23771
|
}] }, { type: i0.Injector }]; } });
|
|
23775
23772
|
|
|
23776
23773
|
class PermissionsTemplateComponent {
|
|
23777
|
-
constructor(permissionService, tosterService,
|
|
23774
|
+
constructor(permissionService, tosterService, nuxeoDialogService) {
|
|
23778
23775
|
this.permissionService = permissionService;
|
|
23779
23776
|
this.tosterService = tosterService;
|
|
23780
|
-
this.
|
|
23777
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
23781
23778
|
this.allowDeleteAndEdit = false;
|
|
23782
23779
|
this.permissionsArray = [];
|
|
23783
23780
|
this.getPermissions = new EventEmitter();
|
|
23784
23781
|
}
|
|
23785
|
-
ngOnInit() {
|
|
23786
|
-
}
|
|
23782
|
+
ngOnInit() { }
|
|
23787
23783
|
deletePermission(permission) {
|
|
23788
|
-
this.permissionService
|
|
23784
|
+
this.permissionService
|
|
23785
|
+
.deleteLocalPermissions(this.documentId, permission)
|
|
23786
|
+
.subscribe((res) => {
|
|
23789
23787
|
this.getPermissions.emit();
|
|
23790
|
-
this.tosterService.show('success', 'TOASTER.SUCCESS',
|
|
23791
|
-
}, err => {
|
|
23788
|
+
this.tosterService.show('success', 'TOASTER.SUCCESS', 'TOASTER.PERMISSION_REMOVE_SUCCESS');
|
|
23789
|
+
}, (err) => {
|
|
23792
23790
|
this.tosterService.show('error', 'TOASTER.ERROR', 'TOASTER.PERMISSION_REMOVE_FAIL');
|
|
23793
23791
|
});
|
|
23794
23792
|
}
|
|
23795
23793
|
editPermission(permission, username, userVisiblePermissions, begin, end) {
|
|
23796
|
-
const dialogConfig = new MatDialogConfig();
|
|
23797
|
-
dialogConfig.disableClose = false;
|
|
23798
|
-
dialogConfig.autoFocus = true;
|
|
23799
|
-
dialogConfig.data = {
|
|
23800
|
-
id: this.documentId,
|
|
23801
|
-
rights: this.userVisiblePermissions,
|
|
23802
|
-
state: "update",
|
|
23803
|
-
aclId: permission,
|
|
23804
|
-
username: username,
|
|
23805
|
-
editableRight: userVisiblePermissions,
|
|
23806
|
-
editableBegin: begin,
|
|
23807
|
-
editableEnd: end,
|
|
23808
|
-
};
|
|
23809
|
-
dialogConfig.width = '35%';
|
|
23810
|
-
dialogConfig.height = '70%';
|
|
23811
23794
|
// befor opening modal we diable clickout side effect to prevent details side menu from closing when clicking in the modal
|
|
23812
23795
|
this.permissionService.disableClickOutSide = true;
|
|
23813
|
-
let addDialogRef = this.
|
|
23814
|
-
|
|
23796
|
+
let addDialogRef = this.nuxeoDialogService.open({
|
|
23797
|
+
component: AddPermissionsDialogComponent,
|
|
23798
|
+
width: '35%',
|
|
23799
|
+
height: '70%',
|
|
23800
|
+
panelClass: 'watcher-dialog-container',
|
|
23801
|
+
data: {
|
|
23802
|
+
id: this.documentId,
|
|
23803
|
+
rights: this.userVisiblePermissions,
|
|
23804
|
+
state: 'update',
|
|
23805
|
+
aclId: permission,
|
|
23806
|
+
username: username,
|
|
23807
|
+
editableRight: userVisiblePermissions,
|
|
23808
|
+
editableBegin: begin,
|
|
23809
|
+
editableEnd: end
|
|
23810
|
+
}
|
|
23811
|
+
//disableClose: true,
|
|
23812
|
+
});
|
|
23813
|
+
addDialogRef.afterClosed().subscribe((res) => {
|
|
23815
23814
|
// return click outside effect to work to close side menu when clicking out side it
|
|
23816
23815
|
this.permissionService.disableClickOutSide = false;
|
|
23817
23816
|
this.getPermissions.emit();
|
|
@@ -23820,15 +23819,17 @@ class PermissionsTemplateComponent {
|
|
|
23820
23819
|
openDialog(permission) {
|
|
23821
23820
|
// befor opening modal we diable clickout side effect to prevent details side menu from closing when clicking in the modal
|
|
23822
23821
|
this.permissionService.disableClickOutSide = true;
|
|
23823
|
-
let dialogRef = this.
|
|
23822
|
+
let dialogRef = this.nuxeoDialogService.open({
|
|
23823
|
+
component: AddPermissionsDialogComponent,
|
|
23824
23824
|
width: '510px',
|
|
23825
|
+
panelClass: 'watcher-dialog-container',
|
|
23825
23826
|
data: {
|
|
23826
23827
|
title: 'confirmDialog.confirm',
|
|
23827
23828
|
message: 'confirmDialog.Rem_Per',
|
|
23828
23829
|
confirmButton: `BUTTONS.Remove`,
|
|
23829
|
-
cancelButton:
|
|
23830
|
-
}
|
|
23831
|
-
disableClose: true,
|
|
23830
|
+
cancelButton: 'BUTTONS.Cancel'
|
|
23831
|
+
}
|
|
23832
|
+
//disableClose: true,
|
|
23832
23833
|
});
|
|
23833
23834
|
dialogRef.afterClosed().subscribe((result) => {
|
|
23834
23835
|
// return click outside effect to work to close side menu when clicking out side it
|
|
@@ -23837,27 +23838,9 @@ class PermissionsTemplateComponent {
|
|
|
23837
23838
|
this.deletePermission(permission);
|
|
23838
23839
|
}
|
|
23839
23840
|
});
|
|
23840
|
-
// const dialogRef = this.fuseConfirmationService.open(
|
|
23841
|
-
// {
|
|
23842
|
-
// dismissible: true,
|
|
23843
|
-
// title: this.translateService.instant("confirmDialog.confirm"),
|
|
23844
|
-
// message: this.translateService.instant("confirmDialog.Rem_Per"),
|
|
23845
|
-
// actions: {
|
|
23846
|
-
// confirm: {
|
|
23847
|
-
// show: true,
|
|
23848
|
-
// label: this.translateService.instant("BUTTONS.Remove"),
|
|
23849
|
-
// color: "warn"
|
|
23850
|
-
// },
|
|
23851
|
-
// cancel: {
|
|
23852
|
-
// show: true,
|
|
23853
|
-
// label: this.translateService.instant("BUTTONS.Cancel"),
|
|
23854
|
-
// }
|
|
23855
|
-
// }
|
|
23856
|
-
// }
|
|
23857
|
-
// );
|
|
23858
23841
|
}
|
|
23859
23842
|
}
|
|
23860
|
-
PermissionsTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsTemplateComponent, deps: [{ token: PermissionService }, { token: CustomToastrService }, { token:
|
|
23843
|
+
PermissionsTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsTemplateComponent, deps: [{ token: PermissionService }, { token: CustomToastrService }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23861
23844
|
PermissionsTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsTemplateComponent, selector: "app-permissions-template", inputs: { allowDeleteAndEdit: "allowDeleteAndEdit", documentId: "documentId", userVisiblePermissions: "userVisiblePermissions", permissionsArray: "permissionsArray" }, outputs: { getPermissions: "getPermissions" }, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n <div *ngFor=\"let p of permissionsArray\">\r\n <!-- Info -->\r\n <div class=\"flex single-permssion\" *ngIf=\"(p.granted && p.username['entity-type']== 'user') || (p.granted && (p.username['entity-type']== 'group' && (p.username.id != 'administrators' && p.username.id != 'members')))\">\r\n <mat-icon>lock</mat-icon>\r\n <div class=\"flex flex-auto justify-between ml-3\">\r\n <!-- Info -->\r\n <div>\r\n <div class=\"font-bold text-base text-gray-900 w-64\">\r\n <span *ngIf=\"p.username['entity-type'] == 'user'; else group\">\r\n {{p.username.fullName}}\r\n </span>\r\n <ng-template #group>\r\n {{p.username.grouplabel}}\r\n </ng-template>\r\n - {{p.permissionLabel}}</div>\r\n <div class=\"mt-0.5 text-secondary\">\r\n <div class=\"flex flex-row justify-between\">\r\n <div class=\"flex flex-col\">\r\n <div *ngIf=\"p.begin != null;else permanent\">\r\n {{p.begin | date:'dd/MM/yyyy'}}\r\n <span *ngIf=\"p.end != null\">- {{ p.end | date:'dd/MM/yyyy' }}</span>\r\n </div>\r\n <ng-template #permanent>\r\n <h1>{{\"permission.permanent\" | translate }}</h1>\r\n </ng-template>\r\n <div class=\"text-secondary\">\r\n <ng-container *ngIf=\"p.creator != null && p.creator != 'system'; else grantedBySystemAdmin\">\r\n {{\"permission.granted\" | translate }} {{p.creator['fullName']}}\r\n </ng-container>\r\n <ng-template #grantedBySystemAdmin>\r\n {{\"permission.grantedBySystemAdmin\" | translate }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n <!-- Actions -->\r\n <div class=\"flex\" *ngIf=\"allowDeleteAndEdit && p.currentUserIsPermissionOwner \r\n && p.permission != 'Everything'\">\r\n <button mat-icon-button\r\n (click)=\"editPermission(p.id,p.username,p.permission,p.begin,p.end)\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:pencil-alt'\"></mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button (click)=\"openDialog(p.id)\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:trash'\"></mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".single-permssion{box-shadow:0 0 12.5px #0000001a;border-radius:8px;padding:15px;margin:10px;font-size:12px}\n"], components: [{ type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "date": i4$1.DatePipe, "translate": i1.TranslatePipe } });
|
|
23862
23845
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsTemplateComponent, decorators: [{
|
|
23863
23846
|
type: Component,
|
|
@@ -23866,7 +23849,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
23866
23849
|
templateUrl: './permissions-template.component.html',
|
|
23867
23850
|
styleUrls: ['./permissions-template.component.scss']
|
|
23868
23851
|
}]
|
|
23869
|
-
}], ctorParameters: function () { return [{ type: PermissionService }, { type: CustomToastrService }, { type:
|
|
23852
|
+
}], ctorParameters: function () { return [{ type: PermissionService }, { type: CustomToastrService }, { type: NuxeoDialogService }]; }, propDecorators: { allowDeleteAndEdit: [{
|
|
23870
23853
|
type: Input
|
|
23871
23854
|
}], documentId: [{
|
|
23872
23855
|
type: Input
|
|
@@ -23880,7 +23863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
23880
23863
|
}] } });
|
|
23881
23864
|
|
|
23882
23865
|
class PermissionsComponent {
|
|
23883
|
-
constructor(permissionService, addPermissionsDialog, tosterService, translateService, nuxeoService, userServ, evaluatorService) {
|
|
23866
|
+
constructor(permissionService, addPermissionsDialog, tosterService, translateService, nuxeoService, userServ, evaluatorService, nuxeoDialogService) {
|
|
23884
23867
|
this.permissionService = permissionService;
|
|
23885
23868
|
this.addPermissionsDialog = addPermissionsDialog;
|
|
23886
23869
|
this.tosterService = tosterService;
|
|
@@ -23888,6 +23871,7 @@ class PermissionsComponent {
|
|
|
23888
23871
|
this.nuxeoService = nuxeoService;
|
|
23889
23872
|
this.userServ = userServ;
|
|
23890
23873
|
this.evaluatorService = evaluatorService;
|
|
23874
|
+
this.nuxeoDialogService = nuxeoDialogService;
|
|
23891
23875
|
this.sourcePage = '';
|
|
23892
23876
|
this.subscriptions$ = [];
|
|
23893
23877
|
this.localPermissions = [];
|
|
@@ -23903,17 +23887,19 @@ class PermissionsComponent {
|
|
|
23903
23887
|
}
|
|
23904
23888
|
ngOnInit() {
|
|
23905
23889
|
this.subscriptions$.concat([
|
|
23906
|
-
this.permissionService.createAndAddAnother.subscribe(res => {
|
|
23890
|
+
this.permissionService.createAndAddAnother.subscribe((res) => {
|
|
23907
23891
|
this.getPermissions();
|
|
23908
23892
|
})
|
|
23909
23893
|
]);
|
|
23910
23894
|
this.loading = true;
|
|
23911
23895
|
this.checkIfUserCanDoActionsOnPermissions();
|
|
23912
23896
|
this.getPermissions();
|
|
23913
|
-
|
|
23897
|
+
this.inheritedPermissions.length > 0
|
|
23898
|
+
? (this.status = 'unblock')
|
|
23899
|
+
: (this.status = 'block');
|
|
23914
23900
|
}
|
|
23915
23901
|
addPermissionLabel(arr, permissionArr) {
|
|
23916
|
-
arr.forEach(element => {
|
|
23902
|
+
arr.forEach((element) => {
|
|
23917
23903
|
if (!this.isItemContainAdministratorGroup(element)) {
|
|
23918
23904
|
element.permissionLabel = this.translateService.instant(`rights.${element.permission}`);
|
|
23919
23905
|
permissionArr.push(element);
|
|
@@ -23925,11 +23911,13 @@ class PermissionsComponent {
|
|
|
23925
23911
|
if (element.granted === false) {
|
|
23926
23912
|
isAdministrator = true;
|
|
23927
23913
|
}
|
|
23928
|
-
else if (element.username &&
|
|
23914
|
+
else if (element.username &&
|
|
23915
|
+
element.username['entity-type'] === 'group' &&
|
|
23916
|
+
element.username.groupname === 'administrators') {
|
|
23929
23917
|
isAdministrator = true;
|
|
23930
23918
|
}
|
|
23931
23919
|
else if (element.username.userGroups) {
|
|
23932
|
-
element.username.userGroups.map(group => {
|
|
23920
|
+
element.username.userGroups.map((group) => {
|
|
23933
23921
|
if (group.name === 'administrators') {
|
|
23934
23922
|
isAdministrator = true;
|
|
23935
23923
|
}
|
|
@@ -23938,16 +23926,23 @@ class PermissionsComponent {
|
|
|
23938
23926
|
return isAdministrator;
|
|
23939
23927
|
}
|
|
23940
23928
|
getPermissions() {
|
|
23941
|
-
this.subscriptions$.concat([
|
|
23929
|
+
this.subscriptions$.concat([
|
|
23930
|
+
this.permissionService
|
|
23931
|
+
.getPermissionsForDocument(this.documentId)
|
|
23932
|
+
.subscribe((res) => {
|
|
23942
23933
|
this.permissionsType = res.contextParameters.acls;
|
|
23943
|
-
this.userVisiblePermissions =
|
|
23934
|
+
this.userVisiblePermissions =
|
|
23935
|
+
res.contextParameters.userVisiblePermissions;
|
|
23944
23936
|
for (let p of this.permissionsType) {
|
|
23945
23937
|
if (p.name == 'local') {
|
|
23946
23938
|
this.localPermissions = [];
|
|
23947
23939
|
this.addPermissionLabel(p.aces, this.localPermissions);
|
|
23948
|
-
this.localPermissions = this.localPermissions.map(element => {
|
|
23940
|
+
this.localPermissions = this.localPermissions.map((element) => {
|
|
23949
23941
|
var _a, _b;
|
|
23950
|
-
if (element.creator === null ||
|
|
23942
|
+
if (element.creator === null ||
|
|
23943
|
+
element.creator === 'system' ||
|
|
23944
|
+
((_b = (_a = element.creator) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.username) !=
|
|
23945
|
+
this.nuxeoService.nuxeoClient.user.properties.username) {
|
|
23951
23946
|
element['currentUserIsPermissionOwner'] = false;
|
|
23952
23947
|
}
|
|
23953
23948
|
else {
|
|
@@ -23973,62 +23968,77 @@ class PermissionsComponent {
|
|
|
23973
23968
|
this.addPermissionLabel(p.aces, this.workflowPermissions);
|
|
23974
23969
|
}
|
|
23975
23970
|
}
|
|
23976
|
-
|
|
23971
|
+
this.inheritedPermissions.length == 0
|
|
23972
|
+
? (this.status = 'block')
|
|
23973
|
+
: (this.status = 'unblock');
|
|
23977
23974
|
this.loading = false;
|
|
23978
|
-
}, err => this.loading = false)
|
|
23975
|
+
}, (err) => (this.loading = false))
|
|
23976
|
+
]);
|
|
23979
23977
|
}
|
|
23980
23978
|
blockPermissionInheritance() {
|
|
23981
23979
|
this.blockOrUnblock = true;
|
|
23982
|
-
this.subscriptions$.concat([
|
|
23980
|
+
this.subscriptions$.concat([
|
|
23981
|
+
this.permissionService
|
|
23982
|
+
.blockPermissionInheritance(this.documentId)
|
|
23983
|
+
.subscribe((res) => {
|
|
23983
23984
|
if (res) {
|
|
23984
23985
|
this.getPermissions();
|
|
23985
|
-
this.tosterService.show('success', 'TOASTER.SUCCESS',
|
|
23986
|
+
this.tosterService.show('success', 'TOASTER.SUCCESS', 'TOASTER.PERMISSION_BLOCK_SUCCESS');
|
|
23986
23987
|
this.blockOrUnblock = false;
|
|
23987
|
-
this.status =
|
|
23988
|
+
this.status = 'unblock';
|
|
23988
23989
|
this.inheritedPermissions = [];
|
|
23989
23990
|
}
|
|
23990
|
-
}, err => {
|
|
23991
|
+
}, (err) => {
|
|
23991
23992
|
this.blockOrUnblock = false;
|
|
23992
23993
|
this.tosterService.show('error', 'TOASTER.ERROR', 'TOASTER.PERMISSION_BLOCK_FAIL');
|
|
23993
|
-
})
|
|
23994
|
+
})
|
|
23995
|
+
]);
|
|
23994
23996
|
}
|
|
23995
23997
|
unblockPermissionInheritance() {
|
|
23996
23998
|
this.blockOrUnblock = true;
|
|
23997
|
-
this.subscriptions$.concat([
|
|
23999
|
+
this.subscriptions$.concat([
|
|
24000
|
+
this.permissionService
|
|
24001
|
+
.unblockPermissionInheritance(this.documentId)
|
|
24002
|
+
.subscribe((res) => {
|
|
23998
24003
|
if (res) {
|
|
23999
24004
|
this.getPermissions();
|
|
24000
|
-
this.tosterService.show('success', 'TOASTER.SUCCESS',
|
|
24001
|
-
this.status =
|
|
24005
|
+
this.tosterService.show('success', 'TOASTER.SUCCESS', 'TOASTER.PERMISSION_UNBLOCK_SUCCESS');
|
|
24006
|
+
this.status = 'block';
|
|
24002
24007
|
this.blockOrUnblock = false;
|
|
24003
24008
|
}
|
|
24004
|
-
}, err => {
|
|
24009
|
+
}, (err) => {
|
|
24005
24010
|
this.blockOrUnblock = false;
|
|
24006
24011
|
this.tosterService.show('error', 'TOASTER.ERROR', 'TOASTER.PERMISSION_UNBLOCK_FAIL');
|
|
24007
|
-
})
|
|
24012
|
+
})
|
|
24013
|
+
]);
|
|
24008
24014
|
}
|
|
24009
24015
|
addNewLocalPermissions() {
|
|
24010
24016
|
this.permissionService.departmentUsers = [...this.allDepartmentUsers];
|
|
24011
|
-
this.localPermissions.forEach(perm => {
|
|
24017
|
+
this.localPermissions.forEach((perm) => {
|
|
24012
24018
|
this.permissionService.departmentUsers.forEach((user, index) => {
|
|
24013
|
-
if (perm.username.properties.username === user.properties.username
|
|
24014
|
-
|
|
24019
|
+
if (perm.username.properties.username === user.properties.username &&
|
|
24020
|
+
perm.creator.properties.username ===
|
|
24021
|
+
this.nuxeoService.nuxeoClient.user.properties.username) {
|
|
24015
24022
|
this.permissionService.departmentUsers.splice(index, 1);
|
|
24016
24023
|
}
|
|
24017
24024
|
});
|
|
24018
24025
|
});
|
|
24019
|
-
const dialogConfig = new MatDialogConfig();
|
|
24020
|
-
dialogConfig.disableClose = false;
|
|
24021
|
-
dialogConfig.autoFocus = true;
|
|
24022
|
-
dialogConfig.data = {
|
|
24023
|
-
id: this.documentId,
|
|
24024
|
-
rights: this.userVisiblePermissions
|
|
24025
|
-
};
|
|
24026
|
-
dialogConfig.width = '35%';
|
|
24027
|
-
dialogConfig.height = '70%';
|
|
24028
24026
|
// befor opening modal we diable clickout side effect to prevent details side menu from closing when clicking in the modal
|
|
24029
24027
|
this.permissionService.disableClickOutSide = true;
|
|
24030
|
-
|
|
24031
|
-
|
|
24028
|
+
this.nuxeoDialogService
|
|
24029
|
+
.open({
|
|
24030
|
+
component: AddPermissionsDialogComponent,
|
|
24031
|
+
width: '35%',
|
|
24032
|
+
height: '70%',
|
|
24033
|
+
panelClass: 'watcher-dialog-container',
|
|
24034
|
+
data: {
|
|
24035
|
+
id: this.documentId,
|
|
24036
|
+
rights: this.userVisiblePermissions
|
|
24037
|
+
}
|
|
24038
|
+
//disableClose: true,
|
|
24039
|
+
})
|
|
24040
|
+
.afterClosed()
|
|
24041
|
+
.subscribe((res) => {
|
|
24032
24042
|
// return click outside effect to work to close side menu when clicking out side it
|
|
24033
24043
|
this.permissionService.disableClickOutSide = false;
|
|
24034
24044
|
if (res) {
|
|
@@ -24037,9 +24047,15 @@ class PermissionsComponent {
|
|
|
24037
24047
|
});
|
|
24038
24048
|
}
|
|
24039
24049
|
checkIfUserCanDoActionsOnPermissions() {
|
|
24040
|
-
this.evaluatorService
|
|
24050
|
+
this.evaluatorService
|
|
24051
|
+
.evaluateRule('isManagePermissionEnabled')
|
|
24052
|
+
.then((isEnabled) => {
|
|
24041
24053
|
if (isEnabled) {
|
|
24042
|
-
this.evaluatorService
|
|
24054
|
+
this.evaluatorService
|
|
24055
|
+
.evaluateRule('isDepartmentDocumentController', {
|
|
24056
|
+
entity: this.document
|
|
24057
|
+
})
|
|
24058
|
+
.then((userInControllerGroup) => {
|
|
24043
24059
|
// let userInControllerGroup = false;
|
|
24044
24060
|
// this.nuxeoService.nuxeoClient.user.userGroups.forEach(group => {
|
|
24045
24061
|
// if (group.name === 'dms_document_controller') {
|
|
@@ -24048,15 +24064,25 @@ class PermissionsComponent {
|
|
|
24048
24064
|
// });
|
|
24049
24065
|
if (userInControllerGroup) {
|
|
24050
24066
|
let depCode = this.userServ.getUserDepartmentFromPath(this.document.path);
|
|
24051
|
-
this.permissionService
|
|
24052
|
-
|
|
24053
|
-
|
|
24067
|
+
this.permissionService
|
|
24068
|
+
.getDepMembers(depCode)
|
|
24069
|
+
.subscribe((res) => {
|
|
24070
|
+
this.permissionService.departmentUsers = res.users.map((e) => {
|
|
24071
|
+
e['displayLabel'] =
|
|
24072
|
+
e.properties.firstName + ' ' + e.properties.lastName;
|
|
24054
24073
|
return e;
|
|
24055
24074
|
});
|
|
24056
|
-
this.allDepartmentUsers = [
|
|
24057
|
-
|
|
24058
|
-
|
|
24059
|
-
|
|
24075
|
+
this.allDepartmentUsers = [
|
|
24076
|
+
...this.permissionService.departmentUsers
|
|
24077
|
+
];
|
|
24078
|
+
res.users.forEach((user) => {
|
|
24079
|
+
if (user.properties.username ===
|
|
24080
|
+
this.nuxeoService.nuxeoClient.user.properties
|
|
24081
|
+
.username &&
|
|
24082
|
+
((this.document.type === 'DmsFolder' &&
|
|
24083
|
+
this.document.path.includes('/default-domain/workspaces/DMS/')) ||
|
|
24084
|
+
(this.document.type === 'Folder' &&
|
|
24085
|
+
this.document.path.includes('/default-domain/workspaces/DMSWorkspaces/')))) {
|
|
24060
24086
|
this.allowAdd_Block_DeletePermission = true;
|
|
24061
24087
|
}
|
|
24062
24088
|
});
|
|
@@ -24075,11 +24101,11 @@ class PermissionsComponent {
|
|
|
24075
24101
|
ngOnDestroy() {
|
|
24076
24102
|
// return click outside effect to work to close side menu when clicking out side it
|
|
24077
24103
|
this.permissionService.disableClickOutSide = false;
|
|
24078
|
-
this.subscriptions$.forEach(e => e.unsubscribe());
|
|
24104
|
+
this.subscriptions$.forEach((e) => e.unsubscribe());
|
|
24079
24105
|
}
|
|
24080
24106
|
}
|
|
24081
|
-
PermissionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsComponent, deps: [{ token: PermissionService }, { token: i1$3.MatDialog }, { token: CustomToastrService }, { token: TranslationService }, { token: NuxeoService }, { token: UserService }, { token: EvaluatorsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24082
|
-
PermissionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsComponent, selector: "app-permissions", inputs: { documentId: "documentId", document: "document", allowAddAndBlock: "allowAddAndBlock", sourcePage: "sourcePage" }, ngImport: i0, template: "<div class=\"h-auto mt-3 px-0 pb-4\" *ngIf=\"!loading; else loader\">\r\n <!--LocalPermission List Items-->\r\n <div *ngIf=\"sourcePage != 'myFiles'\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.local\" | translate\r\n }}</span>\r\n <span *ngIf=\"allowAdd_Block_DeletePermission && !inheritedPermissions.length\">\r\n <button\r\n *ngIf=\"allowAddAndBlock\"\r\n class=\"hover:text-blue-700 text-blue-500 mb-1 text-base\"\r\n (click)=\"addNewLocalPermissions()\"\r\n [disabled]=\"!permissionsType\"\r\n >\r\n {{ \"permission.new\" | translate }}\r\n </button>\r\n </span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [allowDeleteAndEdit]=\"allowAdd_Block_DeletePermission\"\r\n [permissionsArray]=\"localPermissions\"\r\n *ngIf=\"localPermissions.length > 0; else nolocalPermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <ng-template #nolocalPermissions>\r\n <div class=\"single-permssion p-3 text-center\">\r\n {{ \"permission.noLocal\" | translate }}\r\n </div>\r\n </ng-template>\r\n <!--InheritedPermission List Items-->\r\n <div>\r\n <div class=\"flex flex-row justify-between mt-3\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.inherited\" | translate\r\n }}</span>\r\n <span *ngIf=\"allowAdd_Block_DeletePermission\">\r\n <button\r\n class=\"hover:text-blue-700 text-blue-500 mb-1 text-base\"\r\n *ngIf=\"status != null && allowAddAndBlock\"\r\n >\r\n <span\r\n *ngIf=\"status == 'block'; else unblock\"\r\n (click)=\"unblockPermissionInheritance()\"\r\n >\r\n {{ \"permission.unblock\" | translate }}\r\n </span>\r\n <ng-template #unblock>\r\n <span (click)=\"blockPermissionInheritance()\">\r\n {{ \"permission.block\" | translate }}\r\n </span>\r\n </ng-template>\r\n </button>\r\n </span>\r\n </div>\r\n <mat-divider class=\"mat-divider\" *ngIf=\"!blockOrUnblock\"></mat-divider>\r\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"blockOrUnblock\"></mat-progress-bar>\r\n <app-permissions-template\r\n *ngIf=\"inheritedPermissions.length > 0; else noinheritedPermissions\"\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n [permissionsArray]=\"inheritedPermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <ng-template #noinheritedPermissions>\r\n <div class=\"single-permssion p-3 text-center\">\r\n {{\"permission.noInherited\" | translate }}</div>\r\n </ng-template>\r\n <!--departmentPermissions List Items-->\r\n <div *ngIf=\"departmentPermissions.length > 0\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.departmentPermissions\" | translate\r\n }}</span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [permissionsArray]=\"departmentPermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <!--sharePermissions List Items-->\r\n <div *ngIf=\"sharePermissions.length > 0\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.sharePermissions\" | translate\r\n }}</span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [permissionsArray]=\"sharePermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <!--workflowPermissions List Items-->\r\n <div *ngIf=\"workflowPermissions.length > 0\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.workflowPermissions\" | translate\r\n }}</span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [permissionsArray]=\"workflowPermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n</div>\r\n\r\n<ng-template #loader>\r\n <div class=\"flex items-center justify-center w-full h-full\">\r\n <mat-spinner [value]=\"90\" [strokeWidth]=\"6\" overlay=\"true\" [diameter]=\"75\"></mat-spinner>\r\n </div>\r\n</ng-template>\r\n", styles: [""], components: [{ type:
|
|
24107
|
+
PermissionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsComponent, deps: [{ token: PermissionService }, { token: i1$3.MatDialog }, { token: CustomToastrService }, { token: TranslationService }, { token: NuxeoService }, { token: UserService }, { token: EvaluatorsService }, { token: NuxeoDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24108
|
+
PermissionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PermissionsComponent, selector: "app-permissions", inputs: { documentId: "documentId", document: "document", allowAddAndBlock: "allowAddAndBlock", sourcePage: "sourcePage" }, ngImport: i0, template: "<div class=\"h-auto mt-3 px-0 pb-4\" *ngIf=\"!loading; else loader\">\r\n <!--LocalPermission List Items-->\r\n <div *ngIf=\"sourcePage != 'myFiles'\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.local\" | translate\r\n }}</span>\r\n <span *ngIf=\"allowAdd_Block_DeletePermission && !inheritedPermissions.length\">\r\n <button\r\n *ngIf=\"allowAddAndBlock\"\r\n class=\"hover:text-blue-700 text-blue-500 mb-1 text-base\"\r\n (click)=\"addNewLocalPermissions()\"\r\n [disabled]=\"!permissionsType\"\r\n >\r\n {{ \"permission.new\" | translate }}\r\n </button>\r\n </span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [allowDeleteAndEdit]=\"allowAdd_Block_DeletePermission\"\r\n [permissionsArray]=\"localPermissions\"\r\n *ngIf=\"localPermissions.length > 0; else nolocalPermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <ng-template #nolocalPermissions>\r\n <div class=\"single-permssion p-3 text-center\">\r\n {{ \"permission.noLocal\" | translate }}\r\n </div>\r\n </ng-template>\r\n <!--InheritedPermission List Items-->\r\n <div>\r\n <div class=\"flex flex-row justify-between mt-3\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.inherited\" | translate\r\n }}</span>\r\n <span *ngIf=\"allowAdd_Block_DeletePermission\">\r\n <button\r\n class=\"hover:text-blue-700 text-blue-500 mb-1 text-base\"\r\n *ngIf=\"status != null && allowAddAndBlock\"\r\n >\r\n <span\r\n *ngIf=\"status == 'block'; else unblock\"\r\n (click)=\"unblockPermissionInheritance()\"\r\n >\r\n {{ \"permission.unblock\" | translate }}\r\n </span>\r\n <ng-template #unblock>\r\n <span (click)=\"blockPermissionInheritance()\">\r\n {{ \"permission.block\" | translate }}\r\n </span>\r\n </ng-template>\r\n </button>\r\n </span>\r\n </div>\r\n <mat-divider class=\"mat-divider\" *ngIf=\"!blockOrUnblock\"></mat-divider>\r\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"blockOrUnblock\"></mat-progress-bar>\r\n <app-permissions-template\r\n *ngIf=\"inheritedPermissions.length > 0; else noinheritedPermissions\"\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n [permissionsArray]=\"inheritedPermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <ng-template #noinheritedPermissions>\r\n <div class=\"single-permssion p-3 text-center\">\r\n {{\"permission.noInherited\" | translate }}</div>\r\n </ng-template>\r\n <!--departmentPermissions List Items-->\r\n <div *ngIf=\"departmentPermissions.length > 0\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.departmentPermissions\" | translate\r\n }}</span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [permissionsArray]=\"departmentPermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <!--sharePermissions List Items-->\r\n <div *ngIf=\"sharePermissions.length > 0\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.sharePermissions\" | translate\r\n }}</span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [permissionsArray]=\"sharePermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n <!--workflowPermissions List Items-->\r\n <div *ngIf=\"workflowPermissions.length > 0\">\r\n <div class=\"flex flex-row justify-between\">\r\n <span class=\"font-bold text-gray-500 text-base\">{{\r\n \"permission.workflowPermissions\" | translate\r\n }}</span>\r\n </div>\r\n <mat-divider class=\"mat-divider\"></mat-divider>\r\n <app-permissions-template\r\n [documentId]=\"documentId\"\r\n [userVisiblePermissions]=\"userVisiblePermissions\"\r\n (getPermissions)=\"getPermissions()\"\r\n [permissionsArray]=\"workflowPermissions\"\r\n >\r\n </app-permissions-template>\r\n </div>\r\n</div>\r\n\r\n<ng-template #loader>\r\n <div class=\"flex items-center justify-center w-full h-full\">\r\n <mat-spinner [value]=\"90\" [strokeWidth]=\"6\" overlay=\"true\" [diameter]=\"75\"></mat-spinner>\r\n </div>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i9$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: PermissionsTemplateComponent, selector: "app-permissions-template", inputs: ["allowDeleteAndEdit", "documentId", "userVisiblePermissions", "permissionsArray"], outputs: ["getPermissions"] }, { type: i4$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i1$5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
24083
24109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PermissionsComponent, decorators: [{
|
|
24084
24110
|
type: Component,
|
|
24085
24111
|
args: [{
|
|
@@ -24087,7 +24113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
24087
24113
|
templateUrl: './permissions.component.html',
|
|
24088
24114
|
styleUrls: ['./permissions.component.scss']
|
|
24089
24115
|
}]
|
|
24090
|
-
}], ctorParameters: function () { return [{ type: PermissionService }, { type: i1$3.MatDialog }, { type: CustomToastrService }, { type: TranslationService }, { type: NuxeoService }, { type: UserService }, { type: EvaluatorsService }]; }, propDecorators: { documentId: [{
|
|
24116
|
+
}], ctorParameters: function () { return [{ type: PermissionService }, { type: i1$3.MatDialog }, { type: CustomToastrService }, { type: TranslationService }, { type: NuxeoService }, { type: UserService }, { type: EvaluatorsService }, { type: NuxeoDialogService }]; }, propDecorators: { documentId: [{
|
|
24091
24117
|
type: Input
|
|
24092
24118
|
}], document: [{
|
|
24093
24119
|
type: Input
|
|
@@ -24622,13 +24648,13 @@ class FileManagerAbstract {
|
|
|
24622
24648
|
this.nodesPagination = {};
|
|
24623
24649
|
this.isItemSelected = false;
|
|
24624
24650
|
this.clicked = false;
|
|
24625
|
-
this.currentPath =
|
|
24626
|
-
this.configKey =
|
|
24651
|
+
this.currentPath = "";
|
|
24652
|
+
this.configKey = "allFiles";
|
|
24627
24653
|
this.onDestroy$ = new Subject();
|
|
24628
24654
|
this.loading = false;
|
|
24629
24655
|
this.rtlEnabled = false;
|
|
24630
24656
|
this.isArabic = true;
|
|
24631
|
-
this.menuDirection =
|
|
24657
|
+
this.menuDirection = "before";
|
|
24632
24658
|
this.showDetails = false;
|
|
24633
24659
|
this.sideMenuLoading = false;
|
|
24634
24660
|
this.disable = true;
|
|
@@ -24642,7 +24668,7 @@ class FileManagerAbstract {
|
|
|
24642
24668
|
copyPopupVisible: false,
|
|
24643
24669
|
transferPopupVisible: false,
|
|
24644
24670
|
loanPopupVisible: false,
|
|
24645
|
-
createPopupVisible: false
|
|
24671
|
+
createPopupVisible: false,
|
|
24646
24672
|
};
|
|
24647
24673
|
this.showfolderTemplates = false;
|
|
24648
24674
|
this.contextMenuItems = [];
|
|
@@ -24653,35 +24679,35 @@ class FileManagerAbstract {
|
|
|
24653
24679
|
this.showClipboard = false;
|
|
24654
24680
|
this.showDgdaClipboard = false; // flage related to dgda clipboard
|
|
24655
24681
|
this.cancelButton = {
|
|
24656
|
-
text: this.isArabic ?
|
|
24682
|
+
text: this.isArabic ? "إلغاء" : "Cancel",
|
|
24657
24683
|
onClick: () => {
|
|
24658
24684
|
Object.keys(this.cancelableOperations).forEach((key) => {
|
|
24659
24685
|
this.cancelableOperations[key] = false;
|
|
24660
24686
|
});
|
|
24661
|
-
}
|
|
24687
|
+
},
|
|
24662
24688
|
};
|
|
24663
24689
|
this.moveTo = () => {
|
|
24664
24690
|
if (this.treeView !== undefined && this.treeView.instance !== null) {
|
|
24665
24691
|
let mytreeInstance = this.treeView.instance;
|
|
24666
|
-
mytreeInstance.option(
|
|
24692
|
+
mytreeInstance.option("dataSource", []);
|
|
24667
24693
|
}
|
|
24668
|
-
this.cancelableOperations[
|
|
24694
|
+
this.cancelableOperations["movePopupVisible"] = true;
|
|
24669
24695
|
};
|
|
24670
24696
|
this.copyTo = () => {
|
|
24671
24697
|
if (this.treeView !== undefined && this.treeView.instance !== null) {
|
|
24672
24698
|
let mytreeInstance = this.treeView.instance;
|
|
24673
|
-
mytreeInstance.option(
|
|
24699
|
+
mytreeInstance.option("dataSource", []);
|
|
24674
24700
|
}
|
|
24675
|
-
this.cancelableOperations[
|
|
24701
|
+
this.cancelableOperations["copyPopupVisible"] = true;
|
|
24676
24702
|
};
|
|
24677
24703
|
this.delete = () => {
|
|
24678
|
-
this.cancelableOperations[
|
|
24704
|
+
this.cancelableOperations["deletePopupVisible"] = true;
|
|
24679
24705
|
};
|
|
24680
24706
|
this.transferTo = () => {
|
|
24681
|
-
this.cancelableOperations[
|
|
24707
|
+
this.cancelableOperations["transferPopupVisible"] = true;
|
|
24682
24708
|
};
|
|
24683
24709
|
this.loanRequest = () => {
|
|
24684
|
-
this.cancelableOperations[
|
|
24710
|
+
this.cancelableOperations["loanPopupVisible"] = true;
|
|
24685
24711
|
};
|
|
24686
24712
|
this.createFolder = () => {
|
|
24687
24713
|
// this.selectedItem =
|
|
@@ -24691,29 +24717,29 @@ class FileManagerAbstract {
|
|
|
24691
24717
|
// ? this.mainFolder
|
|
24692
24718
|
// : directory?.dataItem?.id;
|
|
24693
24719
|
// this.selectedObject = fileSystemItem?.dataItem;
|
|
24694
|
-
this.cancelableOperations[
|
|
24720
|
+
this.cancelableOperations["createPopupVisible"] = true;
|
|
24695
24721
|
};
|
|
24696
24722
|
this.downloadFile = () => {
|
|
24697
24723
|
var _a, _b;
|
|
24698
24724
|
if (this.multipleItems.length === 1) {
|
|
24699
|
-
window.open((_b = (_a = this.multipleItems[0].dataItem) === null || _a === void 0 ? void 0 : _a.entity) === null || _b === void 0 ? void 0 : _b.properties[
|
|
24725
|
+
window.open((_b = (_a = this.multipleItems[0].dataItem) === null || _a === void 0 ? void 0 : _a.entity) === null || _b === void 0 ? void 0 : _b.properties["file:content"].data, "blank");
|
|
24700
24726
|
}
|
|
24701
24727
|
else {
|
|
24702
24728
|
this.multipleItems.forEach((item) => {
|
|
24703
24729
|
var _a, _b;
|
|
24704
|
-
fetch((_b = (_a = item.dataItem) === null || _a === void 0 ? void 0 : _a.entity) === null || _b === void 0 ? void 0 : _b.properties[
|
|
24730
|
+
fetch((_b = (_a = item.dataItem) === null || _a === void 0 ? void 0 : _a.entity) === null || _b === void 0 ? void 0 : _b.properties["file:content"].data)
|
|
24705
24731
|
.then((res) => res.blob())
|
|
24706
24732
|
.then((blob) => {
|
|
24707
24733
|
FileSaver.saveAs(blob, item.name);
|
|
24708
24734
|
})
|
|
24709
|
-
.catch((err) => this.customToastrService.show(
|
|
24735
|
+
.catch((err) => this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.IMAGE_NOT_FOUND"));
|
|
24710
24736
|
});
|
|
24711
24737
|
}
|
|
24712
24738
|
};
|
|
24713
24739
|
this.refresh = () => {
|
|
24714
24740
|
if (this.myPageConfiguration.fileMangerObjectName ===
|
|
24715
|
-
|
|
24716
|
-
this.fileManagerService.customEvent.emit(
|
|
24741
|
+
"externalshareFileMangerObj") {
|
|
24742
|
+
this.fileManagerService.customEvent.emit("refresh");
|
|
24717
24743
|
}
|
|
24718
24744
|
else {
|
|
24719
24745
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
@@ -24722,85 +24748,85 @@ class FileManagerAbstract {
|
|
|
24722
24748
|
this.addToQuickAccess = () => {
|
|
24723
24749
|
this.fileManagerService.addToQuickAccess(this.selectedItems).subscribe((res) => __awaiter(this, void 0, void 0, function* () {
|
|
24724
24750
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
24725
|
-
this.myFileMangerInstance.option(
|
|
24726
|
-
this.customToastrService.show(
|
|
24751
|
+
this.myFileMangerInstance.option("toolbar.fileSelectionItems", []);
|
|
24752
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.DOCUMENT_ADDED_TO_QUICK_ACCESS");
|
|
24727
24753
|
}), (err) => {
|
|
24728
|
-
this.customToastrService.show(
|
|
24754
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.DOCUMENT_ADDED_TO_QUICK_ACCESS_ERROR");
|
|
24729
24755
|
});
|
|
24730
24756
|
};
|
|
24731
24757
|
this.removeFromQuickAccess = () => {
|
|
24732
24758
|
this.fileManagerService.removeFromQuickAccess(this.selectedItems).subscribe((res) => __awaiter(this, void 0, void 0, function* () {
|
|
24733
24759
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
24734
|
-
this.myFileMangerInstance.option(
|
|
24735
|
-
this.customToastrService.show(
|
|
24760
|
+
this.myFileMangerInstance.option("toolbar.fileSelectionItems", []);
|
|
24761
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.DOCUMENT_REMOVED_FROM_QUICK_ACCESS");
|
|
24736
24762
|
}), (err) => {
|
|
24737
|
-
this.customToastrService.show(
|
|
24763
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.DOCUMENT_REMOVED_FROM_QUICK_ACCESS_ERROR");
|
|
24738
24764
|
});
|
|
24739
24765
|
};
|
|
24740
24766
|
this.addToFavorites = () => {
|
|
24741
24767
|
this.fileManagerService.addToFavorites(this.selectedItems).subscribe((res) => __awaiter(this, void 0, void 0, function* () {
|
|
24742
|
-
this.multiSelectedkeys = [
|
|
24768
|
+
this.multiSelectedkeys = [""];
|
|
24743
24769
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
24744
|
-
this.customToastrService.show(
|
|
24770
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.DOCUMENT_ADDED_TO_FAVORITES");
|
|
24745
24771
|
}), (err) => {
|
|
24746
|
-
this.customToastrService.show(
|
|
24772
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.DOCUMENT_ADDED_TO_FAVORITES_ERROR");
|
|
24747
24773
|
});
|
|
24748
24774
|
};
|
|
24749
24775
|
this.removeFromFavorites = () => {
|
|
24750
24776
|
this.fileManagerService.removeFromFavorites(this.selectedItems).subscribe((res) => __awaiter(this, void 0, void 0, function* () {
|
|
24751
|
-
this.multiSelectedkeys = [
|
|
24777
|
+
this.multiSelectedkeys = [""];
|
|
24752
24778
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
24753
|
-
this.customToastrService.show(
|
|
24779
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.DOCUMENT_REMOVED_FROM_FAVORITES");
|
|
24754
24780
|
}), (err) => {
|
|
24755
|
-
this.customToastrService.show(
|
|
24781
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.DOCUMENT_REMOVED_FROM_FAVORITES_ERROR");
|
|
24756
24782
|
});
|
|
24757
24783
|
};
|
|
24758
24784
|
this.setSync = () => {
|
|
24759
24785
|
this.fileManagerService.setSync(this.selectedItems).subscribe((res) => __awaiter(this, void 0, void 0, function* () {
|
|
24760
24786
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
24761
|
-
this.myFileMangerInstance.option(
|
|
24762
|
-
this.customToastrService.show(
|
|
24787
|
+
this.myFileMangerInstance.option("toolbar.fileSelectionItems", []);
|
|
24788
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.DOCUMENT_SYNCED");
|
|
24763
24789
|
}), (err) => {
|
|
24764
|
-
this.customToastrService.show(
|
|
24790
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.DOCUMENT_SYNCED_ERROR");
|
|
24765
24791
|
});
|
|
24766
24792
|
};
|
|
24767
24793
|
this.unsetSync = () => {
|
|
24768
24794
|
this.fileManagerService.unSetSync(this.selectedItems).subscribe((res) => __awaiter(this, void 0, void 0, function* () {
|
|
24769
24795
|
this.reinitializeFolderTree(this.getCurrentFolderId(this.getCurrentDirectory()), this.getCurrentDirectory());
|
|
24770
|
-
this.myFileMangerInstance.option(
|
|
24771
|
-
this.customToastrService.show(
|
|
24796
|
+
this.myFileMangerInstance.option("toolbar.fileSelectionItems", []);
|
|
24797
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.DOCUMENT_UNSYNCED");
|
|
24772
24798
|
}), (err) => {
|
|
24773
|
-
this.customToastrService.show(
|
|
24799
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.DOCUMENT_UNSYNCED_ERROR");
|
|
24774
24800
|
});
|
|
24775
24801
|
};
|
|
24776
24802
|
this.addToCollection = () => {
|
|
24777
|
-
this.cancelableOperations[
|
|
24803
|
+
this.cancelableOperations["addToCollectionPopupVisible"] = true;
|
|
24778
24804
|
};
|
|
24779
24805
|
this.subscribe_OR_unSubscribeToFile = () => {
|
|
24780
24806
|
this.fileManagerService
|
|
24781
24807
|
.subscribe_OR_unSubscribeToItem(this.selectedItem.entity, this.selectedItem.isUserSubscriberToFile)
|
|
24782
24808
|
.subscribe((res) => {
|
|
24783
24809
|
if (res) {
|
|
24784
|
-
let successMessage =
|
|
24810
|
+
let successMessage = "";
|
|
24785
24811
|
this.selectedItem.isUserSubscriberToFile
|
|
24786
|
-
? (successMessage =
|
|
24787
|
-
: (successMessage =
|
|
24788
|
-
this.customToastrService.show(
|
|
24812
|
+
? (successMessage = "unsubscribe_To_Item_success")
|
|
24813
|
+
: (successMessage = "subscribe_To_Item_success");
|
|
24814
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", `TOASTER.${successMessage}`);
|
|
24789
24815
|
this.selectedItem.isUserSubscriberToFile =
|
|
24790
24816
|
!this.selectedItem.isUserSubscriberToFile;
|
|
24791
|
-
this.multiSelectedkeys = [
|
|
24817
|
+
this.multiSelectedkeys = [""];
|
|
24792
24818
|
}
|
|
24793
24819
|
}, (err) => {
|
|
24794
|
-
let failMessage =
|
|
24820
|
+
let failMessage = "";
|
|
24795
24821
|
this.selectedItem.isUserSubscriberToFile
|
|
24796
|
-
? (failMessage =
|
|
24797
|
-
: (failMessage =
|
|
24798
|
-
this.customToastrService.show(
|
|
24822
|
+
? (failMessage = "unsubscribe_To_Item_fail")
|
|
24823
|
+
: (failMessage = "subscribe_To_Item_fail");
|
|
24824
|
+
this.customToastrService.show("error", "TOASTER.ERROR", `TOASTER.${failMessage}`);
|
|
24799
24825
|
});
|
|
24800
24826
|
};
|
|
24801
24827
|
this.downloadAsZip = () => {
|
|
24802
|
-
let arr = this.selectedItems.split(
|
|
24803
|
-
let title =
|
|
24828
|
+
let arr = this.selectedItems.split(",");
|
|
24829
|
+
let title = "";
|
|
24804
24830
|
if (arr.length === 1) {
|
|
24805
24831
|
title = this.selectedItem.name;
|
|
24806
24832
|
}
|
|
@@ -24808,34 +24834,34 @@ class FileManagerAbstract {
|
|
|
24808
24834
|
};
|
|
24809
24835
|
this.moreDataForCreateModal = {};
|
|
24810
24836
|
this.openPublishModal = () => {
|
|
24811
|
-
let myType =
|
|
24837
|
+
let myType = "File";
|
|
24812
24838
|
if (this.multipleItems.length > 1) {
|
|
24813
24839
|
let newSelectedWithArrPrefix = [];
|
|
24814
|
-
this.newSelectedWithIdPrefix =
|
|
24840
|
+
this.newSelectedWithIdPrefix = "";
|
|
24815
24841
|
this.multipleItems.map((item, index) => {
|
|
24816
24842
|
index == 0
|
|
24817
24843
|
? newSelectedWithArrPrefix.push({
|
|
24818
|
-
type: item.isDirectory ?
|
|
24819
|
-
id:
|
|
24844
|
+
type: item.isDirectory ? "Folder" : "File",
|
|
24845
|
+
id: "docs:" + item.dataItem.id.toString(),
|
|
24820
24846
|
})
|
|
24821
24847
|
: newSelectedWithArrPrefix.push({
|
|
24822
|
-
type: item.isDirectory ?
|
|
24823
|
-
id: item.dataItem.id.toString()
|
|
24848
|
+
type: item.isDirectory ? "Folder" : "File",
|
|
24849
|
+
id: item.dataItem.id.toString(),
|
|
24824
24850
|
});
|
|
24825
24851
|
});
|
|
24826
24852
|
newSelectedWithArrPrefix.map((item, index) => {
|
|
24827
24853
|
this.newSelectedWithIdPrefix +=
|
|
24828
24854
|
index == newSelectedWithArrPrefix.length - 1
|
|
24829
24855
|
? item.id
|
|
24830
|
-
: item.id +
|
|
24831
|
-
item.type ==
|
|
24856
|
+
: item.id + ",";
|
|
24857
|
+
item.type == "Folder" ? (myType = "Folder") : null;
|
|
24832
24858
|
});
|
|
24833
24859
|
}
|
|
24834
|
-
this.
|
|
24835
|
-
|
|
24836
|
-
|
|
24837
|
-
|
|
24838
|
-
panelClass:
|
|
24860
|
+
this.nuxeoDialogService.open({
|
|
24861
|
+
component: PublishDialogComponent,
|
|
24862
|
+
width: "500px",
|
|
24863
|
+
height: "400px",
|
|
24864
|
+
panelClass: "watcher-dialog-container",
|
|
24839
24865
|
data: {
|
|
24840
24866
|
id: this.multipleItems.length > 1
|
|
24841
24867
|
? this.newSelectedWithIdPrefix
|
|
@@ -24843,14 +24869,13 @@ class FileManagerAbstract {
|
|
|
24843
24869
|
PublishType: this.multipleItems.length > 1
|
|
24844
24870
|
? myType
|
|
24845
24871
|
: this.selectedItem.isDirectory
|
|
24846
|
-
?
|
|
24847
|
-
:
|
|
24872
|
+
? "Folder"
|
|
24873
|
+
: "File",
|
|
24848
24874
|
},
|
|
24849
|
-
disableClose: true
|
|
24850
24875
|
});
|
|
24851
24876
|
};
|
|
24852
24877
|
this.addToClipboard = () => {
|
|
24853
|
-
let selectedItemsIds = this.selectedItems.split(
|
|
24878
|
+
let selectedItemsIds = this.selectedItems.split(",");
|
|
24854
24879
|
let directory = this.getCurrentDirectory();
|
|
24855
24880
|
let id = directory.dataItem === undefined
|
|
24856
24881
|
? this.mainFolder
|
|
@@ -24858,12 +24883,12 @@ class FileManagerAbstract {
|
|
|
24858
24883
|
if (selectedItemsIds.length === 1 &&
|
|
24859
24884
|
this.clipboardItems.length > 0 &&
|
|
24860
24885
|
this.clipboardItems.indexOf(selectedItemsIds[0]) > -1) {
|
|
24861
|
-
this.customToastrService.show(
|
|
24886
|
+
this.customToastrService.show("error", "TOASTER.ERROR", "TOASTER.item_already_added");
|
|
24862
24887
|
}
|
|
24863
24888
|
else {
|
|
24864
24889
|
this.clipboardItems = union(this.clipboardItems, selectedItemsIds);
|
|
24865
|
-
this.userPreferenceService.set(
|
|
24866
|
-
this.customToastrService.show(
|
|
24890
|
+
this.userPreferenceService.set("clipboardItems", JSON.stringify(this.clipboardItems));
|
|
24891
|
+
this.customToastrService.show("success", "TOASTER.SUCCESS", "TOASTER.added_to_clipboard");
|
|
24867
24892
|
this.reinitializeFolderTree(id, directory);
|
|
24868
24893
|
this.fileManagerService.onRefreshClipboard.emit();
|
|
24869
24894
|
this.showClipboard = true;
|
|
@@ -24873,18 +24898,18 @@ class FileManagerAbstract {
|
|
|
24873
24898
|
// -------------------------------------------------------------------------------------------------------------------------------------
|
|
24874
24899
|
this.customizeIcon = (fileSystemItem) => {
|
|
24875
24900
|
var _a, _b, _c;
|
|
24876
|
-
let thumb = this.iconService.getFileIcon(fileSystemItem.dataItem.entity,
|
|
24901
|
+
let thumb = this.iconService.getFileIcon(fileSystemItem.dataItem.entity, "document");
|
|
24877
24902
|
let isFavorite = (_a = fileSystemItem === null || fileSystemItem === void 0 ? void 0 : fileSystemItem.dataItem) === null || _a === void 0 ? void 0 : _a.isFavorite;
|
|
24878
|
-
let face = (_c = (_b = fileSystemItem === null || fileSystemItem === void 0 ? void 0 : fileSystemItem.dataItem) === null || _b === void 0 ? void 0 : _b.entity) === null || _c === void 0 ? void 0 : _c.properties[
|
|
24903
|
+
let face = (_c = (_b = fileSystemItem === null || fileSystemItem === void 0 ? void 0 : fileSystemItem.dataItem) === null || _b === void 0 ? void 0 : _b.entity) === null || _c === void 0 ? void 0 : _c.properties["ctimagga:faces"];
|
|
24879
24904
|
let isImaggaProccessed = !!(face && face.length);
|
|
24880
24905
|
return isFavorite
|
|
24881
|
-
? `${thumb}?fav=1${isImaggaProccessed ?
|
|
24906
|
+
? `${thumb}?fav=1${isImaggaProccessed ? "&imagga=1" : ""}`
|
|
24882
24907
|
: isImaggaProccessed
|
|
24883
24908
|
? `${thumb}?imagga=1`
|
|
24884
24909
|
: thumb;
|
|
24885
24910
|
};
|
|
24886
24911
|
this.myPageConfName = myPageConfigurationName;
|
|
24887
|
-
this.mainFolder = environment[
|
|
24912
|
+
this.mainFolder = environment["mainFolder"];
|
|
24888
24913
|
this.cdRef = this.injectorObj.get(ChangeDetectorRef);
|
|
24889
24914
|
this.permissionEvaluatorService = this.injectorObj.get(EvaluatorsService);
|
|
24890
24915
|
this.fileManagerService = this.injectorObj.get(FileManagerService);
|
|
@@ -24905,26 +24930,27 @@ class FileManagerAbstract {
|
|
|
24905
24930
|
this.route = this.injectorObj.get(ActivatedRoute);
|
|
24906
24931
|
this.iconService = this.injectorObj.get(IconService);
|
|
24907
24932
|
this.nuxeoService = this.injectorObj.get(NuxeoService);
|
|
24908
|
-
this.
|
|
24933
|
+
this.nuxeoDialogService = this.injectorObj.get(NuxeoDialogService);
|
|
24934
|
+
this.multiSelectedkeys = [""];
|
|
24909
24935
|
this.myPageConfiguration =
|
|
24910
24936
|
this.appConfService.myConfiguration.fileManger[this.myPageConfName];
|
|
24911
24937
|
this.subscriptions.concat([
|
|
24912
24938
|
this.router.events.subscribe((event) => {
|
|
24913
|
-
if (event.navigationTrigger ===
|
|
24914
|
-
let id = event.url.split(
|
|
24915
|
-
if (id && id.includes(
|
|
24916
|
-
id = id.split(
|
|
24939
|
+
if (event.navigationTrigger === "popstate") {
|
|
24940
|
+
let id = event.url.split("id=")[1];
|
|
24941
|
+
if (id && id.includes("fromSharedDocument")) {
|
|
24942
|
+
id = id.split("&")[0];
|
|
24917
24943
|
}
|
|
24918
24944
|
this.getSelectedFolderTree(id);
|
|
24919
24945
|
}
|
|
24920
|
-
})
|
|
24946
|
+
}),
|
|
24921
24947
|
]);
|
|
24922
24948
|
}
|
|
24923
24949
|
clickout(event) {
|
|
24924
|
-
if ((event.srcElement.className ===
|
|
24925
|
-
event.srcElement.className ===
|
|
24950
|
+
if ((event.srcElement.className === "dx-scrollable-content" ||
|
|
24951
|
+
event.srcElement.className === "dx-scrollview-content") &&
|
|
24926
24952
|
this.isItemSelected) {
|
|
24927
|
-
this.multiSelectedkeys = [
|
|
24953
|
+
this.multiSelectedkeys = [""];
|
|
24928
24954
|
}
|
|
24929
24955
|
}
|
|
24930
24956
|
ngOnInit() {
|
|
@@ -24940,8 +24966,8 @@ class FileManagerAbstract {
|
|
|
24940
24966
|
else {
|
|
24941
24967
|
this.directory = {
|
|
24942
24968
|
contextParameters: {
|
|
24943
|
-
permissions: []
|
|
24944
|
-
}
|
|
24969
|
+
permissions: [],
|
|
24970
|
+
},
|
|
24945
24971
|
};
|
|
24946
24972
|
this.canCreate = this.myPageConfiguration.canCreatePermission.some((per) => this.directory.contextParameters.permissions.includes(per));
|
|
24947
24973
|
}
|
|
@@ -24949,31 +24975,31 @@ class FileManagerAbstract {
|
|
|
24949
24975
|
this.translationService.isArabic.subscribe((res) => {
|
|
24950
24976
|
this.isArabic = res;
|
|
24951
24977
|
this.isArabic
|
|
24952
|
-
? (this.menuDirection =
|
|
24953
|
-
: (this.menuDirection =
|
|
24954
|
-
})
|
|
24978
|
+
? (this.menuDirection = "before")
|
|
24979
|
+
: (this.menuDirection = "after");
|
|
24980
|
+
}),
|
|
24955
24981
|
]);
|
|
24956
24982
|
if (this.userPreferenceService) {
|
|
24957
24983
|
this.userPreferenceService
|
|
24958
24984
|
.select(UserPreferenceValues.Locale)
|
|
24959
24985
|
.pipe(takeUntil(this.onDestroy$))
|
|
24960
24986
|
.subscribe((locale) => {
|
|
24961
|
-
this.rtlEnabled = locale ===
|
|
24987
|
+
this.rtlEnabled = locale === "ar" ? true : false;
|
|
24962
24988
|
});
|
|
24963
24989
|
}
|
|
24964
|
-
if (this.route.snapshot.queryParams[
|
|
24965
|
-
if (this.route.snapshot.queryParams[
|
|
24990
|
+
if (this.route.snapshot.queryParams["fromSharedDocument"]) {
|
|
24991
|
+
if (this.route.snapshot.queryParams["id"] === "sharedDocumentsRoot") {
|
|
24966
24992
|
this.init(this.mainFolder);
|
|
24967
24993
|
}
|
|
24968
24994
|
else {
|
|
24969
|
-
this.getSelectedFolderTree(this.route.snapshot.queryParams[
|
|
24995
|
+
this.getSelectedFolderTree(this.route.snapshot.queryParams["id"]);
|
|
24970
24996
|
}
|
|
24971
24997
|
}
|
|
24972
24998
|
else {
|
|
24973
24999
|
let URL_ID;
|
|
24974
25000
|
try {
|
|
24975
|
-
URL_ID = this.route.snapshot.queryParams[
|
|
24976
|
-
? this.route.snapshot.queryParams[
|
|
25001
|
+
URL_ID = this.route.snapshot.queryParams["id"]
|
|
25002
|
+
? this.route.snapshot.queryParams["id"]
|
|
24977
25003
|
: this.userPreferenceService.hasItem(this.myPageConfiguration.trackedIdPropertyName)
|
|
24978
25004
|
? JSON.parse(this.userPreferenceService.get(this.myPageConfiguration.trackedIdPropertyName))
|
|
24979
25005
|
: null;
|
|
@@ -24993,7 +25019,7 @@ class FileManagerAbstract {
|
|
|
24993
25019
|
this.fileManagerService.onRefreshingFileManger.subscribe((res) => {
|
|
24994
25020
|
let directory = this.getCurrentDirectory();
|
|
24995
25021
|
this.reinitializeFolderTree(this.fileManagerService.selectedFolderId, directory);
|
|
24996
|
-
})
|
|
25022
|
+
}),
|
|
24997
25023
|
]);
|
|
24998
25024
|
}
|
|
24999
25025
|
ngAfterViewChecked() {
|
|
@@ -25005,24 +25031,24 @@ class FileManagerAbstract {
|
|
|
25005
25031
|
}
|
|
25006
25032
|
};
|
|
25007
25033
|
this.fileManager.instance._breadcrumbs._currentDirectory.fileItem
|
|
25008
|
-
.path ===
|
|
25034
|
+
.path === ""
|
|
25009
25035
|
? document
|
|
25010
|
-
.getElementsByClassName(
|
|
25011
|
-
.classList.add(
|
|
25012
|
-
:
|
|
25036
|
+
.getElementsByClassName("dx-menu-item-content")[0]
|
|
25037
|
+
.classList.add("custom")
|
|
25038
|
+
: "";
|
|
25013
25039
|
}
|
|
25014
25040
|
init(id, breadcrumbs = null, currentFolder = null) {
|
|
25015
25041
|
const payload = {
|
|
25016
|
-
currentPageIndex: 0
|
|
25042
|
+
currentPageIndex: 0,
|
|
25017
25043
|
};
|
|
25018
25044
|
if (breadcrumbs) {
|
|
25019
25045
|
this.expandComp(this.getFolderChildren(id, payload), breadcrumbs, currentFolder).subscribe((d) => {
|
|
25020
25046
|
var _a, _b, _c;
|
|
25021
25047
|
let toSubstr;
|
|
25022
|
-
if (this.mainFolder ===
|
|
25048
|
+
if (this.mainFolder === "sharedDocumentsRoot") {
|
|
25023
25049
|
toSubstr = this.fileManagerService.sharedFiles.entries.filter((item) => this.path.includes(item.contextParameters.breadcrumb.entries
|
|
25024
25050
|
.map((item) => item.title)
|
|
25025
|
-
.join(
|
|
25051
|
+
.join("/")));
|
|
25026
25052
|
const pathSplit = (_a = toSubstr[0]) === null || _a === void 0 ? void 0 : _a.contextParameters.breadcrumb.entries.map((item) => item.title);
|
|
25027
25053
|
this.currentPath = pathSplit[pathSplit.length - 1];
|
|
25028
25054
|
}
|
|
@@ -25041,7 +25067,7 @@ class FileManagerAbstract {
|
|
|
25041
25067
|
else {
|
|
25042
25068
|
toSubstr = this.fileManagerObj.entries.filter((item) => this.path.includes(item.contextParameters.breadcrumb.entries
|
|
25043
25069
|
.map((item) => item.title)
|
|
25044
|
-
.join(
|
|
25070
|
+
.join("/")));
|
|
25045
25071
|
const pathSplit = (_b = toSubstr[0]) === null || _b === void 0 ? void 0 : _b.contextParameters.breadcrumb.entries.map((item) => item.title);
|
|
25046
25072
|
let x = pathSplit ? (_c = pathSplit[0]) === null || _c === void 0 ? void 0 : _c.length : 0;
|
|
25047
25073
|
this.currentPath = this.path.substr(x);
|
|
@@ -25077,11 +25103,11 @@ class FileManagerAbstract {
|
|
|
25077
25103
|
if (!payload)
|
|
25078
25104
|
__classPrivateFieldGet(this, _FileManagerAbstract_instances, "m", _FileManagerAbstract_resetPagination).call(this, id);
|
|
25079
25105
|
if (!showLoading) {
|
|
25080
|
-
(_a = document.querySelector(
|
|
25106
|
+
(_a = document.querySelector(".dx-loadpanel-wrapper")) === null || _a === void 0 ? void 0 : _a.remove();
|
|
25081
25107
|
}
|
|
25082
25108
|
this.clicked = showLoading;
|
|
25083
25109
|
this.cdRef.detectChanges();
|
|
25084
|
-
return (id ==
|
|
25110
|
+
return (id == "sharedDocumentsRoot"
|
|
25085
25111
|
? this.fileManagerService.getChildrenForSharedDocumentRoot(id, payload, loadFolders)
|
|
25086
25112
|
: this.fileManagerService.getChildren(id, payload, loadFolders)).pipe(map((result) => {
|
|
25087
25113
|
__classPrivateFieldGet(this, _FileManagerAbstract_instances, "m", _FileManagerAbstract_initPagination).call(this, id, result);
|
|
@@ -25095,13 +25121,13 @@ class FileManagerAbstract {
|
|
|
25095
25121
|
}
|
|
25096
25122
|
expandComp(entries, breadcrumbs, indexNextNode = 1) {
|
|
25097
25123
|
const payload = {
|
|
25098
|
-
currentPageIndex: 0
|
|
25124
|
+
currentPageIndex: 0,
|
|
25099
25125
|
};
|
|
25100
25126
|
return entries.pipe(mergeMap((entries) => from(entries).pipe(mergeMap((entry) => {
|
|
25101
25127
|
const nextNode = entries.find((q) => q.id == breadcrumbs[indexNextNode]);
|
|
25102
25128
|
// if not exist will loaded otherwise keep everyting as will
|
|
25103
25129
|
if (breadcrumbs.includes(entry.id)) {
|
|
25104
|
-
return concat(of(entry).pipe(tap((ent) => (ent[
|
|
25130
|
+
return concat(of(entry).pipe(tap((ent) => (ent["items"] = []))), this.expandComp(this.getFolderChildren(entry.id, payload), breadcrumbs, indexNextNode++)).pipe(reduce((parent, children) => {
|
|
25105
25131
|
parent.items = children;
|
|
25106
25132
|
return parent;
|
|
25107
25133
|
}));
|
|
@@ -25124,7 +25150,7 @@ class FileManagerAbstract {
|
|
|
25124
25150
|
this.fileManager.instance._filesTreeView._filesTreeView._createLoadIndicator($node);
|
|
25125
25151
|
}
|
|
25126
25152
|
const payload = {
|
|
25127
|
-
currentPageIndex: 0
|
|
25153
|
+
currentPageIndex: 0,
|
|
25128
25154
|
};
|
|
25129
25155
|
if (directory.dataItem === undefined) {
|
|
25130
25156
|
__classPrivateFieldGet(this, _FileManagerAbstract_instances, "m", _FileManagerAbstract_resetPagination).call(this, this.mainFolder);
|
|
@@ -25169,18 +25195,18 @@ class FileManagerAbstract {
|
|
|
25169
25195
|
if (this.itemListView) {
|
|
25170
25196
|
if ((data === null || data === void 0 ? void 0 : data.length) === 0) {
|
|
25171
25197
|
(_a = document
|
|
25172
|
-
.getElementsByClassName(
|
|
25198
|
+
.getElementsByClassName("dx-filemanager-thumbnails-view-port")[0]) === null || _a === void 0 ? void 0 : _a.classList.add("empty-collection");
|
|
25173
25199
|
}
|
|
25174
25200
|
else {
|
|
25175
25201
|
(_b = document
|
|
25176
|
-
.getElementsByClassName(
|
|
25202
|
+
.getElementsByClassName("dx-filemanager-thumbnails-view-port")[0]) === null || _b === void 0 ? void 0 : _b.classList.remove("empty-collection");
|
|
25177
25203
|
}
|
|
25178
25204
|
}
|
|
25179
25205
|
else {
|
|
25180
25206
|
if ((data === null || data === void 0 ? void 0 : data.length) === 0) {
|
|
25181
|
-
let dataGridElement = document.getElementsByClassName(
|
|
25207
|
+
let dataGridElement = document.getElementsByClassName("dx-datagrid-nodata")[0];
|
|
25182
25208
|
if (dataGridElement)
|
|
25183
|
-
dataGridElement.classList.remove(
|
|
25209
|
+
dataGridElement.classList.remove("empty");
|
|
25184
25210
|
}
|
|
25185
25211
|
}
|
|
25186
25212
|
}
|
|
@@ -25202,12 +25228,12 @@ class FileManagerAbstract {
|
|
|
25202
25228
|
else {
|
|
25203
25229
|
this.path = res.contextParameters.breadcrumb.entries
|
|
25204
25230
|
.map((item) => item.title)
|
|
25205
|
-
.join(
|
|
25231
|
+
.join("/");
|
|
25206
25232
|
}
|
|
25207
|
-
if (this.route.snapshot.queryParams[
|
|
25233
|
+
if (this.route.snapshot.queryParams["fromSharedDocument"]) {
|
|
25208
25234
|
res.contextParameters.breadcrumb.entries = [
|
|
25209
|
-
{ uid:
|
|
25210
|
-
...res.contextParameters.breadcrumb.entries
|
|
25235
|
+
{ uid: "sharedDocumentsRoot" },
|
|
25236
|
+
...res.contextParameters.breadcrumb.entries,
|
|
25211
25237
|
];
|
|
25212
25238
|
}
|
|
25213
25239
|
else {
|
|
@@ -25215,32 +25241,31 @@ class FileManagerAbstract {
|
|
|
25215
25241
|
if (!this.myPageConfiguration.isStaticRoot) {
|
|
25216
25242
|
res.contextParameters.breadcrumb.entries = [
|
|
25217
25243
|
{ uid: this.myPageConfiguration.rootName },
|
|
25218
|
-
...res.contextParameters.breadcrumb.entries
|
|
25244
|
+
...res.contextParameters.breadcrumb.entries,
|
|
25219
25245
|
];
|
|
25220
25246
|
}
|
|
25221
25247
|
}
|
|
25222
25248
|
const breadcrumbs = res.contextParameters.breadcrumb.entries.map((item) => item.uid);
|
|
25223
|
-
if (this.mainFolder !==
|
|
25249
|
+
if (this.mainFolder !== "sharedDocumentsRoot") {
|
|
25224
25250
|
breadcrumbs.splice(breadcrumbs.indexOf(id), 1);
|
|
25225
25251
|
}
|
|
25226
25252
|
this.init(this.mainFolder, breadcrumbs, res);
|
|
25227
25253
|
}));
|
|
25228
25254
|
}
|
|
25229
25255
|
openUpdateModal() {
|
|
25230
|
-
this.
|
|
25231
|
-
|
|
25232
|
-
|
|
25233
|
-
|
|
25234
|
-
panelClass:
|
|
25256
|
+
this.nuxeoDialogService.open({
|
|
25257
|
+
component: UpdateModalComponent,
|
|
25258
|
+
width: "40%",
|
|
25259
|
+
height: "70%",
|
|
25260
|
+
panelClass: "watcher-dialog-container",
|
|
25235
25261
|
data: {
|
|
25236
25262
|
id: this.selectedItem.id,
|
|
25237
25263
|
type: this.selectedItem.entity.type,
|
|
25238
|
-
code: this.selectedItem.entity.properties[
|
|
25239
|
-
? this.selectedItem.entity.properties[
|
|
25264
|
+
code: this.selectedItem.entity.properties["gdoc:documentTypeCode"]
|
|
25265
|
+
? this.selectedItem.entity.properties["gdoc:documentTypeCode"]
|
|
25240
25266
|
: this.selectedItem.entity.type,
|
|
25241
|
-
isDirectory: this.selectedItem.isDirectory
|
|
25267
|
+
isDirectory: this.selectedItem.isDirectory,
|
|
25242
25268
|
},
|
|
25243
|
-
disableClose: true
|
|
25244
25269
|
});
|
|
25245
25270
|
}
|
|
25246
25271
|
getSelectedItem(directory) {
|
|
@@ -25253,7 +25278,7 @@ class FileManagerAbstract {
|
|
|
25253
25278
|
return items.map((item) => {
|
|
25254
25279
|
let parsed = Object.assign({}, item);
|
|
25255
25280
|
if (parsed.visibleEvaluator &&
|
|
25256
|
-
typeof parsed.visibleEvaluator ==
|
|
25281
|
+
typeof parsed.visibleEvaluator == "function") {
|
|
25257
25282
|
parsed.visible = parsed.visibleEvaluator();
|
|
25258
25283
|
}
|
|
25259
25284
|
return parsed;
|
|
@@ -25286,8 +25311,8 @@ class FileManagerAbstract {
|
|
|
25286
25311
|
this.selectedItemsObjects = this.fileManager.instance.getSelectedItems();
|
|
25287
25312
|
if (this.selectedItem) {
|
|
25288
25313
|
e.component._filesTreeView.refresh();
|
|
25289
|
-
this.myFileMangerInstance.option(
|
|
25290
|
-
this.myFileMangerInstance.option(
|
|
25314
|
+
this.myFileMangerInstance.option("contextMenu.items", this.contextItemsParser(this.contextMenuItems));
|
|
25315
|
+
this.myFileMangerInstance.option("toolbar.fileSelectionItems", this.contextItemsParser(this.toolbarItems));
|
|
25291
25316
|
if (this.showDetails) {
|
|
25292
25317
|
this.openSideMenuDetails();
|
|
25293
25318
|
}
|
|
@@ -25301,31 +25326,31 @@ class FileManagerAbstract {
|
|
|
25301
25326
|
onContextMenuShowing(e) {
|
|
25302
25327
|
// this.showDetails = false; // hide side menu details when right click
|
|
25303
25328
|
let directory = this.getCurrentDirectory();
|
|
25304
|
-
if (e.viewArea ===
|
|
25329
|
+
if (e.viewArea === "itemView" && !this.isItemSelected) {
|
|
25305
25330
|
if (this.myPageConfiguration.showAddFolderInContextMenu) {
|
|
25306
|
-
this.myFileMangerInstance.option(
|
|
25331
|
+
this.myFileMangerInstance.option("contextMenu.items", [
|
|
25307
25332
|
{
|
|
25308
|
-
name:
|
|
25309
|
-
text: this.isArabic ?
|
|
25333
|
+
name: "create_folder",
|
|
25334
|
+
text: this.isArabic ? "مجلد جديد" : "New Directory",
|
|
25310
25335
|
action: this.createFolder,
|
|
25311
25336
|
visibleEvaluator: () => {
|
|
25312
25337
|
return (this.selectedItem.isDirectory &&
|
|
25313
25338
|
this.selectedItemLength &&
|
|
25314
25339
|
this.selectedItem.canCreate);
|
|
25315
|
-
}
|
|
25316
|
-
}
|
|
25340
|
+
},
|
|
25341
|
+
},
|
|
25317
25342
|
]);
|
|
25318
25343
|
}
|
|
25319
|
-
this.myFileMangerInstance.option(
|
|
25344
|
+
this.myFileMangerInstance.option("contextMenu.items", [
|
|
25320
25345
|
{
|
|
25321
|
-
name:
|
|
25346
|
+
name: "refresh",
|
|
25322
25347
|
action: this.refresh,
|
|
25323
|
-
text: this.isArabic ?
|
|
25324
|
-
icon:
|
|
25325
|
-
}
|
|
25348
|
+
text: this.isArabic ? "تحديث" : "Refresh",
|
|
25349
|
+
icon: "",
|
|
25350
|
+
},
|
|
25326
25351
|
]);
|
|
25327
25352
|
}
|
|
25328
|
-
if (e.viewArea ===
|
|
25353
|
+
if (e.viewArea === "navPane") {
|
|
25329
25354
|
e.cancel = true;
|
|
25330
25355
|
}
|
|
25331
25356
|
}
|
|
@@ -25333,7 +25358,7 @@ class FileManagerAbstract {
|
|
|
25333
25358
|
var _a;
|
|
25334
25359
|
let selectedItem = this.fileManager.instance.getSelectedItems();
|
|
25335
25360
|
this.itemToDisplay =
|
|
25336
|
-
viewArea ===
|
|
25361
|
+
viewArea === "navPane"
|
|
25337
25362
|
? fileSystemItem.dataItem
|
|
25338
25363
|
: (_a = selectedItem[0]) === null || _a === void 0 ? void 0 : _a.dataItem;
|
|
25339
25364
|
let directory = this.getCurrentDirectory();
|
|
@@ -25362,7 +25387,7 @@ class FileManagerAbstract {
|
|
|
25362
25387
|
onItemClicked(e) {
|
|
25363
25388
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
25364
25389
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25365
|
-
console.log(
|
|
25390
|
+
console.log("onItemClicked");
|
|
25366
25391
|
this.clicked = true;
|
|
25367
25392
|
this.cdRef.detectChanges();
|
|
25368
25393
|
this.resetFoldersSubscription();
|
|
@@ -25370,7 +25395,7 @@ class FileManagerAbstract {
|
|
|
25370
25395
|
this.showDgdaClipboard = false;
|
|
25371
25396
|
this.selectedFolderPath = (_b = (_a = e.directory.dataItem) === null || _a === void 0 ? void 0 : _a.entity) === null || _b === void 0 ? void 0 : _b.path;
|
|
25372
25397
|
if (((_c = e.directory.dataItem) === null || _c === void 0 ? void 0 : _c.id) === undefined) {
|
|
25373
|
-
if (this.mainFolder ===
|
|
25398
|
+
if (this.mainFolder === "sharedDocumentsRoot") {
|
|
25374
25399
|
this.fileManagerService
|
|
25375
25400
|
.getChildrenForSharedDocumentRoot(this.mainFolder)
|
|
25376
25401
|
.subscribe((data) => {
|
|
@@ -25391,18 +25416,18 @@ class FileManagerAbstract {
|
|
|
25391
25416
|
}
|
|
25392
25417
|
this.myCurrecntFolderData = ((_d = e.directory.dataItem) === null || _d === void 0 ? void 0 : _d.id)
|
|
25393
25418
|
? e.directory.dataItem
|
|
25394
|
-
: this.mainFolder ===
|
|
25395
|
-
?
|
|
25419
|
+
: this.mainFolder === "sharedDocumentsRoot"
|
|
25420
|
+
? "sharedDocumentsRoot"
|
|
25396
25421
|
: this.myPageConfiguration.rootName;
|
|
25397
25422
|
this.permissionEvaluatorService
|
|
25398
|
-
.evaluateRule(
|
|
25399
|
-
entity: this.myCurrecntFolderData.entity
|
|
25423
|
+
.evaluateRule("canCreateNewFolderTemplates", {
|
|
25424
|
+
entity: this.myCurrecntFolderData.entity,
|
|
25400
25425
|
})
|
|
25401
25426
|
.then((res) => {
|
|
25402
25427
|
this.showfolderTemplates = res;
|
|
25403
25428
|
});
|
|
25404
25429
|
// if not coming from shared document then save the id to track it
|
|
25405
|
-
if (this.mainFolder !==
|
|
25430
|
+
if (this.mainFolder !== "sharedDocumentsRoot") {
|
|
25406
25431
|
if ((_f = (_e = e.directory) === null || _e === void 0 ? void 0 : _e.dataItem) === null || _f === void 0 ? void 0 : _f.id) {
|
|
25407
25432
|
this.userPreferenceService.set(this.myPageConfiguration.trackedIdPropertyName, JSON.stringify((_h = (_g = e.directory) === null || _g === void 0 ? void 0 : _g.dataItem) === null || _h === void 0 ? void 0 : _h.id));
|
|
25408
25433
|
}
|
|
@@ -25413,38 +25438,38 @@ class FileManagerAbstract {
|
|
|
25413
25438
|
this.itemListView = e.component._itemView._itemList;
|
|
25414
25439
|
if (this.itemListView) {
|
|
25415
25440
|
document
|
|
25416
|
-
.getElementsByClassName(
|
|
25417
|
-
.classList.remove(
|
|
25441
|
+
.getElementsByClassName("dx-filemanager-thumbnails-view-port")[0]
|
|
25442
|
+
.classList.remove("empty-collection");
|
|
25418
25443
|
}
|
|
25419
25444
|
else {
|
|
25420
|
-
let loadPanelElement = document.getElementsByClassName(
|
|
25421
|
-
let dataGridElement = document.getElementsByClassName(
|
|
25445
|
+
let loadPanelElement = document.getElementsByClassName("dx-loadpanel-content")[0];
|
|
25446
|
+
let dataGridElement = document.getElementsByClassName("dx-datagrid-nodata")[0];
|
|
25422
25447
|
if (loadPanelElement && dataGridElement) {
|
|
25423
|
-
loadPanelElement.classList.add(
|
|
25424
|
-
dataGridElement.classList.add(
|
|
25448
|
+
loadPanelElement.classList.add("hide-loadpanel");
|
|
25449
|
+
dataGridElement.classList.add("empty");
|
|
25425
25450
|
}
|
|
25426
25451
|
}
|
|
25427
|
-
var elem = ((_j = e === null || e === void 0 ? void 0 : e.directory) === null || _j === void 0 ? void 0 : _j.path) ===
|
|
25452
|
+
var elem = ((_j = e === null || e === void 0 ? void 0 : e.directory) === null || _j === void 0 ? void 0 : _j.path) === ""
|
|
25428
25453
|
? document
|
|
25429
|
-
.getElementsByClassName(
|
|
25430
|
-
.classList.add(
|
|
25431
|
-
:
|
|
25454
|
+
.getElementsByClassName("dx-menu-item-content")[0]
|
|
25455
|
+
.classList.add("custom")
|
|
25456
|
+
: "";
|
|
25432
25457
|
const id = (_l = (_k = e === null || e === void 0 ? void 0 : e.directory) === null || _k === void 0 ? void 0 : _k.dataItem) === null || _l === void 0 ? void 0 : _l.id;
|
|
25433
25458
|
this.fileManagerService.selectedFolderId =
|
|
25434
25459
|
(e === null || e === void 0 ? void 0 : e.directory) && ((_m = e === null || e === void 0 ? void 0 : e.directory) === null || _m === void 0 ? void 0 : _m.dataItem) ? id : this.mainFolder;
|
|
25435
25460
|
const queryParams = {
|
|
25436
|
-
id: (e === null || e === void 0 ? void 0 : e.directory) && ((_o = e === null || e === void 0 ? void 0 : e.directory) === null || _o === void 0 ? void 0 : _o.dataItem) ? id : this.mainFolder
|
|
25461
|
+
id: (e === null || e === void 0 ? void 0 : e.directory) && ((_o = e === null || e === void 0 ? void 0 : e.directory) === null || _o === void 0 ? void 0 : _o.dataItem) ? id : this.mainFolder,
|
|
25437
25462
|
};
|
|
25438
25463
|
each(this.fileManager.instance._filesTreeView._filesTreeView._dataAdapter.getExpandedNodesKeys(), (key) => {
|
|
25439
25464
|
if (key.includes(e.directory.path) &&
|
|
25440
|
-
key.replace(
|
|
25465
|
+
key.replace("FIK_", "") !== e.directory.path) {
|
|
25441
25466
|
this.fileManager.instance._filesTreeView._filesTreeView._toggleExpandedState(key, false);
|
|
25442
25467
|
}
|
|
25443
25468
|
});
|
|
25444
25469
|
this.router.navigate([], {
|
|
25445
25470
|
relativeTo: this.route,
|
|
25446
25471
|
queryParams: queryParams,
|
|
25447
|
-
queryParamsHandling:
|
|
25472
|
+
queryParamsHandling: "merge", // remove to replace all query params by provided
|
|
25448
25473
|
});
|
|
25449
25474
|
if (id !== undefined && e && ((_p = e === null || e === void 0 ? void 0 : e.directory) === null || _p === void 0 ? void 0 : _p.dataItem)) {
|
|
25450
25475
|
try {
|
|
@@ -25455,12 +25480,12 @@ class FileManagerAbstract {
|
|
|
25455
25480
|
// )}"]`
|
|
25456
25481
|
// ) as HTMLElement
|
|
25457
25482
|
// ).style.pointerEvents = 'none';
|
|
25458
|
-
document.querySelector(`[data-item-id="FIK_${encodeURI(e.directory.path)}"]`).style.pointerEvents =
|
|
25483
|
+
document.querySelector(`[data-item-id="FIK_${encodeURI(e.directory.path)}"]`).style.pointerEvents = "none";
|
|
25459
25484
|
}
|
|
25460
25485
|
catch (e) { }
|
|
25461
25486
|
// e.component._filesTreeView.refresh();
|
|
25462
25487
|
const payload = {
|
|
25463
|
-
currentPageIndex: 0
|
|
25488
|
+
currentPageIndex: 0,
|
|
25464
25489
|
};
|
|
25465
25490
|
if (!e.directory.dataItem.isReady) {
|
|
25466
25491
|
const newDataItem = yield this.fileManagerService
|
|
@@ -25479,13 +25504,13 @@ class FileManagerAbstract {
|
|
|
25479
25504
|
// )}"]`
|
|
25480
25505
|
// ) as HTMLElement
|
|
25481
25506
|
// ).style.pointerEvents = 'all';
|
|
25482
|
-
document.querySelector(`[data-item-id="FIK_${encodeURI(e.directory.path)}"]`).style.pointerEvents =
|
|
25507
|
+
document.querySelector(`[data-item-id="FIK_${encodeURI(e.directory.path)}"]`).style.pointerEvents = "all";
|
|
25483
25508
|
}
|
|
25484
25509
|
catch (e) { }
|
|
25485
25510
|
if (!this.itemListView) {
|
|
25486
25511
|
document
|
|
25487
|
-
.getElementsByClassName(
|
|
25488
|
-
.classList.remove(
|
|
25512
|
+
.getElementsByClassName("dx-loadpanel-content")[0]
|
|
25513
|
+
.classList.remove("hide-loadpanel");
|
|
25489
25514
|
}
|
|
25490
25515
|
}
|
|
25491
25516
|
let directory = this.getCurrentDirectory();
|
|
@@ -25499,28 +25524,28 @@ class FileManagerAbstract {
|
|
|
25499
25524
|
// --------------------------------------- create new file popups ---------------------------------------------------------------------
|
|
25500
25525
|
checkForOpeningCreationDialog(fileType) {
|
|
25501
25526
|
if (this.dialogMangmentService.minizedModal) {
|
|
25502
|
-
let dialogRef = this.
|
|
25503
|
-
|
|
25527
|
+
let dialogRef = this.nuxeoDialogService.open({
|
|
25528
|
+
component: ConfirmationDialogComponent,
|
|
25529
|
+
width: "510px",
|
|
25504
25530
|
data: {
|
|
25505
|
-
title:
|
|
25506
|
-
message:
|
|
25531
|
+
title: "createFileInProgressTitle",
|
|
25532
|
+
message: "createFileInProgress",
|
|
25507
25533
|
confirmButton: `BUTTONS.Yes`,
|
|
25508
|
-
cancelButton:
|
|
25534
|
+
cancelButton: "BUTTONS.No",
|
|
25509
25535
|
},
|
|
25510
|
-
disableClose: true
|
|
25511
25536
|
});
|
|
25512
25537
|
dialogRef.afterClosed().subscribe((res) => {
|
|
25513
25538
|
if (res) {
|
|
25514
|
-
if (this.dialogMangmentService.creationMode ===
|
|
25515
|
-
this.dialogMangmentService.openMinimzedModal(CreateModalComponent,
|
|
25539
|
+
if (this.dialogMangmentService.creationMode === "upload") {
|
|
25540
|
+
this.dialogMangmentService.openMinimzedModal(CreateModalComponent, "70%", "85%", !this.myPageConfiguration.isStaticRoot
|
|
25516
25541
|
? this.selectedFolderPath
|
|
25517
|
-
:
|
|
25542
|
+
: "" // send path in case of file list or other page with none static root and not send it in case of my files or any other page with static root
|
|
25518
25543
|
);
|
|
25519
25544
|
}
|
|
25520
|
-
else if (this.dialogMangmentService.creationMode ===
|
|
25521
|
-
this.dialogMangmentService.openMinimzedModal(ScanModalComponent,
|
|
25545
|
+
else if (this.dialogMangmentService.creationMode === "scan") {
|
|
25546
|
+
this.dialogMangmentService.openMinimzedModal(ScanModalComponent, "90%", "90%", !this.myPageConfiguration.isStaticRoot
|
|
25522
25547
|
? this.selectedFolderPath
|
|
25523
|
-
:
|
|
25548
|
+
: "" // send path in case of file list or other page with none static root and not send it in case of my files or any other page with static root
|
|
25524
25549
|
);
|
|
25525
25550
|
}
|
|
25526
25551
|
}
|
|
@@ -25540,66 +25565,68 @@ class FileManagerAbstract {
|
|
|
25540
25565
|
this.openCreationTypeDialog(fileType);
|
|
25541
25566
|
}
|
|
25542
25567
|
else {
|
|
25543
|
-
this.customToastrService.show(
|
|
25568
|
+
this.customToastrService.show("notification", "No Form", "Administrator Must Set File Form First");
|
|
25544
25569
|
}
|
|
25545
25570
|
});
|
|
25546
25571
|
}
|
|
25547
25572
|
}
|
|
25548
25573
|
openCreationTypeDialog(fileType) {
|
|
25549
|
-
let creationDialogRef = this.
|
|
25550
|
-
|
|
25551
|
-
|
|
25552
|
-
|
|
25574
|
+
let creationDialogRef = this.nuxeoDialogService.open({
|
|
25575
|
+
component: CreationTypeComponent,
|
|
25576
|
+
width: "500px",
|
|
25577
|
+
height: "300px",
|
|
25578
|
+
panelClass: "watcher-dialog-container",
|
|
25553
25579
|
data: {},
|
|
25554
|
-
|
|
25580
|
+
//TODO
|
|
25581
|
+
//disableClose: true
|
|
25555
25582
|
});
|
|
25556
25583
|
creationDialogRef.afterClosed().subscribe((res) => {
|
|
25557
25584
|
// if there was a minimied scan modal and he want to open another modal then reset for saved scanned modal
|
|
25558
|
-
if (this.documentScanService.storedFile && res !==
|
|
25585
|
+
if (this.documentScanService.storedFile && res !== "") {
|
|
25559
25586
|
this.documentScanService.storedFile = {};
|
|
25560
25587
|
}
|
|
25561
|
-
if (res ===
|
|
25562
|
-
this.openDialog(CreateModalComponent, fileType,
|
|
25588
|
+
if (res === "upload") {
|
|
25589
|
+
this.openDialog(CreateModalComponent, fileType, "upload", "70%", "85%", !this.myPageConfiguration.isStaticRoot ? this.selectedFolderPath : "" // send path in case of file list or other page with none static root and not send it in case of my files or any other page with static root
|
|
25563
25590
|
);
|
|
25564
25591
|
}
|
|
25565
|
-
else if (res ===
|
|
25566
|
-
this.openDialog(ScanModalComponent, fileType,
|
|
25592
|
+
else if (res === "scan") {
|
|
25593
|
+
this.openDialog(ScanModalComponent, fileType, "scan", "90%", "90%", !this.myPageConfiguration.isStaticRoot ? this.selectedFolderPath : "" // send path in case of file list or other page with none static root and not send it in case of my files or any other page with static root
|
|
25567
25594
|
);
|
|
25568
25595
|
}
|
|
25569
|
-
else if (res ===
|
|
25570
|
-
this.openDialog(TemplateModalComponent, fileType.type,
|
|
25596
|
+
else if (res === "template") {
|
|
25597
|
+
this.openDialog(TemplateModalComponent, fileType.type, "scan", "70%", "85%");
|
|
25571
25598
|
}
|
|
25572
25599
|
});
|
|
25573
25600
|
}
|
|
25574
25601
|
openDialog(component, fileType, creationMode, width, height, path) {
|
|
25575
|
-
let obj = Object.assign(Object.assign({}, this.moreDataForCreateModal), { path: path ||
|
|
25602
|
+
let obj = Object.assign(Object.assign({}, this.moreDataForCreateModal), { path: path || "" });
|
|
25576
25603
|
this.uploadMangmentService.resetStatus();
|
|
25577
|
-
this.dialogMangmentService.openModal(component, fileType, creationMode,
|
|
25604
|
+
this.dialogMangmentService.openModal(component, fileType, creationMode, "fileManger", width, height, obj);
|
|
25578
25605
|
}
|
|
25579
25606
|
checkForCreateNewFolder(folderType) {
|
|
25580
25607
|
if (this.dialogMangmentService.minizedModal) {
|
|
25581
|
-
let dialogRef = this.
|
|
25582
|
-
|
|
25608
|
+
let dialogRef = this.nuxeoDialogService.open({
|
|
25609
|
+
component: ConfirmationDialogComponent,
|
|
25610
|
+
width: "510px",
|
|
25583
25611
|
data: {
|
|
25584
|
-
title:
|
|
25585
|
-
message:
|
|
25612
|
+
title: "createFileInProgressTitle",
|
|
25613
|
+
message: "createFileInProgress",
|
|
25586
25614
|
confirmButton: `BUTTONS.Yes`,
|
|
25587
|
-
cancelButton:
|
|
25615
|
+
cancelButton: "BUTTONS.No",
|
|
25588
25616
|
},
|
|
25589
|
-
disableClose: true
|
|
25590
25617
|
});
|
|
25591
25618
|
dialogRef.afterClosed().subscribe((res) => {
|
|
25592
25619
|
if (res) {
|
|
25593
|
-
if (this.dialogMangmentService.creationMode ===
|
|
25594
|
-
this.dialogMangmentService.openMinimzedModal(CreateModalComponent,
|
|
25620
|
+
if (this.dialogMangmentService.creationMode === "upload") {
|
|
25621
|
+
this.dialogMangmentService.openMinimzedModal(CreateModalComponent, "70%", "85%", !this.myPageConfiguration.isStaticRoot
|
|
25595
25622
|
? this.selectedFolderPath
|
|
25596
|
-
:
|
|
25623
|
+
: "" // send path in case of file list or other page with none static root and not send it in case of my files or any other page with static root
|
|
25597
25624
|
);
|
|
25598
25625
|
}
|
|
25599
|
-
else if (this.dialogMangmentService.creationMode ===
|
|
25600
|
-
this.dialogMangmentService.openMinimzedModal(ScanModalComponent,
|
|
25626
|
+
else if (this.dialogMangmentService.creationMode === "scan") {
|
|
25627
|
+
this.dialogMangmentService.openMinimzedModal(ScanModalComponent, "90%", "90%", !this.myPageConfiguration.isStaticRoot
|
|
25601
25628
|
? this.selectedFolderPath
|
|
25602
|
-
:
|
|
25629
|
+
: "" // send path in case of file list or other page with none static root and not send it in case of my files or any other page with static root
|
|
25603
25630
|
);
|
|
25604
25631
|
}
|
|
25605
25632
|
}
|
|
@@ -25619,27 +25646,27 @@ class FileManagerAbstract {
|
|
|
25619
25646
|
this.openCreateFolderDialog(folderType, res);
|
|
25620
25647
|
}
|
|
25621
25648
|
else {
|
|
25622
|
-
this.customToastrService.show(
|
|
25649
|
+
this.customToastrService.show("notification", "No Form", "Administrator Must Set Folder Form First");
|
|
25623
25650
|
}
|
|
25624
25651
|
});
|
|
25625
25652
|
}
|
|
25626
25653
|
openCreateFolderDialog(folderType, dynamicform) {
|
|
25627
|
-
this.
|
|
25628
|
-
|
|
25629
|
-
|
|
25630
|
-
|
|
25631
|
-
panelClass:
|
|
25654
|
+
this.nuxeoDialogService.open({
|
|
25655
|
+
component: FolderModalComponent,
|
|
25656
|
+
width: "40%",
|
|
25657
|
+
height: "70%",
|
|
25658
|
+
panelClass: "watcher-dialog-container",
|
|
25632
25659
|
data: { folderType: folderType, dynamicForm: dynamicform },
|
|
25633
|
-
disableClose: true
|
|
25660
|
+
//disableClose: true,
|
|
25634
25661
|
});
|
|
25635
25662
|
}
|
|
25636
25663
|
//--------------------------------- may be unused funtions -------------------
|
|
25637
25664
|
checkForClass(className) {
|
|
25638
25665
|
let classes = [
|
|
25639
|
-
|
|
25640
|
-
|
|
25641
|
-
|
|
25642
|
-
|
|
25666
|
+
"detailed-menu",
|
|
25667
|
+
"ng-tag-label",
|
|
25668
|
+
"ng-option-label",
|
|
25669
|
+
"ng-star-inserted",
|
|
25643
25670
|
];
|
|
25644
25671
|
let classFounded = false;
|
|
25645
25672
|
classes.map((item) => {
|
|
@@ -25681,7 +25708,7 @@ class FileManagerAbstract {
|
|
|
25681
25708
|
return;
|
|
25682
25709
|
const startLoading$ = of(event).pipe(switchMap((ev) => {
|
|
25683
25710
|
var _a, _b;
|
|
25684
|
-
const id = ((_b = (_a = event === null || event === void 0 ? void 0 : event.directory) === null || _a === void 0 ? void 0 : _a.dataItem) === null || _b === void 0 ? void 0 : _b.id) ||
|
|
25711
|
+
const id = ((_b = (_a = event === null || event === void 0 ? void 0 : event.directory) === null || _a === void 0 ? void 0 : _a.dataItem) === null || _b === void 0 ? void 0 : _b.id) || "";
|
|
25685
25712
|
const hasUnreadyItems = ev.directory.dataItem.items.some((q) => !q.isReady);
|
|
25686
25713
|
if (hasUnreadyItems) {
|
|
25687
25714
|
// Start loading automatically to ensure all folders has the right actions
|
|
@@ -25709,7 +25736,7 @@ _FileManagerAbstract_foldersSubscription$ = new WeakMap(), _FileManagerAbstract_
|
|
|
25709
25736
|
if (this.nodesPagination[id].isNextPageAvailable) {
|
|
25710
25737
|
this.nodesPagination[id].currentPageIndex++;
|
|
25711
25738
|
const payload = {
|
|
25712
|
-
currentPageIndex: this.nodesPagination[id].currentPageIndex
|
|
25739
|
+
currentPageIndex: this.nodesPagination[id].currentPageIndex,
|
|
25713
25740
|
};
|
|
25714
25741
|
return this.getFolderChildren(id, payload, showLoading, false).pipe(tap((data) => {
|
|
25715
25742
|
var _a, _b;
|
|
@@ -25738,7 +25765,7 @@ _FileManagerAbstract_foldersSubscription$ = new WeakMap(), _FileManagerAbstract_
|
|
|
25738
25765
|
this.nodesPagination[id] = {
|
|
25739
25766
|
isNextPageAvailable: result === null || result === void 0 ? void 0 : result.isNextPageAvailable,
|
|
25740
25767
|
currentPageIndex: result === null || result === void 0 ? void 0 : result.currentPageIndex,
|
|
25741
|
-
foldersCount: result === null || result === void 0 ? void 0 : result.foldersCount
|
|
25768
|
+
foldersCount: result === null || result === void 0 ? void 0 : result.foldersCount,
|
|
25742
25769
|
};
|
|
25743
25770
|
}, _FileManagerAbstract_getNode = function _FileManagerAbstract_getNode(id) {
|
|
25744
25771
|
const fm = this.fileManager.instance;
|
|
@@ -25748,18 +25775,18 @@ _FileManagerAbstract_foldersSubscription$ = new WeakMap(), _FileManagerAbstract_
|
|
|
25748
25775
|
dataStructure[0];
|
|
25749
25776
|
return fm._filesTreeView._filesTreeView._getNode(dataItem.internalFields.key);
|
|
25750
25777
|
}, _FileManagerAbstract_addOrReplace = function _FileManagerAbstract_addOrReplace(data, items) {
|
|
25751
|
-
let itemMap = keyBy(data,
|
|
25778
|
+
let itemMap = keyBy(data, "id");
|
|
25752
25779
|
items.forEach((item) => {
|
|
25753
25780
|
itemMap[item.id] = item;
|
|
25754
25781
|
});
|
|
25755
25782
|
return values(itemMap);
|
|
25756
25783
|
};
|
|
25757
25784
|
FileManagerAbstract.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileManagerAbstract, deps: [{ token: i0.Injector }, { token: String }, { token: Object }], target: i0.ɵɵFactoryTarget.Component });
|
|
25758
|
-
FileManagerAbstract.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileManagerAbstract, selector: "ng-component", host: { listeners: { "document:click": "clickout($event)" } }, viewQueries: [{ propertyName: "fileManager", first: true, predicate: DxFileManagerComponent, descendants: true }, { propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "treeView", first: true, predicate: DxTreeViewComponent, descendants: true }], ngImport: i0, template:
|
|
25785
|
+
FileManagerAbstract.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileManagerAbstract, selector: "ng-component", host: { listeners: { "document:click": "clickout($event)" } }, viewQueries: [{ propertyName: "fileManager", first: true, predicate: DxFileManagerComponent, descendants: true }, { propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "treeView", first: true, predicate: DxTreeViewComponent, descendants: true }], ngImport: i0, template: "", isInline: true });
|
|
25759
25786
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileManagerAbstract, decorators: [{
|
|
25760
25787
|
type: Component,
|
|
25761
25788
|
args: [{
|
|
25762
|
-
template:
|
|
25789
|
+
template: "",
|
|
25763
25790
|
}]
|
|
25764
25791
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: String }, { type: Object }]; }, propDecorators: { fileManager: [{
|
|
25765
25792
|
type: ViewChild,
|
|
@@ -25772,7 +25799,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
25772
25799
|
args: [DxTreeViewComponent, { static: false }]
|
|
25773
25800
|
}], clickout: [{
|
|
25774
25801
|
type: HostListener,
|
|
25775
|
-
args: [
|
|
25802
|
+
args: ["document:click", ["$event"]]
|
|
25776
25803
|
}] } });
|
|
25777
25804
|
|
|
25778
25805
|
class ActivityComponent {
|
|
@@ -31421,7 +31448,7 @@ class NotificationsButtonComponent extends BaseNotification {
|
|
|
31421
31448
|
}
|
|
31422
31449
|
}
|
|
31423
31450
|
NotificationsButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsButtonComponent, deps: [{ token: i0.Injector }, { token: TranslationService }, { token: CustomToastrService }, { token: i0.ChangeDetectorRef }, { token: NOTIFICATIONS_LIST_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
31424
|
-
NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { styleClass: "styleClass", badgeOptions: "badgeOptions" }, outputs: { listItemClick: "listItemClick", openSettings: "openSettings", openNotifications: "openNotifications", onNotification: "onNotification" }, host: { classAttribute: "inline-flex justify-center items-center notification-button" }, queries: [{ propertyName: "customIconTemplate", first: true, predicate: NOTIFICATION_ICON, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<button\r\n *ngIf=\"panelMode === panelModeEnum.panel\"\r\n [matMenuTriggerFor]=\"notifications\"\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n (menuOpened)=\"markAllAsUnread()\"\r\n>\r\n <ng-container [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\">\r\n </ng-container>\r\n</button>\r\n\r\n<mat-menu #notifications=\"matMenu\" class=\"notification-list-panel\">\r\n <ng-template matMenuContent>\r\n <app-notifications-list\r\n (itemClicked)=\"listItemClick.emit($event); notifications.closed.emit()\"\r\n (openSettings)=\"openSettings.emit($event); notifications.closed.emit()\"\r\n (openNotifications)=\"openNotifications.emit($event); notifications.closed.emit()\"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n <div class=\"notification-list-panel__footer flex justify-center\">\r\n <ng-content select=\"[notifications-footer]\"></ng-content>\r\n </div>\r\n</mat-menu>\r\n\r\n<ng-container *ngIf=\"panelMode === panelModeEnum.sidebar\">\r\n <button\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n (click)=\"toggleSideBar(); markAllAsUnread()\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\">\r\n </ng-container>\r\n </button>\r\n <app-notifications-sidebar\r\n [(visible)]=\"isSidebarOpened\"\r\n (visibleChange)=\"refreshUnreadCount()\"\r\n [position]=\"sidebarPosition$ | async\"\r\n >\r\n <ng-template appNotificationSidebarContent>\r\n <app-notifications-list\r\n class=\"notifications-sidebar\"\r\n (itemClicked)=\"\r\n listItemClick.emit($event); toggleSideBar(false); refreshUnreadCount()\r\n \"\r\n (openSettings)=\"openSettings.emit($event); toggleSideBar(false)\"\r\n (openNotifications)=\"openNotifications.emit($event); toggleSideBar(false)\"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n </app-notifications-sidebar>\r\n</ng-container>\r\n\r\n<ng-template #defaultIconTemplate>\r\n <i class=\"bi bi-bell bell\"></i>\r\n</ng-template>\r\n", styles: [".notification-button{font-size:var(--not-btn-font-size, 1.5rem);width:var(--not-btn-width, 40px)}.notification-list-panel{--width: var(--nos-panel-width, min(80vw, 450px));width:var(--width);border-radius:var(--nos-panel-radius, 5px);overflow:hidden;-webkit-overflow-scrolling:touch;outline:0;background:var(--nos-panel-background, #fff)}.notification-list-panel.mat-menu-panel{max-width:var(--width);max-height:var(--nos-panel-max-height, var(--height))}.notification-list-panel__navigate-btn{background:var(--not-btn-background, transparent);border-radius:var(--not-btn-radius, 5px);padding:var(--not-btn-padding, .5rem 1rem);margin:var(--not-btn-margin, .5rem 0);color:var(--not-btn-color, currentColor);width:var(--not-btn-width, 90%)}.notification-list-panel__navigate-btn:hover{--not-btn-background: var(--not-btn-hover-background, #f0f0f0);--not-btn-color: var(--not-btn-hover-color);-webkit-text-decoration:var(--not-btn-decoration, none);text-decoration:var(--not-btn-decoration, none)}.notification-list-panel__navigate-btn:active{--not-btn-background: var(--not-btn-active-background, #e2e2e2);--not-btn-color: var(--not-btn-active-color)}.notifications-sidebar{--nto-list-header-padding: var(--sidebar-list-header-padding , 1rem);--nto-list-height: var(--sidebar-list-height , calc(100vh - 100px))}\n"], components: [{ type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: NotificationsListComponent, selector: "app-notifications-list", outputs: ["openSettings", "openNotifications"] }, { type: NotificationsSidebarComponent, selector: "app-notifications-sidebar", inputs: ["appendToBody", "clearOnCLose", "visible", "position"], outputs: ["visibleChange", "onShow", "onHide"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i7$
|
|
31451
|
+
NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { styleClass: "styleClass", badgeOptions: "badgeOptions" }, outputs: { listItemClick: "listItemClick", openSettings: "openSettings", openNotifications: "openNotifications", onNotification: "onNotification" }, host: { classAttribute: "inline-flex justify-center items-center notification-button" }, queries: [{ propertyName: "customIconTemplate", first: true, predicate: NOTIFICATION_ICON, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<button\r\n *ngIf=\"panelMode === panelModeEnum.panel\"\r\n [matMenuTriggerFor]=\"notifications\"\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n (menuOpened)=\"markAllAsUnread()\"\r\n>\r\n <ng-container [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\">\r\n </ng-container>\r\n</button>\r\n\r\n<mat-menu #notifications=\"matMenu\" class=\"notification-list-panel\">\r\n <ng-template matMenuContent>\r\n <app-notifications-list\r\n (itemClicked)=\"listItemClick.emit($event); notifications.closed.emit()\"\r\n (openSettings)=\"openSettings.emit($event); notifications.closed.emit()\"\r\n (openNotifications)=\"openNotifications.emit($event); notifications.closed.emit()\"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n <div class=\"notification-list-panel__footer flex justify-center\">\r\n <ng-content select=\"[notifications-footer]\"></ng-content>\r\n </div>\r\n</mat-menu>\r\n\r\n<ng-container *ngIf=\"panelMode === panelModeEnum.sidebar\">\r\n <button\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n (click)=\"toggleSideBar(); markAllAsUnread()\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\">\r\n </ng-container>\r\n </button>\r\n <app-notifications-sidebar\r\n [(visible)]=\"isSidebarOpened\"\r\n (visibleChange)=\"refreshUnreadCount()\"\r\n [position]=\"sidebarPosition$ | async\"\r\n >\r\n <ng-template appNotificationSidebarContent>\r\n <app-notifications-list\r\n class=\"notifications-sidebar\"\r\n (itemClicked)=\"\r\n listItemClick.emit($event); toggleSideBar(false); refreshUnreadCount()\r\n \"\r\n (openSettings)=\"openSettings.emit($event); toggleSideBar(false)\"\r\n (openNotifications)=\"openNotifications.emit($event); toggleSideBar(false)\"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n </app-notifications-sidebar>\r\n</ng-container>\r\n\r\n<ng-template #defaultIconTemplate>\r\n <i class=\"bi bi-bell bell\"></i>\r\n</ng-template>\r\n", styles: [".notification-button{font-size:var(--not-btn-font-size, 1.5rem);width:var(--not-btn-width, 40px)}.notification-list-panel{--width: var(--nos-panel-width, min(80vw, 450px));width:var(--width);border-radius:var(--nos-panel-radius, 5px);overflow:hidden;-webkit-overflow-scrolling:touch;outline:0;background:var(--nos-panel-background, #fff)}.notification-list-panel.mat-menu-panel{max-width:var(--width);max-height:var(--nos-panel-max-height, var(--height))}.notification-list-panel__navigate-btn{background:var(--not-btn-background, transparent);border-radius:var(--not-btn-radius, 5px);padding:var(--not-btn-padding, .5rem 1rem);margin:var(--not-btn-margin, .5rem 0);color:var(--not-btn-color, currentColor);width:var(--not-btn-width, 90%)}.notification-list-panel__navigate-btn:hover{--not-btn-background: var(--not-btn-hover-background, #f0f0f0);--not-btn-color: var(--not-btn-hover-color);-webkit-text-decoration:var(--not-btn-decoration, none);text-decoration:var(--not-btn-decoration, none)}.notification-list-panel__navigate-btn:active{--not-btn-background: var(--not-btn-active-background, #e2e2e2);--not-btn-color: var(--not-btn-active-color)}.notifications-sidebar{--nto-list-header-padding: var(--sidebar-list-header-padding , 1rem);--nto-list-height: var(--sidebar-list-height , calc(100vh - 100px))}\n"], components: [{ type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: NotificationsListComponent, selector: "app-notifications-list", outputs: ["openSettings", "openNotifications"] }, { type: NotificationsSidebarComponent, selector: "app-notifications-sidebar", inputs: ["appendToBody", "clearOnCLose", "visible", "position"], outputs: ["visibleChange", "onShow", "onHide"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i7$4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: NotificationSidebarContentDirective, selector: "[appNotificationSidebarContent]" }], pipes: { "async": i4$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
31425
31452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsButtonComponent, decorators: [{
|
|
31426
31453
|
type: Component,
|
|
31427
31454
|
args: [{
|