ngx-histaff-alpha 4.8.8 → 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.
@@ -19471,6 +19471,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
19471
19471
 
19472
19472
  class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19473
19473
  writeValue(obj) {
19474
+ if (!obj) {
19475
+ obj = [];
19476
+ }
19474
19477
  obj?.map(x => {
19475
19478
  if (!x.temporaryId)
19476
19479
  x.temporaryId = crypto.randomUUID();
@@ -19513,6 +19516,7 @@ class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19513
19516
  this.shifts$ = new BehaviorSubject([]);
19514
19517
  this.shifts$$ = [];
19515
19518
  this.subscriptions = [];
19519
+ this.alertService = inject(AlertService);
19516
19520
  this.$backgroundColor = input('white');
19517
19521
  this.$container = viewChild('container');
19518
19522
  this.$firstAddWrapper = viewChild('firstAddWrapper');
@@ -19699,7 +19703,7 @@ class CoreShiftCellComponent extends CoreFormControlBaseComponent {
19699
19703
  multi: true,
19700
19704
  useExisting: CoreShiftCellComponent
19701
19705
  }
19702
- ], 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 }); }
19703
19707
  }
19704
19708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoreShiftCellComponent, decorators: [{
19705
19709
  type: Component,
@@ -19712,7 +19716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
19712
19716
  multi: true,
19713
19717
  useExisting: CoreShiftCellComponent
19714
19718
  }
19715
- ], 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"] }]
19716
19720
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: WorkShiftDndService }, { type: DialogService }, { type: MultiLanguageService }, { type: DndService }] });
19717
19721
 
19718
19722
  class CoreControlComponent extends BaseComponent {
@@ -20634,12 +20638,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20634
20638
  }], ctorParameters: () => [] });
20635
20639
 
20636
20640
  class AtShiftPatternEditComponent extends BaseEditComponent {
20637
- constructor(dialogService, appService, atShiftPatternService, corePageListService) {
20641
+ constructor(dialogService, appService, atShiftPatternService, corePageListService, corePageEditService, coreFormService) {
20638
20642
  super(dialogService);
20639
20643
  this.dialogService = dialogService;
20640
20644
  this.appService = appService;
20641
20645
  this.atShiftPatternService = atShiftPatternService;
20642
20646
  this.corePageListService = corePageListService;
20647
+ this.corePageEditService = corePageEditService;
20648
+ this.coreFormService = coreFormService;
20643
20649
  this.loading = false;
20644
20650
  this.entityTable = "AT_SHIFT_PATTERN";
20645
20651
  this.subscriptions = [];
@@ -20684,6 +20690,26 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20684
20690
  },
20685
20691
  ],
20686
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
+ },
20687
20713
  {
20688
20714
  flexSize: 6,
20689
20715
  label: "UI_ENTITY_FIELD_CAPTION_AT_SHIFT_PATTERN_CODE",
@@ -20699,7 +20725,7 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20699
20725
  },
20700
20726
  {
20701
20727
  name: 'minLength',
20702
- validator: Validators.min(1),
20728
+ validator: Validators.minLength(1),
20703
20729
  errorMessage: EnumTranslateKey.UI_FORM_CONTROL_ERROR_MIN_LENGTH,
20704
20730
  }
20705
20731
  ]
@@ -20763,14 +20789,30 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20763
20789
  onFormCreated(e) {
20764
20790
  this.form = e;
20765
20791
  const rotationDaysField = e.get('rotationDays');
20766
- 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 => {
20767
20796
  if (x === 'WEEK') {
20768
20797
  rotationDaysField?.patchValue(7);
20769
20798
  rotationDaysField?.disable();
20799
+ roundCountField?.patchValue(1);
20800
+ roundCountField?.enable();
20801
+ if (!!roundCountElement)
20802
+ roundCountElement.hidden = false;
20770
20803
  }
20771
20804
  else {
20772
20805
  rotationDaysField?.patchValue(3);
20773
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);
20774
20816
  }
20775
20817
  });
20776
20818
  }
@@ -20805,7 +20847,7 @@ class AtShiftPatternEditComponent extends BaseEditComponent {
20805
20847
  ngOnDestroy() {
20806
20848
  this.subscriptions.map(x => x?.unsubscribe());
20807
20849
  }
20808
- 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 }); }
20809
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"] }] }); }
20810
20852
  }
20811
20853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternEditComponent, decorators: [{
@@ -20814,14 +20856,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20814
20856
  CorePageEditComponent,
20815
20857
  FullscreenModalLoaderComponent
20816
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}" }]
20817
- }], 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: [{
20818
20860
  type: Input
20819
20861
  }] } });
20820
20862
 
20821
20863
  class AtShiftPatternDetailComponent extends BaseComponent {
20822
- constructor(mls) {
20864
+ constructor(mls, workShiftDndService) {
20823
20865
  super(mls);
20824
20866
  this.mls = mls;
20867
+ this.workShiftDndService = workShiftDndService;
20825
20868
  this.data$ = new BehaviorSubject(undefined);
20826
20869
  this.atShiftPatternService = inject(AtShiftPatternService);
20827
20870
  this.shiftCollectionHeight$ = new BehaviorSubject(800);
@@ -20830,22 +20873,52 @@ class AtShiftPatternDetailComponent extends BaseComponent {
20830
20873
  ngAfterViewInit() {
20831
20874
  setTimeout(() => {
20832
20875
  this.shiftCollectionHeight$.next(window.innerHeight - 60 - 50 - 40 - 15 - 15);
20833
- this.subscriptions.push(this.data$.subscribe(x => {
20834
- const rounds = [];
20835
- x?.shiftRounds?.forEach(round => {
20836
- rounds.push(round);
20837
- });
20838
- if (!!x) {
20839
- for (let i = x?.shiftRounds?.length || 0; i < x.roundCount; i++) {
20840
- rounds.push([]);
20841
- }
20842
- }
20843
- this.rounds = rounds;
20844
- }));
20845
20876
  });
20846
20877
  }
20847
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternDetailComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
20848
- 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 <div class=\"shift-collection\">\r\n <core-shift-collection [relativeMode]=\"true\"\r\n [height]=\"(shiftCollectionHeight$ | async) || 500\"></core-shift-collection>\r\n </div>\r\n\r\n <div class=\"repeatable\">\r\n\r\n @for (round of rounds; track $index) {\r\n <div class=\"cell-collection\">\r\n @for (cell of round; track $index) {\r\n <!-- <core-shift-cell [ngModel]=\"shifts\" (ngModelChange)=\"onCellChange('mondayArr', $event, context)\"></core-shift-cell> -->\r\n <div class=\"cell-wrapper\">\r\n <div class=\"day-caption\">\r\n @if ((data$ | async)?.patternType === 'WEEK') {\r\n {{ mls.covertOneBasedDayNumberToDayOfWeekCode($index) | translate: lang }}\r\n } @else {\r\n {{ ('DAY' | translate: lang ) + \" \" + $index + 1 }}\r\n }\r\n </div>\r\n <core-shift-cell [ngModel]=\"cell\" [$hideStarterPlusSign]=\"true\"></core-shift-cell>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n</div>", styles: [".core-at-shift-pattern-detail-container{display:flex;align-items:start;justify-content:space-between}.core-at-shift-pattern-detail-container .shift-collection,.core-at-shift-pattern-detail-container .cell-collection{display:block}.core-at-shift-pattern-detail-container .cell-collection .cell-wrapper{background-color:#fff;width:262px}.core-at-shift-pattern-detail-container .cell-collection .cell-wrapper .day-caption{padding:15px 0 0 15px}\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"] }] }); }
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"] }] }); }
20849
20922
  }
20850
20923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternDetailComponent, decorators: [{
20851
20924
  type: Component,
@@ -20855,15 +20928,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20855
20928
  FormsModule,
20856
20929
  CorePageHeaderComponent,
20857
20930
  CoreShiftCollectionComponent,
20858
- CoreShiftCellComponent
20859
- ], template: "<div class=\"core-at-shift-pattern-detail-container\">\r\n <div class=\"shift-collection\">\r\n <core-shift-collection [relativeMode]=\"true\"\r\n [height]=\"(shiftCollectionHeight$ | async) || 500\"></core-shift-collection>\r\n </div>\r\n\r\n <div class=\"repeatable\">\r\n\r\n @for (round of rounds; track $index) {\r\n <div class=\"cell-collection\">\r\n @for (cell of round; track $index) {\r\n <!-- <core-shift-cell [ngModel]=\"shifts\" (ngModelChange)=\"onCellChange('mondayArr', $event, context)\"></core-shift-cell> -->\r\n <div class=\"cell-wrapper\">\r\n <div class=\"day-caption\">\r\n @if ((data$ | async)?.patternType === 'WEEK') {\r\n {{ mls.covertOneBasedDayNumberToDayOfWeekCode($index) | translate: lang }}\r\n } @else {\r\n {{ ('DAY' | translate: lang ) + \" \" + $index + 1 }}\r\n }\r\n </div>\r\n <core-shift-cell [ngModel]=\"cell\" [$hideStarterPlusSign]=\"true\"></core-shift-cell>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n</div>", styles: [".core-at-shift-pattern-detail-container{display:flex;align-items:start;justify-content:space-between}.core-at-shift-pattern-detail-container .shift-collection,.core-at-shift-pattern-detail-container .cell-collection{display:block}.core-at-shift-pattern-detail-container .cell-collection .cell-wrapper{background-color:#fff;width:262px}.core-at-shift-pattern-detail-container .cell-collection .cell-wrapper .day-caption{padding:15px 0 0 15px}\n"] }]
20860
- }], ctorParameters: () => [{ type: MultiLanguageService }], propDecorators: { data$: [{
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$: [{
20861
20935
  type: Input
20862
20936
  }] } });
20863
20937
 
20864
- class AtShiftPatternComponent {
20938
+ class AtShiftPatternComponent extends BaseComponent {
20865
20939
  constructor() {
20940
+ super(...arguments);
20866
20941
  this.atShiftPatternService = inject(AtShiftPatternService);
20942
+ this.appService = inject(AppService);
20867
20943
  this.title = "UI_COMPONENT_TITLE_AT_SHIFT_PATTERN";
20868
20944
  this.apiDefinition = {
20869
20945
  queryListRelativePath: '/api/AtShiftPattern/QueryList',
@@ -20938,10 +21014,16 @@ class AtShiftPatternComponent {
20938
21014
  this.atShiftPatternService.listInstanceNumber = e;
20939
21015
  }
20940
21016
  rowClick(e) {
20941
- this.atShiftPatternService.activePattern$.next(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
+ }));
20942
21024
  }
20943
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20944
- 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\">\r\n\r\n <core-page-header [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"></core-page-header>\r\n\r\n <div class=\"container container-fluid no-padding no-margin\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-6\">\r\n\r\n\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\"\r\n [crud]=\"crud\" [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=\"col-md-6\">\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=\"col-md-6\">\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=\"col-md-6\">\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 [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 </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}.core-at-shift-pattern-container .details-wrapper{background-color:bisque;padding:0 15px 15px}.core-at-shift-pattern-container .details-wrapper .details-title{height:40px;display:flex;align-items:center;justify-content:flex-start;font-weight:700}\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" }] }); }
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"] }] }); }
20945
21027
  }
20946
21028
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: AtShiftPatternComponent, decorators: [{
20947
21029
  type: Component,
@@ -20951,8 +21033,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
20951
21033
  CorePageListComponent,
20952
21034
  AtShiftPatternEditComponent,
20953
21035
  AtShiftPatternDetailComponent,
20954
- SunnyRotatingComponent
20955
- ], 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=\"container container-fluid no-padding no-margin\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-6\">\r\n\r\n\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\"\r\n [crud]=\"crud\" [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=\"col-md-6\">\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=\"col-md-6\">\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=\"col-md-6\">\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 [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 </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}.core-at-shift-pattern-container .details-wrapper{background-color:bisque;padding:0 15px 15px}.core-at-shift-pattern-container .details-wrapper .details-title{height:40px;display:flex;align-items:center;justify-content:flex-start;font-weight:700}\n"] }]
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"] }]
20956
21039
  }] });
20957
21040
 
20958
21041
  class CoreOrgParamComponent extends CoreFormControlBaseComponent {