nuxeo-development-framework 3.0.2 → 3.0.3
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 +62 -46
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +31 -11
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +33 -37
- package/fesm2015/nuxeo-development-framework.js +62 -46
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +2 -1
- package/lib/components/file-manger/file-manager.abstract.d.ts +8 -8
- package/package.json +1 -1
|
@@ -15091,7 +15091,8 @@
|
|
|
15091
15091
|
this.searchForm = new i6.FormGroup({
|
|
15092
15092
|
text: new i6.FormControl(null),
|
|
15093
15093
|
personalFiles: new i6.FormControl(false),
|
|
15094
|
-
depFiles: new i6.FormControl(false)
|
|
15094
|
+
depFiles: new i6.FormControl(false),
|
|
15095
|
+
workSpaceFiles: new i6.FormControl(false)
|
|
15095
15096
|
});
|
|
15096
15097
|
this.loading = false;
|
|
15097
15098
|
this.customResponsiveStyle = false;
|
|
@@ -15099,6 +15100,7 @@
|
|
|
15099
15100
|
this.quickFilters = '';
|
|
15100
15101
|
this.savedPersFilterValue = null;
|
|
15101
15102
|
this.savedDepFilterValue = null;
|
|
15103
|
+
this.savedworkSpaceFilterValue = null;
|
|
15102
15104
|
this.resultSets = [];
|
|
15103
15105
|
this.evaluatorService.evaluateRule('enableSearchToggles', {}).then(function (res) {
|
|
15104
15106
|
_this.useToggleFilters = res;
|
|
@@ -15156,7 +15158,8 @@
|
|
|
15156
15158
|
this.searchForm.patchValue({
|
|
15157
15159
|
text: this.text,
|
|
15158
15160
|
personalFiles: (this.quickFilters === 'personalFilter') ? true : (this.savedPersFilterValue !== null) ? this.savedPersFilterValue : false,
|
|
15159
|
-
depFiles: (this.quickFilters === 'departmentFilter') ? true : (this.savedDepFilterValue !== null) ? this.savedDepFilterValue : false
|
|
15161
|
+
depFiles: (this.quickFilters === 'departmentFilter') ? true : (this.savedDepFilterValue !== null) ? this.savedDepFilterValue : false,
|
|
15162
|
+
workSpaceFiles: (this.quickFilters === 'departmentWorkSpaceFilter') ? true : (this.savedworkSpaceFilterValue !== null) ? this.savedworkSpaceFilterValue : false
|
|
15160
15163
|
});
|
|
15161
15164
|
}
|
|
15162
15165
|
else {
|
|
@@ -15225,18 +15228,35 @@
|
|
|
15225
15228
|
});
|
|
15226
15229
|
};
|
|
15227
15230
|
DynamicSearchComponent.prototype.getToggleFilters = function () {
|
|
15231
|
+
var myFilter = [];
|
|
15228
15232
|
this.savedDepFilterValue = this.searchForm.controls.depFiles.value;
|
|
15229
15233
|
this.savedPersFilterValue = this.searchForm.controls.personalFiles.value;
|
|
15230
|
-
|
|
15231
|
-
|
|
15232
|
-
|
|
15234
|
+
this.savedworkSpaceFilterValue = this.searchForm.controls.workSpaceFiles.value;
|
|
15235
|
+
if (this.savedDepFilterValue) {
|
|
15236
|
+
myFilter.push('departmentFilter');
|
|
15237
|
+
}
|
|
15238
|
+
if (this.savedPersFilterValue) {
|
|
15239
|
+
myFilter.push('personalFilter');
|
|
15233
15240
|
}
|
|
15234
|
-
|
|
15235
|
-
|
|
15241
|
+
if (this.savedworkSpaceFilterValue) {
|
|
15242
|
+
myFilter.push('departmentWorkSpaceFilter');
|
|
15236
15243
|
}
|
|
15237
|
-
|
|
15238
|
-
return
|
|
15244
|
+
if (myFilter.length === 3) {
|
|
15245
|
+
return '';
|
|
15239
15246
|
}
|
|
15247
|
+
else {
|
|
15248
|
+
return myFilter.toString();
|
|
15249
|
+
}
|
|
15250
|
+
// if((this.savedPersFilterValue && this.savedDepFilterValue && this.savedworkSpaceFilterValue)
|
|
15251
|
+
// || (!this.savedPersFilterValue && !this.savedDepFilterValue && !this.savedworkSpaceFilterValue)){
|
|
15252
|
+
// return '';
|
|
15253
|
+
// } else if (this.savedPersFilterValue && !this.savedDepFilterValue && !this.savedworkSpaceFilterValue) {
|
|
15254
|
+
// return "personalFilter" ;
|
|
15255
|
+
// } else if (!this.savedPersFilterValue && this.savedDepFilterValue && !this.savedworkSpaceFilterValue) {
|
|
15256
|
+
// return"departmentFilter" ;
|
|
15257
|
+
// } else if (!this.savedPersFilterValue && !this.savedDepFilterValue && this.savedworkSpaceFilterValue) {
|
|
15258
|
+
// return"departmentWorkSpaceFilter" ;
|
|
15259
|
+
// }
|
|
15240
15260
|
};
|
|
15241
15261
|
DynamicSearchComponent.prototype.setOptionValue = function (searchedText) {
|
|
15242
15262
|
this.searchForm.get('text').setValue(searchedText);
|
|
@@ -15272,7 +15292,7 @@
|
|
|
15272
15292
|
return DynamicSearchComponent;
|
|
15273
15293
|
}());
|
|
15274
15294
|
DynamicSearchComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: DynamicSearchComponent, deps: [{ token: i2__namespace$2.ActivatedRoute }, { token: i2__namespace$2.Router }, { token: EvaluatorsService }, { token: NuxeoService$1 }, { token: 'environment' }, { token: i4__namespace$4.BreakpointObserver }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
15275
|
-
DynamicSearchComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", 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", onRowSelected: "onRowSelected", sortingArray: "sortingArray", customResponsiveStyle: "customResponsiveStyle", openCloseFilterFromOutside: "openCloseFilterFromOutside", theme: "theme" }, outputs: { actionOnRow: "actionOnRow" }, usesOnChanges: true, ngImport: i0__namespace, 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 results found!\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 results found!\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 </div>\r\n </form>\r\n </div>\r\n </div>\r\n <cts-dynamic-table [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}.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:-webkit-max-content;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: i6__namespace$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i2__namespace$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", "highlightSelectedCard"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading"] }, { type: i1__namespace$5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.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__namespace$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace$1.TranslatePipe }, animations: [
|
|
15295
|
+
DynamicSearchComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", 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", onRowSelected: "onRowSelected", sortingArray: "sortingArray", customResponsiveStyle: "customResponsiveStyle", openCloseFilterFromOutside: "openCloseFilterFromOutside", theme: "theme" }, outputs: { actionOnRow: "actionOnRow" }, usesOnChanges: true, ngImport: i0__namespace, 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 results found!\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 results found!\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 [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}.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:-webkit-max-content;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: i6__namespace$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i2__namespace$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", "highlightSelectedCard"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading"] }, { type: i1__namespace$5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.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__namespace$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace$1.TranslatePipe }, animations: [
|
|
15276
15296
|
animations.trigger('collapse', [
|
|
15277
15297
|
animations.state('false', animations.style({ height: animations.AUTO_STYLE, visibility: animations.AUTO_STYLE })),
|
|
15278
15298
|
animations.state('true', animations.style({ height: '0', visibility: 'hidden' })),
|
|
@@ -27762,7 +27782,7 @@
|
|
|
27762
27782
|
|
|
27763
27783
|
//
|
|
27764
27784
|
var FileManagerAbstract = /** @class */ (function () {
|
|
27765
|
-
function FileManagerAbstract(injectorObj,
|
|
27785
|
+
function FileManagerAbstract(injectorObj, myPageConfigurationName, environment) {
|
|
27766
27786
|
var _this = this;
|
|
27767
27787
|
this.injectorObj = injectorObj;
|
|
27768
27788
|
this.subscriptions = [];
|
|
@@ -27796,7 +27816,6 @@
|
|
|
27796
27816
|
this.toolbarItems = [];
|
|
27797
27817
|
this.lastFolderTrackId = null;
|
|
27798
27818
|
this.itemToDisplay = {};
|
|
27799
|
-
this.tempSave = null;
|
|
27800
27819
|
this.clipboardItems = []; // array of id to items in clipboard
|
|
27801
27820
|
this.showClipboard = false;
|
|
27802
27821
|
this.showDgdaClipboard = false; // flage related to dgda clipboard
|
|
@@ -28020,7 +28039,7 @@
|
|
|
28020
28039
|
var isImaggaProccessed = !!(face && face.length);
|
|
28021
28040
|
return isFavorite ? thumb + "?fav=1" + (isImaggaProccessed ? '&imagga=1' : '') : isImaggaProccessed ? thumb + "?imagga=1" : thumb;
|
|
28022
28041
|
};
|
|
28023
|
-
this.
|
|
28042
|
+
this.myPageConfName = myPageConfigurationName;
|
|
28024
28043
|
this.mainFolder = environment['mainFolder'];
|
|
28025
28044
|
this.cdRef = this.injectorObj.get(i0.ChangeDetectorRef);
|
|
28026
28045
|
this.permissionEvaluatorService = this.injectorObj.get(EvaluatorsService);
|
|
@@ -28043,6 +28062,7 @@
|
|
|
28043
28062
|
this.iconService = this.injectorObj.get(IconService);
|
|
28044
28063
|
this.nuxeoService = this.injectorObj.get(NuxeoService$1);
|
|
28045
28064
|
this.multiSelectedkeys = [''];
|
|
28065
|
+
this.myPageConfiguration = this.appConfService.myConfiguration.fileManger[this.myPageConfName];
|
|
28046
28066
|
this.subscriptions.concat([this.router.events.subscribe(function (event) {
|
|
28047
28067
|
if (event.navigationTrigger === 'popstate') {
|
|
28048
28068
|
var id = event.url.split('id=')[1];
|
|
@@ -28064,25 +28084,20 @@
|
|
|
28064
28084
|
var _this = this;
|
|
28065
28085
|
this.setMyTableConfiguration();
|
|
28066
28086
|
// executed only for my files list
|
|
28067
|
-
|
|
28087
|
+
// executed for pages with static root
|
|
28088
|
+
if (this.myPageConfiguration.isStaticRoot) {
|
|
28068
28089
|
this.fileManagerService.getFolder(this.mainFolder).subscribe(function (res) {
|
|
28069
28090
|
_this.directory = res;
|
|
28070
|
-
_this.canCreate =
|
|
28091
|
+
_this.canCreate = _this.myPageConfiguration.canCreatePermission.every(function (per) { return res.contextParameters.permissions.includes(per); });
|
|
28071
28092
|
});
|
|
28072
28093
|
}
|
|
28073
|
-
|
|
28074
|
-
if (this.trackedIdPropertyName === 'fileManagerTrackId') {
|
|
28094
|
+
else {
|
|
28075
28095
|
this.directory = {
|
|
28076
28096
|
contextParameters: {
|
|
28077
28097
|
permissions: [],
|
|
28078
28098
|
},
|
|
28079
28099
|
};
|
|
28080
|
-
this.canCreate =
|
|
28081
|
-
'Contributor',
|
|
28082
|
-
'Collaborator',
|
|
28083
|
-
'Coordinator',
|
|
28084
|
-
'Everything',
|
|
28085
|
-
].some(function (per) { return _this.directory.contextParameters.permissions.includes(per); });
|
|
28100
|
+
this.canCreate = this.myPageConfiguration.canCreatePermission.some(function (per) { return _this.directory.contextParameters.permissions.includes(per); });
|
|
28086
28101
|
}
|
|
28087
28102
|
this.subscriptions.concat([
|
|
28088
28103
|
this.translationService.isArabic.subscribe(function (res) {
|
|
@@ -28114,17 +28129,14 @@
|
|
|
28114
28129
|
URL_ID =
|
|
28115
28130
|
(this.route.snapshot.queryParams['id'])
|
|
28116
28131
|
? this.route.snapshot.queryParams['id']
|
|
28117
|
-
: (this.userPreferenceService.hasItem(this.trackedIdPropertyName))
|
|
28118
|
-
? (JSON.parse(this.userPreferenceService.get(this.trackedIdPropertyName)))
|
|
28132
|
+
: (this.userPreferenceService.hasItem(this.myPageConfiguration.trackedIdPropertyName))
|
|
28133
|
+
? (JSON.parse(this.userPreferenceService.get(this.myPageConfiguration.trackedIdPropertyName)))
|
|
28119
28134
|
: null;
|
|
28120
28135
|
}
|
|
28121
28136
|
catch (e) {
|
|
28122
28137
|
URL_ID = null;
|
|
28123
28138
|
}
|
|
28124
|
-
if (
|
|
28125
|
-
(URL_ID && this.trackedIdPropertyName === 'my-filesTrackId') ||
|
|
28126
|
-
(URL_ID && this.trackedIdPropertyName === 'workSpaceFileManagerTrackId'))) {
|
|
28127
|
-
this.tempSave = URL_ID;
|
|
28139
|
+
if (URL_ID && URL_ID != this.myPageConfiguration.rootName) {
|
|
28128
28140
|
this.getSelectedFolderTree(URL_ID);
|
|
28129
28141
|
}
|
|
28130
28142
|
else {
|
|
@@ -28170,12 +28182,14 @@
|
|
|
28170
28182
|
_this.currentPath = pathSplit[pathSplit.length - 1];
|
|
28171
28183
|
}
|
|
28172
28184
|
else {
|
|
28173
|
-
if (_this.
|
|
28185
|
+
if (_this.myPageConfiguration.isStaticRoot) {
|
|
28186
|
+
// if static root then there is a single root object loaded and saved in storage
|
|
28174
28187
|
_this.currentPath = _this.path.substr(_this.fileManagerObj.path.length);
|
|
28175
28188
|
}
|
|
28176
28189
|
else {
|
|
28190
|
+
// if not static root then there is multiple objects in storag
|
|
28177
28191
|
// if user was admin then use the full path
|
|
28178
|
-
if (_this.nuxeoService.nuxeoClient.user.isAdministrator) {
|
|
28192
|
+
if (_this.nuxeoService.nuxeoClient.user.isAdministrator || _this.myPageConfiguration.useFullPath) {
|
|
28179
28193
|
_this.currentPath = _this.path;
|
|
28180
28194
|
}
|
|
28181
28195
|
else {
|
|
@@ -28338,7 +28352,7 @@
|
|
|
28338
28352
|
this.fileManagerService.getFolder(id).subscribe(function (res) { return __awaiter(_this, void 0, void 0, function () {
|
|
28339
28353
|
var breadcrumbs;
|
|
28340
28354
|
return __generator(this, function (_p) {
|
|
28341
|
-
if (this.
|
|
28355
|
+
if (this.myPageConfiguration.isStaticRoot) {
|
|
28342
28356
|
this.path = res.path;
|
|
28343
28357
|
}
|
|
28344
28358
|
else {
|
|
@@ -28346,16 +28360,16 @@
|
|
|
28346
28360
|
.map(function (item) { return item.title; })
|
|
28347
28361
|
.join('/');
|
|
28348
28362
|
}
|
|
28349
|
-
// res.contextParameters.breadcrumb.entries[0].uid = 'root';
|
|
28350
28363
|
if (this.route.snapshot.queryParams['fromSharedDocument']) {
|
|
28351
28364
|
res.contextParameters.breadcrumb.entries = __spreadArray([
|
|
28352
28365
|
{ uid: 'sharedDocumentsRoot' }
|
|
28353
28366
|
], __read(res.contextParameters.breadcrumb.entries));
|
|
28354
28367
|
}
|
|
28355
28368
|
else {
|
|
28356
|
-
if
|
|
28369
|
+
// if not static root then add the root name to breadcrumb
|
|
28370
|
+
if (!this.myPageConfiguration.isStaticRoot) {
|
|
28357
28371
|
res.contextParameters.breadcrumb.entries = __spreadArray([
|
|
28358
|
-
{ uid:
|
|
28372
|
+
{ uid: this.myPageConfiguration.rootName }
|
|
28359
28373
|
], __read(res.contextParameters.breadcrumb.entries));
|
|
28360
28374
|
}
|
|
28361
28375
|
}
|
|
@@ -28439,7 +28453,7 @@
|
|
|
28439
28453
|
// this.showDetails = false; // hide side menu details when right click
|
|
28440
28454
|
var directory = this.getCurrentDirectory();
|
|
28441
28455
|
if (e.viewArea === 'itemView' && !this.isItemSelected) {
|
|
28442
|
-
if (this.
|
|
28456
|
+
if (this.myPageConfiguration.showAddFolderInContextMenu) {
|
|
28443
28457
|
this.myFileMangerInstance.option('contextMenu.items', [
|
|
28444
28458
|
{
|
|
28445
28459
|
name: 'create_folder',
|
|
@@ -28531,17 +28545,17 @@
|
|
|
28531
28545
|
});
|
|
28532
28546
|
}
|
|
28533
28547
|
}
|
|
28534
|
-
this.myCurrecntFolderData = e.directory.dataItem ? e.directory.dataItem : (this.mainFolder === 'sharedDocumentsRoot' ? 'sharedDocumentsRoot' :
|
|
28548
|
+
this.myCurrecntFolderData = e.directory.dataItem ? e.directory.dataItem : (this.mainFolder === 'sharedDocumentsRoot' ? 'sharedDocumentsRoot' : this.myPageConfiguration.rootName);
|
|
28535
28549
|
this.permissionEvaluatorService.evaluateRule('canCreateNewFolderTemplates', { entity: this.myCurrecntFolderData.entity }).then(function (res) {
|
|
28536
28550
|
_this.showfolderTemplates = res;
|
|
28537
28551
|
});
|
|
28538
28552
|
// if not coming from shared document then save the id to track it
|
|
28539
28553
|
if (this.mainFolder !== 'sharedDocumentsRoot') {
|
|
28540
28554
|
if ((_c = (_b = e.directory) === null || _b === void 0 ? void 0 : _b.dataItem) === null || _c === void 0 ? void 0 : _c.id) {
|
|
28541
|
-
this.userPreferenceService.set(this.trackedIdPropertyName, JSON.stringify((_e = (_d = e.directory) === null || _d === void 0 ? void 0 : _d.dataItem) === null || _e === void 0 ? void 0 : _e.id));
|
|
28555
|
+
this.userPreferenceService.set(this.myPageConfiguration.trackedIdPropertyName, JSON.stringify((_e = (_d = e.directory) === null || _d === void 0 ? void 0 : _d.dataItem) === null || _e === void 0 ? void 0 : _e.id));
|
|
28542
28556
|
}
|
|
28543
28557
|
else {
|
|
28544
|
-
localStorage.removeItem(this.userPreferenceService.getPropertyKey(this.trackedIdPropertyName));
|
|
28558
|
+
localStorage.removeItem(this.userPreferenceService.getPropertyKey(this.myPageConfiguration.trackedIdPropertyName));
|
|
28545
28559
|
}
|
|
28546
28560
|
}
|
|
28547
28561
|
this.itemListView = e.component._itemView._itemList;
|
|
@@ -28647,11 +28661,11 @@
|
|
|
28647
28661
|
dialogRef.afterClosed().subscribe(function (res) {
|
|
28648
28662
|
if (res) {
|
|
28649
28663
|
if (_this.dialogMangmentService.creationMode === 'upload') {
|
|
28650
|
-
_this.dialogMangmentService.openMinimzedModal(CreateModalComponent, '70%', '85%', (_this.
|
|
28664
|
+
_this.dialogMangmentService.openMinimzedModal(CreateModalComponent, '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
|
|
28651
28665
|
);
|
|
28652
28666
|
}
|
|
28653
28667
|
else if (_this.dialogMangmentService.creationMode === 'scan') {
|
|
28654
|
-
_this.dialogMangmentService.openMinimzedModal(ScanModalComponent, '90%', '90%', (_this.
|
|
28668
|
+
_this.dialogMangmentService.openMinimzedModal(ScanModalComponent, '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
|
|
28655
28669
|
);
|
|
28656
28670
|
}
|
|
28657
28671
|
}
|
|
@@ -28691,11 +28705,12 @@
|
|
|
28691
28705
|
_this.documentScanService.storedFile = {};
|
|
28692
28706
|
}
|
|
28693
28707
|
if (res === 'upload') {
|
|
28694
|
-
_this.openDialog(CreateModalComponent, fileType, 'upload', '70%', '85%', (_this.
|
|
28708
|
+
_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
|
|
28695
28709
|
);
|
|
28696
28710
|
}
|
|
28697
28711
|
else if (res === 'scan') {
|
|
28698
|
-
_this.openDialog(ScanModalComponent, fileType, 'scan', '90%', '90%')
|
|
28712
|
+
_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
|
|
28713
|
+
);
|
|
28699
28714
|
}
|
|
28700
28715
|
else if (res === 'template') {
|
|
28701
28716
|
_this.openDialog(TemplateModalComponent, fileType.type, 'scan', '70%', '85%');
|
|
@@ -28722,11 +28737,12 @@
|
|
|
28722
28737
|
dialogRef.afterClosed().subscribe(function (res) {
|
|
28723
28738
|
if (res) {
|
|
28724
28739
|
if (_this.dialogMangmentService.creationMode === 'upload') {
|
|
28725
|
-
_this.dialogMangmentService.openMinimzedModal(CreateModalComponent, '70%', '85%', (_this.
|
|
28740
|
+
_this.dialogMangmentService.openMinimzedModal(CreateModalComponent, '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
|
|
28726
28741
|
);
|
|
28727
28742
|
}
|
|
28728
28743
|
else if (_this.dialogMangmentService.creationMode === 'scan') {
|
|
28729
|
-
_this.dialogMangmentService.openMinimzedModal(ScanModalComponent, '90%', '90%')
|
|
28744
|
+
_this.dialogMangmentService.openMinimzedModal(ScanModalComponent, '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
|
|
28745
|
+
);
|
|
28730
28746
|
}
|
|
28731
28747
|
}
|
|
28732
28748
|
else {
|
|
@@ -28788,7 +28804,7 @@
|
|
|
28788
28804
|
// this.sideMenuLoading = false;
|
|
28789
28805
|
};
|
|
28790
28806
|
//----------------------------------------------------------------------
|
|
28791
|
-
FileManagerAbstract.prototype.
|
|
28807
|
+
FileManagerAbstract.prototype.destroyClass = function () {
|
|
28792
28808
|
this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
|
|
28793
28809
|
this.onDestroy$.next();
|
|
28794
28810
|
this.onDestroy$.complete();
|