nuxeo-development-framework 0.0.5 → 0.0.6
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 +57 -44
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +2 -2
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +46 -41
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +2 -2
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +10 -2
- package/esm2015/lib/shared/components/item-list/item-list.component.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +55 -43
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +2 -1
- package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +2 -1
- package/package.json +5 -8
|
@@ -4047,7 +4047,7 @@ class ItemListComponent {
|
|
|
4047
4047
|
}
|
|
4048
4048
|
}
|
|
4049
4049
|
ItemListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ItemListComponent, deps: [{ token: ViewerFilesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4050
|
-
ItemListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: ItemListComponent, selector: "cts-item-list", inputs: { item: "item", iconname: "iconname", title: "title", actions: "actions", isselected: "isselected", moreclasses: "moreclasses" }, outputs: { itemClicked: "itemClicked", actionclicked: "actionclicked" }, ngImport: i0, template: "\r\n<mat-list-item class=\"list-item\" (click)=\"itemlistClick()\" [ngClass]=\"{\r\n 'list-item-selected': selectedId == item.uid\r\n }\">\r\n <div class=\"direction\"><i class=\"incoming bi bi-box-arrow-down\" *ngIf=\"!iconname&&item.direction?.toLowerCase() === 'incoming'\"></i></div>\r\n\r\n <div class=\"direction\"><i class=\"outcoming bi bi-box-arrow-up\" *ngIf=\"!iconname&&item.direction?.toLowerCase() === 'outgoing'\"></i></div>\r\n\r\n <mat-icon *ngIf=\"iconname\" mat-list-icon class=\"icon {{moreclasses}}\">{{\r\n iconname\r\n }}</mat-icon>\r\n\r\n <ng-content select=\".icon\"></ng-content>\r\n\r\n <div class=\"content\">\r\n <div *ngIf=\"title\" mat-line>{{ title }}</div>\r\n <div mat-line>\r\n <ng-content select=\".description\"> </ng-content>\r\n </div>\r\n</div>\r\n <button class=\"menu-item-action\" *ngIf=\"actions?.length\" (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let menu_item of actions\">\r\n <button mat-menu-item (click)=\"menuactionClicked(menu_item.name, item)\">\r\n {{ menu_item.title | translate }}\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n</mat-list-item>\r\n", styles: [".list-item{font-size:16px;cursor:pointer;height:55px!important}.list-item .mat-list-item-content{padding:0!important}.list-item .mat-list-item-content .icon{padding:0 4px;font-size:35px;width:auto;height:auto}.list-item .mat-list-item-content .icon.link-relation{font-size:25px}.list-item .mat-list-item-content .content{width:100%;margin:0;overflow:hidden;text-overflow:ellipsis}.list-item .mat-list-item-content .content .mat-line{font-size:16px;color:#212529}.list-item .mat-list-item-content .content .mat-line .description{font-size:12px}.list-item a{color:#000}.list-item .menu-item-action{font-size:20px;border:0;background:transparent}.list-item .direction{font-size:20px}.list-item .direction .incoming{color:#00dca5}.list-item .direction .outcoming{color:#fbb62c}.list-item:hover{background-color:#f5f6f8}.list-item-selected{background-color:#f5f6f8}\n"], components: [{ type: i2$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i3$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i2$3.MatLine, selector: "[mat-line], [matLine]" }, { type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
4050
|
+
ItemListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: ItemListComponent, selector: "cts-item-list", inputs: { item: "item", iconname: "iconname", title: "title", actions: "actions", isselected: "isselected", moreclasses: "moreclasses" }, outputs: { itemClicked: "itemClicked", actionclicked: "actionclicked" }, ngImport: i0, template: "\r\n<mat-list-item class=\"list-item\" (click)=\"itemlistClick()\" [ngClass]=\"{\r\n 'list-item-selected': selectedId == item.uid\r\n }\">\r\n <div class=\"direction\"><i class=\"incoming bi bi-box-arrow-down\" *ngIf=\"!iconname&&item.direction?.toLowerCase() === 'incoming'\"></i></div>\r\n\r\n <div class=\"direction\"><i class=\"outcoming bi bi-box-arrow-up\" *ngIf=\"!iconname&&item.direction?.toLowerCase() === 'outgoing'\"></i></div>\r\n\r\n <mat-icon *ngIf=\"iconname\" mat-list-icon class=\"icon {{moreclasses}}\">{{\r\n iconname\r\n }}</mat-icon>\r\n\r\n <ng-content select=\".icon\"></ng-content>\r\n\r\n <div class=\"content\">\r\n <div *ngIf=\"title\" mat-line>{{ title }}</div>\r\n <div mat-line>\r\n <ng-content select=\".description\"> </ng-content>\r\n </div>\r\n</div>\r\n <button class=\"menu-item-action\" *ngIf=\"actions?.length\" (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let menu_item of actions\">\r\n <button mat-menu-item (click)=\"menuactionClicked(menu_item.name, item)\">\r\n {{ menu_item.title | translate }}\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n</mat-list-item>\r\n", styles: [".list-item{font-size:16px;cursor:pointer;height:55px!important}.list-item .mat-list-item-content{padding:0!important}.list-item .mat-list-item-content .icon{padding:0 4px;font-size:35px;width:auto;height:auto}.list-item .mat-list-item-content .icon.link-relation{font-size:25px}.list-item .mat-list-item-content .icon.attachment-icon{font-size:25px}.list-item .mat-list-item-content .content{width:100%;margin:0;overflow:hidden;text-overflow:ellipsis}.list-item .mat-list-item-content .content .mat-line{font-size:16px;color:#212529}.list-item .mat-list-item-content .content .mat-line .description{font-size:12px}.list-item a{color:#000}.list-item .menu-item-action{font-size:20px;border:0;background:transparent}.list-item .direction{font-size:20px}.list-item .direction .incoming{color:#00dca5}.list-item .direction .outcoming{color:#fbb62c}.list-item:hover{background-color:#f5f6f8}.list-item-selected{background-color:#f5f6f8}\n"], components: [{ type: i2$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i3$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i2$3.MatLine, selector: "[mat-line], [matLine]" }, { type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
4051
4051
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ItemListComponent, decorators: [{
|
|
4052
4052
|
type: Component,
|
|
4053
4053
|
args: [{
|
|
@@ -12645,6 +12645,11 @@ class DynamicSearchComponent {
|
|
|
12645
12645
|
this.aggregations = Object.entries(data.aggregations).map((item) => {
|
|
12646
12646
|
return item[1];
|
|
12647
12647
|
});
|
|
12648
|
+
this.aggregations = this.aggregations.filter((item) => this.sortingArray.includes(item.id));
|
|
12649
|
+
this.aggregations = _.sortBy(this.aggregations, (item) => {
|
|
12650
|
+
return this.sortingArray.indexOf(item.id);
|
|
12651
|
+
});
|
|
12652
|
+
console.log('aggregations', this.aggregations);
|
|
12648
12653
|
this.totalRecords = data.totalSize;
|
|
12649
12654
|
}
|
|
12650
12655
|
submitForm() {
|
|
@@ -12674,7 +12679,7 @@ class DynamicSearchComponent {
|
|
|
12674
12679
|
}
|
|
12675
12680
|
}
|
|
12676
12681
|
DynamicSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i1$5.Router }, { token: i2$7.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
12677
|
-
DynamicSearchComponent.ɵcmp = i0.ɵɵ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" }, ngImport: i0, template: "<div class=\"search-toolbar d-md-flex d-xl-none\">\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<div class=\"row wrapper\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"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 <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\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"aggregation.field === 'corr:to' ||aggregation.field === 'corr:from'\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\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 <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\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"aggregation.field === 'corr:to' ||aggregation.field === 'corr:from'\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\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 <!-- <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>\r\n <cts-dynamic-table\r\n [pageSize]=\"pageSize\"\r\n [columns]=\"columns\"\r\n [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\"\r\n [quickFilter]=\"filter\"\r\n [entityType]=\"entityType\"\r\n [fields]=\"fields\"\r\n [queryParam]=\"queryParams\"\r\n [headers]=\"headers\"\r\n [prefix]=\"prefix\"\r\n [sortingBy]=\"sortingBy\"\r\n (onRowSelected)=\"openViewer($event)\"\r\n (onGettingData)=\"getTableData($event)\"\r\n ></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\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</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}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.search-sideMenu .search-form{display:flex;color:#6a768e;width:100%}.search-sideMenu .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-sideMenu .search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-sideMenu .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-sideMenu .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}.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}\n"], components: [{ type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department"], outputs: ["onFilterSelected"] }, { type: CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { 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"], outputs: ["onRowSelected", "actionOnRow", "onGettingData"] }, { type: i1$6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3$1.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: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
12682
|
+
DynamicSearchComponent.ɵcmp = i0.ɵɵ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", sortingArray: "sortingArray" }, ngImport: i0, template: "<div class=\"search-toolbar d-md-flex d-xl-none\">\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<div class=\"row wrapper\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"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 <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\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"aggregation.field === 'corr:to' ||aggregation.field === 'corr:from'\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\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 <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\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"aggregation.field === 'corr:to' ||aggregation.field === 'corr:from'\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\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 <!-- <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>\r\n <cts-dynamic-table\r\n [pageSize]=\"pageSize\"\r\n [columns]=\"columns\"\r\n [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\"\r\n [quickFilter]=\"filter\"\r\n [entityType]=\"entityType\"\r\n [fields]=\"fields\"\r\n [queryParam]=\"queryParams\"\r\n [headers]=\"headers\"\r\n [prefix]=\"prefix\"\r\n [sortingBy]=\"sortingBy\"\r\n (onRowSelected)=\"openViewer($event)\"\r\n (onGettingData)=\"getTableData($event)\"\r\n ></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\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</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}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.search-sideMenu .search-form{display:flex;color:#6a768e;width:100%}.search-sideMenu .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-sideMenu .search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-sideMenu .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-sideMenu .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}.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}\n"], components: [{ type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department"], outputs: ["onFilterSelected"] }, { type: CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { 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"], outputs: ["onRowSelected", "actionOnRow", "onGettingData"] }, { type: i1$6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3$1.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: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
12678
12683
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchComponent, decorators: [{
|
|
12679
12684
|
type: Component,
|
|
12680
12685
|
args: [{
|
|
@@ -12701,6 +12706,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
12701
12706
|
type: Input
|
|
12702
12707
|
}], sortingBy: [{
|
|
12703
12708
|
type: Input
|
|
12709
|
+
}], sortingArray: [{
|
|
12710
|
+
type: Input
|
|
12704
12711
|
}] } });
|
|
12705
12712
|
|
|
12706
12713
|
/**
|
|
@@ -13406,7 +13413,7 @@ class ChartDataService {
|
|
|
13406
13413
|
let dataArr = [];
|
|
13407
13414
|
let labels = [];
|
|
13408
13415
|
data.data.data.forEach((item, index) => {
|
|
13409
|
-
backgroundColor.push(
|
|
13416
|
+
backgroundColor.push("#2e62df");
|
|
13410
13417
|
dataArr.push(item.count);
|
|
13411
13418
|
});
|
|
13412
13419
|
labels = data.data.data.map((item, index) => {
|
|
@@ -13579,6 +13586,7 @@ class DynamicChartComponent {
|
|
|
13579
13586
|
this.prefix = 'STATS.'; // for translation
|
|
13580
13587
|
this.randomColors = false;
|
|
13581
13588
|
this.onDestroy$ = new Subject();
|
|
13589
|
+
this.creatChart = new Subject();
|
|
13582
13590
|
this.headers = {}; // headers in constants
|
|
13583
13591
|
this.range = '["from_now-7d_to_now"]';
|
|
13584
13592
|
this.selectedRange = "week"; // range to be filterd on
|
|
@@ -13603,48 +13611,50 @@ class DynamicChartComponent {
|
|
|
13603
13611
|
this.translate.onLangChange
|
|
13604
13612
|
.pipe(takeUntil(this.onDestroy$))
|
|
13605
13613
|
.subscribe((data) => {
|
|
13606
|
-
this.
|
|
13614
|
+
this.creatChart.next();
|
|
13607
13615
|
});
|
|
13608
13616
|
}
|
|
13609
13617
|
createChart() {
|
|
13610
|
-
this.
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13618
|
+
this.creatChart.pipe(debounceTime(500)).subscribe((res) => {
|
|
13619
|
+
this.getData().subscribe((data) => {
|
|
13620
|
+
var _a;
|
|
13621
|
+
this.data = data;
|
|
13622
|
+
this.changeDetector.detectChanges();
|
|
13623
|
+
let randomColors = {};
|
|
13624
|
+
if (this.randomColors) {
|
|
13625
|
+
data.data.forEach((item) => {
|
|
13626
|
+
randomColors[item.label] = this.stringToHslColor(`${item.label}`, 40, 70);
|
|
13627
|
+
});
|
|
13628
|
+
}
|
|
13629
|
+
this.colors = this.randomColors ? randomColors : this.colors;
|
|
13630
|
+
const { options, chartData } = this.chartData[this.chartType]({
|
|
13631
|
+
data: data,
|
|
13632
|
+
colors: this.colors,
|
|
13633
|
+
prefix: this.prefix,
|
|
13617
13634
|
});
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13627
|
-
if (!this.chartObj) {
|
|
13628
|
-
const ctx = this.chart.nativeElement.getContext('2d');
|
|
13629
|
-
this.chartObj = new Chart(ctx, options);
|
|
13635
|
+
if (((_a = data.data) === null || _a === void 0 ? void 0 : _a.length) || data.length) {
|
|
13636
|
+
if (!this.chartObj) {
|
|
13637
|
+
const ctx = this.chart.nativeElement.getContext('2d');
|
|
13638
|
+
this.chartObj = new Chart(ctx, options);
|
|
13639
|
+
}
|
|
13640
|
+
else {
|
|
13641
|
+
this.chartObj.chart.data = chartData;
|
|
13642
|
+
this.chartObj.update();
|
|
13643
|
+
}
|
|
13630
13644
|
}
|
|
13631
13645
|
else {
|
|
13632
|
-
this.
|
|
13633
|
-
|
|
13646
|
+
// const ctx = this.chart.nativeElement.getContext('2d');
|
|
13647
|
+
// let noOptions = {
|
|
13648
|
+
// type: options.type,
|
|
13649
|
+
// data: {
|
|
13650
|
+
// datasets: [],
|
|
13651
|
+
// },
|
|
13652
|
+
// options: {},
|
|
13653
|
+
// };
|
|
13654
|
+
// this.chartObj = new Chart(ctx, noOptions);
|
|
13655
|
+
// this.chartObj.chart.data = [];
|
|
13634
13656
|
}
|
|
13635
|
-
}
|
|
13636
|
-
else {
|
|
13637
|
-
// const ctx = this.chart.nativeElement.getContext('2d');
|
|
13638
|
-
// let noOptions = {
|
|
13639
|
-
// type: options.type,
|
|
13640
|
-
// data: {
|
|
13641
|
-
// datasets: [],
|
|
13642
|
-
// },
|
|
13643
|
-
// options: {},
|
|
13644
|
-
// };
|
|
13645
|
-
// this.chartObj = new Chart(ctx, noOptions);
|
|
13646
|
-
// this.chartObj.chart.data = [];
|
|
13647
|
-
}
|
|
13657
|
+
});
|
|
13648
13658
|
});
|
|
13649
13659
|
}
|
|
13650
13660
|
updateStats() {
|
|
@@ -13653,7 +13663,8 @@ class DynamicChartComponent {
|
|
|
13653
13663
|
ngOnInit() {
|
|
13654
13664
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13655
13665
|
setTimeout(() => {
|
|
13656
|
-
this.
|
|
13666
|
+
this.createChart();
|
|
13667
|
+
this.creatChart.next();
|
|
13657
13668
|
});
|
|
13658
13669
|
});
|
|
13659
13670
|
}
|
|
@@ -13664,7 +13675,7 @@ class DynamicChartComponent {
|
|
|
13664
13675
|
const rangeChanged = changes.range && !((_c = changes.range) === null || _c === void 0 ? void 0 : _c.firstChange);
|
|
13665
13676
|
if (minChanged || maxChanged || rangeChanged) {
|
|
13666
13677
|
setTimeout(() => {
|
|
13667
|
-
this.
|
|
13678
|
+
this.creatChart.next();
|
|
13668
13679
|
});
|
|
13669
13680
|
}
|
|
13670
13681
|
}
|
|
@@ -13672,6 +13683,7 @@ class DynamicChartComponent {
|
|
|
13672
13683
|
this.myDataSubscription ? this.myDataSubscription.unsubscribe() : '';
|
|
13673
13684
|
this.onDestroy$.next(true);
|
|
13674
13685
|
this.onDestroy$.complete();
|
|
13686
|
+
this.creatChart.unsubscribe();
|
|
13675
13687
|
}
|
|
13676
13688
|
getData() {
|
|
13677
13689
|
this.isFetching = true;
|
|
@@ -13825,7 +13837,7 @@ class DynamicChartComponent {
|
|
|
13825
13837
|
}
|
|
13826
13838
|
}
|
|
13827
13839
|
DynamicChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicChartComponent, deps: [{ token: i1$1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: CallApiService }, { token: i1$5.Router }, { token: ChartDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13828
|
-
DynamicChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicChartComponent, selector: "cts-dynamic-chart", inputs: { prefix: "prefix", chartType: "chartType", randomColors: "randomColors", pageProvider: "pageProvider", headers: "headers", observable: "observable", aggregations: "aggregations", quickFilters: "quickFilters", systemCurrentLifeCycleState: "systemCurrentLifeCycleState", range: "range", label: "label", selectedRange: "selectedRange", colors: "colors", randomColor: "randomColor", fetchedKey: "fetchedKey", pageProviderTwo: "pageProviderTwo", quickFilterTwo: "quickFilterTwo", combinedData: "combinedData", statusOne: "statusOne", statusTwo: "statusTwo", min: "min", max: "max", width: "width", height: "height", card: "card", cardTitle: "cardTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["revenueLineChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card-continer\" *ngIf=\"card; else test\">\r\n <div class=\"chart-card-header\">\r\n <div class=\"chart-card-title\">{{ cardTitle | translate }}</div>\r\n <button class=\"chart-card-button\" (click)=\"previewCorrespondences()\">\r\n {{ \"report.Preview\" | translate }}\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"isFetching\">\r\n <cts-spinner></cts-spinner>\r\n </ng-container>\r\n <
|
|
13840
|
+
DynamicChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicChartComponent, selector: "cts-dynamic-chart", inputs: { prefix: "prefix", chartType: "chartType", randomColors: "randomColors", pageProvider: "pageProvider", headers: "headers", observable: "observable", aggregations: "aggregations", quickFilters: "quickFilters", systemCurrentLifeCycleState: "systemCurrentLifeCycleState", range: "range", label: "label", selectedRange: "selectedRange", colors: "colors", randomColor: "randomColor", fetchedKey: "fetchedKey", pageProviderTwo: "pageProviderTwo", quickFilterTwo: "quickFilterTwo", combinedData: "combinedData", statusOne: "statusOne", statusTwo: "statusTwo", min: "min", max: "max", width: "width", height: "height", card: "card", cardTitle: "cardTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["revenueLineChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card-continer\" *ngIf=\"card; else test\">\r\n <div class=\"chart-card-header\">\r\n <div class=\"chart-card-title\">{{ cardTitle | translate }}</div>\r\n <button class=\"chart-card-button\" (click)=\"previewCorrespondences()\">\r\n {{ \"report.Preview\" | translate }}\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"isFetching\">\r\n <cts-spinner></cts-spinner>\r\n </ng-container>\r\n <div class=\"stat\" [style.height.px]=\"height\">\r\n <div [hidden]=\"data.data?.length == 0 || data.length == 0\">\r\n <canvas #revenueLineChart [height]=\"height\" [width]=\"width\"></canvas>\r\n </div>\r\n <div class=\"no-stats\" *ngIf=\"data.data?.length == 0 || data.length == 0\">\r\n <span>{{ \"STATS.noData\" | translate }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #test>\r\n <div class=\"stat\">\r\n <canvas #revenueLineChart [height]=\"height\" [width]=\"width\"></canvas>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.no-stats{width:100%;height:100%;display:grid;place-items:center}.card-continer{background:#ffffff;border-radius:5px;width:100%;padding:16px 20px;box-shadow:0 1px 1px #00000017}.card-continer .chart-card-header{display:flex;justify-content:space-between;align-items:center}.card-continer .chart-card-header .chart-card-title{font-weight:500}.card-continer .chart-card-header .chart-card-button{all:unset;background:#3341551a;color:#465573;padding:6px 18px;border-radius:24px;font-size:16px;cursor:pointer}.card-continer .chart-card-header .chart-card-button:hover{background:#8f98aa;color:#fff}\n"], components: [{ type: SpinnerComponent, selector: "cts-spinner" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe } });
|
|
13829
13841
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicChartComponent, decorators: [{
|
|
13830
13842
|
type: Component,
|
|
13831
13843
|
args: [{
|
|
@@ -13835,7 +13847,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
13835
13847
|
}]
|
|
13836
13848
|
}], ctorParameters: function () { return [{ type: i1$1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: CallApiService }, { type: i1$5.Router }, { type: ChartDataService }]; }, propDecorators: { chart: [{
|
|
13837
13849
|
type: ViewChild,
|
|
13838
|
-
args: [
|
|
13850
|
+
args: ['revenueLineChart', { static: false }]
|
|
13839
13851
|
}], prefix: [{
|
|
13840
13852
|
type: Input
|
|
13841
13853
|
}], chartType: [{
|
|
@@ -16267,7 +16279,7 @@ class VersionsComponent {
|
|
|
16267
16279
|
}
|
|
16268
16280
|
}
|
|
16269
16281
|
VersionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: VersionsComponent, deps: [{ token: ViewerFilesService }, { token: DocumentsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16270
|
-
VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.
|
|
16282
|
+
VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.current\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(file)\">\r\n <div class=\"description\">\r\n {{ file.properties.major_version }}.{{\r\n file.properties.minor_version\r\n }}\r\n -\r\n {{ file.lastModified | localizedDate }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" *ngIf=\"versions.length > 0\">\r\n <div class=\"subheader\">\r\n <div>{{ \"viewer.origin\" | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list\r\n [item]=\"versions[versions.length -1]\"\r\n [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\"\r\n >\r\n \r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.history\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container >\r\n\r\n\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + ' - ' + ( cnt - (i-1) - 1 ) \" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\">\r\n <div class=\"description\">\r\n {{ version.properties.major_version }}.{{\r\n version.properties.minor_version\r\n }}\r\n -\r\n {{ version.lastModified | localizedDate }}\r\n <span class=\"font-weight-bold\">\r\n {{\r\n version.properties.lastContributor.properties.firstName +\r\n \" \" +\r\n version.properties.lastContributor.properties.lastName\r\n }}\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"versions.length === 0\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n<ng-template #noEntry>\r\n \r\n</ng-template>\r\n", styles: [""], components: [{ type: i2$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe, "localizedDate": LocalizedDatePipe } });
|
|
16271
16283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: VersionsComponent, decorators: [{
|
|
16272
16284
|
type: Component,
|
|
16273
16285
|
args: [{
|