ngx-histaff-alpha 4.8.7 → 4.8.9

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.
@@ -356,6 +356,26 @@ class MultiLanguageService {
356
356
  return key;
357
357
  }
358
358
  }
359
+ covertOneBasedDayNumberToDayOfWeekCode(dayNumber) {
360
+ switch (dayNumber % 7) {
361
+ case 1:
362
+ return 'UI_COMMON_MONDAY';
363
+ case 2:
364
+ return 'UI_COMMON_TUESDAY';
365
+ case 3:
366
+ return 'UI_COMMON_WEDNESDAY';
367
+ case 4:
368
+ return 'UI_COMMON_THURSDAY';
369
+ case 5:
370
+ return 'UI_COMMON_FRIDAY';
371
+ case 6:
372
+ return 'UI_COMMON_SATURDAY';
373
+ case 0:
374
+ return 'UI_COMMON_SUNDAY';
375
+ default:
376
+ return 'UI_COMMON_UNKNOWN_DAY_OF_WEEK';
377
+ }
378
+ }
359
379
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: MultiLanguageService, deps: [{ token: CommonHttpRequestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
360
380
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: MultiLanguageService, providedIn: 'root' }); }
361
381
  }
@@ -9395,6 +9415,7 @@ class CorePaginationFullComponent extends BaseComponent {
9395
9415
  this.mls = mls;
9396
9416
  this.onClickAdd = new EventEmitter();
9397
9417
  this.onCurrentPageChange = new EventEmitter();
9418
+ this.onSizeChange = new EventEmitter();
9398
9419
  this.navigationDirection = 1;
9399
9420
  this.displayPageCount = [];
9400
9421
  this.SizeChanger = [5, 10, 20, 50, 200, 500, 1000, 5000, 10000];
@@ -9412,10 +9433,11 @@ class CorePaginationFullComponent extends BaseComponent {
9412
9433
  this.subscriptions.push(this.pageSize$.subscribe(x => this.selectedSize = x));
9413
9434
  this.subscriptions.push(this.currentPage$.subscribe(x => this.currentButtonContent = x?.toString()));
9414
9435
  }
9415
- onSizeChange(event) {
9436
+ onSizeChangeLocal(event) {
9416
9437
  this.pageSize$.next(event);
9417
9438
  this.pageCount = Math.ceil(this.innerBodyCount$.value / this.pageSize$.value);
9418
9439
  this.pagination$.next({ skip: 0, take: this.pageSize$.value });
9440
+ this.onSizeChange.emit(event);
9419
9441
  }
9420
9442
  resolvePageCount() {
9421
9443
  let arrayPageCount = this.chunkArray(this.pageCount, 4);
@@ -9521,7 +9543,7 @@ class CorePaginationFullComponent extends BaseComponent {
9521
9543
  this.subscriptions.map(x => x?.unsubscribe());
9522
9544
  }
9523
9545
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CorePaginationFullComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
9524
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: CorePaginationFullComponent, isStandalone: true, selector: "core-pagination-full", inputs: { currentPage$: "currentPage$", height: "height", pageCount: "pageCount", loading: "loading", showAdd: "showAdd", background: "background", pageSize$: "pageSize$", innerBodyCount$: "innerBodyCount$", pagination$: "pagination$", fixedPageSize: "fixedPageSize" }, outputs: { onClickAdd: "onClickAdd", onCurrentPageChange: "onCurrentPageChange" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "current", first: true, predicate: ["current"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"pagination-full-container inter-font d-flex d-flex-between\" [ngStyle]=\"{\r\n width: '100%'\r\n}\">\r\n <div class=\"custom-select-container\">\r\n <label style=\"color:#848484\">{{ 'UI.COMPONENT.CORE-PAGINATION-FULL.VIEW' | translate: lang\r\n }}&nbsp;&nbsp;</label>\r\n <select class=\"custom-select\" [(ngModel)]=\"selectedSize\" (ngModelChange)=\"onSizeChange($event)\"\r\n [disabled]=\"!!fixedPageSize\">\r\n <option *ngFor=\"let size of SizeChanger\">{{size}}</option>\r\n </select>\r\n <label style=\"color:#848484\">&nbsp;/{{innerBodyCount$.value}}&nbsp;{{\r\n 'UI.COMPONENT.CORE-PAGINATION-FULL.RESULTS' | translate: lang }}</label>\r\n </div>\r\n <div class=\"pagination-container\">\r\n <div class=\"first\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goFirst()\"></div>\r\n <div class=\"previous\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goPrevious()\"></div>\r\n <div #current *ngFor=\"let item of displayPageCount\" [class.hide-item]=\"item !== currentPage$.value\">\r\n <div class=\"d-flex d-flex-center\">\r\n <span (click)=\"clickPageNumber(item)\" [class.current]=\"item == currentPage$.value\"\r\n [class.not-current]=\"item !== currentPage$.value\">\r\n <object>\r\n {{ item }}\r\n </object>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"next\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goNext()\"></div>\r\n <div class=\"last\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goLast()\"></div>\r\n </div>\r\n</div>", styles: [".pagination-full-container{--bg: #848484;--color: white;--height: 30px;--button-size: 30px;--font-size: 12px;--aperture-size: 36px;width:100%!important;display:flex;align-items:center;justify-content:space-between;background-color:#fff}.pagination-full-container *{font-size:13px!important}@keyframes rotate-current-content-fw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-current-content-bw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pagination-full-container select{border-color:#848484;color:#848484}.pagination-full-container span{display:inline-flex;align-items:center;justify-content:center;height:var(--button-size)}.pagination-full-container span.current,.pagination-full-container span.not-current{display:inline-flex;align-items:center;justify-content:center}.pagination-full-container .add:before{font-family:feather;content:\"\\e9b1\";font-weight:700;font-size:var(--font-size);color:#fff;background:var(--bg);width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center;border-top-right-radius:50%;border-bottom-right-radius:50%}.pagination-full-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid #ccc;background-color:#f9f9f9;color:#333;padding-left:12px;font-size:16px;width:200px;height:30px;cursor:pointer}.pagination-full-container select{background-image:url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns%3D%27http%3A//www.w3.org/2000/svg%27 viewBox%3D%270 0 4 5%27%3E%3Cpath fill%3D%27%23333%27 d%3D%27M2 0L0 2h4z%27/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:calc(100% - 10px);background-position-y:10px;background-size:10px;line-height:normal}.pagination-full-container select:hover{border-color:#888}.pagination-full-container select:focus{outline:none}.pagination-full-container select:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.pagination-full-container .custom-select{width:80px;height:28px}.pagination-full-container .custom-select-container{color:#a5a4a4;margin-right:12px;background-color:#fff}.pagination-full-container .pagination-container{height:var(--height);display:flex;align-items:center;justify-content:center;background-color:#fff}.pagination-full-container .pagination-container>div{display:inline-block;cursor:pointer;margin-right:5px}.pagination-full-container .pagination-container .disable{cursor:default;opacity:.5!important}.pagination-full-container .pagination-container .current{margin:0;opacity:1;display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .not-current{border:1px solid #D1D1D1;opacity:1;display:flex;justify-content:center}.pagination-full-container .pagination-container .not-current:hover{background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .aperture{width:var(--aperture-size);height:var(--aperture-size);animation:1s infinite linear;opacity:0;transition:.25s ease-out}.pagination-full-container .pagination-container .aperture:before{font-size:var(--aperture-size)}.pagination-full-container .pagination-container .visible{opacity:1;transition:.25s ease-out}.pagination-full-container .pagination-container .current,.pagination-full-container .pagination-container .loading{width:var(--button-size);height:var(--button-size);background:var(--color-basic-orange);color:var(--color)}.pagination-full-container .pagination-container .not-current{width:var(--button-size);height:var(--button-size);background:#fff;color:#848484}.pagination-full-container .pagination-container .current-text{position:absolute}.pagination-full-container .pagination-container .not-current>div,.pagination-full-container .pagination-container .current>div{width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container div:before{font-family:feather;font-size:var(--font-size);width:var(--button-size);height:var(--button-size);background:var(--bg);color:var(--color);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .first:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .first.disable:hover:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .first:hover:before{content:\"\\e933\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .previous.disable:hover:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .previous:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .previous:hover:before{content:\"\\e92f\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .next:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .next.disable:hover:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .next:hover:before{content:\"\\e930\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .last.disable:hover:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .last:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .last:hover:before{content:\"\\e934\";background:#a5a4a4;color:#fff;border:1px solid white}@media only screen and (max-width: 768px){.custom-select-container{display:none}}@media only screen and (max-width: 576px){.pagination-container .pagination-container .not-current{display:none}.hide-item{display:none!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
9546
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: CorePaginationFullComponent, isStandalone: true, selector: "core-pagination-full", inputs: { currentPage$: "currentPage$", height: "height", pageCount: "pageCount", loading: "loading", showAdd: "showAdd", background: "background", pageSize$: "pageSize$", innerBodyCount$: "innerBodyCount$", pagination$: "pagination$", fixedPageSize: "fixedPageSize" }, outputs: { onClickAdd: "onClickAdd", onCurrentPageChange: "onCurrentPageChange", onSizeChange: "onSizeChange" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "current", first: true, predicate: ["current"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"pagination-full-container inter-font d-flex d-flex-between\" [ngStyle]=\"{\r\n width: '100%'\r\n}\">\r\n <div class=\"custom-select-container\">\r\n <label style=\"color:#848484\">{{ 'UI.COMPONENT.CORE-PAGINATION-FULL.VIEW' | translate: lang\r\n }}&nbsp;&nbsp;</label>\r\n <select class=\"custom-select\" [(ngModel)]=\"selectedSize\" (ngModelChange)=\"onSizeChangeLocal($event)\"\r\n [disabled]=\"!!fixedPageSize\">\r\n <option *ngFor=\"let size of SizeChanger\">{{size}}</option>\r\n </select>\r\n <label style=\"color:#848484\">&nbsp;/{{innerBodyCount$.value}}&nbsp;{{\r\n 'UI.COMPONENT.CORE-PAGINATION-FULL.RESULTS' | translate: lang }}</label>\r\n </div>\r\n <div class=\"pagination-container\">\r\n <div class=\"first\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goFirst()\"></div>\r\n <div class=\"previous\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goPrevious()\"></div>\r\n <div #current *ngFor=\"let item of displayPageCount\" [class.hide-item]=\"item !== currentPage$.value\">\r\n <div class=\"d-flex d-flex-center\">\r\n <span (click)=\"clickPageNumber(item)\" [class.current]=\"item == currentPage$.value\"\r\n [class.not-current]=\"item !== currentPage$.value\">\r\n <object>\r\n {{ item }}\r\n </object>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"next\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goNext()\"></div>\r\n <div class=\"last\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goLast()\"></div>\r\n </div>\r\n</div>", styles: [".pagination-full-container{--bg: #848484;--color: white;--height: 30px;--button-size: 30px;--font-size: 12px;--aperture-size: 36px;width:100%!important;display:flex;align-items:center;justify-content:space-between;background-color:#fff}.pagination-full-container *{font-size:13px!important}@keyframes rotate-current-content-fw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-current-content-bw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pagination-full-container select{border-color:#848484;color:#848484}.pagination-full-container span{display:inline-flex;align-items:center;justify-content:center;height:var(--button-size)}.pagination-full-container span.current,.pagination-full-container span.not-current{display:inline-flex;align-items:center;justify-content:center}.pagination-full-container .add:before{font-family:feather;content:\"\\e9b1\";font-weight:700;font-size:var(--font-size);color:#fff;background:var(--bg);width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center;border-top-right-radius:50%;border-bottom-right-radius:50%}.pagination-full-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid #ccc;background-color:#f9f9f9;color:#333;padding-left:12px;font-size:16px;width:200px;height:30px;cursor:pointer}.pagination-full-container select{background-image:url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns%3D%27http%3A//www.w3.org/2000/svg%27 viewBox%3D%270 0 4 5%27%3E%3Cpath fill%3D%27%23333%27 d%3D%27M2 0L0 2h4z%27/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:calc(100% - 10px);background-position-y:10px;background-size:10px;line-height:normal}.pagination-full-container select:hover{border-color:#888}.pagination-full-container select:focus{outline:none}.pagination-full-container select:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.pagination-full-container .custom-select{width:80px;height:28px}.pagination-full-container .custom-select-container{color:#a5a4a4;margin-right:12px;background-color:#fff}.pagination-full-container .pagination-container{height:var(--height);display:flex;align-items:center;justify-content:center;background-color:#fff}.pagination-full-container .pagination-container>div{display:inline-block;cursor:pointer;margin-right:5px}.pagination-full-container .pagination-container .disable{cursor:default;opacity:.5!important}.pagination-full-container .pagination-container .current{margin:0;opacity:1;display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .not-current{border:1px solid #D1D1D1;opacity:1;display:flex;justify-content:center}.pagination-full-container .pagination-container .not-current:hover{background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .aperture{width:var(--aperture-size);height:var(--aperture-size);animation:1s infinite linear;opacity:0;transition:.25s ease-out}.pagination-full-container .pagination-container .aperture:before{font-size:var(--aperture-size)}.pagination-full-container .pagination-container .visible{opacity:1;transition:.25s ease-out}.pagination-full-container .pagination-container .current,.pagination-full-container .pagination-container .loading{width:var(--button-size);height:var(--button-size);background:var(--color-basic-orange);color:var(--color)}.pagination-full-container .pagination-container .not-current{width:var(--button-size);height:var(--button-size);background:#fff;color:#848484}.pagination-full-container .pagination-container .current-text{position:absolute}.pagination-full-container .pagination-container .not-current>div,.pagination-full-container .pagination-container .current>div{width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container div:before{font-family:feather;font-size:var(--font-size);width:var(--button-size);height:var(--button-size);background:var(--bg);color:var(--color);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .first:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .first.disable:hover:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .first:hover:before{content:\"\\e933\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .previous.disable:hover:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .previous:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .previous:hover:before{content:\"\\e92f\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .next:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .next.disable:hover:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .next:hover:before{content:\"\\e930\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .last.disable:hover:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .last:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .last:hover:before{content:\"\\e934\";background:#a5a4a4;color:#fff;border:1px solid white}@media only screen and (max-width: 768px){.custom-select-container{display:none}}@media only screen and (max-width: 576px){.pagination-container .pagination-container .not-current{display:none}.hide-item{display:none!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
9525
9547
  }
9526
9548
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CorePaginationFullComponent, decorators: [{
9527
9549
  type: Component,
@@ -9529,7 +9551,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
9529
9551
  CommonModule,
9530
9552
  FormsModule,
9531
9553
  TranslatePipe
9532
- ], template: "<div #container class=\"pagination-full-container inter-font d-flex d-flex-between\" [ngStyle]=\"{\r\n width: '100%'\r\n}\">\r\n <div class=\"custom-select-container\">\r\n <label style=\"color:#848484\">{{ 'UI.COMPONENT.CORE-PAGINATION-FULL.VIEW' | translate: lang\r\n }}&nbsp;&nbsp;</label>\r\n <select class=\"custom-select\" [(ngModel)]=\"selectedSize\" (ngModelChange)=\"onSizeChange($event)\"\r\n [disabled]=\"!!fixedPageSize\">\r\n <option *ngFor=\"let size of SizeChanger\">{{size}}</option>\r\n </select>\r\n <label style=\"color:#848484\">&nbsp;/{{innerBodyCount$.value}}&nbsp;{{\r\n 'UI.COMPONENT.CORE-PAGINATION-FULL.RESULTS' | translate: lang }}</label>\r\n </div>\r\n <div class=\"pagination-container\">\r\n <div class=\"first\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goFirst()\"></div>\r\n <div class=\"previous\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goPrevious()\"></div>\r\n <div #current *ngFor=\"let item of displayPageCount\" [class.hide-item]=\"item !== currentPage$.value\">\r\n <div class=\"d-flex d-flex-center\">\r\n <span (click)=\"clickPageNumber(item)\" [class.current]=\"item == currentPage$.value\"\r\n [class.not-current]=\"item !== currentPage$.value\">\r\n <object>\r\n {{ item }}\r\n </object>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"next\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goNext()\"></div>\r\n <div class=\"last\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goLast()\"></div>\r\n </div>\r\n</div>", styles: [".pagination-full-container{--bg: #848484;--color: white;--height: 30px;--button-size: 30px;--font-size: 12px;--aperture-size: 36px;width:100%!important;display:flex;align-items:center;justify-content:space-between;background-color:#fff}.pagination-full-container *{font-size:13px!important}@keyframes rotate-current-content-fw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-current-content-bw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pagination-full-container select{border-color:#848484;color:#848484}.pagination-full-container span{display:inline-flex;align-items:center;justify-content:center;height:var(--button-size)}.pagination-full-container span.current,.pagination-full-container span.not-current{display:inline-flex;align-items:center;justify-content:center}.pagination-full-container .add:before{font-family:feather;content:\"\\e9b1\";font-weight:700;font-size:var(--font-size);color:#fff;background:var(--bg);width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center;border-top-right-radius:50%;border-bottom-right-radius:50%}.pagination-full-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid #ccc;background-color:#f9f9f9;color:#333;padding-left:12px;font-size:16px;width:200px;height:30px;cursor:pointer}.pagination-full-container select{background-image:url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns%3D%27http%3A//www.w3.org/2000/svg%27 viewBox%3D%270 0 4 5%27%3E%3Cpath fill%3D%27%23333%27 d%3D%27M2 0L0 2h4z%27/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:calc(100% - 10px);background-position-y:10px;background-size:10px;line-height:normal}.pagination-full-container select:hover{border-color:#888}.pagination-full-container select:focus{outline:none}.pagination-full-container select:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.pagination-full-container .custom-select{width:80px;height:28px}.pagination-full-container .custom-select-container{color:#a5a4a4;margin-right:12px;background-color:#fff}.pagination-full-container .pagination-container{height:var(--height);display:flex;align-items:center;justify-content:center;background-color:#fff}.pagination-full-container .pagination-container>div{display:inline-block;cursor:pointer;margin-right:5px}.pagination-full-container .pagination-container .disable{cursor:default;opacity:.5!important}.pagination-full-container .pagination-container .current{margin:0;opacity:1;display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .not-current{border:1px solid #D1D1D1;opacity:1;display:flex;justify-content:center}.pagination-full-container .pagination-container .not-current:hover{background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .aperture{width:var(--aperture-size);height:var(--aperture-size);animation:1s infinite linear;opacity:0;transition:.25s ease-out}.pagination-full-container .pagination-container .aperture:before{font-size:var(--aperture-size)}.pagination-full-container .pagination-container .visible{opacity:1;transition:.25s ease-out}.pagination-full-container .pagination-container .current,.pagination-full-container .pagination-container .loading{width:var(--button-size);height:var(--button-size);background:var(--color-basic-orange);color:var(--color)}.pagination-full-container .pagination-container .not-current{width:var(--button-size);height:var(--button-size);background:#fff;color:#848484}.pagination-full-container .pagination-container .current-text{position:absolute}.pagination-full-container .pagination-container .not-current>div,.pagination-full-container .pagination-container .current>div{width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container div:before{font-family:feather;font-size:var(--font-size);width:var(--button-size);height:var(--button-size);background:var(--bg);color:var(--color);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .first:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .first.disable:hover:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .first:hover:before{content:\"\\e933\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .previous.disable:hover:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .previous:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .previous:hover:before{content:\"\\e92f\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .next:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .next.disable:hover:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .next:hover:before{content:\"\\e930\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .last.disable:hover:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .last:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .last:hover:before{content:\"\\e934\";background:#a5a4a4;color:#fff;border:1px solid white}@media only screen and (max-width: 768px){.custom-select-container{display:none}}@media only screen and (max-width: 576px){.pagination-container .pagination-container .not-current{display:none}.hide-item{display:none!important}}\n"] }]
9554
+ ], template: "<div #container class=\"pagination-full-container inter-font d-flex d-flex-between\" [ngStyle]=\"{\r\n width: '100%'\r\n}\">\r\n <div class=\"custom-select-container\">\r\n <label style=\"color:#848484\">{{ 'UI.COMPONENT.CORE-PAGINATION-FULL.VIEW' | translate: lang\r\n }}&nbsp;&nbsp;</label>\r\n <select class=\"custom-select\" [(ngModel)]=\"selectedSize\" (ngModelChange)=\"onSizeChangeLocal($event)\"\r\n [disabled]=\"!!fixedPageSize\">\r\n <option *ngFor=\"let size of SizeChanger\">{{size}}</option>\r\n </select>\r\n <label style=\"color:#848484\">&nbsp;/{{innerBodyCount$.value}}&nbsp;{{\r\n 'UI.COMPONENT.CORE-PAGINATION-FULL.RESULTS' | translate: lang }}</label>\r\n </div>\r\n <div class=\"pagination-container\">\r\n <div class=\"first\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goFirst()\"></div>\r\n <div class=\"previous\" [class.disable]=\"!!!pageCount || currentPage$.value===1\" (click)=\"goPrevious()\"></div>\r\n <div #current *ngFor=\"let item of displayPageCount\" [class.hide-item]=\"item !== currentPage$.value\">\r\n <div class=\"d-flex d-flex-center\">\r\n <span (click)=\"clickPageNumber(item)\" [class.current]=\"item == currentPage$.value\"\r\n [class.not-current]=\"item !== currentPage$.value\">\r\n <object>\r\n {{ item }}\r\n </object>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"next\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goNext()\"></div>\r\n <div class=\"last\" [class.disable]=\"!!!pageCount || currentPage$.value===pageCount\" (click)=\"goLast()\"></div>\r\n </div>\r\n</div>", styles: [".pagination-full-container{--bg: #848484;--color: white;--height: 30px;--button-size: 30px;--font-size: 12px;--aperture-size: 36px;width:100%!important;display:flex;align-items:center;justify-content:space-between;background-color:#fff}.pagination-full-container *{font-size:13px!important}@keyframes rotate-current-content-fw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-current-content-bw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pagination-full-container select{border-color:#848484;color:#848484}.pagination-full-container span{display:inline-flex;align-items:center;justify-content:center;height:var(--button-size)}.pagination-full-container span.current,.pagination-full-container span.not-current{display:inline-flex;align-items:center;justify-content:center}.pagination-full-container .add:before{font-family:feather;content:\"\\e9b1\";font-weight:700;font-size:var(--font-size);color:#fff;background:var(--bg);width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center;border-top-right-radius:50%;border-bottom-right-radius:50%}.pagination-full-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid #ccc;background-color:#f9f9f9;color:#333;padding-left:12px;font-size:16px;width:200px;height:30px;cursor:pointer}.pagination-full-container select{background-image:url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns%3D%27http%3A//www.w3.org/2000/svg%27 viewBox%3D%270 0 4 5%27%3E%3Cpath fill%3D%27%23333%27 d%3D%27M2 0L0 2h4z%27/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:calc(100% - 10px);background-position-y:10px;background-size:10px;line-height:normal}.pagination-full-container select:hover{border-color:#888}.pagination-full-container select:focus{outline:none}.pagination-full-container select:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.pagination-full-container .custom-select{width:80px;height:28px}.pagination-full-container .custom-select-container{color:#a5a4a4;margin-right:12px;background-color:#fff}.pagination-full-container .pagination-container{height:var(--height);display:flex;align-items:center;justify-content:center;background-color:#fff}.pagination-full-container .pagination-container>div{display:inline-block;cursor:pointer;margin-right:5px}.pagination-full-container .pagination-container .disable{cursor:default;opacity:.5!important}.pagination-full-container .pagination-container .current{margin:0;opacity:1;display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .not-current{border:1px solid #D1D1D1;opacity:1;display:flex;justify-content:center}.pagination-full-container .pagination-container .not-current:hover{background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .aperture{width:var(--aperture-size);height:var(--aperture-size);animation:1s infinite linear;opacity:0;transition:.25s ease-out}.pagination-full-container .pagination-container .aperture:before{font-size:var(--aperture-size)}.pagination-full-container .pagination-container .visible{opacity:1;transition:.25s ease-out}.pagination-full-container .pagination-container .current,.pagination-full-container .pagination-container .loading{width:var(--button-size);height:var(--button-size);background:var(--color-basic-orange);color:var(--color)}.pagination-full-container .pagination-container .not-current{width:var(--button-size);height:var(--button-size);background:#fff;color:#848484}.pagination-full-container .pagination-container .current-text{position:absolute}.pagination-full-container .pagination-container .not-current>div,.pagination-full-container .pagination-container .current>div{width:var(--button-size);height:var(--button-size);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container div:before{font-family:feather;font-size:var(--font-size);width:var(--button-size);height:var(--button-size);background:var(--bg);color:var(--color);display:flex;align-items:center;justify-content:center}.pagination-full-container .pagination-container .first:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .first.disable:hover:before{content:\"\\e933\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .first:hover:before{content:\"\\e933\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .previous.disable:hover:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .previous:before{content:\"\\e92f\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .previous:hover:before{content:\"\\e92f\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .next:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .next.disable:hover:before{content:\"\\e930\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .next:hover:before{content:\"\\e930\";background:#a5a4a4;color:#fff;border:1px solid white}.pagination-full-container .pagination-container .last.disable:hover:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #A5A4A4}.pagination-full-container .pagination-container .last:before{content:\"\\e934\";background:#fff;color:#a5a4a4;border:1px solid #D1D1D1}.pagination-full-container .pagination-container .last:hover:before{content:\"\\e934\";background:#a5a4a4;color:#fff;border:1px solid white}@media only screen and (max-width: 768px){.custom-select-container{display:none}}@media only screen and (max-width: 576px){.pagination-container .pagination-container .not-current{display:none}.hide-item{display:none!important}}\n"] }]
9533
9555
  }], ctorParameters: () => [{ type: MultiLanguageService }], propDecorators: { currentPage$: [{
9534
9556
  type: Input
9535
9557
  }], height: [{
@@ -9554,6 +9576,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
9554
9576
  type: Output
9555
9577
  }], onCurrentPageChange: [{
9556
9578
  type: Output
9579
+ }], onSizeChange: [{
9580
+ type: Output
9557
9581
  }], container: [{
9558
9582
  type: ViewChild,
9559
9583
  args: ['container']
@@ -12077,7 +12101,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
12077
12101
  useExisting: CorePageListComponent,
12078
12102
  },
12079
12103
  CorePageListState,
12080
- ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "corePageListContainer", first: true, predicate: ["corePageListContainer"], descendants: true }, { propertyName: "paginationContainer", first: true, predicate: ["paginationContainer"], descendants: true }, { propertyName: "fileImport", first: true, predicate: ["fileImport"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-page-list-container p-relative\" #corePageListContainer\r\n [ngStyle]=\"{ height: height + 'px' }\">\r\n\r\n @if (!hideHeader) {\r\n <core-page-header [instanceNumber]=\"corePageListInstanceNumber\" [title]=\"title\"\r\n (buttonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [hideButtonGroup]=\"!!seekerMode || !!hideButtonGroup\"></core-page-header>\r\n }\r\n\r\n <input #fileImport type=\"file\" name=\"name\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n style=\"display: none;\" (change)='inputFile($event)' />\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n -->\r\n <core-composition [coreCompositionInstanceNumber]=\"corePageListInstanceNumber\" [top]=\"topPlace\"\r\n [left]=\"!!hideLeft? undefined :left\" [main]=\"coreTable\" [height]=\"compositionHeight\">\r\n </core-composition>\r\n\r\n <router-outlet name=\"corePageListAux\"></router-outlet>\r\n\r\n <!-- @if (!!tabMode && showFilterKit) {\r\n <div class = \"filter-kit-dropdown\" [ngStyle]=\"{\r\n zIndex: filterKitZIndex\r\n }\">\r\n <core-common-param-kit [hiddenMode]=\"true\" [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" [statusOptions$]=\"statusOptions$\" [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\" [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </div>\r\n } -->\r\n\r\n @if (!disableFilterHub && showFilter && !!paramRows) {\r\n <core-filter-hub [paramRows]=\"paramRows\"></core-filter-hub>\r\n }\r\n\r\n</div>\r\n\r\n<ng-template #topPlace>\r\n\r\n @if (!tabMode) {\r\n @if (!!showParamKit) {\r\n <div>\r\n <core-common-param-kit [hiddenMode]=\"false\" [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" [statusOptions$]=\"statusOptions$\" [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\" [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </div>\r\n }\r\n\r\n <!-- @if (enableFilterKit) {\r\n <core-filter-kit \r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" \r\n [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" \r\n [statusOptions$]=\"statusOptions$\" \r\n [showOrgParam]=\"showOrgParam\"\r\n [showOrgParamDropdown]=\"showOrgParamDropdown\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"\r\n ></core-filter-kit> \r\n } -->\r\n } @else {\r\n <core-tabs [headers]=\"tabHeaders\" [contents]=\"[]\" [height]=\"45\" [headerLineHeight]=\"45\"\r\n (onHeaderClick)=\"onCoreTabsHeaderClick($event)\">\r\n </core-tabs>\r\n <!-- <core-filter-kit \r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" \r\n [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" \r\n [statusOptions$]=\"statusOptions$\" \r\n [showOrgParam]=\"showOrgParam\"\r\n [showOrgParamDropdown]=\"showOrgParamDropdown\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"\r\n ></core-filter-kit> -->\r\n }\r\n\r\n <ng-container *ngTemplateOutlet=\"top\">\r\n </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #coreTable>\r\n\r\n <div [class.opacity0]=\"!!!geometricDone\">\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n\r\n C\u1EA7n t\u00EDnh tableHeight nh\u01B0 th\u1EBF n\u00E0o?\r\n -->\r\n <core-table #coreTableAlone width=\"100%\" [height]=\"tableHeight\" [rowHeight]=\"rowHeight || '46px'\" [wrap]=\"wrap\"\r\n [primaryKey]=\"primaryKey\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" headerHeight=\"60px\"\r\n [showTools]=\"showListInlineTools\" [tools]=\"inlineTools\" (onToolClick)=\"onToolClick($event)\"\r\n (onRowClick)=\"onRowClick($event)\" (onRowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (onSelectedIdsChange)=\"onSelectedIdsChange($event)\" (onSelectedDataChange)=\"onSelectedDataChange($event)\"\r\n [frozen]=\"frozen || 1\" (onSearching)=\"onSearching($event)\"\r\n (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\" [loading]=\"loading\"\r\n [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\" [lazyLoading]=\"true\" [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\" [noPaddingCell]=\"noPaddingCell\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\" [primaryKey]=\"primaryKey\"\r\n [autoColumnFitAvailableSpace]=\"autoColumnFitAvailableSpace\"\r\n [checkboxExplicity]=\"checkboxExplicity\"\r\n ></core-table>\r\n\r\n <div class=\"d-flex d-flex-between pagination-wrapper w-100\" #paginationContainer>\r\n <core-pagination-full [height]=\"paginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\" [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\"\r\n [loading]=\"loading\" [fixedPageSize]=\"fixedPageSize\" [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<core-api-progress *ngIf=\"longApiRunning\" (onClose)=\"onProgressWindowClose($event)\"></core-api-progress>\r\n\r\n<app-fullscreen-modal-loader *ngIf=\"prefetchLoading\"></app-fullscreen-modal-loader>", styles: [".core-page-list-container{--height: auto;box-sizing:border-box!important;border:none!important;height:var(--height)}.core-page-list-container *{box-sizing:border-box}.core-page-list-container .column-caption{text-align:center}.core-page-list-container core-pagination-full{width:100%}.core-page-list-container .filter-kit-dropdown{top:120px;right:120px;position:fixed;box-shadow:0 1rem 3rem #0000002e}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerColor", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "primaryKey", "rowHoverBgColor", "noPaddingCell", "autoColumnFitAvailableSpace", "checkboxExplicity"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CorePaginationFullComponent, selector: "core-pagination-full", inputs: ["currentPage$", "height", "pageCount", "loading", "showAdd", "background", "pageSize$", "innerBodyCount$", "pagination$", "fixedPageSize"], outputs: ["onClickAdd", "onCurrentPageChange"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "component", type: CoreCompositionComponent, selector: "core-composition", inputs: ["coreCompositionInstanceNumber", "top", "left", "leftWidth", "main", "height", "defaultResizeOff"] }, { kind: "component", type: CoreCommonParamKitComponent, selector: "core-common-param-kit", inputs: ["hiddenMode", "enableTimeZoneConverterForDateTimePeriodParameters", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "showOrgParam", "showOrgParamDropdown", "hideDatePeriodComparison", "hideStatusInclusion", "hideGeneralSearch", "statusOptions$"], outputs: ["onChange"] }, { kind: "component", type: CoreApiProgressComponent, selector: "core-api-progress", outputs: ["onClose"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }, { kind: "component", type: CoreTabsComponent, selector: "core-tabs", inputs: ["headers", "contents", "headerTools", "height", "headerLineHeight"], outputs: ["onHeaderClick", "onToolItemClick"] }, { kind: "component", type: CoreFilterHubComponent, selector: "core-filter-hub", inputs: ["paramRows", "showButton"], outputs: ["onButtonClick"] }] }); }
12104
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "corePageListContainer", first: true, predicate: ["corePageListContainer"], descendants: true }, { propertyName: "paginationContainer", first: true, predicate: ["paginationContainer"], descendants: true }, { propertyName: "fileImport", first: true, predicate: ["fileImport"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-page-list-container p-relative\" #corePageListContainer\r\n [ngStyle]=\"{ height: height + 'px' }\">\r\n\r\n @if (!hideHeader) {\r\n <core-page-header [instanceNumber]=\"corePageListInstanceNumber\" [title]=\"title\"\r\n (buttonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [hideButtonGroup]=\"!!seekerMode || !!hideButtonGroup\"></core-page-header>\r\n }\r\n\r\n <input #fileImport type=\"file\" name=\"name\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n style=\"display: none;\" (change)='inputFile($event)' />\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n -->\r\n <core-composition [coreCompositionInstanceNumber]=\"corePageListInstanceNumber\" [top]=\"topPlace\"\r\n [left]=\"!!hideLeft? undefined :left\" [main]=\"coreTable\" [height]=\"compositionHeight\">\r\n </core-composition>\r\n\r\n <router-outlet name=\"corePageListAux\"></router-outlet>\r\n\r\n <!-- @if (!!tabMode && showFilterKit) {\r\n <div class = \"filter-kit-dropdown\" [ngStyle]=\"{\r\n zIndex: filterKitZIndex\r\n }\">\r\n <core-common-param-kit [hiddenMode]=\"true\" [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" [statusOptions$]=\"statusOptions$\" [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\" [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </div>\r\n } -->\r\n\r\n @if (!disableFilterHub && showFilter && !!paramRows) {\r\n <core-filter-hub [paramRows]=\"paramRows\"></core-filter-hub>\r\n }\r\n\r\n</div>\r\n\r\n<ng-template #topPlace>\r\n\r\n @if (!tabMode) {\r\n @if (!!showParamKit) {\r\n <div>\r\n <core-common-param-kit [hiddenMode]=\"false\" [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" [statusOptions$]=\"statusOptions$\" [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\" [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </div>\r\n }\r\n\r\n <!-- @if (enableFilterKit) {\r\n <core-filter-kit \r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" \r\n [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" \r\n [statusOptions$]=\"statusOptions$\" \r\n [showOrgParam]=\"showOrgParam\"\r\n [showOrgParamDropdown]=\"showOrgParamDropdown\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"\r\n ></core-filter-kit> \r\n } -->\r\n } @else {\r\n <core-tabs [headers]=\"tabHeaders\" [contents]=\"[]\" [height]=\"45\" [headerLineHeight]=\"45\"\r\n (onHeaderClick)=\"onCoreTabsHeaderClick($event)\">\r\n </core-tabs>\r\n <!-- <core-filter-kit \r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" \r\n [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\" \r\n [statusOptions$]=\"statusOptions$\" \r\n [showOrgParam]=\"showOrgParam\"\r\n [showOrgParamDropdown]=\"showOrgParamDropdown\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\"\r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"\r\n ></core-filter-kit> -->\r\n }\r\n\r\n <ng-container *ngTemplateOutlet=\"top\">\r\n </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #coreTable>\r\n\r\n <div [class.opacity0]=\"!!!geometricDone\">\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n\r\n C\u1EA7n t\u00EDnh tableHeight nh\u01B0 th\u1EBF n\u00E0o?\r\n -->\r\n <core-table #coreTableAlone width=\"100%\" [height]=\"tableHeight\" [rowHeight]=\"rowHeight || '46px'\" [wrap]=\"wrap\"\r\n [primaryKey]=\"primaryKey\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" headerHeight=\"60px\"\r\n [showTools]=\"showListInlineTools\" [tools]=\"inlineTools\" (onToolClick)=\"onToolClick($event)\"\r\n (onRowClick)=\"onRowClick($event)\" (onRowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (onSelectedIdsChange)=\"onSelectedIdsChange($event)\" (onSelectedDataChange)=\"onSelectedDataChange($event)\"\r\n [frozen]=\"frozen || 1\" (onSearching)=\"onSearching($event)\"\r\n (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\" [loading]=\"loading\"\r\n [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\" [lazyLoading]=\"true\" [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\" [noPaddingCell]=\"noPaddingCell\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\" [primaryKey]=\"primaryKey\"\r\n [autoColumnFitAvailableSpace]=\"autoColumnFitAvailableSpace\"\r\n [checkboxExplicity]=\"checkboxExplicity\"\r\n ></core-table>\r\n\r\n <div class=\"d-flex d-flex-between pagination-wrapper w-100\" #paginationContainer>\r\n <core-pagination-full [height]=\"paginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\" [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\"\r\n [loading]=\"loading\" [fixedPageSize]=\"fixedPageSize\" [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<core-api-progress *ngIf=\"longApiRunning\" (onClose)=\"onProgressWindowClose($event)\"></core-api-progress>\r\n\r\n<app-fullscreen-modal-loader *ngIf=\"prefetchLoading\"></app-fullscreen-modal-loader>", styles: [".core-page-list-container{--height: auto;box-sizing:border-box!important;border:none!important;height:var(--height)}.core-page-list-container *{box-sizing:border-box}.core-page-list-container .column-caption{text-align:center}.core-page-list-container core-pagination-full{width:100%}.core-page-list-container .filter-kit-dropdown{top:120px;right:120px;position:fixed;box-shadow:0 1rem 3rem #0000002e}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerColor", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "primaryKey", "rowHoverBgColor", "noPaddingCell", "autoColumnFitAvailableSpace", "checkboxExplicity"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CorePaginationFullComponent, selector: "core-pagination-full", inputs: ["currentPage$", "height", "pageCount", "loading", "showAdd", "background", "pageSize$", "innerBodyCount$", "pagination$", "fixedPageSize"], outputs: ["onClickAdd", "onCurrentPageChange", "onSizeChange"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "component", type: CoreCompositionComponent, selector: "core-composition", inputs: ["coreCompositionInstanceNumber", "top", "left", "leftWidth", "main", "height", "defaultResizeOff"] }, { kind: "component", type: CoreCommonParamKitComponent, selector: "core-common-param-kit", inputs: ["hiddenMode", "enableTimeZoneConverterForDateTimePeriodParameters", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "showOrgParam", "showOrgParamDropdown", "hideDatePeriodComparison", "hideStatusInclusion", "hideGeneralSearch", "statusOptions$"], outputs: ["onChange"] }, { kind: "component", type: CoreApiProgressComponent, selector: "core-api-progress", outputs: ["onClose"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }, { kind: "component", type: CoreTabsComponent, selector: "core-tabs", inputs: ["headers", "contents", "headerTools", "height", "headerLineHeight"], outputs: ["onHeaderClick", "onToolItemClick"] }, { kind: "component", type: CoreFilterHubComponent, selector: "core-filter-hub", inputs: ["paramRows", "showButton"], outputs: ["onButtonClick"] }] }); }
12081
12105
  }
12082
12106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CorePageListComponent, decorators: [{
12083
12107
  type: Component,
@@ -19447,6 +19471,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
19447
19471
 
19448
19472
  class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19449
19473
  writeValue(obj) {
19474
+ if (!obj) {
19475
+ obj = [];
19476
+ }
19450
19477
  obj?.map(x => {
19451
19478
  if (!x.temporaryId)
19452
19479
  x.temporaryId = crypto.randomUUID();
@@ -19489,6 +19516,7 @@ class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19489
19516
  this.shifts$ = new BehaviorSubject([]);
19490
19517
  this.shifts$$ = [];
19491
19518
  this.subscriptions = [];
19519
+ this.alertService = inject(AlertService);
19492
19520
  this.$backgroundColor = input('white');
19493
19521
  this.$container = viewChild('container');
19494
19522
  this.$firstAddWrapper = viewChild('firstAddWrapper');
@@ -19516,7 +19544,10 @@ class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19516
19544
  }
19517
19545
  ngAfterViewInit() {
19518
19546
  setTimeout(() => {
19519
- this.subscriptions.push(this.mls.lang$.subscribe(x => this.lang = x));
19547
+ this.subscriptions.push(this.mls.lang$.subscribe(x => {
19548
+ this.lang = x;
19549
+ this.cdr.detectChanges();
19550
+ }));
19520
19551
  this.subscriptions.push(this.shifts$.pipe(skip(1), filter(_ => this.isActiveSubscriptionForShift$)).subscribe(x => {
19521
19552
  const toBeRemovedTemporaryIds = [];
19522
19553
  for (let i = 0; i < x.length; i++) {
@@ -19672,7 +19703,7 @@ class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19672
19703
  multi: true,
19673
19704
  useExisting: CoreShiftCellComponent
19674
19705
  }
19675
- ], viewQueries: [{ propertyName: "$container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "$firstAddWrapper", first: true, predicate: ["firstAddWrapper"], descendants: true, isSignal: true }, { propertyName: "$shiftStickers", predicate: ["shiftSticker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"core-shift-cell-container\">\r\n @for (shift$ of shifts$$!; track $index) {\r\n <div #shiftSticker>\r\n <core-shift-sticker [shift$]=\"shift$\" [$shiftCellId]=\"shiftCellId\" [$width]=\"228\"\r\n [parentShifts$]=\"shifts$\"></core-shift-sticker>\r\n </div>\r\n }\r\n\r\n @if (!value?.length) {\r\n @if (!$hideStarterPlusSign()) {\r\n <div #firstAddWrapper class=\"first-add-wrapper\" (click)=\"onAdd($event)\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-plus\"></i>\r\n </div>\r\n </div>\r\n } @else {\r\n <div #firstAddWrapper class=\"first-add-wrapper\">\r\n {{ 'DROP_A_SHIFT_HERE' | translate: lang }}\r\n </div>\r\n }\r\n }\r\n\r\n\r\n\r\n</div>", styles: [".core-shift-cell-container{--first-add-height: 36.59px;--first-add-width: 228px;--first-add-border: 1px solid #E6EBED;--first-add-opacity: 1;--first-add-icon-width: 15px;--first-add-icon-height: 15px;--first-add-icon-border-radius: 50%;--first-add-icon-color: white;--first-add-icon-background-color: #3DC65A;--first-add-color: gray;padding:15px;background-color:transparent;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.core-shift-cell-container .first-add-wrapper{display:flex;align-items:center;justify-content:center;height:var(--first-add-height);box-sizing:border-box;min-width:105px;max-width:228px;opacity:var(--first-add-opacity);border:var(--first-add-border)}.core-shift-cell-container .first-add-wrapper .icon-wrapper{width:var(--first-add-icon-width);height:var(--first-add-icon-height);color:var(--first-add-icon-color);background-color:var(--first-add-icon-background-color);border-radius:var(--first-add-icon-border-radius)}.core-shift-cell-container.valid-drop{background-color:#dff6dd}.core-shift-cell-container.invalid-drop{background-color:#f08080}\n"], dependencies: [{ kind: "component", type: CoreShiftStickerComponent, selector: "core-shift-sticker", inputs: ["shift$", "parentShifts$", "$hideSymbolLine", "$shiftCellId", "checked", "$height", "$width"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19706
+ ], viewQueries: [{ propertyName: "$container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "$firstAddWrapper", first: true, predicate: ["firstAddWrapper"], descendants: true, isSignal: true }, { propertyName: "$shiftStickers", predicate: ["shiftSticker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"core-shift-cell-container\">\r\n @for (shift$ of shifts$$!; track $index) {\r\n <div #shiftSticker>\r\n <core-shift-sticker [shift$]=\"shift$\" [$shiftCellId]=\"shiftCellId\" [$width]=\"228\"\r\n [parentShifts$]=\"shifts$\"></core-shift-sticker>\r\n </div>\r\n }\r\n\r\n @if (!value?.length) {\r\n @if (!$hideStarterPlusSign()) {\r\n <div #firstAddWrapper class=\"first-add-wrapper\" (click)=\"onAdd($event)\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-plus\"></i>\r\n </div>\r\n </div>\r\n } @else {\r\n <div #firstAddWrapper class=\"first-add-wrapper\">\r\n {{ 'DROP_A_SHIFT_HERE' | translate: lang }}\r\n </div>\r\n }\r\n }\r\n\r\n\r\n\r\n</div>", styles: [".core-shift-cell-container{--first-add-height: 36.59px;--first-add-width: 228px;--first-add-border: 1px solid #E6EBED;--first-add-opacity: 1;--first-add-icon-width: 15px;--first-add-icon-height: 15px;--first-add-icon-border-radius: 50%;--first-add-icon-color: white;--first-add-icon-background-color: #3DC65A;--first-add-color: gray;padding:15px;background-color:transparent;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.core-shift-cell-container .first-add-wrapper{display:flex;align-items:center;justify-content:center;height:var(--first-add-height);box-sizing:border-box;min-width:105px;max-width:228px;opacity:var(--first-add-opacity);border:var(--first-add-border);cursor:pointer}.core-shift-cell-container .first-add-wrapper .icon-wrapper{width:var(--first-add-icon-width);height:var(--first-add-icon-height);color:var(--first-add-icon-color);background-color:var(--first-add-icon-background-color);border-radius:var(--first-add-icon-border-radius)}.core-shift-cell-container.valid-drop{background-color:#dff6dd}.core-shift-cell-container.invalid-drop{background-color:#f08080}\n"], dependencies: [{ kind: "component", type: CoreShiftStickerComponent, selector: "core-shift-sticker", inputs: ["shift$", "parentShifts$", "$hideSymbolLine", "$shiftCellId", "checked", "$height", "$width"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19676
19707
  }
19677
19708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoreShiftCellComponent, decorators: [{
19678
19709
  type: Component,
@@ -19685,7 +19716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
19685
19716
  multi: true,
19686
19717
  useExisting: CoreShiftCellComponent
19687
19718
  }
19688
- ], template: "<div #container class=\"core-shift-cell-container\">\r\n @for (shift$ of shifts$$!; track $index) {\r\n <div #shiftSticker>\r\n <core-shift-sticker [shift$]=\"shift$\" [$shiftCellId]=\"shiftCellId\" [$width]=\"228\"\r\n [parentShifts$]=\"shifts$\"></core-shift-sticker>\r\n </div>\r\n }\r\n\r\n @if (!value?.length) {\r\n @if (!$hideStarterPlusSign()) {\r\n <div #firstAddWrapper class=\"first-add-wrapper\" (click)=\"onAdd($event)\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-plus\"></i>\r\n </div>\r\n </div>\r\n } @else {\r\n <div #firstAddWrapper class=\"first-add-wrapper\">\r\n {{ 'DROP_A_SHIFT_HERE' | translate: lang }}\r\n </div>\r\n }\r\n }\r\n\r\n\r\n\r\n</div>", styles: [".core-shift-cell-container{--first-add-height: 36.59px;--first-add-width: 228px;--first-add-border: 1px solid #E6EBED;--first-add-opacity: 1;--first-add-icon-width: 15px;--first-add-icon-height: 15px;--first-add-icon-border-radius: 50%;--first-add-icon-color: white;--first-add-icon-background-color: #3DC65A;--first-add-color: gray;padding:15px;background-color:transparent;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.core-shift-cell-container .first-add-wrapper{display:flex;align-items:center;justify-content:center;height:var(--first-add-height);box-sizing:border-box;min-width:105px;max-width:228px;opacity:var(--first-add-opacity);border:var(--first-add-border)}.core-shift-cell-container .first-add-wrapper .icon-wrapper{width:var(--first-add-icon-width);height:var(--first-add-icon-height);color:var(--first-add-icon-color);background-color:var(--first-add-icon-background-color);border-radius:var(--first-add-icon-border-radius)}.core-shift-cell-container.valid-drop{background-color:#dff6dd}.core-shift-cell-container.invalid-drop{background-color:#f08080}\n"] }]
19719
+ ], template: "<div #container class=\"core-shift-cell-container\">\r\n @for (shift$ of shifts$$!; track $index) {\r\n <div #shiftSticker>\r\n <core-shift-sticker [shift$]=\"shift$\" [$shiftCellId]=\"shiftCellId\" [$width]=\"228\"\r\n [parentShifts$]=\"shifts$\"></core-shift-sticker>\r\n </div>\r\n }\r\n\r\n @if (!value?.length) {\r\n @if (!$hideStarterPlusSign()) {\r\n <div #firstAddWrapper class=\"first-add-wrapper\" (click)=\"onAdd($event)\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-plus\"></i>\r\n </div>\r\n </div>\r\n } @else {\r\n <div #firstAddWrapper class=\"first-add-wrapper\">\r\n {{ 'DROP_A_SHIFT_HERE' | translate: lang }}\r\n </div>\r\n }\r\n }\r\n\r\n\r\n\r\n</div>", styles: [".core-shift-cell-container{--first-add-height: 36.59px;--first-add-width: 228px;--first-add-border: 1px solid #E6EBED;--first-add-opacity: 1;--first-add-icon-width: 15px;--first-add-icon-height: 15px;--first-add-icon-border-radius: 50%;--first-add-icon-color: white;--first-add-icon-background-color: #3DC65A;--first-add-color: gray;padding:15px;background-color:transparent;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.core-shift-cell-container .first-add-wrapper{display:flex;align-items:center;justify-content:center;height:var(--first-add-height);box-sizing:border-box;min-width:105px;max-width:228px;opacity:var(--first-add-opacity);border:var(--first-add-border);cursor:pointer}.core-shift-cell-container .first-add-wrapper .icon-wrapper{width:var(--first-add-icon-width);height:var(--first-add-icon-height);color:var(--first-add-icon-color);background-color:var(--first-add-icon-background-color);border-radius:var(--first-add-icon-border-radius)}.core-shift-cell-container.valid-drop{background-color:#dff6dd}.core-shift-cell-container.invalid-drop{background-color:#f08080}\n"] }]
19689
19720
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: WorkShiftDndService }, { type: DialogService }, { type: MultiLanguageService }, { type: DndService }] });
19690
19721
 
19691
19722
  class CoreControlComponent extends BaseComponent {
@@ -20592,7 +20623,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20592
20623
  }], ctorParameters: () => [{ type: DialogService }] });
20593
20624
 
20594
20625
  class AtShiftPatternService {
20595
- constructor() { }
20626
+ constructor() {
20627
+ this.activePattern$ = new BehaviorSubject(undefined);
20628
+ this.showEdit$ = new BehaviorSubject(false);
20629
+ }
20596
20630
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20597
20631
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternService, providedIn: 'root' }); }
20598
20632
  }
@@ -20604,12 +20638,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20604
20638
  }], ctorParameters: () => [] });
20605
20639
 
20606
20640
  class AtShiftPatternEditComponent extends BaseEditComponent {
20607
- constructor(dialogService, appService, atShiftPatternService, corePageListService) {
20641
+ constructor(dialogService, appService, atShiftPatternService, corePageListService, corePageEditService, coreFormService) {
20608
20642
  super(dialogService);
20609
20643
  this.dialogService = dialogService;
20610
20644
  this.appService = appService;
20611
20645
  this.atShiftPatternService = atShiftPatternService;
20612
20646
  this.corePageListService = corePageListService;
20647
+ this.corePageEditService = corePageEditService;
20648
+ this.coreFormService = coreFormService;
20613
20649
  this.loading = false;
20614
20650
  this.entityTable = "AT_SHIFT_PATTERN";
20615
20651
  this.subscriptions = [];
@@ -20654,6 +20690,26 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20654
20690
  },
20655
20691
  ],
20656
20692
  [
20693
+ {
20694
+ flexSize: 6,
20695
+ label: "UI_ENTITY_FIELD_CAPTION_AT_SHIFT_PATTERN_ROUND_COUNT",
20696
+ field: 'roundCount',
20697
+ value: 1,
20698
+ controlType: EnumFormBaseContolType.TEXTBOX,
20699
+ type: 'number',
20700
+ validators: [
20701
+ {
20702
+ name: 'required',
20703
+ validator: Validators.required,
20704
+ errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_REQUIRED,
20705
+ },
20706
+ {
20707
+ name: 'min',
20708
+ validator: Validators.min(1),
20709
+ errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN,
20710
+ }
20711
+ ]
20712
+ },
20657
20713
  {
20658
20714
  flexSize: 6,
20659
20715
  label: "UI_ENTITY_FIELD_CAPTION_AT_SHIFT_PATTERN_CODE",
@@ -20669,7 +20725,7 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20669
20725
  },
20670
20726
  {
20671
20727
  name: 'minLength',
20672
- validator: Validators.min(1),
20728
+ validator: Validators.minLength(1),
20673
20729
  errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,
20674
20730
  }
20675
20731
  ]
@@ -20733,14 +20789,30 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20733
20789
  onFormCreated(e) {
20734
20790
  this.form = e;
20735
20791
  const rotationDaysField = e.get('rotationDays');
20736
- e.get('patternType')?.valueChanges.pipe(distinctUntilChanged()).subscribe(x => {
20792
+ const roundCountField = e.get('roundCount');
20793
+ const patternTypeField = e.get('patternType');
20794
+ const roundCountElement = this.coreFormService.getFormBaseControlByName(this.sections, 'roundCount');
20795
+ patternTypeField?.valueChanges.pipe(distinctUntilChanged()).subscribe(x => {
20737
20796
  if (x === 'WEEK') {
20738
20797
  rotationDaysField?.patchValue(7);
20739
20798
  rotationDaysField?.disable();
20799
+ roundCountField?.patchValue(1);
20800
+ roundCountField?.enable();
20801
+ if (!!roundCountElement)
20802
+ roundCountElement.hidden = false;
20740
20803
  }
20741
20804
  else {
20742
20805
  rotationDaysField?.patchValue(3);
20743
20806
  rotationDaysField?.enable();
20807
+ roundCountField?.patchValue(1);
20808
+ roundCountField?.disable();
20809
+ if (!!roundCountElement)
20810
+ roundCountElement.hidden = true;
20811
+ }
20812
+ });
20813
+ roundCountField?.valueChanges.pipe(distinctUntilChanged()).subscribe(x => {
20814
+ if (patternTypeField?.value === 'WEEK') {
20815
+ rotationDaysField?.patchValue(x * 7);
20744
20816
  }
20745
20817
  });
20746
20818
  }
@@ -20764,6 +20836,9 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20764
20836
  const tryFind = this.corePageListService.instances.filter(x => x.instanceNumber === this.atShiftPatternService.listInstanceNumber);
20765
20837
  if (!!tryFind.length) {
20766
20838
  tryFind[0].reloadFlag$.next(!tryFind[0].reloadFlag$.value);
20839
+ this.atShiftPatternService.activePattern$.next(x.body?.innerBody.id);
20840
+ this.atShiftPatternService.showEdit$.next(false);
20841
+ setTimeout(() => tryFind[0].id$.next(x.body?.innerBody.id));
20767
20842
  }
20768
20843
  }
20769
20844
  }));
@@ -20772,7 +20847,7 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20772
20847
  ngOnDestroy() {
20773
20848
  this.subscriptions.map(x => x?.unsubscribe());
20774
20849
  }
20775
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternEditComponent, deps: [{ token: DialogService }, { token: AppService }, { token: AtShiftPatternService }, { token: CorePageListService }], target: i0.ɵɵFactoryTarget.Component }); }
20850
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternEditComponent, deps: [{ token: DialogService }, { token: AppService }, { token: AtShiftPatternService }, { token: CorePageListService }, { token: CorePageEditService }, { token: CoreFormService }], target: i0.ɵɵFactoryTarget.Component }); }
20776
20851
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: AtShiftPatternEditComponent, isStandalone: true, selector: "core-at-shift-pattern-edit", inputs: { captionCode: "captionCode" }, usesInheritance: true, ngImport: i0, template: "<core-page-edit \r\n [normalMode]=\"true\"\r\n [captionCode]=\"captionCode\" \r\n [sections]=\"sections\" \r\n [crud]=\"crud\"\r\n [entityTable]=\"entityTable\" \r\n [autoSubmitLogicOff]=\"true\"\r\n [disableCancelButton]=\"true\"\r\n (onFormCreated)=\"onFormCreated($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\"\r\n (submitLogic)=\"onSubmit($event)\"\r\n></core-page-edit>\r\n\r\n@if (loading) {\r\n <app-fullscreen-modal-loader></app-fullscreen-modal-loader>\r\n}", styles: [""], dependencies: [{ kind: "component", type: CorePageEditComponent, selector: "core-page-edit", inputs: ["stayAfterSubmit", "width", "entityTable", "hasIdOfStringType", "captionCode", "leftInputSections", "leftInputSectionsFlexSize", "sections", "normalMode", "bottomTemplateRef", "autoGetByIdOff", "autoSubmitLogicOff", "autoCancelLogicOff", "customFormButtonItems", "mixedMode", "checkError$", "showSaveButton", "disableSaveButton", "disableCancelButton", "forceListRefreshOnCreateOrUpdate", "crud", "entityUniqueIndexs"], outputs: ["submitLogic", "onFormCreated", "onSubmitSuccess", "onButtonClick", "cancelLogic", "onInitialValueStringReady"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }] }); }
20777
20852
  }
20778
20853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternEditComponent, decorators: [{
@@ -20781,13 +20856,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20781
20856
  CorePageEditComponent,
20782
20857
  FullscreenModalLoaderComponent
20783
20858
  ], template: "<core-page-edit \r\n [normalMode]=\"true\"\r\n [captionCode]=\"captionCode\" \r\n [sections]=\"sections\" \r\n [crud]=\"crud\"\r\n [entityTable]=\"entityTable\" \r\n [autoSubmitLogicOff]=\"true\"\r\n [disableCancelButton]=\"true\"\r\n (onFormCreated)=\"onFormCreated($event)\"\r\n (onInitialValueStringReady)=\"onFormReinit($event)\"\r\n (submitLogic)=\"onSubmit($event)\"\r\n></core-page-edit>\r\n\r\n@if (loading) {\r\n <app-fullscreen-modal-loader></app-fullscreen-modal-loader>\r\n}" }]
20784
- }], ctorParameters: () => [{ type: DialogService }, { type: AppService }, { type: AtShiftPatternService }, { type: CorePageListService }], propDecorators: { captionCode: [{
20859
+ }], ctorParameters: () => [{ type: DialogService }, { type: AppService }, { type: AtShiftPatternService }, { type: CorePageListService }, { type: CorePageEditService }, { type: CoreFormService }], propDecorators: { captionCode: [{
20860
+ type: Input
20861
+ }] } });
20862
+
20863
+ class AtShiftPatternDetailComponent extends BaseComponent {
20864
+ constructor(mls, workShiftDndService) {
20865
+ super(mls);
20866
+ this.mls = mls;
20867
+ this.workShiftDndService = workShiftDndService;
20868
+ this.data$ = new BehaviorSubject(undefined);
20869
+ this.atShiftPatternService = inject(AtShiftPatternService);
20870
+ this.shiftCollectionHeight$ = new BehaviorSubject(800);
20871
+ this.rounds = [];
20872
+ }
20873
+ ngAfterViewInit() {
20874
+ setTimeout(() => {
20875
+ this.shiftCollectionHeight$.next(window.innerHeight - 60 - 50 - 40 - 15 - 15);
20876
+ });
20877
+ }
20878
+ onDayInsert(e, dayNumber) {
20879
+ if (!this.data$.value)
20880
+ return;
20881
+ const currentData = this.data$.value;
20882
+ let currentColumn = currentData.shiftRounds[0];
20883
+ const theFirstPart = currentColumn.filter(x => x.dayNumber <= dayNumber);
20884
+ const theSecondPart = currentColumn.filter(x => x.dayNumber > dayNumber);
20885
+ theFirstPart.push({
20886
+ patternId: currentData.id,
20887
+ dayNumber: dayNumber + 1,
20888
+ shifts: []
20889
+ });
20890
+ theSecondPart.map(x => x.dayNumber += 1);
20891
+ currentColumn = [...theFirstPart, ...theSecondPart];
20892
+ currentData.shiftRounds[0] = currentColumn;
20893
+ this.data$.next(currentData);
20894
+ }
20895
+ onWeekInsert(e, currentColumnIndex) {
20896
+ if (!this.data$.value)
20897
+ return;
20898
+ const currentData = this.data$.value;
20899
+ let weeks = currentData.shiftRounds;
20900
+ const theFirstPart = weeks.filter((_, index) => index <= currentColumnIndex);
20901
+ const theSecondPart = weeks.filter((_, index) => index > currentColumnIndex);
20902
+ const newWeek = [];
20903
+ for (let i = 1; i <= 7; i++) {
20904
+ newWeek.push({
20905
+ patternId: currentData.id,
20906
+ dayNumber: (currentColumnIndex + 1) * 7 + i,
20907
+ shifts: []
20908
+ });
20909
+ }
20910
+ theFirstPart.push(newWeek);
20911
+ theSecondPart.forEach(x => {
20912
+ x.forEach(s => s.dayNumber += 7);
20913
+ });
20914
+ weeks = [...theFirstPart, ...theSecondPart];
20915
+ currentData.shiftRounds = weeks;
20916
+ this.data$.next(currentData);
20917
+ }
20918
+ onWeekDelete(e, currentColumnIndex) {
20919
+ }
20920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternDetailComponent, deps: [{ token: MultiLanguageService }, { token: WorkShiftDndService }], target: i0.ɵɵFactoryTarget.Component }); }
20921
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: AtShiftPatternDetailComponent, isStandalone: true, selector: "core-at-shift-pattern-detail", inputs: { data$: "data$" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-at-shift-pattern-detail-container\">\r\n\r\n @if (workShiftDndService.shiftCollectionOpen$ | async) {\r\n <core-shift-collection [height]=\"(shiftCollectionHeight$ | async) || 800\"></core-shift-collection>\r\n }\r\n\r\n <div class=\"repeatable fs13\">\r\n\r\n @if (!!(data$ | async)) {\r\n\r\n @for (round of (data$ | async)!.shiftRounds; track round) {\r\n <div class=\"cell-collection\">\r\n @if ((data$ | async)?.patternType === 'WEEK') {\r\n <div class=\"week-header\">\r\n <div>\r\n {{ ('WEEK' | translate: lang) + ' ' + ($index + 1) }}\r\n </div>\r\n\r\n <div class=\"week-tools\">\r\n <div class=\"week-tool-icon-wrapper\" [appTooltip]=\"'AT_SHIFT_PATTERN_INSERT_WEEK'\"\r\n [position]=\"'above'\" (click)=\"onWeekInsert($event, $index)\">\r\n <i class=\"feather-corner-up-right\"></i>\r\n </div>\r\n <div class=\"week-tool-icon-wrapper\" [appTooltip]=\"'AT_SHIFT_PATTERN_INSERT_WEEK'\"\r\n [position]=\"'above'\" (click)=\"onWeekDelete($event, $index)\">\r\n <i class=\"feather-trash\"></i>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n }\r\n @for (cell of round; track cell.dayNumber) {\r\n <div class=\"cell-wrapper\">\r\n <div class=\"day-caption\">\r\n @if ((data$ | async)?.patternType === 'WEEK') {\r\n {{ mls.covertOneBasedDayNumberToDayOfWeekCode(cell.dayNumber) | translate: lang }}\r\n } @else {\r\n {{ ('DAY' | translate: lang ) + \" \" + cell.dayNumber }}\r\n }\r\n </div>\r\n <core-shift-cell [ngModel]=\"cell.shifts\"></core-shift-cell>\r\n @if ((data$ | async)?.patternType === 'DAYS') {\r\n <div class=\"d-flex d-flex-end day-insert-icon-wrapper-div\" [appTooltip]=\"'AT_SHIFT_PATTERN_INSERT_DAY'\">\r\n <div class=\"week-tools\">\r\n <div class=\"week-tool-icon-wrapper\" (click)=\"onDayInsert($event, cell.dayNumber)\">\r\n <i class=\"feather-corner-right-down\"></i>\r\n </div>\r\n <div class=\"day-insert-icon-wrapper\" (click)=\"onDayInsert($event, cell.dayNumber)\">\r\n <i class=\"week-tool-icon-wrapper\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n }\r\n\r\n </div>\r\n</div>", styles: [".core-at-shift-pattern-detail-container .fs13{font-size:13px}.core-at-shift-pattern-detail-container .core-shift-collection-container{top:110px}.core-at-shift-pattern-detail-container .shift-collection{display:block}.core-at-shift-pattern-detail-container .repeatable{display:flex;align-items:flex-start;justify-content:flex-start}.core-at-shift-pattern-detail-container .repeatable .cell-collection:not(:last-child){margin-right:15px}.core-at-shift-pattern-detail-container .repeatable .cell-collection{display:block}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-header{height:40px;display:flex;align-items:center;justify-content:space-between}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools{display:flex;align-items:center;justify-content:flex-end}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools .week-tool-icon-wrapper{width:24px;height:24px;color:#d3d3d3;background-color:#fff;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools .week-tool-icon-wrapper i{width:16px;height:16px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools .week-tool-icon-wrapper:not(:last-child){margin-right:8px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .cell-wrapper{background-color:#fff;width:262px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .cell-wrapper .day-caption{padding:15px 0 0 15px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .day-insert-icon-wrapper-div{height:24px;padding-right:15px;padding-bottom:15px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .day-insert-icon-wrapper{width:24px;height:24px;color:#d3d3d3;border:1px lightgray solid;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .day-insert-icon-wrapper i{width:16px;height:16px}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreShiftCollectionComponent, selector: "core-shift-collection", inputs: ["height", "relativeMode"] }, { kind: "component", type: CoreShiftCellComponent, selector: "core-shift-cell", inputs: ["$hideStarterPlusSign", "$hideStickersWhileDragover", "$backgroundColor"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["color", "backgroundColor", "appTooltip", "showAnyway", "position"] }] }); }
20922
+ }
20923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternDetailComponent, decorators: [{
20924
+ type: Component,
20925
+ args: [{ selector: 'core-at-shift-pattern-detail', imports: [
20926
+ AsyncPipe,
20927
+ TranslatePipe,
20928
+ FormsModule,
20929
+ CorePageHeaderComponent,
20930
+ CoreShiftCollectionComponent,
20931
+ CoreShiftCellComponent,
20932
+ TooltipDirective,
20933
+ ], template: "<div class=\"core-at-shift-pattern-detail-container\">\r\n\r\n @if (workShiftDndService.shiftCollectionOpen$ | async) {\r\n <core-shift-collection [height]=\"(shiftCollectionHeight$ | async) || 800\"></core-shift-collection>\r\n }\r\n\r\n <div class=\"repeatable fs13\">\r\n\r\n @if (!!(data$ | async)) {\r\n\r\n @for (round of (data$ | async)!.shiftRounds; track round) {\r\n <div class=\"cell-collection\">\r\n @if ((data$ | async)?.patternType === 'WEEK') {\r\n <div class=\"week-header\">\r\n <div>\r\n {{ ('WEEK' | translate: lang) + ' ' + ($index + 1) }}\r\n </div>\r\n\r\n <div class=\"week-tools\">\r\n <div class=\"week-tool-icon-wrapper\" [appTooltip]=\"'AT_SHIFT_PATTERN_INSERT_WEEK'\"\r\n [position]=\"'above'\" (click)=\"onWeekInsert($event, $index)\">\r\n <i class=\"feather-corner-up-right\"></i>\r\n </div>\r\n <div class=\"week-tool-icon-wrapper\" [appTooltip]=\"'AT_SHIFT_PATTERN_INSERT_WEEK'\"\r\n [position]=\"'above'\" (click)=\"onWeekDelete($event, $index)\">\r\n <i class=\"feather-trash\"></i>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n }\r\n @for (cell of round; track cell.dayNumber) {\r\n <div class=\"cell-wrapper\">\r\n <div class=\"day-caption\">\r\n @if ((data$ | async)?.patternType === 'WEEK') {\r\n {{ mls.covertOneBasedDayNumberToDayOfWeekCode(cell.dayNumber) | translate: lang }}\r\n } @else {\r\n {{ ('DAY' | translate: lang ) + \" \" + cell.dayNumber }}\r\n }\r\n </div>\r\n <core-shift-cell [ngModel]=\"cell.shifts\"></core-shift-cell>\r\n @if ((data$ | async)?.patternType === 'DAYS') {\r\n <div class=\"d-flex d-flex-end day-insert-icon-wrapper-div\" [appTooltip]=\"'AT_SHIFT_PATTERN_INSERT_DAY'\">\r\n <div class=\"week-tools\">\r\n <div class=\"week-tool-icon-wrapper\" (click)=\"onDayInsert($event, cell.dayNumber)\">\r\n <i class=\"feather-corner-right-down\"></i>\r\n </div>\r\n <div class=\"day-insert-icon-wrapper\" (click)=\"onDayInsert($event, cell.dayNumber)\">\r\n <i class=\"week-tool-icon-wrapper\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n }\r\n\r\n </div>\r\n</div>", styles: [".core-at-shift-pattern-detail-container .fs13{font-size:13px}.core-at-shift-pattern-detail-container .core-shift-collection-container{top:110px}.core-at-shift-pattern-detail-container .shift-collection{display:block}.core-at-shift-pattern-detail-container .repeatable{display:flex;align-items:flex-start;justify-content:flex-start}.core-at-shift-pattern-detail-container .repeatable .cell-collection:not(:last-child){margin-right:15px}.core-at-shift-pattern-detail-container .repeatable .cell-collection{display:block}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-header{height:40px;display:flex;align-items:center;justify-content:space-between}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools{display:flex;align-items:center;justify-content:flex-end}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools .week-tool-icon-wrapper{width:24px;height:24px;color:#d3d3d3;background-color:#fff;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools .week-tool-icon-wrapper i{width:16px;height:16px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .week-tools .week-tool-icon-wrapper:not(:last-child){margin-right:8px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .cell-wrapper{background-color:#fff;width:262px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .cell-wrapper .day-caption{padding:15px 0 0 15px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .day-insert-icon-wrapper-div{height:24px;padding-right:15px;padding-bottom:15px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .day-insert-icon-wrapper{width:24px;height:24px;color:#d3d3d3;border:1px lightgray solid;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.core-at-shift-pattern-detail-container .repeatable .cell-collection .day-insert-icon-wrapper i{width:16px;height:16px}\n"] }]
20934
+ }], ctorParameters: () => [{ type: MultiLanguageService }, { type: WorkShiftDndService }], propDecorators: { data$: [{
20785
20935
  type: Input
20786
20936
  }] } });
20787
20937
 
20788
- class AtShiftPatternComponent {
20938
+ class AtShiftPatternComponent extends BaseComponent {
20789
20939
  constructor() {
20940
+ super(...arguments);
20790
20941
  this.atShiftPatternService = inject(AtShiftPatternService);
20942
+ this.appService = inject(AppService);
20791
20943
  this.title = "UI_COMPONENT_TITLE_AT_SHIFT_PATTERN";
20792
20944
  this.apiDefinition = {
20793
20945
  queryListRelativePath: '/api/AtShiftPattern/QueryList',
@@ -20816,7 +20968,7 @@ class AtShiftPatternComponent {
20816
20968
  showForConfirmation: true,
20817
20969
  type: 'string',
20818
20970
  align: 'left',
20819
- width: 150
20971
+ width: 100
20820
20972
  },
20821
20973
  {
20822
20974
  caption: 'UI_ENTITY_FIELD_CAPTION_AT_SHIFT_PATTERN_NAME',
@@ -20833,6 +20985,13 @@ class AtShiftPatternComponent {
20833
20985
  align: 'right',
20834
20986
  width: 80
20835
20987
  },
20988
+ {
20989
+ caption: 'UI_ENTITY_FIELD_CAPTION_AT_SHIFT_PATTERN_ROUND_COUNT',
20990
+ field: 'roundCount',
20991
+ type: 'number',
20992
+ align: 'right',
20993
+ width: 80
20994
+ },
20836
20995
  ];
20837
20996
  this.editRoute = {
20838
20997
  auxiliary: 'popupAux'
@@ -20844,7 +21003,8 @@ class AtShiftPatternComponent {
20844
21003
  switch (e.code) {
20845
21004
  case 'HEADER_CREATE':
20846
21005
  this.editCaptionCode = 'ADD_NEW_SHIFT_PATTERN';
20847
- this.showEdit = true;
21006
+ this.atShiftPatternService.showEdit$.next(true);
21007
+ this.atShiftPatternService.activePattern$.next(undefined);
20848
21008
  break;
20849
21009
  default:
20850
21010
  break;
@@ -20854,18 +21014,28 @@ class AtShiftPatternComponent {
20854
21014
  this.atShiftPatternService.listInstanceNumber = e;
20855
21015
  }
20856
21016
  rowClick(e) {
20857
- console.log("rowClick", e);
21017
+ this.loading = true;
21018
+ this.subscriptions.push(this.appService.get('/api/AtShiftPattern/GetByIdWithDetails?id=' + e.id).subscribe(x => {
21019
+ this.loading = false;
21020
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
21021
+ this.atShiftPatternService.activePattern$.next(x.body?.innerBody);
21022
+ }
21023
+ }));
20858
21024
  }
20859
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20860
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: AtShiftPatternComponent, isStandalone: true, selector: "core-at-shift-pattern", ngImport: i0, template: "<div class=\"core-at-shift-pattern-container container container-fluid\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <core-page-list \r\n [apiDefinition]=\"apiDefinition\" \r\n [columns]=\"columns\" \r\n [editRoute]=\"editRoute\" \r\n [crud]=\"crud\"\r\n [title]=\"title\"\r\n [autoResizeWithWindow]=\"true\"\r\n [selfResolveCorePageHeaderButtonClick]=\"true\"\r\n [tabMode]=\"true\"\r\n [checkboxExplicity]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (onInstanceCreated)=\"onInstanceCreated($event)\"\r\n (rowClick)=\"rowClick($event)\"\r\n ></core-page-list>\r\n\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n @if (showEdit) {\r\n <core-at-shift-pattern-edit\r\n [captionCode]=\"editCaptionCode\"\r\n ></core-at-shift-pattern-edit>\r\n } @else {\r\n <div class=\"anim-container\">\r\n <core-sunny-rotating></core-sunny-rotating>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n</div>", styles: [".core-at-shift-pattern-container .anim-container{height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "enableFilterKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "statusOptions$", "showOrgParam", "showOrgParamDropdown", "hideGeneralSearch", "hideDatePeriodComparison", "hideStatusInclusion", "filterOperators$", "camelCaseDtoStatusIdField", "gridStatusColumn", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "useTheseColumns", "hideOrgTree", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerFilter$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell", "disableHighlightOnClick", "loading$", "excludedIds$", "disableDialogInformationLines", "changeTracking", "primaryKey", "changedItems$", "tabMode", "paramRows", "disableFilterHub", "autoColumnFitAvailableSpace", "ignoredDefaultActions", "checkboxExplicity"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady", "listChange"] }, { kind: "component", type: AtShiftPatternEditComponent, selector: "core-at-shift-pattern-edit", inputs: ["captionCode"] }, { kind: "component", type: SunnyRotatingComponent, selector: "core-sunny-rotating" }] }); }
21025
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21026
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: AtShiftPatternComponent, isStandalone: true, selector: "core-at-shift-pattern", usesInheritance: true, ngImport: i0, template: "<div class=\"core-at-shift-pattern-container\">\r\n\r\n <core-page-header [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"></core-page-header>\r\n\r\n <div class=\"d-flex d-flex-around content-wrapper\">\r\n\r\n\r\n\r\n <div class=\"list-block\">\r\n\r\n\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [hideHeader]=\"true\" [title]=\"title\" [autoResizeWithWindow]=\"true\"\r\n [selfResolveCorePageHeaderButtonClick]=\"true\" [checkboxExplicity]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (onInstanceCreated)=\"onInstanceCreated($event)\" (rowClick)=\"rowClick($event)\"></core-page-list>\r\n\r\n </div>\r\n\r\n @if (!(atShiftPatternService.showEdit$ | async) && !(atShiftPatternService.activePattern$ | async)) {\r\n <div class=\"anim-block\">\r\n <div class=\"anim-container\">\r\n <core-sunny-rotating></core-sunny-rotating>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if ((atShiftPatternService.showEdit$ | async) && !(atShiftPatternService.activePattern$ | async)) {\r\n <div class=\"edit-block\">\r\n <core-at-shift-pattern-edit [captionCode]=\"editCaptionCode\"></core-at-shift-pattern-edit>\r\n </div>\r\n }\r\n @if (!!(atShiftPatternService.activePattern$ | async)) {\r\n <div class=\"detail-block\">\r\n <div class=\"details-wrapper\">\r\n <div class=\"details-title\">\r\n \u2728 {{ (atShiftPatternService.activePattern$ | async)?.code }}\r\n </div>\r\n <core-at-shift-pattern-detail\r\n [data$]=\"atShiftPatternService.activePattern$\"></core-at-shift-pattern-detail>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n\r\n @if (!!loading) {\r\n <app-fullscreen-modal-loader></app-fullscreen-modal-loader>\r\n }\r\n\r\n</div>", styles: [".core-at-shift-pattern-container .anim-container{height:calc(100vh - 60px);display:flex;align-items:flex-start;justify-content:flex-end}.core-at-shift-pattern-container .details-wrapper{background-color:bisque;padding:0 15px 15px;width:100%;overflow-x:scroll}.core-at-shift-pattern-container .details-wrapper .details-title{height:40px;display:flex;align-items:center;justify-content:flex-start;font-weight:700}.core-at-shift-pattern-container .content-wrapper{align-items:flex-start}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "enableFilterKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "statusOptions$", "showOrgParam", "showOrgParamDropdown", "hideGeneralSearch", "hideDatePeriodComparison", "hideStatusInclusion", "filterOperators$", "camelCaseDtoStatusIdField", "gridStatusColumn", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "useTheseColumns", "hideOrgTree", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerFilter$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell", "disableHighlightOnClick", "loading$", "excludedIds$", "disableDialogInformationLines", "changeTracking", "primaryKey", "changedItems$", "tabMode", "paramRows", "disableFilterHub", "autoColumnFitAvailableSpace", "ignoredDefaultActions", "checkboxExplicity"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady", "listChange"] }, { kind: "component", type: AtShiftPatternEditComponent, selector: "core-at-shift-pattern-edit", inputs: ["captionCode"] }, { kind: "component", type: AtShiftPatternDetailComponent, selector: "core-at-shift-pattern-detail", inputs: ["data$"] }, { kind: "component", type: SunnyRotatingComponent, selector: "core-sunny-rotating" }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }] }); }
20861
21027
  }
20862
21028
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternComponent, decorators: [{
20863
21029
  type: Component,
20864
21030
  args: [{ selector: 'core-at-shift-pattern', imports: [
21031
+ AsyncPipe,
21032
+ CorePageHeaderComponent,
20865
21033
  CorePageListComponent,
20866
21034
  AtShiftPatternEditComponent,
20867
- SunnyRotatingComponent
20868
- ], template: "<div class=\"core-at-shift-pattern-container container container-fluid\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <core-page-list \r\n [apiDefinition]=\"apiDefinition\" \r\n [columns]=\"columns\" \r\n [editRoute]=\"editRoute\" \r\n [crud]=\"crud\"\r\n [title]=\"title\"\r\n [autoResizeWithWindow]=\"true\"\r\n [selfResolveCorePageHeaderButtonClick]=\"true\"\r\n [tabMode]=\"true\"\r\n [checkboxExplicity]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (onInstanceCreated)=\"onInstanceCreated($event)\"\r\n (rowClick)=\"rowClick($event)\"\r\n ></core-page-list>\r\n\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n @if (showEdit) {\r\n <core-at-shift-pattern-edit\r\n [captionCode]=\"editCaptionCode\"\r\n ></core-at-shift-pattern-edit>\r\n } @else {\r\n <div class=\"anim-container\">\r\n <core-sunny-rotating></core-sunny-rotating>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n</div>", styles: [".core-at-shift-pattern-container .anim-container{height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center}\n"] }]
21035
+ AtShiftPatternDetailComponent,
21036
+ SunnyRotatingComponent,
21037
+ FullscreenModalLoaderComponent
21038
+ ], template: "<div class=\"core-at-shift-pattern-container\">\r\n\r\n <core-page-header [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"></core-page-header>\r\n\r\n <div class=\"d-flex d-flex-around content-wrapper\">\r\n\r\n\r\n\r\n <div class=\"list-block\">\r\n\r\n\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [hideHeader]=\"true\" [title]=\"title\" [autoResizeWithWindow]=\"true\"\r\n [selfResolveCorePageHeaderButtonClick]=\"true\" [checkboxExplicity]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (onInstanceCreated)=\"onInstanceCreated($event)\" (rowClick)=\"rowClick($event)\"></core-page-list>\r\n\r\n </div>\r\n\r\n @if (!(atShiftPatternService.showEdit$ | async) && !(atShiftPatternService.activePattern$ | async)) {\r\n <div class=\"anim-block\">\r\n <div class=\"anim-container\">\r\n <core-sunny-rotating></core-sunny-rotating>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if ((atShiftPatternService.showEdit$ | async) && !(atShiftPatternService.activePattern$ | async)) {\r\n <div class=\"edit-block\">\r\n <core-at-shift-pattern-edit [captionCode]=\"editCaptionCode\"></core-at-shift-pattern-edit>\r\n </div>\r\n }\r\n @if (!!(atShiftPatternService.activePattern$ | async)) {\r\n <div class=\"detail-block\">\r\n <div class=\"details-wrapper\">\r\n <div class=\"details-title\">\r\n \u2728 {{ (atShiftPatternService.activePattern$ | async)?.code }}\r\n </div>\r\n <core-at-shift-pattern-detail\r\n [data$]=\"atShiftPatternService.activePattern$\"></core-at-shift-pattern-detail>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n\r\n @if (!!loading) {\r\n <app-fullscreen-modal-loader></app-fullscreen-modal-loader>\r\n }\r\n\r\n</div>", styles: [".core-at-shift-pattern-container .anim-container{height:calc(100vh - 60px);display:flex;align-items:flex-start;justify-content:flex-end}.core-at-shift-pattern-container .details-wrapper{background-color:bisque;padding:0 15px 15px;width:100%;overflow-x:scroll}.core-at-shift-pattern-container .details-wrapper .details-title{height:40px;display:flex;align-items:center;justify-content:flex-start;font-weight:700}.core-at-shift-pattern-container .content-wrapper{align-items:flex-start}\n"] }]
20869
21039
  }] });
20870
21040
 
20871
21041
  class CoreOrgParamComponent extends CoreFormControlBaseComponent {
@@ -24870,6 +25040,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
24870
25040
  ], template: "<div class=\"staff-profile-container\">\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [autoResizeWithWindow]=\"true\" [columnSearchDefaultOpen]=\"true\"></core-page-list>\r\n</div>\r\n\r\n<router-outlet name=\"corePageListAux\"></router-outlet>" }]
24871
25041
  }], ctorParameters: () => [] });
24872
25042
 
25043
+ class CoreEmployeeScheduleComponent extends BaseComponent {
25044
+ constructor() {
25045
+ super(...arguments);
25046
+ this.$model = input.required();
25047
+ }
25048
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoreEmployeeScheduleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25049
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: CoreEmployeeScheduleComponent, isStandalone: true, selector: "core-employee-schedule", inputs: { $model: { classPropertyName: "$model", publicName: "$model", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-employee-schedule-container\">\r\n <div>{{ $model().employee.employeeName }} \u2022 {{ $model().employee.positionName }} \u2022 {{ $model().employee.orgName }} \u2022 {{ $model().employee.empObjName }}</div>\r\n <div class=\"time-line\" #container>\r\n </div>\r\n <button class=\"btn btn-secondary\" id=\"zoomOut\">Zoom Out</button>\r\n <button class=\"btn btn-secondary\" id=\"zoomIn\">Zoom In</button>\r\n\r\n</div>", styles: [".core-employee-schedule-container .time-line{overflow-x:auto;width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25050
+ }
25051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoreEmployeeScheduleComponent, decorators: [{
25052
+ type: Component,
25053
+ args: [{ selector: 'core-employee-schedule', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"core-employee-schedule-container\">\r\n <div>{{ $model().employee.employeeName }} \u2022 {{ $model().employee.positionName }} \u2022 {{ $model().employee.orgName }} \u2022 {{ $model().employee.empObjName }}</div>\r\n <div class=\"time-line\" #container>\r\n </div>\r\n <button class=\"btn btn-secondary\" id=\"zoomOut\">Zoom Out</button>\r\n <button class=\"btn btn-secondary\" id=\"zoomIn\">Zoom In</button>\r\n\r\n</div>", styles: [".core-employee-schedule-container .time-line{overflow-x:auto;width:100%}\n"] }]
25054
+ }] });
25055
+
25056
+ class ScheduleOverviewComponent {
25057
+ constructor(router) {
25058
+ this.router = router;
25059
+ this.title = "UI_COMPONENT_TITLE_SCHEDULE_OVERVIEW";
25060
+ const navigation = this.router.getCurrentNavigation();
25061
+ this.model = navigation?.extras?.state['model'];
25062
+ }
25063
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: ScheduleOverviewComponent, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
25064
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: ScheduleOverviewComponent, isStandalone: true, selector: "app-schedule-overview", ngImport: i0, template: "<div class=\"app-schedule-overview-container\">\r\n <core-page-header [title]=\"title\" ></core-page-header>\r\n @if (model) {\r\n <core-employee-schedule [$model]=\"model\"></core-employee-schedule>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "component", type: CoreEmployeeScheduleComponent, selector: "core-employee-schedule", inputs: ["$model"] }] }); }
25065
+ }
25066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: ScheduleOverviewComponent, decorators: [{
25067
+ type: Component,
25068
+ args: [{ selector: 'app-schedule-overview', imports: [
25069
+ CorePageHeaderComponent,
25070
+ CoreEmployeeScheduleComponent
25071
+ ], template: "<div class=\"app-schedule-overview-container\">\r\n <core-page-header [title]=\"title\" ></core-page-header>\r\n @if (model) {\r\n <core-employee-schedule [$model]=\"model\"></core-employee-schedule>\r\n }\r\n</div>\r\n" }]
25072
+ }], ctorParameters: () => [{ type: i1$2.Router }] });
25073
+
24873
25074
  class PortalRouteEditComponent extends BaseEditComponent {
24874
25075
  constructor(dialogService) {
24875
25076
  super(dialogService);
@@ -27658,19 +27859,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
27658
27859
  }]
27659
27860
  }], ctorParameters: () => [] });
27660
27861
 
27661
- class CoreEmployeeScheduleComponent extends BaseComponent {
27662
- constructor() {
27663
- super(...arguments);
27664
- this.$model = input.required();
27665
- }
27666
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoreEmployeeScheduleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27667
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: CoreEmployeeScheduleComponent, isStandalone: true, selector: "core-employee-schedule", inputs: { $model: { classPropertyName: "$model", publicName: "$model", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-employee-schedule-container\">\r\n <div>{{ $model().employee.employeeName }} \u2022 {{ $model().employee.positionName }} \u2022 {{ $model().employee.orgName }} \u2022 {{ $model().employee.empObjName }}</div>\r\n <div class=\"time-line\">\r\n\r\n </div>\r\n</div>", styles: [".core-employee-schedule-container .time-line{overflow-x:auto;width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27668
- }
27669
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoreEmployeeScheduleComponent, decorators: [{
27670
- type: Component,
27671
- args: [{ selector: 'core-employee-schedule', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"core-employee-schedule-container\">\r\n <div>{{ $model().employee.employeeName }} \u2022 {{ $model().employee.positionName }} \u2022 {{ $model().employee.orgName }} \u2022 {{ $model().employee.empObjName }}</div>\r\n <div class=\"time-line\">\r\n\r\n </div>\r\n</div>", styles: [".core-employee-schedule-container .time-line{overflow-x:auto;width:100%}\n"] }]
27672
- }] });
27673
-
27674
27862
  class CustomValidators {
27675
27863
  static core(errorKey, valid, errorMessage) {
27676
27864
  return (control) => {
@@ -28751,7 +28939,7 @@ class CorePageListContentComponent extends CoreFormControlBaseComponent {
28751
28939
  useExisting: CorePageListContentComponent
28752
28940
  },
28753
28941
  CorePageListState
28754
- ], viewQueries: [{ propertyName: "corePageListContentContainer", first: true, predicate: ["corePageListContentContainer"], descendants: true }, { propertyName: "paginationContainer", first: true, predicate: ["paginationContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-page-list-content-container\" #corePageListContentContainer>\r\n <core-table width=\"100%\" [height]=\"tableHeight\" headerHeight=\"42px\" [rowHeight]=\"rowHeight\" [wrap]=\"true\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" [wrap]=\"true\" headerHeight=\"60px\"\r\n [tools]=\"inlineTools\" (onRowClick)=\"onRowClick($event)\" (onSelectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n [frozen]=\"frozen || 1\" (onSearching)=\"onSearching($event)\" (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\" [loading]=\"loading\" [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\"\r\n [wrap]=\"wrap\"\r\n [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\"\r\n [lazyLoading]=\"true\"\r\n ></core-table>\r\n <div class=\"d-flex-end pagination-wrapper\" #paginationContainer>\r\n <core-pagination-full [height]=\"layoutService.corePaginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\"\r\n [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\" [loading]=\"loading\"\r\n [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerColor", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "primaryKey", "rowHoverBgColor", "noPaddingCell", "autoColumnFitAvailableSpace", "checkboxExplicity"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CorePaginationFullComponent, selector: "core-pagination-full", inputs: ["currentPage$", "height", "pageCount", "loading", "showAdd", "background", "pageSize$", "innerBodyCount$", "pagination$", "fixedPageSize"], outputs: ["onClickAdd", "onCurrentPageChange"] }] }); }
28942
+ ], viewQueries: [{ propertyName: "corePageListContentContainer", first: true, predicate: ["corePageListContentContainer"], descendants: true }, { propertyName: "paginationContainer", first: true, predicate: ["paginationContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-page-list-content-container\" #corePageListContentContainer>\r\n <core-table width=\"100%\" [height]=\"tableHeight\" headerHeight=\"42px\" [rowHeight]=\"rowHeight\" [wrap]=\"true\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" [wrap]=\"true\" headerHeight=\"60px\"\r\n [tools]=\"inlineTools\" (onRowClick)=\"onRowClick($event)\" (onSelectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n [frozen]=\"frozen || 1\" (onSearching)=\"onSearching($event)\" (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\" [loading]=\"loading\" [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\"\r\n [wrap]=\"wrap\"\r\n [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\"\r\n [lazyLoading]=\"true\"\r\n ></core-table>\r\n <div class=\"d-flex-end pagination-wrapper\" #paginationContainer>\r\n <core-pagination-full [height]=\"layoutService.corePaginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\"\r\n [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\" [loading]=\"loading\"\r\n [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerColor", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "primaryKey", "rowHoverBgColor", "noPaddingCell", "autoColumnFitAvailableSpace", "checkboxExplicity"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CorePaginationFullComponent, selector: "core-pagination-full", inputs: ["currentPage$", "height", "pageCount", "loading", "showAdd", "background", "pageSize$", "innerBodyCount$", "pagination$", "fixedPageSize"], outputs: ["onClickAdd", "onCurrentPageChange", "onSizeChange"] }] }); }
28755
28943
  }
28756
28944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CorePageListContentComponent, decorators: [{
28757
28945
  type: Component,
@@ -33501,5 +33689,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
33501
33689
  * Generated bundle index. Do not edit.
33502
33690
  */
33503
33691
 
33504
- export { ActionService, ActionSvgEditComponent, AlertComponent, AlertService, AnimatedTextComponent, AnimatedTextService, AppConfigService, AppInitializationService, AppService, ApplicationHelpService, AtShiftPatternComponent, AtWorksignComponent, AtWorksignService, AuthService, BaseComponent, BaseDropdownComponent, BaseEditComponent, ButtonGroupComponent, ButtonGroupModule, ButtonGroupService, CORE_VNS_BUTTONS, CacheService, CanActivateFunctionUrlMapperGuard, CanDeactivateGuard, CheckForUpdateService, ClientService, CommonHttpRequestService, ConfigService, ConfirmDialogStateComponent, ControlBase, CoreAccordionComponent, CoreAccordionService, CoreActiveUserCountComponent, CoreApiProgressComponent, CoreAttachmentComponent, CoreButtonComponent, CoreButtonGroupComponent, CoreButtonGroupService, CoreButtonGroupVnsComponent, CoreButtonVnsComponent, CoreCheckboxComponent, CoreChecklistComponent, CoreCommonParamKitComponent, CoreCompareDbPipelineComponent, CoreCompositionComponent, CoreCompositionService, CoreCompositionState, CoreConfirmDialogComponent, CoreContractSeekerComponent, CoreControlComponent, CoreControlNoGridBufferComponent, CoreControlNoSeekerComponent, CoreControlService, CoreCurrencyInputComponent, CoreD3Service, CoreDatePickerComponent, CoreDatetimeService, CoreDropdownComponent, CoreEmployeeScheduleComponent, CoreEmployeeSeekerComponent, CoreFileFormatPickerComponent, CoreFileUploaderComponent, CoreFilterHubComponent, CoreFilterHubService, CoreFormComponent, CoreFormControlBaseComponent, CoreFormControlSeekerComponent, CoreFormLiteComponent, CoreFormService, CoreFormTabComponent, CoreGridBufferComponent, CoreHeaderParamsComponent, CoreHelperComponent, CoreIosSwitcherComponent, CoreLineComponent, CoreListComponent, CoreListLazyComponent, CoreLoadingSurfaceComponent, CoreMccComponent, CoreMonthPickerComponent, CoreMonthSelectorComponent, CoreNavigationTrackerComponent, CoreOauthCallbackComponent, CoreOauthCallbackOffice365Component, CoreOrgParamComponent, CoreOrgTreeComponent, CoreOrgTreeService, CoreOrgTreeState, CoreOrgUnitSeekerComponent, CoreOrgchartflexComponent, CorePageEditComponent, CorePageEditLiteComponent, CorePageEditService, CorePageEditTabComponent, CorePageHeaderComponent, CorePageListComponent, CorePageListContentComponent, CorePageListService, CorePageListState, CorePageViewComponent, CorePaginationComponent, CorePaginationFullComponent, CorePaginationFullService, CoreParamControlComponent, CorePermissionActionsComponent, CorePermissionComponent, CorePermissionService, CorePieComponent, CorePositionConcurrentSeekerComponent, CorePositionSeekerComponent, CoreQrcodeComponent, CoreQueryBuilderComponent, CoreRadioGroupComponent, CoreReducerIconComponent, CoreRootMenuItemPickerComponent, CoreRootMenuItemPickerService, CoreRotatingTextComponent, CoreRouteAccumulatorComponent, CoreRoutingHistoryComponent, CoreSalaryPolicyPickerComponent, CoreScatterPlotComponent, CoreScrollComponent, CoreScrollLazyComponent, CoreSeenByComponent, CoreShiftCardComponent, CoreShiftCellComponent, CoreShiftCollectionComponent, CoreShiftStickerComponent, CoreStatisticWidgetComponent, CoreStatusStickerComponent, CoreSubFormGroupComponent, CoreTabListComponent, CoreTableComponent, CoreTableService, CoreTabsComponent, CoreTagsComponent, CoreTopicPickerComponent, CoreTopicTreeComponent, CoreTreeComponent, CoreTreeGridComponent, CoreWageSeekerComponent, CoreWorkingSeekerComponent, CoreYearPickerComponent, CoreYearSelectorComponent, CustomValidators, DATE_VALUE_ACCESSOR, DEFAULT_SVG, DESKTOP_SCREEN_HEDER_HEIGHT, DateValueAccessor, DecisionComponent, DialogService, DialogStateComponent, DndService, DomService, ECoreTableToolClass, ECoreTableToolCode, EnumAlertType, EnumBrowserType, EnumButtonCaptionCode, EnumCoreArticleCategoryTreeaAccessorMode, EnumCoreButtonCode, EnumCoreButtonVNSCode, EnumCoreD3ScaleType, EnumCoreFileUploaderType, EnumCoreFormControlSeekerSourceType, EnumCoreOrgTreeaAccessorMode, EnumCoreOrgTreeaSearchMode, EnumCorePageEditBootstrapClass, EnumCorePageEditFieldType, EnumCorePageEditMode, EnumCoreSeekerColumnContract, EnumCoreSeekerColumnJob, EnumCoreSeekerColumnPosition, EnumCoreSeekerColumnPositionConcurrent, EnumCoreSeekerColumnStaffProfile, EnumCoreSeekerColumnWage, EnumCoreSeekerColumnWorking, EnumCoreTablePipeType, EnumCoreTreeGridEditMode, EnumCoreViewItemType, EnumDeviceType, EnumDragType, EnumErrorType, EnumExType, EnumFilterOperator, EnumFormBaseContolType, EnumHrComparisonCode, EnumICoreStatisticWidgetDataType, EnumIconClass, EnumImageResolverType, EnumNotificationDir, EnumOparator, EnumOsType, EnumPermissionObjectType, EnumProfileInfoSector, EnumRecursiveFields, EnumSignalRType, EnumSortDirection, EnumSsrsExpressExportFormat, EnumSsrsExpressFileExtension, EnumStyleButtonClass, EnumSwUpdateVersionUpdatesEventType, EnumWorkScheduleViewMode, EvaluateDialogComponent, EvaluateDialogService, FileService, FilterKitService, FilterPipe, FooterComponent, FullscreenModalLoaderComponent, FunctionComponent, FunctionEditComponent, FunctionEditService, FunctionIgnoreComponent, FunctionIgnoreEditComponent, GroupFunctionComponent, GroupFunctionEditComponent, GrpcService, HeaderService, HistoryService, HotKeysDirective, HttpErrorHandler, HubConnectionService, HuconcurrentlyComponent, IAlertOptions, ImageErrorResolverDirective, InMemoryComponent, IndividualScheduleApplyComponent, InitializationCanActivateFn, InitializationCanMatchFn, InterceptorSkipHeader, IpServiceService, ItemComponent, JobComponent, JsonService, LanguageChangerComponent, LanguageComponent, LanguageEditComponent, LayoutService, LongTaskService, MOBILE_SCREEN_HEDER_HEIGHT, MapAppdemoToServerPipePipe, MapAttachmentToServerPipe, MapAvatarToServerPipe, MapNewsfeedMediaToServerPipe, MapService, MenuComponent, MenuEditComponent, MenuService, MessageService, ModalService, MultiLanguageService, MutationLogComponent, MutationViewComponent, NavigatorComponent, NavigatorService, NewlyCreatedTokenService, NormalizeHumanNamePipe, NotificationActionType, OnlineUsersComponent, OrganizationService, OtpInputComponent, OtpInputService, PaSalaryPolicyComponent, PaSalaryPolicyEditComponent, PageTitleComponent, PaginationComponent, PkceService, PortalRouteComponent, PortalRouteEditComponent, PositionComponent, PositionEditService, PositionTransferService, PushNotificationService, RandomAvatarService, RecursiveService, RequestCache, RequestCacheWithMap, ResponseService, RightchatComponent, RoutingService, STICKER_COLOR_SCHEMA, SeekerService, SocketService, SsrsExpressService, StaffProfileComponent, StatisticAuthService, StatisticService, StringHtmlPipe, StringService, SunnyRotatingComponent, SysActionComponent, SysActionEditComponent, SysFunctionActionComponent, SysFunctionActionEditComponent, SysFunctionActionMapperComponent, SysFunctionUrlMapperComponent, SysMenuService, SysModuleComponent, SysModuleEditComponent, SysRouteAccessComponent, TLA_CONFIG, TableCellPipe, Textbox, ThreedotsComponent, TimeSheetService, TooltipComponent, TooltipDirective, TopicPermissionService, TopicTreeService, TranslatePipe, UnicodeService, UploadedFileService, UploadedFilenameCutoffPipe, UrlService, UserActivityComponent, UserActivityService, WageComponent, WaittingScreenComponent, WorkShiftDndService, alertOptions, appTypeInterceptor, attachmentOptions, authInterceptor, baseUrlInterceptor, blob_to_base64_script, cachingInterceptor, defaultPaging, graphInterceptor, httpInterceptorProviders, langInterceptor, liner_to_nested_array_script, longAlertOptions, noneAutoClosedAlertOptions, normalizeHumanName, responseInterceptor, themeBlue, timeZoneInterceptor, tokenInterceptor };
33692
+ export { ActionService, ActionSvgEditComponent, AlertComponent, AlertService, AnimatedTextComponent, AnimatedTextService, AppConfigService, AppInitializationService, AppService, ApplicationHelpService, AtShiftPatternComponent, AtWorksignComponent, AtWorksignService, AuthService, BaseComponent, BaseDropdownComponent, BaseEditComponent, ButtonGroupComponent, ButtonGroupModule, ButtonGroupService, CORE_VNS_BUTTONS, CacheService, CanActivateFunctionUrlMapperGuard, CanDeactivateGuard, CheckForUpdateService, ClientService, CommonHttpRequestService, ConfigService, ConfirmDialogStateComponent, ControlBase, CoreAccordionComponent, CoreAccordionService, CoreActiveUserCountComponent, CoreApiProgressComponent, CoreAttachmentComponent, CoreButtonComponent, CoreButtonGroupComponent, CoreButtonGroupService, CoreButtonGroupVnsComponent, CoreButtonVnsComponent, CoreCheckboxComponent, CoreChecklistComponent, CoreCommonParamKitComponent, CoreCompareDbPipelineComponent, CoreCompositionComponent, CoreCompositionService, CoreCompositionState, CoreConfirmDialogComponent, CoreContractSeekerComponent, CoreControlComponent, CoreControlNoGridBufferComponent, CoreControlNoSeekerComponent, CoreControlService, CoreCurrencyInputComponent, CoreD3Service, CoreDatePickerComponent, CoreDatetimeService, CoreDropdownComponent, CoreEmployeeScheduleComponent, CoreEmployeeSeekerComponent, CoreFileFormatPickerComponent, CoreFileUploaderComponent, CoreFilterHubComponent, CoreFilterHubService, CoreFormComponent, CoreFormControlBaseComponent, CoreFormControlSeekerComponent, CoreFormLiteComponent, CoreFormService, CoreFormTabComponent, CoreGridBufferComponent, CoreHeaderParamsComponent, CoreHelperComponent, CoreIosSwitcherComponent, CoreLineComponent, CoreListComponent, CoreListLazyComponent, CoreLoadingSurfaceComponent, CoreMccComponent, CoreMonthPickerComponent, CoreMonthSelectorComponent, CoreNavigationTrackerComponent, CoreOauthCallbackComponent, CoreOauthCallbackOffice365Component, CoreOrgParamComponent, CoreOrgTreeComponent, CoreOrgTreeService, CoreOrgTreeState, CoreOrgUnitSeekerComponent, CoreOrgchartflexComponent, CorePageEditComponent, CorePageEditLiteComponent, CorePageEditService, CorePageEditTabComponent, CorePageHeaderComponent, CorePageListComponent, CorePageListContentComponent, CorePageListService, CorePageListState, CorePageViewComponent, CorePaginationComponent, CorePaginationFullComponent, CorePaginationFullService, CoreParamControlComponent, CorePermissionActionsComponent, CorePermissionComponent, CorePermissionService, CorePieComponent, CorePositionConcurrentSeekerComponent, CorePositionSeekerComponent, CoreQrcodeComponent, CoreQueryBuilderComponent, CoreRadioGroupComponent, CoreReducerIconComponent, CoreRootMenuItemPickerComponent, CoreRootMenuItemPickerService, CoreRotatingTextComponent, CoreRouteAccumulatorComponent, CoreRoutingHistoryComponent, CoreSalaryPolicyPickerComponent, CoreScatterPlotComponent, CoreScrollComponent, CoreScrollLazyComponent, CoreSeenByComponent, CoreShiftCardComponent, CoreShiftCellComponent, CoreShiftCollectionComponent, CoreShiftStickerComponent, CoreStatisticWidgetComponent, CoreStatusStickerComponent, CoreSubFormGroupComponent, CoreTabListComponent, CoreTableComponent, CoreTableService, CoreTabsComponent, CoreTagsComponent, CoreTopicPickerComponent, CoreTopicTreeComponent, CoreTreeComponent, CoreTreeGridComponent, CoreWageSeekerComponent, CoreWorkingSeekerComponent, CoreYearPickerComponent, CoreYearSelectorComponent, CustomValidators, DATE_VALUE_ACCESSOR, DEFAULT_SVG, DESKTOP_SCREEN_HEDER_HEIGHT, DateValueAccessor, DecisionComponent, DialogService, DialogStateComponent, DndService, DomService, ECoreTableToolClass, ECoreTableToolCode, EnumAlertType, EnumBrowserType, EnumButtonCaptionCode, EnumCoreArticleCategoryTreeaAccessorMode, EnumCoreButtonCode, EnumCoreButtonVNSCode, EnumCoreD3ScaleType, EnumCoreFileUploaderType, EnumCoreFormControlSeekerSourceType, EnumCoreOrgTreeaAccessorMode, EnumCoreOrgTreeaSearchMode, EnumCorePageEditBootstrapClass, EnumCorePageEditFieldType, EnumCorePageEditMode, EnumCoreSeekerColumnContract, EnumCoreSeekerColumnJob, EnumCoreSeekerColumnPosition, EnumCoreSeekerColumnPositionConcurrent, EnumCoreSeekerColumnStaffProfile, EnumCoreSeekerColumnWage, EnumCoreSeekerColumnWorking, EnumCoreTablePipeType, EnumCoreTreeGridEditMode, EnumCoreViewItemType, EnumDeviceType, EnumDragType, EnumErrorType, EnumExType, EnumFilterOperator, EnumFormBaseContolType, EnumHrComparisonCode, EnumICoreStatisticWidgetDataType, EnumIconClass, EnumImageResolverType, EnumNotificationDir, EnumOparator, EnumOsType, EnumPermissionObjectType, EnumProfileInfoSector, EnumRecursiveFields, EnumSignalRType, EnumSortDirection, EnumSsrsExpressExportFormat, EnumSsrsExpressFileExtension, EnumStyleButtonClass, EnumSwUpdateVersionUpdatesEventType, EnumWorkScheduleViewMode, EvaluateDialogComponent, EvaluateDialogService, FileService, FilterKitService, FilterPipe, FooterComponent, FullscreenModalLoaderComponent, FunctionComponent, FunctionEditComponent, FunctionEditService, FunctionIgnoreComponent, FunctionIgnoreEditComponent, GroupFunctionComponent, GroupFunctionEditComponent, GrpcService, HeaderService, HistoryService, HotKeysDirective, HttpErrorHandler, HubConnectionService, HuconcurrentlyComponent, IAlertOptions, ImageErrorResolverDirective, InMemoryComponent, IndividualScheduleApplyComponent, InitializationCanActivateFn, InitializationCanMatchFn, InterceptorSkipHeader, IpServiceService, ItemComponent, JobComponent, JsonService, LanguageChangerComponent, LanguageComponent, LanguageEditComponent, LayoutService, LongTaskService, MOBILE_SCREEN_HEDER_HEIGHT, MapAppdemoToServerPipePipe, MapAttachmentToServerPipe, MapAvatarToServerPipe, MapNewsfeedMediaToServerPipe, MapService, MenuComponent, MenuEditComponent, MenuService, MessageService, ModalService, MultiLanguageService, MutationLogComponent, MutationViewComponent, NavigatorComponent, NavigatorService, NewlyCreatedTokenService, NormalizeHumanNamePipe, NotificationActionType, OnlineUsersComponent, OrganizationService, OtpInputComponent, OtpInputService, PaSalaryPolicyComponent, PaSalaryPolicyEditComponent, PageTitleComponent, PaginationComponent, PkceService, PortalRouteComponent, PortalRouteEditComponent, PositionComponent, PositionEditService, PositionTransferService, PushNotificationService, RandomAvatarService, RecursiveService, RequestCache, RequestCacheWithMap, ResponseService, RightchatComponent, RoutingService, STICKER_COLOR_SCHEMA, ScheduleOverviewComponent, SeekerService, SocketService, SsrsExpressService, StaffProfileComponent, StatisticAuthService, StatisticService, StringHtmlPipe, StringService, SunnyRotatingComponent, SysActionComponent, SysActionEditComponent, SysFunctionActionComponent, SysFunctionActionEditComponent, SysFunctionActionMapperComponent, SysFunctionUrlMapperComponent, SysMenuService, SysModuleComponent, SysModuleEditComponent, SysRouteAccessComponent, TLA_CONFIG, TableCellPipe, Textbox, ThreedotsComponent, TimeSheetService, TooltipComponent, TooltipDirective, TopicPermissionService, TopicTreeService, TranslatePipe, UnicodeService, UploadedFileService, UploadedFilenameCutoffPipe, UrlService, UserActivityComponent, UserActivityService, WageComponent, WaittingScreenComponent, WorkShiftDndService, alertOptions, appTypeInterceptor, attachmentOptions, authInterceptor, baseUrlInterceptor, blob_to_base64_script, cachingInterceptor, defaultPaging, graphInterceptor, httpInterceptorProviders, langInterceptor, liner_to_nested_array_script, longAlertOptions, noneAutoClosedAlertOptions, normalizeHumanName, responseInterceptor, themeBlue, timeZoneInterceptor, tokenInterceptor };
33505
33693
  //# sourceMappingURL=ngx-histaff-alpha.mjs.map