ngx-histaff-alpha 2.3.4 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/esm2022/lib/app/app-pipes/map-attachment-to-server.pipe.mjs +25 -0
  2. package/esm2022/lib/app/app-pipes/uploaded-filename-cutoff.pipe.mjs +22 -0
  3. package/esm2022/lib/app/libraries/core-attachment/core-attachment/core-attachment.component.mjs +59 -24
  4. package/esm2022/lib/app/libraries/core-control/core-control/core-control.component.mjs +1 -1
  5. package/esm2022/lib/app/libraries/core-seen-by/core-seen-by.component.mjs +32 -0
  6. package/esm2022/lib/app/libraries/core-table/EnumCoreTablePipeType.mjs +2 -1
  7. package/esm2022/lib/app/libraries/core-table/core-table.component.mjs +4 -2
  8. package/esm2022/lib/app/libraries/pipes/table-cell.pipe.mjs +9 -1
  9. package/esm2022/lib/app/services/app-config.service.mjs +2 -1
  10. package/esm2022/lib/app/services/app-initialization.service.mjs +4 -3
  11. package/esm2022/lib/app/services/uploaded-file.service.mjs +24 -0
  12. package/esm2022/public-api.mjs +5 -1
  13. package/fesm2022/ngx-histaff-alpha.mjs +159 -25
  14. package/fesm2022/ngx-histaff-alpha.mjs.map +1 -1
  15. package/lib/app/app-pipes/map-attachment-to-server.pipe.d.ts +10 -0
  16. package/lib/app/app-pipes/uploaded-filename-cutoff.pipe.d.ts +7 -0
  17. package/lib/app/libraries/core-attachment/core-attachment/core-attachment.component.d.ts +15 -5
  18. package/lib/app/libraries/core-seen-by/core-seen-by.component.d.ts +14 -0
  19. package/lib/app/libraries/core-table/EnumCoreTablePipeType.d.ts +2 -1
  20. package/lib/app/services/app-config.service.d.ts +1 -0
  21. package/lib/app/services/uploaded-file.service.d.ts +7 -0
  22. package/package.json +1 -1
  23. package/public-api.d.ts +4 -0
@@ -6,7 +6,7 @@ import * as i1 from '@angular/common/http';
6
6
  import { HttpHeaders, HttpClient, HttpResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
7
7
  import { last, map, tap, finalize, filter as filter$1, take, switchMap, first, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs/operators';
8
8
  import * as i3 from '@angular/common';
9
- import { CommonModule, NgIf, NgTemplateOutlet } from '@angular/common';
9
+ import { CommonModule, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
10
10
  import * as i4 from '@angular/forms';
11
11
  import { NG_VALUE_ACCESSOR, FormsModule, NgControl, ReactiveFormsModule, FormControl, FormGroup, Validators, FormArray } from '@angular/forms';
12
12
  import * as i1$1 from '@angular/router';
@@ -64,6 +64,7 @@ class AppConfigService {
64
64
  this.HANGFIRE_PATH = '/jobs';
65
65
  this.STATIC_FOLDER = 'static';
66
66
  this.AVATAR_FOLDER = 'avatars';
67
+ this.ATTACHMENT_FOLDER = 'attachments';
67
68
  }
68
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AppConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
70
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AppConfigService, providedIn: 'root' }); }
@@ -75,6 +76,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
75
76
  }]
76
77
  }] });
77
78
 
79
+ class MapAttachmentToServerPipe {
80
+ constructor(appConfigService) {
81
+ this.appConfigService = appConfigService;
82
+ }
83
+ transform(value) {
84
+ if (!value)
85
+ return value;
86
+ let result = '';
87
+ result = `${this.appConfigService.BASE_URL}/${this.appConfigService.STATIC_FOLDER}/${this.appConfigService.ATTACHMENT_FOLDER}/${value}`;
88
+ return result;
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: MapAttachmentToServerPipe, deps: [{ token: AppConfigService }], target: i0.ɵɵFactoryTarget.Pipe }); }
91
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: MapAttachmentToServerPipe, isStandalone: true, name: "mapAttachmentToServer" }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: MapAttachmentToServerPipe, decorators: [{
94
+ type: Pipe,
95
+ args: [{
96
+ name: 'mapAttachmentToServer',
97
+ standalone: true
98
+ }]
99
+ }], ctorParameters: () => [{ type: AppConfigService }] });
100
+
78
101
  class MapAvatarToServerPipe {
79
102
  constructor(appConfigService) {
80
103
  this.appConfigService = appConfigService;
@@ -282,6 +305,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
282
305
  }]
283
306
  }], ctorParameters: () => [{ type: MultiLanguageService }] });
284
307
 
308
+ class UploadedFilenameCutoffPipe {
309
+ transform(value, ...args) {
310
+ if (!!value && typeof (value) === 'string' && value.length > 52) {
311
+ return value.substring(52);
312
+ }
313
+ else {
314
+ return '';
315
+ }
316
+ }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: UploadedFilenameCutoffPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
318
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: UploadedFilenameCutoffPipe, isStandalone: true, name: "uploadedFilenameCutoff" }); }
319
+ }
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: UploadedFilenameCutoffPipe, decorators: [{
321
+ type: Pipe,
322
+ args: [{
323
+ name: 'uploadedFilenameCutoff',
324
+ standalone: true
325
+ }]
326
+ }] });
327
+
285
328
  class BaseComponent {
286
329
  constructor(mls) {
287
330
  this.mls = mls;
@@ -2514,7 +2557,7 @@ class AppInitializationService {
2514
2557
  this.mls.lang$.next("en");
2515
2558
  }
2516
2559
  }
2517
- fetch('../../assets/app.config.json').then(res => res.json()).then(({ APP_TYPE, BASE_URL, BASE_URL_FOR_STATISTIC, GOLIVE_URL, DEBUG_ENABLED, LOGO_LOGIN, LOGO_HEADER, HOME_BACKGROUND_IMAGE, OAUTH2_OIDC_ENABLED, OAUTH2_OIDC_CLIENT_ID, OAUTH2_OIDC_LOGIN_URI, OAUTH2_OIDC_REDIRECT_URI, OAUTH2_OIDC_SCOPE, SAML2ADFS_ENABLED, SAML2ADFS_IDP, SAML2ADFS_IDENTIFIER, SAML2ADFS_WA_SIGNIN, SAML2ADFS_WA_SIGNOUT, SAML2ADFS_WREPLY, HANGFIRE_PATH, STATIC_FOLDER, AVATAR_FOLDER, }) => {
2560
+ fetch('../../assets/app.config.json').then(res => res.json()).then(({ APP_TYPE, BASE_URL, BASE_URL_FOR_STATISTIC, GOLIVE_URL, DEBUG_ENABLED, LOGO_LOGIN, LOGO_HEADER, HOME_BACKGROUND_IMAGE, OAUTH2_OIDC_ENABLED, OAUTH2_OIDC_CLIENT_ID, OAUTH2_OIDC_LOGIN_URI, OAUTH2_OIDC_REDIRECT_URI, OAUTH2_OIDC_SCOPE, SAML2ADFS_ENABLED, SAML2ADFS_IDP, SAML2ADFS_IDENTIFIER, SAML2ADFS_WA_SIGNIN, SAML2ADFS_WA_SIGNOUT, SAML2ADFS_WREPLY, HANGFIRE_PATH, STATIC_FOLDER, }) => {
2518
2561
  this.appConfigService.APP_TYPE = APP_TYPE;
2519
2562
  this.appConfigService.BASE_URL = BASE_URL;
2520
2563
  this.appConfigService.BASE_URL_FOR_STATISTIC = BASE_URL_FOR_STATISTIC;
@@ -2536,7 +2579,8 @@ class AppInitializationService {
2536
2579
  this.appConfigService.SAML2ADFS_WREPLY = SAML2ADFS_WREPLY;
2537
2580
  this.appConfigService.HANGFIRE_PATH = HANGFIRE_PATH;
2538
2581
  this.appConfigService.STATIC_FOLDER = STATIC_FOLDER;
2539
- this.appConfigService.AVATAR_FOLDER = AVATAR_FOLDER;
2582
+ this.appConfigService.AVATAR_FOLDER = "avatars";
2583
+ this.appConfigService.ATTACHMENT_FOLDER = "attachments";
2540
2584
  const params = (new URL(window.location.href)).searchParams;
2541
2585
  const local = params.get("local");
2542
2586
  if (SAML2ADFS_ENABLED && !local) {
@@ -4132,6 +4176,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
4132
4176
  }]
4133
4177
  }], ctorParameters: () => [{ type: RecursiveService }] });
4134
4178
 
4179
+ class UploadedFileService {
4180
+ constructor() { }
4181
+ canPreviewAsImage(fileName) {
4182
+ const splited = fileName.split('.');
4183
+ return [
4184
+ 'jpg',
4185
+ 'jpeg',
4186
+ 'png',
4187
+ 'gif',
4188
+ 'bmp',
4189
+ ].includes(splited[splited.length - 1]);
4190
+ }
4191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: UploadedFileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4192
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: UploadedFileService, providedIn: 'root' }); }
4193
+ }
4194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: UploadedFileService, decorators: [{
4195
+ type: Injectable,
4196
+ args: [{
4197
+ providedIn: 'root'
4198
+ }]
4199
+ }], ctorParameters: () => [] });
4200
+
4135
4201
  class UrlService {
4136
4202
  constructor() {
4137
4203
  this.previousRouteUrl$ = new BehaviorSubject('');
@@ -4862,6 +4928,7 @@ var EnumCoreTablePipeType;
4862
4928
  EnumCoreTablePipeType["LOWERCASE"] = "LOWERCASE";
4863
4929
  EnumCoreTablePipeType["UPPERCASE"] = "UPPERCASE";
4864
4930
  EnumCoreTablePipeType["NORMALIZE_HUMAN_NAME"] = "NORMALIZE_HUMAN_NAME";
4931
+ EnumCoreTablePipeType["UPLOADED_FILENAME_CUT_OFF"] = "UPLOADED_FILENAME_CUT_OFF";
4865
4932
  })(EnumCoreTablePipeType || (EnumCoreTablePipeType = {}));
4866
4933
 
4867
4934
  const normalizeHumanName = (value) => {
@@ -4925,6 +4992,7 @@ class TableCellPipe {
4925
4992
  EnumCoreTablePipeType.DECIMAL_TO_FIX_2,
4926
4993
  EnumCoreTablePipeType.DECIMAL_TO_FIX_3,
4927
4994
  EnumCoreTablePipeType.DECIMAL_TO_FIX_5,
4995
+ EnumCoreTablePipeType.UPLOADED_FILENAME_CUT_OFF
4928
4996
  ];
4929
4997
  if (!!!availableTypes.includes(pipe))
4930
4998
  return value;
@@ -5042,6 +5110,13 @@ class TableCellPipe {
5042
5110
  return !!value ?
5043
5111
  this.mls.trans(EnumTranslateKey.UI_COMMON_BOOLEAN_TO_ACTIVE, lang) :
5044
5112
  this.mls.trans(EnumTranslateKey.UI_COMMON_BOOLEAN_TO_INACTIVE, lang);
5113
+ case EnumCoreTablePipeType.UPLOADED_FILENAME_CUT_OFF:
5114
+ if (!!value && typeof (value) === 'string' && value.length > 52) {
5115
+ return value.substring(52);
5116
+ }
5117
+ else {
5118
+ return value;
5119
+ }
5045
5120
  default:
5046
5121
  return value;
5047
5122
  }
@@ -5189,7 +5264,9 @@ class CoreTableComponent extends CoreFormControlBaseComponent {
5189
5264
  if (isDevMode() && this.authService.data$.value?.id === '8c24683d-7d52-4f5a-8090-31c777e8869d') {
5190
5265
  this.alertService.error(error.message, noneAutoClosedAlertOptions);
5191
5266
  }
5192
- this.visibleData = JSON.parse(JSON.stringify(this.data));
5267
+ if (!!this.data) {
5268
+ this.visibleData = JSON.parse(JSON.stringify(this.data));
5269
+ }
5193
5270
  }
5194
5271
  }
5195
5272
  startDragging(e, col, flag) {
@@ -14689,16 +14766,21 @@ class CoreAttachmentComponent extends CoreFormControlBaseComponent {
14689
14766
  writeValue(obj) {
14690
14767
  this.valueToShow = obj?.serverFileName;
14691
14768
  }
14692
- constructor(injector, alertService, mls, appConfigService) {
14769
+ constructor(injector, alertService, mls, appConfigService, uploadedFileService, renderer) {
14693
14770
  super();
14694
14771
  this.injector = injector;
14695
14772
  this.alertService = alertService;
14696
14773
  this.mls = mls;
14697
14774
  this.appConfigService = appConfigService;
14775
+ this.uploadedFileService = uploadedFileService;
14776
+ this.renderer = renderer;
14777
+ this.dropdownHeight = 0;
14778
+ this.dropdownPadding = 0;
14698
14779
  }
14699
14780
  ngOnChanges(changes) {
14700
14781
  if (changes['valueToShow']) {
14701
14782
  this.valueToShow = changes['valueToShow']?.currentValue;
14783
+ this.previewable = this.uploadedFileService.canPreviewAsImage(this.valueToShow);
14702
14784
  }
14703
14785
  }
14704
14786
  ngOnInit() {
@@ -14709,22 +14791,43 @@ class CoreAttachmentComponent extends CoreFormControlBaseComponent {
14709
14791
  `, noneAutoClosedAlertOptions);
14710
14792
  }
14711
14793
  }
14794
+ ngAfterViewInit() {
14795
+ setTimeout(() => {
14796
+ this.listenerFn = this.renderer.listen('window', 'click', (e) => {
14797
+ if (this.container && !!!this.container.nativeElement.contains(e.target)) {
14798
+ this.dropdownHeight = 0;
14799
+ this.dropdownPadding = 0;
14800
+ }
14801
+ });
14802
+ });
14803
+ }
14712
14804
  onClickUpload() {
14713
14805
  if (this.disabled || this.readonly)
14714
14806
  return;
14807
+ this.dropdownHeight = 0;
14808
+ this.dropdownPadding = 0;
14715
14809
  this.rawInput.nativeElement.dispatchEvent(new MouseEvent('click'));
14716
14810
  }
14717
14811
  onClickDownload() {
14718
- var uri = this.appConfigService.BASE_URL + '/' + this.appConfigService.STATIC_FOLDER + '/attachments/' + this.valueToShow;
14719
- fetch(uri)
14720
- .then(response => response.blob())
14721
- .then(blob => {
14722
- const link = document.createElement("a");
14723
- link.href = URL.createObjectURL(blob);
14724
- link.download = this.valueToShow.substring(52);
14725
- link.click();
14726
- })
14727
- .catch(console.error);
14812
+ if (this.uploadedFileService.canPreviewAsImage(this.valueToShow)) {
14813
+ this.dropdownHeight = this.dropdownHeight === 0 ? 200 : 0;
14814
+ this.dropdownPadding = this.dropdownPadding === 0 ? 15 : 0;
14815
+ }
14816
+ else {
14817
+ var uri = this.appConfigService.BASE_URL + '/' + this.appConfigService.STATIC_FOLDER + '/attachments/' + this.valueToShow;
14818
+ fetch(uri)
14819
+ .then(response => response.blob())
14820
+ .then(blob => {
14821
+ const link = document.createElement("a");
14822
+ link.href = URL.createObjectURL(blob);
14823
+ link.download = this.valueToShow.substring(52);
14824
+ link.click();
14825
+ })
14826
+ .catch(console.error);
14827
+ }
14828
+ }
14829
+ isPreviewable() {
14830
+ return this.previewable;
14728
14831
  }
14729
14832
  handleInputChange(e) {
14730
14833
  if (!!e.target.files.length) {
@@ -14778,14 +14881,14 @@ class CoreAttachmentComponent extends CoreFormControlBaseComponent {
14778
14881
  }
14779
14882
  }
14780
14883
  }
14781
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreAttachmentComponent, deps: [{ token: i0.Injector }, { token: AlertService }, { token: MultiLanguageService }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
14782
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreAttachmentComponent, isStandalone: true, selector: "core-attachment", inputs: { readonly: "readonly", assignTo: "assignTo", valueToShow: "valueToShow" }, providers: [
14884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreAttachmentComponent, deps: [{ token: i0.Injector }, { token: AlertService }, { token: MultiLanguageService }, { token: AppConfigService }, { token: UploadedFileService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
14885
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreAttachmentComponent, isStandalone: true, selector: "core-attachment", inputs: { assignTo: "assignTo", readonly: "readonly", valueToShow: "valueToShow" }, providers: [
14783
14886
  {
14784
14887
  provide: NG_VALUE_ACCESSOR,
14785
14888
  multi: true,
14786
- useExisting: CoreAttachmentComponent
14889
+ useExisting: forwardRef(() => CoreAttachmentComponent),
14787
14890
  }
14788
- ], viewQueries: [{ propertyName: "rawInput", first: true, predicate: ["rawInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-attachment-container\">\r\n <input id=\"rawInput\" #rawInput type=\"file\" (change)=\"handleInputChange($event)\">\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"valueToShow\" readonly [class.form-control-disabled]=\"disabled\"\r\n [appTooltip]=\"(!!valueToShow && touched) ? 'This file will be uploaded and its path will be assigned to current record' : ''\">\r\n <div class=\"upload-icon-wrapper\" (click)=\"onClickUpload()\" [class.opacity0]=\"readonly\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-upload\"></i>\r\n </div>\r\n </div>\r\n <div class=\"download-icon-wrapper\" (click)=\"onClickDownload()\" *ngIf=\"!!valueToShow && !!!touched\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-download\"></i>\r\n </div>\r\n </div>\r\n</div>", styles: [".core-attachment-container{--height: 35px;display:block;position:relative;background-color:#fff;width:100%}.core-attachment-container #rawInput{display:none}.core-attachment-container>.upload-icon-wrapper{right:3px;top:3px}.core-attachment-container>.download-icon-wrapper{left:3px;top:3px}.core-attachment-container>.upload-icon-wrapper,.core-attachment-container>.download-icon-wrapper{display:block;position:absolute;background-color:#e9e9e9;width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);border-radius:.275rem;cursor:pointer}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper,.core-attachment-container>.download-icon-wrapper>.flex-wrapper{width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);display:flex;align-items:center;justify-content:center}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper>i,.core-attachment-container>.download-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:20px}.core-attachment-container .source-container{display:block;background-color:var(--color-bg-main);padding:var(--size-layout-block-cell-spacing);max-width:1200px;max-height:800px;overflow:hidden;border-radius:10px}.core-attachment-container .source-container i{font-size:20px;cursor:pointer;float:right}.core-attachment-container .source-container.d-none{display:none}.core-attachment-container .source-container>caption{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }] }); }
14891
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "rawInput", first: true, predicate: ["rawInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-attachment-container\">\r\n <input id=\"rawInput\" #rawInput type=\"file\" (change)=\"handleInputChange($event)\">\r\n <div class=\"form-control\" type=\"text\" [(ngModel)]=\"valueToShow\" readonly [class.form-control-disabled]=\"disabled\">\r\n <div class=\"text-to-show\" [appTooltip]=\"valueToShow | uploadedFilenameCutoff\">{{ valueToShow |\r\n uploadedFilenameCutoff}}</div>\r\n </div>\r\n <div class=\"upload-icon-wrapper\" (click)=\"onClickUpload()\" [class.opacity0]=\"readonly\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-upload\"></i>\r\n </div>\r\n </div>\r\n @if (!!valueToShow && !!!touched) {\r\n <div class=\"download-icon-wrapper\" (click)=\"onClickDownload()\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-download\"></i>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"dropdown\" [ngStyle]=\"{ height: dropdownHeight + 'px', padding: dropdownPadding + 'px' }\">\r\n @if (previewable) {\r\n <img [src]=\"valueToShow | mapAttachmentToServer\" imageErrorResolver />\r\n }\r\n </div>\r\n\r\n</div>", styles: [".core-attachment-container{--height: 35px;display:block;position:relative;background-color:#fff;width:100%}.core-attachment-container .dropdown{box-sizing:border-box;display:block;position:absolute;width:100%;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:height .25s linear;z-index:calc(var(--max-z-index) + 1)}.core-attachment-container .dropdown img{transform:none;max-width:100%;max-height:170px}.core-attachment-container .dropdown img:hover{transform:none}.core-attachment-container #rawInput{display:none}.core-attachment-container .text-to-show{width:calc(100% - 60px);height:calc(var(--height) - 12px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform:translate(30px)}.core-attachment-container>.upload-icon-wrapper{right:3px;top:3px}.core-attachment-container>.download-icon-wrapper{left:3px;top:3px}.core-attachment-container>.upload-icon-wrapper,.core-attachment-container>.download-icon-wrapper{display:block;position:absolute;background-color:#e9e9e9;width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);border-radius:.275rem;cursor:pointer}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper,.core-attachment-container>.download-icon-wrapper>.flex-wrapper{width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);display:flex;align-items:center;justify-content:center}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper>i,.core-attachment-container>.download-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:20px}.core-attachment-container .source-container{display:block;background-color:var(--color-bg-main);padding:var(--size-layout-block-cell-spacing);max-width:1200px;max-height:800px;overflow:hidden;border-radius:10px}.core-attachment-container .source-container i{font-size:20px;cursor:pointer;float:right}.core-attachment-container .source-container.d-none{display:none}.core-attachment-container .source-container>caption{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }, { kind: "pipe", type: UploadedFilenameCutoffPipe, name: "uploadedFilenameCutoff" }, { kind: "pipe", type: MapAttachmentToServerPipe, name: "mapAttachmentToServer" }] }); }
14789
14892
  }
14790
14893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreAttachmentComponent, decorators: [{
14791
14894
  type: Component,
@@ -14793,19 +14896,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
14793
14896
  CommonModule,
14794
14897
  FormsModule,
14795
14898
  TooltipDirective,
14899
+ UploadedFilenameCutoffPipe,
14900
+ MapAttachmentToServerPipe,
14901
+ ImageErrorResolverDirective
14796
14902
  ], providers: [
14797
14903
  {
14798
14904
  provide: NG_VALUE_ACCESSOR,
14799
14905
  multi: true,
14800
- useExisting: CoreAttachmentComponent
14906
+ useExisting: forwardRef(() => CoreAttachmentComponent),
14801
14907
  }
14802
- ], template: "<div #container class=\"core-attachment-container\">\r\n <input id=\"rawInput\" #rawInput type=\"file\" (change)=\"handleInputChange($event)\">\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"valueToShow\" readonly [class.form-control-disabled]=\"disabled\"\r\n [appTooltip]=\"(!!valueToShow && touched) ? 'This file will be uploaded and its path will be assigned to current record' : ''\">\r\n <div class=\"upload-icon-wrapper\" (click)=\"onClickUpload()\" [class.opacity0]=\"readonly\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-upload\"></i>\r\n </div>\r\n </div>\r\n <div class=\"download-icon-wrapper\" (click)=\"onClickDownload()\" *ngIf=\"!!valueToShow && !!!touched\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-download\"></i>\r\n </div>\r\n </div>\r\n</div>", styles: [".core-attachment-container{--height: 35px;display:block;position:relative;background-color:#fff;width:100%}.core-attachment-container #rawInput{display:none}.core-attachment-container>.upload-icon-wrapper{right:3px;top:3px}.core-attachment-container>.download-icon-wrapper{left:3px;top:3px}.core-attachment-container>.upload-icon-wrapper,.core-attachment-container>.download-icon-wrapper{display:block;position:absolute;background-color:#e9e9e9;width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);border-radius:.275rem;cursor:pointer}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper,.core-attachment-container>.download-icon-wrapper>.flex-wrapper{width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);display:flex;align-items:center;justify-content:center}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper>i,.core-attachment-container>.download-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:20px}.core-attachment-container .source-container{display:block;background-color:var(--color-bg-main);padding:var(--size-layout-block-cell-spacing);max-width:1200px;max-height:800px;overflow:hidden;border-radius:10px}.core-attachment-container .source-container i{font-size:20px;cursor:pointer;float:right}.core-attachment-container .source-container.d-none{display:none}.core-attachment-container .source-container>caption{display:block;width:100%}\n"] }]
14803
- }], ctorParameters: () => [{ type: i0.Injector }, { type: AlertService }, { type: MultiLanguageService }, { type: AppConfigService }], propDecorators: { readonly: [{
14908
+ ], template: "<div #container class=\"core-attachment-container\">\r\n <input id=\"rawInput\" #rawInput type=\"file\" (change)=\"handleInputChange($event)\">\r\n <div class=\"form-control\" type=\"text\" [(ngModel)]=\"valueToShow\" readonly [class.form-control-disabled]=\"disabled\">\r\n <div class=\"text-to-show\" [appTooltip]=\"valueToShow | uploadedFilenameCutoff\">{{ valueToShow |\r\n uploadedFilenameCutoff}}</div>\r\n </div>\r\n <div class=\"upload-icon-wrapper\" (click)=\"onClickUpload()\" [class.opacity0]=\"readonly\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-upload\"></i>\r\n </div>\r\n </div>\r\n @if (!!valueToShow && !!!touched) {\r\n <div class=\"download-icon-wrapper\" (click)=\"onClickDownload()\">\r\n <div class=\"flex-wrapper\">\r\n <i class=\"feather-download\"></i>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"dropdown\" [ngStyle]=\"{ height: dropdownHeight + 'px', padding: dropdownPadding + 'px' }\">\r\n @if (previewable) {\r\n <img [src]=\"valueToShow | mapAttachmentToServer\" imageErrorResolver />\r\n }\r\n </div>\r\n\r\n</div>", styles: [".core-attachment-container{--height: 35px;display:block;position:relative;background-color:#fff;width:100%}.core-attachment-container .dropdown{box-sizing:border-box;display:block;position:absolute;width:100%;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:height .25s linear;z-index:calc(var(--max-z-index) + 1)}.core-attachment-container .dropdown img{transform:none;max-width:100%;max-height:170px}.core-attachment-container .dropdown img:hover{transform:none}.core-attachment-container #rawInput{display:none}.core-attachment-container .text-to-show{width:calc(100% - 60px);height:calc(var(--height) - 12px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform:translate(30px)}.core-attachment-container>.upload-icon-wrapper{right:3px;top:3px}.core-attachment-container>.download-icon-wrapper{left:3px;top:3px}.core-attachment-container>.upload-icon-wrapper,.core-attachment-container>.download-icon-wrapper{display:block;position:absolute;background-color:#e9e9e9;width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);border-radius:.275rem;cursor:pointer}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper,.core-attachment-container>.download-icon-wrapper>.flex-wrapper{width:calc(var(--height) - 6px);height:calc(var(--height) - 6px);display:flex;align-items:center;justify-content:center}.core-attachment-container>.upload-icon-wrapper>.flex-wrapper>i,.core-attachment-container>.download-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:20px}.core-attachment-container .source-container{display:block;background-color:var(--color-bg-main);padding:var(--size-layout-block-cell-spacing);max-width:1200px;max-height:800px;overflow:hidden;border-radius:10px}.core-attachment-container .source-container i{font-size:20px;cursor:pointer;float:right}.core-attachment-container .source-container.d-none{display:none}.core-attachment-container .source-container>caption{display:block;width:100%}\n"] }]
14909
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: AlertService }, { type: MultiLanguageService }, { type: AppConfigService }, { type: UploadedFileService }, { type: i0.Renderer2 }], propDecorators: { assignTo: [{
14804
14910
  type: Input
14805
- }], assignTo: [{
14911
+ }], readonly: [{
14806
14912
  type: Input
14807
14913
  }], valueToShow: [{
14808
14914
  type: Input
14915
+ }], container: [{
14916
+ type: ViewChild,
14917
+ args: ['container']
14809
14918
  }], rawInput: [{
14810
14919
  type: ViewChild,
14811
14920
  args: ['rawInput']
@@ -15048,7 +15157,7 @@ class CoreControlComponent extends BaseComponent {
15048
15157
  this.control.click$?.next(e);
15049
15158
  }
15050
15159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreControlComponent, deps: [{ token: MultiLanguageService }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
15051
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreControlComponent, isStandalone: true, selector: "core-control", inputs: { control: "control", form: "form", checkError$: "checkError$", rangeLimit: "rangeLimit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\" [appTooltip]=\"control.tooltip! | translate: lang\" [ngStyle]=\"{\r\n display: 'inline-block'\r\n }\">\r\n {{(control.controlType!=='CHECKBOX' && control.controlType!=='BUTTON') ? (control.label | translate: lang) : ''}}\r\n </label>\r\n\r\n @if (!!control.hint! && control.controlType !== 'CHECKBOX') {\r\n <i class=\"feather-help-circle\" [appTooltip]=\"control.hint!\" [ngStyle]=\"{\r\n display: 'inline-block',\r\n marginLeft: '2px'\r\n }\"></i>\r\n }\r\n\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case (\"TEXTBOX\") {\r\n <input *ngIf=\"control.type==='date'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly!\" useValueAsDate>\r\n \r\n <input *ngIf=\"control.type==='number'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" [step]=\"control.step || '1'\">\r\n \r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [formControlName]=\"control.field\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\"\r\n [appTooltip]=\"form.get(control.field)?.value\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n >\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [formControlName]=\"control.field\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [formControlName]=\"control.field\" class=\"form-control\" [readonly]=\"control.readonly\"></textarea>\r\n }\r\n @case (\"CHECKBOX\") {\r\n <core-checkbox [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\"></core-checkbox>\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [formControlName]=\"control.field\" [columns]=\"control.columns!\" [shownFrom]=\"control.shownFrom!\" \r\n [apiDefinition]=\"control.apiDefinition!\" [getByIdApi]=\"control.getByIdApi!\" [selectedRow$]=\"control.selectedRow$!\"\r\n [outerParam$]=\"control.outerParam$!\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker [formControlName]=\"control.field\" [rangeLimit]=\"control.rangeLimit!\"></core-date-picker>\r\n }\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [formControlName]=\"control.field\" [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\"></core-dropdown>\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\"></core-list>\r\n }\r\n @case (\"CHECKLIST\") {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [formControlName]=\"control.field\" [options$]=\"control.checklistOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\"></core-checklist>\r\n }\r\n }\r\n @case (\"FILEUPLOADER\") {\r\n @if (!!control.uploadFileType) {\r\n <core-file-uploader [formControlName]=\"control.field\" [uploadFileType]=\"control.uploadFileType\"\r\n [fileDataControlName]=\"control.fileDataControlName!\"\r\n [fileNameControlName]=\"control.fileNameControlName!\"\r\n [fileTypeControlName]=\"control.fileTypeControlName!\"\r\n [verticalMode]=\"control.verticalMode!\"></core-file-uploader>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment [formControlName]=\"control.field\" [assignTo]=\"control.assignTo!\"\r\n [valueToShow]=\"control.valueToShow!\"></core-attachment>\r\n }\r\n @case (\"GRIDBUFFER\") {\r\n @if (!!control.gridBufferFormSections && !!control.gridBufferTableColumns) {\r\n <core-grid-buffer [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n (onBufferFormCreated)=\"!!control.onBufferFormCreated ? control.onBufferFormCreated($event) : null\"></core-grid-buffer>\r\n }\r\n }\r\n @case (\"ORGTREECHECK\") {\r\n <core-org-tree [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [formControlName]=\"control.field\"\r\n [options$]=\"control.radioGroupOptions$!\"\r\n [vertical]=\"control.verticalMode!\"\r\n ></core-radio-group>\r\n }\r\n @case (\"MONTHSELECTOR\") {\r\n <core-month-selector [formControlName]=\"control.field\"></core-month-selector>\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [boundFrom]=\"control.boundFrom!\"\r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\" [shownFrom]=\"control.shownFrom!\"\r\n [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [formControlName]=\"control.field\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [seekerVerifyIgnore]=\"control.seekerVerifyIgnore!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [multiModeTableHeight]=\"control.multiModeTableHeight!\"\r\n\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [formControlName]=\"control.field\" [seekerSourceType]=\"control.seekerSourceType!\"\r\n [boundFrom]=\"control.boundFrom!\" [alsoBindTo]=\"control.alsoBindTo!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n }\r\n }\r\n }\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='BUTTON'\">\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n <div *ngIf=\"!!errors!.length\">\r\n <div class=\"form-control-error\" *ngFor=\"let error of errors\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"!!!errors!.length && !!checkError$.value\">\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-container{font-size:var(--typo-basic-font-size)!important}.core-control-container .control-label{color:#848484}.core-control-container>div.hidden{display:none}.core-control-container label{color:#464646}.core-control-container label.required:after{content:\"*\";color:#ff040b}.core-control-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "itemHeight"] }, { kind: "component", type: CoreListComponent, selector: "core-list", inputs: ["title", "options"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreFormControlSeekerComponent, selector: "core-form-control-seeker", inputs: ["title", "showPageHeader", "preDefinedOuterParam$", "click$", "getByIdObject$", "paramMode", "multiMode", "objectList$", "shownSeekerColumns", "excludeExistingList", "indirectBinding", "bindGridIdTo", "multiModeExtendedColumns", "multiModeExtendedSections", "editBufferData$", "multiModeTableHeight", "multiModeRowHeight", "seekerSourceType", "boundFrom", "shownFrom", "alsoBindTo", "seekerVerifyIgnore"], outputs: ["onDoubleClick"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreFileUploaderComponent, selector: "core-file-uploader", inputs: ["uploadFileType", "fileDataControlName", "fileNameControlName", "fileTypeControlName", "avatarSize", "defaultAvatar", "hidePreview", "verticalMode"] }, { kind: "component", type: CoreAttachmentComponent, selector: "core-attachment", inputs: ["readonly", "assignTo", "valueToShow"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "rangeLimit", "readonly", "disabled"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance", "excludedIds$"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical"] }, { kind: "component", type: CoreMccComponent, selector: "core-mcc", inputs: ["height", "columns", "shownFrom", "apiDefinition", "getByIdApi", "outerParam$", "selectedRow$", "outerFilterOperators", "outerInOperators"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", outputs: ["onYearClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }, { kind: "component", type: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign"], outputs: ["onLeftFocus"] }] }); }
15160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreControlComponent, isStandalone: true, selector: "core-control", inputs: { control: "control", form: "form", checkError$: "checkError$", rangeLimit: "rangeLimit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-control-container\">\r\n <div [formGroup]=\"form\" [class.hidden]=\"!!control.hidden\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label' + (required ? ' required' : '')\" [attr.for]=\"control.field\"\r\n [class.avatar-label]=\"control.uploadFileType==='IMAGE_AVATAR'\" [appTooltip]=\"control.tooltip! | translate: lang\" [ngStyle]=\"{\r\n display: 'inline-block'\r\n }\">\r\n {{(control.controlType!=='CHECKBOX' && control.controlType!=='BUTTON') ? (control.label | translate: lang) : ''}}\r\n </label>\r\n\r\n @if (!!control.hint! && control.controlType !== 'CHECKBOX') {\r\n <i class=\"feather-help-circle\" [appTooltip]=\"control.hint!\" [ngStyle]=\"{\r\n display: 'inline-block',\r\n marginLeft: '2px'\r\n }\"></i>\r\n }\r\n\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n <ng-container>\r\n @switch (control.controlType) {\r\n @case (\"TEXTBOX\") {\r\n <input *ngIf=\"control.type==='date'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly!\" useValueAsDate>\r\n \r\n <input *ngIf=\"control.type==='number'\" [formControlName]=\"control.field\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\" [step]=\"control.step || '1'\">\r\n \r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [formControlName]=\"control.field\"\r\n [value]=\"form.get(control.field)?.value | tableCell: control.pipe : lang\" [type]=\"control.type\"\r\n class=\"form-control\" [readonly]=\"control.readonly\"\r\n [appTooltip]=\"form.get(control.field)?.value\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n >\r\n }\r\n @case (\"CURRENCY\") {\r\n <core-currency-input [formControlName]=\"control.field\"></core-currency-input>\r\n }\r\n @case (\"TEXTAREA\") {\r\n <textarea [rows]=\"control.textareaRows?.toString() || '3'\" [ngStyle]=\"{ height: 'unset' }\"\r\n [formControlName]=\"control.field\" class=\"form-control\" [readonly]=\"control.readonly\"></textarea>\r\n }\r\n @case (\"CHECKBOX\") {\r\n <core-checkbox [formControlName]=\"control.field\" [text]=\"control.label\"\r\n [inputValue]=\"control.value\"></core-checkbox>\r\n }\r\n @case (\"MCC\") {\r\n <core-mcc [formControlName]=\"control.field\" [columns]=\"control.columns!\" [shownFrom]=\"control.shownFrom!\" \r\n [apiDefinition]=\"control.apiDefinition!\" [getByIdApi]=\"control.getByIdApi!\" [selectedRow$]=\"control.selectedRow$!\"\r\n [outerParam$]=\"control.outerParam$!\"\r\n ></core-mcc>\r\n }\r\n @case (\"DATEPICKER\") {\r\n <core-date-picker [formControlName]=\"control.field\" [rangeLimit]=\"control.rangeLimit!\"></core-date-picker>\r\n }\r\n @case (\"DROPDOWN\") {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [formControlName]=\"control.field\" [options$]=\"control.dropdownOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\"></core-dropdown>\r\n }\r\n }\r\n @case (\"LIST\") {\r\n <core-list [formControlName]=\"control.field\" [options]=\"control.listOptions!\"></core-list>\r\n }\r\n @case (\"CHECKLIST\") {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [formControlName]=\"control.field\" [options$]=\"control.checklistOptions$!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\" [shownFrom]=\"control.shownFrom!\"></core-checklist>\r\n }\r\n }\r\n @case (\"FILEUPLOADER\") {\r\n @if (!!control.uploadFileType) {\r\n <core-file-uploader [formControlName]=\"control.field\" [uploadFileType]=\"control.uploadFileType\"\r\n [fileDataControlName]=\"control.fileDataControlName!\"\r\n [fileNameControlName]=\"control.fileNameControlName!\"\r\n [fileTypeControlName]=\"control.fileTypeControlName!\"\r\n [verticalMode]=\"control.verticalMode!\"></core-file-uploader>\r\n }\r\n }\r\n @case (\"ATTACHMENT\") {\r\n <core-attachment [formControlName]=\"control.field\" [assignTo]=\"control.assignTo!\"\r\n [valueToShow]=\"control.valueToShow!\"></core-attachment>\r\n }\r\n @case (\"GRIDBUFFER\") {\r\n @if (!!control.gridBufferFormSections && !!control.gridBufferTableColumns) {\r\n <core-grid-buffer [formControlName]=\"control.field\" [formSections]=\"control.gridBufferFormSections\"\r\n [gridColumns]=\"control.gridBufferTableColumns\"\r\n (onBufferFormCreated)=\"!!control.onBufferFormCreated ? control.onBufferFormCreated($event) : null\"></core-grid-buffer>\r\n }\r\n }\r\n @case (\"ORGTREECHECK\") {\r\n <core-org-tree [formControlName]=\"control.field\"\r\n [accessorMode]=\"coreOrgTreeDefaultAccessorMode\"></core-org-tree>\r\n }\r\n @case (\"RADIOGROUP\") {\r\n <core-radio-group [formControlName]=\"control.field\"\r\n [options$]=\"control.radioGroupOptions$!\"\r\n [vertical]=\"control.verticalMode!\"\r\n ></core-radio-group>\r\n }\r\n @case (\"MONTHSELECTOR\") {\r\n <core-month-selector [formControlName]=\"control.field\"></core-month-selector>\r\n }\r\n @case (\"SEEKER\") {\r\n @switch(control.seekerSourceType) {\r\n @case(\"JOB_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"EMPLOYEE_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [editBufferData$]=\"control.editBufferData$!\"\r\n [indirectBinding]=\"control.indirectBinding!\"\r\n [bindGridIdTo]=\"control.bindGridIdTo!\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"CONTRACT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [boundFrom]=\"control.boundFrom!\"\r\n [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\" [shownFrom]=\"control.shownFrom!\"\r\n [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WORKING_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\" [formControlName]=\"control.field\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"WAGE_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [formControlName]=\"control.field\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_SEEK\") {\r\n <core-form-control-seeker \r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [objectList$]=\"control.objectList$!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [seekerVerifyIgnore]=\"control.seekerVerifyIgnore!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"POSITION_CONCURRENT_SEEK\") {\r\n <core-form-control-seeker\r\n [excludeExistingList]=\"control.excludeExistingList!\"\r\n [multiMode]=\"control.multiMode!\" [multiModeTableHeight]=\"control.multiModeTableHeight!\" [multiModeRowHeight]=\"control.multiModeRowHeight!\"\r\n [formControlName]=\"control.field\" [alsoBindTo]=\"control.alsoBindTo!\"\r\n [seekerSourceType]=\"control.seekerSourceType!\" [preDefinedOuterParam$]=\"control.preDefinedOuterParam$!\"\r\n [boundFrom]=\"control.boundFrom!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [multiModeExtendedColumns]=\"control.multiModeExtendedColumns!\"\r\n [multiModeExtendedSections]=\"control.multiModeExtendedSections!\"\r\n [multiModeTableHeight]=\"control.multiModeTableHeight!\"\r\n\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n @case(\"ORGANIZATION_UNIT_SEEK\") {\r\n <core-form-control-seeker\r\n [formControlName]=\"control.field\" [seekerSourceType]=\"control.seekerSourceType!\"\r\n [boundFrom]=\"control.boundFrom!\" [alsoBindTo]=\"control.alsoBindTo!\" [shownFrom]=\"control.shownFrom!\"\r\n [getByIdObject$]=\"control.getByIdObject$!\"\r\n [click$]=\"control.click$\"\r\n ></core-form-control-seeker>\r\n }\r\n }\r\n }\r\n }\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='BUTTON'\">\r\n <button type=\"button\" class=\"btn btn-secondary text\" (click)=\"oHandleClick($event)\">{{control.label| translate: lang}}</button>\r\n </ng-container>\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n <!-- START: ERROR SESSION-->\r\n <div *ngIf=\"!!errors!.length\">\r\n <div class=\"form-control-error\" *ngFor=\"let error of errors\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"!!!errors!.length && !!checkError$.value\">\r\n <div>\r\n {{ '&nbsp;' }}\r\n </div>\r\n </div>\r\n <!-- END: ERROR SESSION-->\r\n\r\n </div>\r\n</div>", styles: [".core-control-container{font-size:var(--typo-basic-font-size)!important}.core-control-container .control-label{color:#848484}.core-control-container>div.hidden{display:none}.core-control-container label{color:#464646}.core-control-container label.required:after{content:\"*\";color:#ff040b}.core-control-container label.avatar-label{width:var(--size-file-uploader);display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "itemHeight"] }, { kind: "component", type: CoreListComponent, selector: "core-list", inputs: ["title", "options"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreFormControlSeekerComponent, selector: "core-form-control-seeker", inputs: ["title", "showPageHeader", "preDefinedOuterParam$", "click$", "getByIdObject$", "paramMode", "multiMode", "objectList$", "shownSeekerColumns", "excludeExistingList", "indirectBinding", "bindGridIdTo", "multiModeExtendedColumns", "multiModeExtendedSections", "editBufferData$", "multiModeTableHeight", "multiModeRowHeight", "seekerSourceType", "boundFrom", "shownFrom", "alsoBindTo", "seekerVerifyIgnore"], outputs: ["onDoubleClick"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreFileUploaderComponent, selector: "core-file-uploader", inputs: ["uploadFileType", "fileDataControlName", "fileNameControlName", "fileTypeControlName", "avatarSize", "defaultAvatar", "hidePreview", "verticalMode"] }, { kind: "component", type: CoreAttachmentComponent, selector: "core-attachment", inputs: ["assignTo", "readonly", "valueToShow"] }, { kind: "component", type: CoreGridBufferComponent, selector: "core-grid-buffer", inputs: ["formSections", "gridColumns"], outputs: ["onBufferFormCreated"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "rangeLimit", "readonly", "disabled"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance", "excludedIds$"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical"] }, { kind: "component", type: CoreMccComponent, selector: "core-mcc", inputs: ["height", "columns", "shownFrom", "apiDefinition", "getByIdApi", "outerParam$", "selectedRow$", "outerFilterOperators", "outerInOperators"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", outputs: ["onYearClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }, { kind: "component", type: CoreCurrencyInputComponent, selector: "core-currency-input", inputs: ["currencySign"], outputs: ["onLeftFocus"] }] }); }
15052
15161
  }
15053
15162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreControlComponent, decorators: [{
15054
15163
  type: Component,
@@ -21961,6 +22070,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
21961
22070
  ], template: "<div class=\"core-routing-history-container\">\r\n <ul>\r\n <li *ngFor=\"let item of items; let i = index\">\r\n <span>\r\n {{ i + 1 }}\r\n </span>\r\n </li>\r\n </ul>\r\n</div>", styles: [".core-routing-history-container{width:100%;height:auto}.core-routing-history-container>ul{overflow-x:auto;overflow-y:hidden;display:flex;align-items:center;justify-content:flex-end;height:40px}.core-routing-history-container>ul>li>span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;overflow:hidden;text-overflow:ellipsis;cursor:pointer;margin:0 5px;border:solid 1px darkgray}.core-routing-history-container>ul>li>span:hover{background-color:#a9a9a9}\n"] }]
21962
22071
  }], ctorParameters: () => [{ type: MultiLanguageService }, { type: RoutingService }] });
21963
22072
 
22073
+ class CoreSeenByComponent extends CoreFormControlBaseComponent {
22074
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreSeenByComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22075
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreSeenByComponent, isStandalone: true, selector: "core-seen-by", providers: [
22076
+ {
22077
+ provide: NG_VALUE_ACCESSOR,
22078
+ multi: true,
22079
+ useExisting: CoreSeenByComponent
22080
+ }
22081
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"core-seen-by-container\">\n @if (value) {\n @for (item of value; track $index) {\n <div class=\"avatar-wrapper\" [ngStyle]=\"{\n zIndex: $index,\n left: (36 + 2) * $index + 'px'\n }\">\n <img [src]=\"item.avatar | mapAvatarToServer\" appImageErrorResolver>\n </div>\n }\n }\n</div>", styles: [".core-seen-by-container{display:block;position:relative;max-width:100%;overflow-x:auto;height:36px}.core-seen-by-container>.avatar-wrapper{display:block;position:absolute;width:36px;height:36px;border-radius:50%;top:0;cursor:pointer}.core-seen-by-container>.avatar-wrapper>img{width:36px;height:36px;border-radius:50%;transform:none!important}.core-seen-by-container>.avatar-wrapper>img :hover{transform:none!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: MapAvatarToServerPipe, name: "mapAvatarToServer" }, { kind: "directive", type: ImageErrorResolverDirective, selector: "[appImageErrorResolver]" }] }); }
22082
+ }
22083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreSeenByComponent, decorators: [{
22084
+ type: Component,
22085
+ args: [{ selector: 'core-seen-by', standalone: true, imports: [
22086
+ NgStyle,
22087
+ MapAvatarToServerPipe,
22088
+ ImageErrorResolverDirective
22089
+ ], providers: [
22090
+ {
22091
+ provide: NG_VALUE_ACCESSOR,
22092
+ multi: true,
22093
+ useExisting: CoreSeenByComponent
22094
+ }
22095
+ ], template: "<div class=\"core-seen-by-container\">\n @if (value) {\n @for (item of value; track $index) {\n <div class=\"avatar-wrapper\" [ngStyle]=\"{\n zIndex: $index,\n left: (36 + 2) * $index + 'px'\n }\">\n <img [src]=\"item.avatar | mapAvatarToServer\" appImageErrorResolver>\n </div>\n }\n }\n</div>", styles: [".core-seen-by-container{display:block;position:relative;max-width:100%;overflow-x:auto;height:36px}.core-seen-by-container>.avatar-wrapper{display:block;position:absolute;width:36px;height:36px;border-radius:50%;top:0;cursor:pointer}.core-seen-by-container>.avatar-wrapper>img{width:36px;height:36px;border-radius:50%;transform:none!important}.core-seen-by-container>.avatar-wrapper>img :hover{transform:none!important}\n"] }]
22096
+ }] });
22097
+
21964
22098
  class CoreSubFormGroupComponent extends CorePageEditComponent {
21965
22099
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreSubFormGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21966
22100
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreSubFormGroupComponent, isStandalone: true, selector: "core-sub-form-group", usesInheritance: true, ngImport: i0, template: "<core-form *ngIf=\"!!sections.length\" [formName]=\"'form'\" [inputSections]=\"sections\" [mode$]=\"mode$\" (onFormCreated)=\"onFormCreatedLocal($event)\"></core-form>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CoreFormComponent, selector: "core-form", inputs: ["formName", "submitText", "leftInputSections", "leftInputSectionsFlexSize", "inputSections", "mode$", "bottomTemplateRef", "customFormButtonItems", "showCaptionButton", "disableSaveButton", "checkError$"], outputs: ["onFormCreated", "onFormRefCreated", "onSubmit", "onSave", "onCancal", "buttonClick"] }] }); }
@@ -24152,5 +24286,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
24152
24286
  * Generated bundle index. Do not edit.
24153
24287
  */
24154
24288
 
24155
- export { AlertComponent, AlertService, AnimatedTextComponent, AnimatedTextService, AppConfigService, AppInitializationService, AppService, AuthService, BaseComponent, BaseDropdownComponent, BaseEditComponent, ButtonGroupComponent, ButtonGroupModule, ButtonGroupService, CORE_VNS_BUTTONS, CacheService, CanActivateFunctionUrlMapperGuard, CanDeactivateGuard, CheckForUpdateService, CommonHttpRequestService, ConfigService, ConfirmDialogStateComponent, ControlBase, CoreAccordionComponent, CoreAccordionService, CoreApiProgressComponent, CoreAttachmentComponent, CoreButtonComponent, CoreButtonGroupComponent, CoreButtonGroupService, CoreButtonGroupVnsComponent, CoreButtonVnsComponent, CoreCheckboxComponent, CoreChecklistComponent, CoreCommonParamKitComponent, CoreCompositionComponent, CoreCompositionService, CoreCompositionState, CoreConfirmDialogComponent, CoreContractSeekerComponent, CoreControlComponent, CoreControlNoGridBufferComponent, CoreControlNoSeekerComponent, CoreControlService, CoreCurrencyInputComponent, CoreDatePickerComponent, CoreDatetimeService, CoreDropdownComponent, CoreEmployeeSeekerComponent, CoreFileUploaderComponent, CoreFormComponent, CoreFormControlBaseComponent, CoreFormControlSeekerComponent, CoreFormLiteComponent, CoreFormService, CoreGridBufferComponent, CoreHeaderParamsComponent, CoreIosSwitcherComponent, CoreLineComponent, CoreListComponent, CoreListLazyComponent, CoreLoadingSurfaceComponent, CoreMccComponent, CoreMonthPickerComponent, CoreMonthSelectorComponent, CoreNavigationTrackerComponent, CoreOrgTreeComponent, CoreOrgTreeService, CoreOrgTreeState, CoreOrgUnitSeekerComponent, CoreOrgchartflexComponent, CorePageEditComponent, CorePageEditLiteComponent, CorePageEditService, CorePageHeaderComponent, CorePageListComponent, CorePageListContentComponent, CorePageListService, CorePageListState, CorePageViewComponent, CorePaginationComponent, CorePaginationFullComponent, CorePaginationFullService, CoreParamControlComponent, CorePermissionActionsComponent, CorePermissionComponent, CorePermissionService, CorePositionConcurrentSeekerComponent, CorePositionSeekerComponent, CoreQueryBuilderComponent, CoreRadioGroupComponent, CoreReducerIconComponent, CoreRoutingHistoryComponent, CoreScrollComponent, CoreScrollLazyComponent, CoreStatisticWidgetComponent, CoreStatusStickerComponent, CoreSubFormGroupComponent, CoreTableComponent, CoreTableService, CoreTabsComponent, CoreTagsComponent, CoreTopicPickerComponent, CoreTopicTreeComponent, CoreTreeComponent, CoreTreeGridComponent, CoreWageSeekerComponent, CoreWorkingSeekerComponent, CoreYearPickerComponent, CustomValidators, DATE_VALUE_ACCESSOR, DESKTOP_SCREEN_HEDER_HEIGHT, DateValueAccessor, DecisionComponent, DialogService, DialogStateComponent, DomService, ECoreTableToolClass, ECoreTableToolCode, EnumAlertType, EnumButtonCaptionCode, EnumCoreArticleCategoryTreeaAccessorMode, EnumCoreButtonCode, EnumCoreButtonVNSCode, EnumCoreFileUploaderType, EnumCoreFormControlSeekerSourceType, EnumCoreOrgTreeaAccessorMode, EnumCorePageEditBootstrapClass, EnumCorePageEditFieldType, EnumCorePageEditMode, EnumCoreSeekerColumnContract, EnumCoreSeekerColumnJob, EnumCoreSeekerColumnPosition, EnumCoreSeekerColumnPositionConcurrent, EnumCoreSeekerColumnStaffProfile, EnumCoreSeekerColumnWage, EnumCoreSeekerColumnWorking, EnumCoreTablePipeType, EnumCoreViewItemType, EnumErrorType, EnumExType, EnumFilterOperator, EnumFormBaseContolType, EnumHrComparisonCode, EnumICoreStatisticWidgetDataType, EnumIconClass, EnumOparator, EnumPermissionObjectType, EnumProfileInfoSector, EnumRecursiveFields, EnumSignalRType, EnumSortDirection, EnumStyleButtonClass, EnumSwUpdateVersionUpdatesEventType, EvaluateDialogComponent, EvaluateDialogService, FileService, FilterPipe, FooterComponent, FullscreenModalLoaderComponent, FunctionComponent, FunctionEditComponent, FunctionEditService, FunctionIgnoreComponent, FunctionIgnoreEditComponent, GroupFunctionComponent, GroupFunctionEditComponent, GrpcService, HeaderService, HistoryService, HttpErrorHandler, HubConnectionService, HuconcurrentlyComponent, IAlertOptions, ImageErrorResolverDirective, InMemoryComponent, InitializationCanActivateFn, InitializationCanMatchFn, InterceptorSkipHeader, IpServiceService, ItemComponent, JobComponent, JsonService, LanguageChangerComponent, LanguageComponent, LanguageEditComponent, LayoutService, LongTaskService, MOBILE_SCREEN_HEDER_HEIGHT, MapAvatarToServerPipe, MapService, MenuComponent, MenuEditComponent, MenuService, MessageService, ModalService, MultiLanguageService, MutationLogComponent, MutationViewComponent, NavigatorComponent, NavigatorService, NgxHistaffAlphaComponent, NgxHistaffAlphaService, NormalizeHumanNamePipe, OnlineUsersComponent, OrganizationService, PageTitleComponent, PaginationComponent, PortalRouteComponent, PortalRouteEditComponent, PositionComponent, PositionEditService, PositionTransferService, PushNotificationService, RandomAvatarService, RecursiveService, RequestCache, RequestCacheWithMap, ResponseService, RightchatComponent, RoutingService, STICKER_COLOR_SCHEMA, SeekerService, SocketService, StaffProfileComponent, StatisticAuthService, StatisticService, StringService, SysActionComponent, SysActionEditComponent, SysFunctionActionComponent, SysFunctionActionEditComponent, SysFunctionActionMapperComponent, SysFunctionUrlMapperComponent, SysMenuService, SysModuleComponent, SysModuleEditComponent, TLA_CONFIG, TableCellPipe, Textbox, ThreedotsComponent, TimeSheetService, TooltipComponent, TooltipDirective, TopicPermissionService, TopicTreeService, TranslatePipe, UnicodeService, UrlService, UserActivityComponent, UserActivityService, WageComponent, WaittingScreenComponent, alertOptions, attachmentOptions, blob_to_base64_script, defaultPaging, httpInterceptorProviders, liner_to_nested_array_script, longAlertOptions, noneAutoClosedAlertOptions, normalizeHumanName, themeBlue };
24289
+ export { AlertComponent, AlertService, AnimatedTextComponent, AnimatedTextService, AppConfigService, AppInitializationService, AppService, AuthService, BaseComponent, BaseDropdownComponent, BaseEditComponent, ButtonGroupComponent, ButtonGroupModule, ButtonGroupService, CORE_VNS_BUTTONS, CacheService, CanActivateFunctionUrlMapperGuard, CanDeactivateGuard, CheckForUpdateService, CommonHttpRequestService, ConfigService, ConfirmDialogStateComponent, ControlBase, CoreAccordionComponent, CoreAccordionService, CoreApiProgressComponent, CoreAttachmentComponent, CoreButtonComponent, CoreButtonGroupComponent, CoreButtonGroupService, CoreButtonGroupVnsComponent, CoreButtonVnsComponent, CoreCheckboxComponent, CoreChecklistComponent, CoreCommonParamKitComponent, CoreCompositionComponent, CoreCompositionService, CoreCompositionState, CoreConfirmDialogComponent, CoreContractSeekerComponent, CoreControlComponent, CoreControlNoGridBufferComponent, CoreControlNoSeekerComponent, CoreControlService, CoreCurrencyInputComponent, CoreDatePickerComponent, CoreDatetimeService, CoreDropdownComponent, CoreEmployeeSeekerComponent, CoreFileUploaderComponent, CoreFormComponent, CoreFormControlBaseComponent, CoreFormControlSeekerComponent, CoreFormLiteComponent, CoreFormService, CoreGridBufferComponent, CoreHeaderParamsComponent, CoreIosSwitcherComponent, CoreLineComponent, CoreListComponent, CoreListLazyComponent, CoreLoadingSurfaceComponent, CoreMccComponent, CoreMonthPickerComponent, CoreMonthSelectorComponent, CoreNavigationTrackerComponent, CoreOrgTreeComponent, CoreOrgTreeService, CoreOrgTreeState, CoreOrgUnitSeekerComponent, CoreOrgchartflexComponent, CorePageEditComponent, CorePageEditLiteComponent, CorePageEditService, CorePageHeaderComponent, CorePageListComponent, CorePageListContentComponent, CorePageListService, CorePageListState, CorePageViewComponent, CorePaginationComponent, CorePaginationFullComponent, CorePaginationFullService, CoreParamControlComponent, CorePermissionActionsComponent, CorePermissionComponent, CorePermissionService, CorePositionConcurrentSeekerComponent, CorePositionSeekerComponent, CoreQueryBuilderComponent, CoreRadioGroupComponent, CoreReducerIconComponent, CoreRoutingHistoryComponent, CoreScrollComponent, CoreScrollLazyComponent, CoreSeenByComponent, CoreStatisticWidgetComponent, CoreStatusStickerComponent, CoreSubFormGroupComponent, CoreTableComponent, CoreTableService, CoreTabsComponent, CoreTagsComponent, CoreTopicPickerComponent, CoreTopicTreeComponent, CoreTreeComponent, CoreTreeGridComponent, CoreWageSeekerComponent, CoreWorkingSeekerComponent, CoreYearPickerComponent, CustomValidators, DATE_VALUE_ACCESSOR, DESKTOP_SCREEN_HEDER_HEIGHT, DateValueAccessor, DecisionComponent, DialogService, DialogStateComponent, DomService, ECoreTableToolClass, ECoreTableToolCode, EnumAlertType, EnumButtonCaptionCode, EnumCoreArticleCategoryTreeaAccessorMode, EnumCoreButtonCode, EnumCoreButtonVNSCode, EnumCoreFileUploaderType, EnumCoreFormControlSeekerSourceType, EnumCoreOrgTreeaAccessorMode, EnumCorePageEditBootstrapClass, EnumCorePageEditFieldType, EnumCorePageEditMode, EnumCoreSeekerColumnContract, EnumCoreSeekerColumnJob, EnumCoreSeekerColumnPosition, EnumCoreSeekerColumnPositionConcurrent, EnumCoreSeekerColumnStaffProfile, EnumCoreSeekerColumnWage, EnumCoreSeekerColumnWorking, EnumCoreTablePipeType, EnumCoreViewItemType, EnumErrorType, EnumExType, EnumFilterOperator, EnumFormBaseContolType, EnumHrComparisonCode, EnumICoreStatisticWidgetDataType, EnumIconClass, EnumOparator, EnumPermissionObjectType, EnumProfileInfoSector, EnumRecursiveFields, EnumSignalRType, EnumSortDirection, EnumStyleButtonClass, EnumSwUpdateVersionUpdatesEventType, EvaluateDialogComponent, EvaluateDialogService, FileService, FilterPipe, FooterComponent, FullscreenModalLoaderComponent, FunctionComponent, FunctionEditComponent, FunctionEditService, FunctionIgnoreComponent, FunctionIgnoreEditComponent, GroupFunctionComponent, GroupFunctionEditComponent, GrpcService, HeaderService, HistoryService, HttpErrorHandler, HubConnectionService, HuconcurrentlyComponent, IAlertOptions, ImageErrorResolverDirective, InMemoryComponent, InitializationCanActivateFn, InitializationCanMatchFn, InterceptorSkipHeader, IpServiceService, ItemComponent, JobComponent, JsonService, LanguageChangerComponent, LanguageComponent, LanguageEditComponent, LayoutService, LongTaskService, MOBILE_SCREEN_HEDER_HEIGHT, MapAttachmentToServerPipe, MapAvatarToServerPipe, MapService, MenuComponent, MenuEditComponent, MenuService, MessageService, ModalService, MultiLanguageService, MutationLogComponent, MutationViewComponent, NavigatorComponent, NavigatorService, NgxHistaffAlphaComponent, NgxHistaffAlphaService, NormalizeHumanNamePipe, OnlineUsersComponent, OrganizationService, PageTitleComponent, PaginationComponent, PortalRouteComponent, PortalRouteEditComponent, PositionComponent, PositionEditService, PositionTransferService, PushNotificationService, RandomAvatarService, RecursiveService, RequestCache, RequestCacheWithMap, ResponseService, RightchatComponent, RoutingService, STICKER_COLOR_SCHEMA, SeekerService, SocketService, StaffProfileComponent, StatisticAuthService, StatisticService, StringService, SysActionComponent, SysActionEditComponent, SysFunctionActionComponent, SysFunctionActionEditComponent, SysFunctionActionMapperComponent, SysFunctionUrlMapperComponent, SysMenuService, SysModuleComponent, SysModuleEditComponent, TLA_CONFIG, TableCellPipe, Textbox, ThreedotsComponent, TimeSheetService, TooltipComponent, TooltipDirective, TopicPermissionService, TopicTreeService, TranslatePipe, UnicodeService, UploadedFileService, UploadedFilenameCutoffPipe, UrlService, UserActivityComponent, UserActivityService, WageComponent, WaittingScreenComponent, alertOptions, attachmentOptions, blob_to_base64_script, defaultPaging, httpInterceptorProviders, liner_to_nested_array_script, longAlertOptions, noneAutoClosedAlertOptions, normalizeHumanName, themeBlue };
24156
24290
  //# sourceMappingURL=ngx-histaff-alpha.mjs.map