ngx-histaff-alpha 6.2.7 → 6.2.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.
Files changed (53) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-NiEY3Lwt.mjs → ngx-histaff-alpha-ai-hint-for-table.component-DBElWGVg.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-NiEY3Lwt.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-DBElWGVg.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-DG6DwsTg.mjs → ngx-histaff-alpha-core-form-design.component-_wzTnIee.mjs} +5 -5
  4. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-DG6DwsTg.mjs.map → ngx-histaff-alpha-core-form-design.component-_wzTnIee.mjs.map} +1 -1
  5. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DquamtEW.mjs → ngx-histaff-alpha-core-template-editor.component-fXB6492V.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DquamtEW.mjs.map → ngx-histaff-alpha-core-template-editor.component-fXB6492V.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-ar9nKhCH.mjs → ngx-histaff-alpha-core-toast-loading.component-DSLcUCbz.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-ar9nKhCH.mjs.map → ngx-histaff-alpha-core-toast-loading.component-DSLcUCbz.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-DMCnXtOv.mjs → ngx-histaff-alpha-core-workflow-consume.component-CSsLmLR2.mjs} +4 -4
  10. package/fesm2022/ngx-histaff-alpha-core-workflow-consume.component-CSsLmLR2.mjs.map +1 -0
  11. package/fesm2022/{ngx-histaff-alpha-db-settings.component-B-OxVg4F.mjs → ngx-histaff-alpha-db-settings.component-BpIse2rU.mjs} +5 -5
  12. package/fesm2022/{ngx-histaff-alpha-db-settings.component-B-OxVg4F.mjs.map → ngx-histaff-alpha-db-settings.component-BpIse2rU.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BqUnpNJA.mjs → ngx-histaff-alpha-design-wrapper.component-n5ahb0HO.mjs} +7 -7
  14. package/fesm2022/ngx-histaff-alpha-design-wrapper.component-n5ahb0HO.mjs.map +1 -0
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-CgqbmHd5.mjs → ngx-histaff-alpha-design-wrapper.route-BQUP7aD3.mjs} +5 -5
  16. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-CgqbmHd5.mjs.map → ngx-histaff-alpha-design-wrapper.route-BQUP7aD3.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-form-array-props.component-CFhQQ9LF.mjs → ngx-histaff-alpha-form-array-props.component-dnygmuIW.mjs} +3 -3
  18. package/fesm2022/{ngx-histaff-alpha-form-array-props.component-CFhQQ9LF.mjs.map → ngx-histaff-alpha-form-array-props.component-dnygmuIW.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-DPS-44a3.mjs → ngx-histaff-alpha-hrm-schema.component-Bgcd9oqO.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-DPS-44a3.mjs.map → ngx-histaff-alpha-hrm-schema.component-Bgcd9oqO.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-C_3pE7eQ.mjs → ngx-histaff-alpha-live-form.component-DCmSKu9J.mjs} +2 -2
  22. package/fesm2022/ngx-histaff-alpha-live-form.component-DCmSKu9J.mjs.map +1 -0
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-DLhfwWOV.mjs → ngx-histaff-alpha-ngx-histaff-alpha-DsL5Ex6R.mjs} +386 -106
  24. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-DsL5Ex6R.mjs.map +1 -0
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-BBC0agsQ.mjs → ngx-histaff-alpha-simple-chat.component-CORJcSXP.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-BBC0agsQ.mjs.map → ngx-histaff-alpha-simple-chat.component-CORJcSXP.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-template-list.component-Dg9i9xfk.mjs → ngx-histaff-alpha-template-list.component-DhHh7uk3.mjs} +2 -2
  28. package/fesm2022/{ngx-histaff-alpha-template-list.component-Dg9i9xfk.mjs.map → ngx-histaff-alpha-template-list.component-DhHh7uk3.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-CYpHkiXM.mjs → ngx-histaff-alpha-tracker-studio.component-DxwHNKW5.mjs} +2 -2
  30. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-CYpHkiXM.mjs.map → ngx-histaff-alpha-tracker-studio.component-DxwHNKW5.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-DPQm1Xzc.mjs → ngx-histaff-alpha-wf-form-assign.component-CTwMGHCL.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-DPQm1Xzc.mjs.map → ngx-histaff-alpha-wf-form-assign.component-CTwMGHCL.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-oEr0_M3b.mjs → ngx-histaff-alpha-wf-global-config.component-C0FY6YVB.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-oEr0_M3b.mjs.map → ngx-histaff-alpha-wf-global-config.component-C0FY6YVB.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BGc1pFqY.mjs → ngx-histaff-alpha-wf-instance-status.component-BXGA_qii.mjs} +17 -6
  36. package/fesm2022/ngx-histaff-alpha-wf-instance-status.component-BXGA_qii.mjs.map +1 -0
  37. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-DvluEd1O.mjs → ngx-histaff-alpha-wf-instance-step-react.component-C1lVDinr.mjs} +13 -4
  38. package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-C1lVDinr.mjs.map +1 -0
  39. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  40. package/lib/app/interfaces/IFormatedResponse.d.ts +2 -1
  41. package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -1
  42. package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +1 -1
  43. package/lib/app/libraries/core-workflow-builder/core-workflow-list/core-workflow-list.component.d.ts +12 -1
  44. package/lib/app/libraries/core-workflow-builder/core-workflow.service.d.ts +6 -2
  45. package/lib/app/services/app.service.d.ts +19 -2
  46. package/lib/app/services/common-http-request.service.d.ts +3 -0
  47. package/package.json +2 -2
  48. package/fesm2022/ngx-histaff-alpha-core-workflow-consume.component-DMCnXtOv.mjs.map +0 -1
  49. package/fesm2022/ngx-histaff-alpha-design-wrapper.component-BqUnpNJA.mjs.map +0 -1
  50. package/fesm2022/ngx-histaff-alpha-live-form.component-C_3pE7eQ.mjs.map +0 -1
  51. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-DLhfwWOV.mjs.map +0 -1
  52. package/fesm2022/ngx-histaff-alpha-wf-instance-status.component-BGc1pFqY.mjs.map +0 -1
  53. package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-DvluEd1O.mjs.map +0 -1
@@ -2,11 +2,11 @@ import * as i0 from '@angular/core';
2
2
  import { Component, Injectable, Pipe, Directive, ViewChild, forwardRef, HostListener, inject, Input, isDevMode, Inject, signal, InjectionToken, computed, effect, Injector, EventEmitter, Output, ViewContainerRef, ApplicationRef, EnvironmentInjector, createComponent, ViewEncapsulation, ChangeDetectorRef, input, ChangeDetectionStrategy, ViewChildren, viewChild, viewChildren, output, TemplateRef, NgModule, DestroyRef, ElementRef, Renderer2 } from '@angular/core';
3
3
  import * as i1 from '@angular/platform-browser';
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
- import { BehaviorSubject, Subject, filter, of, Observable, distinctUntilChanged, zip, catchError, tap as tap$1, throwError, take, switchMap, finalize as finalize$1, map as map$1, interval, concat, buffer, debounceTime, fromEvent, skip, Subscription, takeUntil } from 'rxjs';
5
+ import { of, BehaviorSubject, Subject, filter, Observable, catchError as catchError$1, distinctUntilChanged, zip, tap as tap$1, throwError, take, switchMap, finalize as finalize$1, map as map$1, interval, concat, buffer, debounceTime, fromEvent, skip, Subscription, takeUntil, combineLatest } from 'rxjs';
6
6
  import { api, EnumTranslateKey } from 'alpha-global-constants';
7
7
  import * as i1$1 from '@angular/common/http';
8
8
  import { HttpHeaders, HttpClient, HttpResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
9
- import { last, map, tap, finalize, first, filter as filter$1, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, switchMap as switchMap$1 } from 'rxjs/operators';
9
+ import { last, map, catchError, tap, finalize, first, filter as filter$1, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, switchMap as switchMap$1 } from 'rxjs/operators';
10
10
  import * as i3 from '@angular/common';
11
11
  import { CommonModule, NgTemplateOutlet, NgStyle, JsonPipe, UpperCasePipe, AsyncPipe, NgClass, LowerCasePipe, NgIf } from '@angular/common';
12
12
  import * as i1$4 from '@angular/forms';
@@ -234,35 +234,80 @@ class CommonHttpRequestService {
234
234
  this.http = http;
235
235
  // this.handleError = httpErrorHandler.createHandleError('CommonHttpRequestService');
236
236
  }
237
- makePostRequest(name, relativeApiEndPoint, payload, signal = null) {
238
- let options;
239
- if (!signal) {
240
- options = {
241
- headers: headers, observe: 'response', reportProgress: true, withCredentials: true,
242
- };
237
+ /*
238
+ makePostRequest(name: string, relativeApiEndPoint: string, payload: any, signal: AbortSignal | null = null): Observable<any> {
239
+ let options: any;
240
+ if (!signal) {
241
+ options = {
242
+ headers: headers, observe: 'response', reportProgress: true, withCredentials: true,
243
243
  }
244
- else {
245
- options = {
246
- headers: headers, observe: 'response', reportProgress: true, withCredentials: true, signal
247
- };
244
+ } else {
245
+ options = {
246
+ headers: headers, observe: 'response', reportProgress: true, withCredentials: true, signal
248
247
  }
249
- return this.http.post(relativeApiEndPoint, payload, options)
250
- .pipe(last());
248
+ }
249
+ return this.http.post<any>(relativeApiEndPoint, payload, options)
250
+ .pipe(
251
+ last(),
252
+ // catchError(this.handleError(name))
253
+ )
251
254
  }
252
- makeGetRequest(name, relativeApiEndPoint, cacheRequest = false, signal = null) {
253
- let options;
254
- if (!signal) {
255
- options = {
256
- headers: cacheRequest ? cacheHeaders : headers, observe: 'response', reportProgress: true, withCredentials: true,
257
- };
255
+ */
256
+ makePostRequest(name, relativeApiEndPoint, payload, signal = null) {
257
+ const options = {
258
+ headers,
259
+ observe: 'response',
260
+ reportProgress: true,
261
+ withCredentials: true,
262
+ ...(signal ? { signal } : {})
263
+ };
264
+ return this.http.post(relativeApiEndPoint, payload, options).pipe(last(), map(response => ({
265
+ ok: true,
266
+ status: 200,
267
+ body: this.normalizeHttpResponse(response)
268
+ })), catchError(err => of({
269
+ ok: true,
270
+ status: 200,
271
+ body: this.normalizeHttpError(err)
272
+ })));
273
+ }
274
+ /*
275
+ makeGetRequest(name: string, relativeApiEndPoint: string, cacheRequest: boolean = false, signal: AbortSignal | null = null): Observable<any> {
276
+ let options: any;
277
+ if (!signal) {
278
+ options = {
279
+ headers: cacheRequest ? cacheHeaders : headers, observe: 'response', reportProgress: true, withCredentials: true,
258
280
  }
259
- else {
260
- options = {
261
- headers: cacheRequest ? cacheHeaders : headers, observe: 'response', reportProgress: true, withCredentials: true, signal
262
- };
281
+ } else {
282
+ options = {
283
+ headers: cacheRequest ? cacheHeaders : headers, observe: 'response', reportProgress: true, withCredentials: true, signal
263
284
  }
264
- return this.http.get(relativeApiEndPoint, options)
265
- .pipe(map(response => response), last());
285
+ }
286
+ return this.http.get<any>(relativeApiEndPoint, options)
287
+ .pipe(
288
+ map(response => response),
289
+ last(), // :void return last (completed) message to caller
290
+ // catchError(this.handleError(name))
291
+ )
292
+ }
293
+ */
294
+ makeGetRequest(name, relativeApiEndPoint, cacheRequest = false, signal = null) {
295
+ const options = {
296
+ headers: cacheRequest ? cacheHeaders : headers,
297
+ observe: 'response',
298
+ reportProgress: true,
299
+ withCredentials: true,
300
+ ...(signal ? { signal } : {})
301
+ };
302
+ return this.http.get(relativeApiEndPoint, options).pipe(last(), map(response => ({
303
+ ok: true,
304
+ status: 200,
305
+ body: this.normalizeHttpResponse(response)
306
+ })), catchError(err => of({
307
+ ok: true,
308
+ status: 200,
309
+ body: this.normalizeHttpError(err)
310
+ })));
266
311
  }
267
312
  downloadFile(apiUrl, id) {
268
313
  const options = {
@@ -326,6 +371,45 @@ class CommonHttpRequestService {
326
371
  })
327
372
  .pipe(map(response => response), last());
328
373
  }
374
+ normalizeHttpResponse(response) {
375
+ // Backend already formatted
376
+ if (response?.body?.statusCode && 'innerBody' in response.body) {
377
+ return response.body;
378
+ }
379
+ // Wrap unformatted backend payloads
380
+ return {
381
+ messageCode: 'SUCCESS',
382
+ errorType: 0,
383
+ statusCode: 200,
384
+ innerBody: response?.body ?? response
385
+ };
386
+ }
387
+ normalizeHttpError(error) {
388
+ const isAbort = error?.name === 'AbortError';
389
+ const message = this.extractErrorMessage(error);
390
+ // 🧠 Your 3 possible design states:
391
+ // - 200 → success
392
+ // - 400 → handled/validation error or cancelled user action
393
+ // - 500 → unhandled server or network failure
394
+ const statusCode = isAbort
395
+ ? 400 // interpret cancellation as "user-catchable"
396
+ : 500;
397
+ return {
398
+ messageCode: isAbort ? 'REQUEST_CANCELLED' : 'HTTP_ERROR',
399
+ errorType: isAbort ? 1 : 2,
400
+ statusCode,
401
+ innerBody: { message, details: error }
402
+ };
403
+ }
404
+ extractErrorMessage(error) {
405
+ if (error?.error?.message)
406
+ return error.error.message;
407
+ if (typeof error === 'string')
408
+ return error;
409
+ if (error?.message)
410
+ return error.message;
411
+ return 'Unexpected error';
412
+ }
329
413
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CommonHttpRequestService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
330
414
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CommonHttpRequestService, providedIn: 'root' }); }
331
415
  }
@@ -3168,15 +3252,65 @@ class AppService {
3168
3252
  this.commonHttpRequestService = commonHttpRequestService;
3169
3253
  this.clientService = clientService;
3170
3254
  }
3255
+ /** 🧩 Cooperative cancellation (AbortController ~ CancellationTokenSource) */
3256
+ createSignal() {
3257
+ if (this.currentController) {
3258
+ this.currentController.abort();
3259
+ }
3260
+ this.currentController = new AbortController();
3261
+ return this.currentController.signal;
3262
+ }
3263
+ /** 🛑 Public method to cancel all pending requests */
3264
+ cancelPendingRequests() {
3265
+ if (this.currentController) {
3266
+ this.currentController.abort();
3267
+ this.currentController = undefined;
3268
+ console.info('🧨 Pending requests aborted.');
3269
+ }
3270
+ }
3271
+ /*
3272
+ get(url: string, cacheRequest: boolean = false, signal: AbortSignal | null = null): Observable<any> {
3273
+ return this.commonHttpRequestService.makeGetRequest('get', url, cacheRequest, signal)
3274
+ }
3275
+ */
3171
3276
  get(url, cacheRequest = false, signal = null) {
3172
- return this.commonHttpRequestService.makeGetRequest('get', url, cacheRequest, signal);
3277
+ const finalSignal = signal ?? this.createSignal();
3278
+ return this.commonHttpRequestService.makeGetRequest('get', url, cacheRequest, finalSignal).pipe(catchError$1(err => of({
3279
+ ok: true,
3280
+ status: 200,
3281
+ body: this.normalizeError(err)
3282
+ })));
3173
3283
  }
3174
3284
  getSkipInterceptor(url, cacheRequest = false) {
3175
3285
  return this.commonHttpRequestService.makeGetRequestSkipInterceptor('get', url, cacheRequest);
3176
3286
  }
3287
+ /*
3288
+ post(url: string, payload: any, signal: AbortSignal | null = null): Observable<any> {
3289
+ console.log("appService post", url)
3290
+ return this.commonHttpRequestService.makePostRequest('post', url, payload)
3291
+ }
3292
+ */
3293
+ /** ✅ POST with normalized IFormatedResponse wrapper */
3177
3294
  post(url, payload, signal = null) {
3178
- console.log("appService post", url);
3179
- return this.commonHttpRequestService.makePostRequest('post', url, payload);
3295
+ const finalSignal = signal ?? this.createSignal();
3296
+ return this.commonHttpRequestService.makePostRequest('post', url, payload, finalSignal).pipe(catchError$1(err => of({
3297
+ ok: true,
3298
+ status: 200,
3299
+ body: this.normalizeError(err)
3300
+ })));
3301
+ }
3302
+ /** 🧱 Error normalization (so frontend always gets consistent shape) */
3303
+ normalizeError(error) {
3304
+ const isAbort = error?.name === 'AbortError';
3305
+ return {
3306
+ messageCode: isAbort ? 'REQUEST_ABORTED' : 'HTTP_ERROR',
3307
+ errorType: isAbort ? 1 : 2,
3308
+ statusCode: isAbort ? 400 : 500,
3309
+ innerBody: {
3310
+ message: this.formatHttpError(error),
3311
+ details: error
3312
+ }
3313
+ };
3180
3314
  }
3181
3315
  postSkipInterceptor(url, payload) {
3182
3316
  console.log("appService post", url);
@@ -3894,7 +4028,7 @@ class AppInitializationService {
3894
4028
  this.routingService.readAllFunctionWithAllActions(),
3895
4029
  this.routingService.getIgnorePaths(),
3896
4030
  this.appService.get(api.SYS_ACTION_READ_ALL)
3897
- ]).pipe(catchError(val => of(`The app caught: ${val}`))).subscribe(responses => {
4031
+ ]).pipe(catchError$1(val => of(`The app caught: ${val}`))).subscribe(responses => {
3898
4032
  console.log("appInitialize() zip() done");
3899
4033
  const x1 = responses[0];
3900
4034
  console.log("x1", x1);
@@ -4330,7 +4464,7 @@ class TokenInterceptor {
4330
4464
  }),
4331
4465
  // But here:
4332
4466
  // Operation failed; error is an HttpErrorResponse
4333
- catchError((response) => {
4467
+ catchError$1((response) => {
4334
4468
  console.log("TokenInterceptor Error: ", req, response);
4335
4469
  // We don't want to refresh token for some requests
4336
4470
  // like login or refresh token itself
@@ -4396,7 +4530,7 @@ class TokenInterceptor {
4396
4530
  this.refreshTokenSubject.next(token);
4397
4531
  const newReq = this.addAuthenticationToken(req);
4398
4532
  return next.handle(newReq);
4399
- }), catchError((err) => {
4533
+ }), catchError$1((err) => {
4400
4534
  this.refreshTokenInProgress = false;
4401
4535
  console.log("refreshTokenReq catchError", err);
4402
4536
  debugger;
@@ -4449,7 +4583,7 @@ function tokenInterceptor(req, next) {
4449
4583
  }),
4450
4584
  // But here:
4451
4585
  // Operation failed; error is an HttpErrorResponse
4452
- catchError((response) => {
4586
+ catchError$1((response) => {
4453
4587
  console.log("Error: ", response);
4454
4588
  // We don't want to refresh token for some requests
4455
4589
  // like login or refresh token itself
@@ -4510,7 +4644,7 @@ function tokenInterceptor(req, next) {
4510
4644
  authService.refreshTokenSubject.next(token);
4511
4645
  const newReq = addAuthenticationToken(req);
4512
4646
  return next(newReq);
4513
- }), catchError((err) => {
4647
+ }), catchError$1((err) => {
4514
4648
  authService.refreshTokenInProgress = false;
4515
4649
  authService.userLogout().subscribe(x => {
4516
4650
  if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
@@ -8595,22 +8729,31 @@ class CoreWorkflowService {
8595
8729
  this.$stepUpdated.set(this.$stepUpdated() + 1); // trigger downstream computations if needed
8596
8730
  }
8597
8731
  }
8598
- refresh(endpoint = '/api/WfWorkflowGroup/GetAllWithWorkflows', searchTerm, currentGroupId = undefined, published = false) {
8599
- this.$loading.set(true);
8600
- this.appService.post(endpoint, { searchTerm, published })
8601
- .pipe(finalize$1(() => {
8732
+ refreshObservable(endpoint = '/api/WfWorkflowGroup/GetAllWithWorkflows', searchTerm, currentGroupId = undefined, published = false, signal = null) {
8733
+ return this.appService.post(endpoint, { searchTerm, published });
8734
+ }
8735
+ /*
8736
+ refresh(endpoint: string = '/api/WfWorkflowGroup/GetAllWithWorkflows', searchTerm: string, currentGroupId: number | undefined = undefined, published: boolean = false): void {
8737
+ this.$loading.set(true);
8738
+ this.appService.post(endpoint, { searchTerm, published })
8739
+ .pipe(
8740
+ finalize(() => {
8602
8741
  this.$loading.set(false);
8603
- })).subscribe(x => {
8604
- if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
8605
- this.$allGroups.set((x.body?.innerBody)
8606
- .map(x => ({ ...x, orderNum: x.orderNum ?? 999 }))
8607
- .sort((a, b) => a.orderNum - b.orderNum));
8608
- if (!!currentGroupId) {
8609
- this.$currentGroup.set(this.$allGroups().filter(g => g.id === currentGroupId)[0]);
8610
- }
8742
+ })
8743
+ ).subscribe(x => {
8744
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
8745
+ this.$allGroups.set(
8746
+ (x.body?.innerBody as IWfWorkflowGroup[])
8747
+ .map(x => ({ ...x, orderNum: x.orderNum ?? 999 }))
8748
+ .sort((a, b) => a.orderNum - b.orderNum)
8749
+ )
8750
+ if (!!currentGroupId) {
8751
+ this.$currentGroup.set(this.$allGroups().filter(g => g.id === currentGroupId)[0])
8611
8752
  }
8612
- });
8753
+ }
8754
+ })
8613
8755
  }
8756
+ */
8614
8757
  createConditionalBranchStep(branchId) {
8615
8758
  console.log('createConditionalBranchStep with branchId:', branchId);
8616
8759
  const createBranchCardStep = (branchId, name, isInFallbackBranch = false) => ({
@@ -8826,7 +8969,7 @@ class CoreWorkflowService {
8826
8969
  currentFlow.processDefinition = this.$stepsJsonPreview();
8827
8970
  }
8828
8971
  this.subscriptions.push(this.appService.post('/api/WfWorkflow/SaveDefinition', this.$currentFlow())
8829
- .pipe(catchError(err => {
8972
+ .pipe(catchError$1(err => {
8830
8973
  this.$loading.set(false);
8831
8974
  return of(err);
8832
8975
  })).subscribe(x => {
@@ -8845,7 +8988,7 @@ class CoreWorkflowService {
8845
8988
  }
8846
8989
  getById(id) {
8847
8990
  this.$loading.set(true);
8848
- this.subscriptions.push(this.appService.get(`/api/WfWorkflow/GetById?id=${id}`).pipe(catchError(err => {
8991
+ this.subscriptions.push(this.appService.get(`/api/WfWorkflow/GetById?id=${id}`).pipe(catchError$1(err => {
8849
8992
  this.$loading.set(false);
8850
8993
  return of(err);
8851
8994
  })).subscribe(x => {
@@ -8890,7 +9033,7 @@ class CoreWorkflowService {
8890
9033
  loadByIdWithAfInstance(workflowId) {
8891
9034
  if (workflowId !== '0') {
8892
9035
  this.$loading.set(true);
8893
- this.subscriptions.push(this.appService.get(`/api/WfWorkflow/GetByIdWithAfInstance?id=${workflowId}`).pipe(filter(_ => workflowId !== '0'), catchError(err => {
9036
+ this.subscriptions.push(this.appService.get(`/api/WfWorkflow/GetByIdWithAfInstance?id=${workflowId}`).pipe(filter(_ => workflowId !== '0'), catchError$1(err => {
8894
9037
  this.$loading.set(false);
8895
9038
  return of(err);
8896
9039
  })).subscribe(x => {
@@ -12961,41 +13104,87 @@ class CoreOrgTreeComponent extends CoreFormControlBaseComponent {
12961
13104
  this.linnerOrgArray = cloneCopy;
12962
13105
  setTimeout(() => this.buildTreeData());
12963
13106
  }
13107
+ // buildTreeData(): void {
13108
+ // this.loading = true;
13109
+ // const cloneCopy = JSON.parse(JSON.stringify(this.linnerOrgArray));
13110
+ // if (typeof Worker !== 'undefined') {
13111
+ // // Create a new
13112
+ // console.log("🟢🟢 Worker works");
13113
+ // this.worker = new Worker(liner_to_nested_array_script);
13114
+ // this.worker.addEventListener('message', ({ data }) => {
13115
+ // this.data = data.list;
13116
+ // //this.dataFiltered = JSON.parse(JSON.stringify(data.list));
13117
+ // if (!!this.data && !!this.data?.length) this.data[0].tree$Expanded = true;
13118
+ // this.loading = false;
13119
+ // });
13120
+ // this.worker.postMessage({
13121
+ // list: cloneCopy,
13122
+ // keyField: 'id',
13123
+ // titleField: 'name',
13124
+ // parentField: 'parentId',
13125
+ // activeField: 'active',
13126
+ // //inheritantActiveField: 'inheritantActive',
13127
+ // checkedField: 'checked',
13128
+ // expandedField: 'expand',
13129
+ // });
13130
+ // } else {
13131
+ // // Web workers are not supported in this environment.
13132
+ // // You should add a fallback so that your program still executes correctly.
13133
+ // const status = this.organizationService.status$.value;
13134
+ // this.subscriptions.push(
13135
+ // this.recursiveService
13136
+ // .linerArrayToNestedArray(
13137
+ // cloneCopy,
13138
+ // 'id',
13139
+ // 'name',
13140
+ // 'parentId',
13141
+ // 'active',
13142
+ // 'checked',
13143
+ // 'expand',
13144
+ // //status
13145
+ // )
13146
+ // .subscribe((obj) => {
13147
+ // this.data = obj.list;
13148
+ // //this.dataFiltered = JSON.parse(JSON.stringify(obj.list));
13149
+ // if (!!this.data && !!this.data?.length) this.data[0].tree$Expanded = true;
13150
+ // this.loading = false;
13151
+ // })
13152
+ // );
13153
+ // }
13154
+ // }
12964
13155
  buildTreeData() {
12965
13156
  this.loading = true;
12966
13157
  const cloneCopy = JSON.parse(JSON.stringify(this.linnerOrgArray));
13158
+ // ✅ ADD THIS FILTER
13159
+ const filteredList = !this.showDissolved
13160
+ ? cloneCopy.filter(x => x.active === true)
13161
+ : cloneCopy;
12967
13162
  if (typeof Worker !== 'undefined') {
12968
- // Create a new
12969
- console.log("🟢🟢 Worker works");
12970
13163
  this.worker = new Worker(liner_to_nested_array_script);
12971
13164
  this.worker.addEventListener('message', ({ data }) => {
12972
13165
  this.data = data.list;
12973
- //this.dataFiltered = JSON.parse(JSON.stringify(data.list));
12974
- if (!!this.data && !!this.data?.length)
13166
+ if (!!this.data?.length)
12975
13167
  this.data[0].tree$Expanded = true;
12976
13168
  this.loading = false;
12977
13169
  });
13170
+ // ✅ USE filteredList INSTEAD OF cloneCopy
12978
13171
  this.worker.postMessage({
12979
- list: cloneCopy,
13172
+ list: filteredList,
12980
13173
  keyField: 'id',
12981
13174
  titleField: 'name',
12982
13175
  parentField: 'parentId',
12983
13176
  activeField: 'active',
12984
- //inheritantActiveField: 'inheritantActive',
12985
13177
  checkedField: 'checked',
12986
13178
  expandedField: 'expand',
12987
13179
  });
12988
13180
  }
12989
13181
  else {
12990
- // Web workers are not supported in this environment.
12991
- // You should add a fallback so that your program still executes correctly.
12992
- const status = this.organizationService.status$.value;
12993
13182
  this.subscriptions.push(this.recursiveService
12994
- .linerArrayToNestedArray(cloneCopy, 'id', 'name', 'parentId', 'active', 'checked', 'expand')
13183
+ .linerArrayToNestedArray(filteredList, // use filteredList
13184
+ 'id', 'name', 'parentId', 'active', 'checked', 'expand')
12995
13185
  .subscribe((obj) => {
12996
13186
  this.data = obj.list;
12997
- //this.dataFiltered = JSON.parse(JSON.stringify(obj.list));
12998
- if (!!this.data && !!this.data?.length)
13187
+ if (!!this.data?.length)
12999
13188
  this.data[0].tree$Expanded = true;
13000
13189
  this.loading = false;
13001
13190
  }));
@@ -13178,7 +13367,7 @@ class CoreOrgTreeComponent extends CoreFormControlBaseComponent {
13178
13367
  multi: true,
13179
13368
  useExisting: CoreOrgTreeComponent,
13180
13369
  },
13181
- ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "displayContent", first: true, predicate: ["displayContent"], descendants: true }, { propertyName: "reducedIconWrapper", first: true, predicate: ["reducedIconWrapper"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-org-tree-container\" [class.full-width]=\"!!fullWidthMode\" *ngIf=\"!!data\" [ngStyle]=\"{\r\n position : 'relative',\r\n width: '100%',\r\n minWidth: '310px',\r\n height: height + 'px'\r\n }\">\r\n <div #displayContent class=\"custom-org-tree\">\r\n @if (showSearch) {\r\n <div class=\"core-org-tree-header d-flex-between\">\r\n <div class=\"m5\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"search\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"searchPlaceholder | translate: lang\" [class.full-width]=\"!!fullWidthMode\">\r\n </div>\r\n </div>\r\n }\r\n <ng-container>\r\n\r\n <div #scrollContainer class=\"scroll-container\" [ngStyle]=\"{\r\n height: height - layoutService.coreOrgTreeTopHeight * (showSearch ? 1 : 0) - layoutService.coreOrgTreeBottomHeight + 'px',\r\n overflow: 'scroll'\r\n }\">\r\n <div class=\"hidden-tool\" (click)=\"onHiddenToolClick($event)\"></div>\r\n <core-loading-surface [loading]=\"loading\" [height]=\"scrollContainerHeight\"></core-loading-surface>\r\n <!-- @for (root of dataFiltered; track root) { -->\r\n @for (root of data; track $index) {\r\n @defer(on viewport(scrollContainer)) {\r\n <ul class=\"root\" [class.collapsed]=\"!!!root.tree$Expanded\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root }\"></ng-container>\r\n </ul>\r\n } @placeholder() {\r\n Placeholder...\r\n } @loading() {\r\n Loading...\r\n } @error() {\r\n Error...\r\n }\r\n\r\n }\r\n </div>\r\n <div [ngStyle]=\"{\r\n display: 'block',\r\n position: 'absolute',\r\n bottom: '0px',\r\n left: '0px',\r\n right: '0px',\r\n height: layoutService.corePaginationHeight + 'px',\r\n paddingLeft: layoutService.basicSpacing + 'px',\r\n paddingRight: layoutService.basicSpacing + 'px',\r\n lineHeight: layoutService.corePaginationHeight + 'px',\r\n overflow: 'hidden'\r\n }\">\r\n <div [ngStyle]=\"{\r\n height: layoutService.corePaginationHeight + 'px',\r\n position: 'relative',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between'\r\n }\">\r\n <div>\r\n <core-checkbox [(ngModel)]=\"showDissolved\"\r\n (ngModelChange)=\"onCheckIncludeDissolvedChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS_ABBREVIATED'\"\r\n [tooltip]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS'\" tooltipPosition=\"above\"></core-checkbox>\r\n </div>\r\n <div class=\"check-inheritance-wrapper\" *ngIf=\"accessorMode === 'CHECKED'\">\r\n <core-checkbox *ngIf=\"showCheckInheritance\" [(ngModel)]=\"checkInheritance\"\r\n (ngModelChange)=\"onCheckInheritanceChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.CHECK_INHERITANCE'\"></core-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-id=\"context.id\" let-title=\"context.tree$Title\"\r\n let-highlighted=\"context.tree$Highlighted\" let-hasChildren=\"context.tree$HasChildren\"\r\n let-hasActiveChildren=\"context.tree$HasActiveChildren\" let-children=\"context.tree$Children\"\r\n let-expanded=\"context.tree$Expanded\" let-isActive=\"context.isActive\" let-active=\"context.tree$Active\"\r\n let-checked=\"context.tree$Checked\" let-protected=\"context.protected\">\r\n\r\n @if ((!showDissolved && !!isActive) || (!!showDissolved)) {\r\n <li [class.has-children]=\"!!hasChildren\" [class.collapsed]=\"!!hasChildren && !!!expanded\">\r\n <!-- (click)=\"accessorMode !== 'CHECKED' ? onObjectClick(context, $event) : $event.preventDefault()\" -->\r\n <span (click)=\"onObjectClick(context, $event)\">\r\n @if ((!!showDissolved && !!hasChildren) || (!showDissolved && !!hasActiveChildren)) {\r\n <i class=\"expand-toggler feather-chevron-down\" (click)=\"onExpandTogglerClick(context, $event)\"></i>\r\n }\r\n\r\n @if (accessorMode === 'CHECKED' && !protected) {\r\n <core-checkbox (onClick)=\"onItemCheck(context, $event)\" [inputValue]=\"checked\"\r\n [disabled]=\"disabled\"></core-checkbox>\r\n }\r\n <object [class.active]=\"accessorMode != 'CHECKED' && selectedKey===id.toString()\"\r\n [class.highlighted]=\"highlighted\" [class.dissolved]=\"!isActive\"\r\n [class.protected]=\"protected\" [appTooltip]=\"title\">\r\n {{ title }}\r\n </object>\r\n </span>\r\n @if (!!children.length) {\r\n <ul [class.collapsed]=\" !!!expanded\">\r\n @for (child of children; track $index) {\r\n @if (!!expanded || !!fullRendering) {\r\n\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child }\"></ng-container>\r\n\r\n }\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".core-org-tree-container{--background: var(--color-bg-core-org-tree);--height: 545px;--item-height: 35px;--arrow-font-size: 18px;--ul-padding: 20px;--display: \"block\";--square-color: black;--square-size: 9px;--line-color: \"transparent\";--title-wrapper-max-width: 250px;--active-item-color: #F37540;--size-scrollbar-width: 10px;--line-size: 1px;--reduced-icon-wrapper-height: 50px;--reduced-panel-height: calc(var(--height) - var(--reduced-icon-wrapper-height));--scroll-container-height: calc(var(--height) - var(--size-core-reducer-icon-wrapper-height) - var(--size-pagination-height));color:#000;background-color:var(--color-bg-core-org-tree)!important;height:var(--height);background:var(--background);width:var(--size-core-org-tree-width);transition:width .5s ease-out}.core-org-tree-container .hidden-tool{display:block;position:absolute;background-color:transparent;width:var(--ul-padding);height:var(--ul-padding);top:0;left:0}@keyframes reducedPanelOn{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:rotate(0)}}.core-org-tree-container .custom-org-tree{display:var(--display)}.core-org-tree-container .core-org-tree-header{height:var(--size-core-org-tree-header-height)}.core-org-tree-container .core-org-tree-header input{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2 - var(--size-scrollbar-width) + 6px);max-width:100%;transform:translate(14px,8px);border:1px solid #E6EBED}.core-org-tree-container .core-org-tree-header input.full-width{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2)}.core-org-tree-container .check-inheritance-wrapper{padding:15px}.core-org-tree-container .m5>input{color:gray}.core-org-tree-container .form-control{border:none}.core-org-tree-container .core-reducer-icon-wrapper{height:var(--size-core-reducer-icon-wrapper-height);padding:var(--size-layout-block-cell-spacing)}.core-org-tree-container .scroll-container{background:var(--background);height:var(--scroll-container-height);overflow:auto;position:relative;width:100%}.core-org-tree-container .scroll-container::-webkit-scrollbar-corner{background-color:transparent}.core-org-tree-container .scroll-container::-webkit-scrollbar{width:8px;height:8px}.core-org-tree-container .scroll-container *{box-sizing:border-box;padding:0;margin:0}.core-org-tree-container .scroll-container ul{display:table;vertical-align:top;padding-left:var(--ul-padding);transition:all .5s ease-out;width:100%}.core-org-tree-container .scroll-container ul>li>span:hover{height:35px;background-color:#fff;border-top-left-radius:20px;border-bottom-left-radius:20px;width:100%}.core-org-tree-container .scroll-container ul>li>span:active{background-color:#f1f1f1;height:35px;border-radius:20px}.core-org-tree-container .scroll-container ul>li>span>object{user-select:none;max-width:var(--title-wrapper-max-width);overflow-x:hidden;text-overflow:ellipsis;-webkit-user-select:none}.core-org-tree-container .scroll-container ul>li>span>object.active{color:var(--active-item-color)}.core-org-tree-container .scroll-container ul .highlighted{color:var(--color-core-org-tree-highlighted);font-weight:700}.core-org-tree-container .scroll-container ul .dissolved{color:#848484;text-decoration:line-through dashed}.core-org-tree-container .scroll-container ul .dissolved.active{color:#c9252b!important}.core-org-tree-container .scroll-container ul>li{display:block;position:relative}.core-org-tree-container .scroll-container ul>li:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -1);top:calc(var(--item-height) / 2);height:calc(var(--item-height) / 2);border-top:solid var(--line-size) var(--line-color);border-right:none;border-bottom:none;border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li>span{display:flex;align-items:center;height:var(--item-height);white-space:nowrap;font-size:13px;padding-left:8px;transform:translate(10px);cursor:pointer}.core-org-tree-container .scroll-container ul>li>span>i{color:var(--square-color);cursor:pointer;font-size:var(--square-size);width:var(--square-size);height:var(--square-size)}.core-org-tree-container .scroll-container ul>li>span>.expand-toggler{font-size:var(--arrow-font-size);width:24px;height:24px;position:absolute;z-index:1;transform:translate(-100%) rotate(0);transition:.5s ease-out;display:flex;align-items:center;justify-content:center}.core-org-tree-container .scroll-container ul>li>span>.check-toggler{margin-left:5px;margin-right:5px}.core-org-tree-container .scroll-container ul>li>ul>li>span:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);height:var(--line-size);border-top:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li.collapsed>span>.expand-toggler{transform:translate(-100%) rotate(-90deg);transition:.5s ease-out}.core-org-tree-container .scroll-container ul>li.collapsed:before{border-left:none}.core-org-tree-container .scroll-container ul>li:not(.collapsed):not(.has-children):before{border-left:none}.core-org-tree-container .scroll-container ul:not(.root):before{content:\"\";display:block;position:absolute;width:var(--line-size);left:calc(var(--ul-padding) * -1);height:calc(100% - var(--item-height) * 1.5);border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul:not(.root)>li:last-child:not(.collapsed).has-children:after{content:\"\";display:block;position:absolute;height:calc(100% - var(--item-height));width:calc(var(--ul-padding) / 2);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);border-left:solid var(--line-size) var(--background);z-index:0}.core-org-tree-container .scroll-container ul.collapsed:not(.root){display:none}.core-org-tree-container .collapsed>li:before{display:none!important}.core-org-tree-container.full-width .scroll-container{width:auto}.core-org-tree-container.reduced{width:50px;padding:0;transition:width .5s ease-out}.core-org-tree-container.reduced .scroll-container{overflow:hidden}.core-org-tree-container.reduced .scroll-container>ul.root{display:none}.core-org-tree-container.reduced .scroll-container>.reduced-panel{color:var(--active-item-color);width:50px;height:var(--reduced-panel-height);writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;font-weight:700;animation:reducedPanelOn .5s ease-out}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreLoadingSurfaceComponent, selector: "core-loading-surface", inputs: ["loading", "height"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }], deferBlockDependencies: [() => [i3.NgTemplateOutlet]] }); }
13370
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "displayContent", first: true, predicate: ["displayContent"], descendants: true }, { propertyName: "reducedIconWrapper", first: true, predicate: ["reducedIconWrapper"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-org-tree-container\" [class.full-width]=\"!!fullWidthMode\" *ngIf=\"!!data\" [ngStyle]=\"{\r\n position : 'relative',\r\n width: '100%',\r\n minWidth: '310px',\r\n height: height + 'px'\r\n }\">\r\n <div #displayContent class=\"custom-org-tree\">\r\n @if (showSearch) {\r\n <div class=\"core-org-tree-header d-flex-between\">\r\n <div class=\"m5\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"search\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"searchPlaceholder | translate: lang\" [class.full-width]=\"!!fullWidthMode\">\r\n </div>\r\n </div>\r\n }\r\n <ng-container>\r\n\r\n <div #scrollContainer class=\"scroll-container\" [ngStyle]=\"{\r\n height: height - layoutService.coreOrgTreeTopHeight * (showSearch ? 1 : 0) - layoutService.coreOrgTreeBottomHeight + 'px',\r\n overflow: 'scroll'\r\n }\">\r\n <div class=\"hidden-tool\" (click)=\"onHiddenToolClick($event)\"></div>\r\n <core-loading-surface [loading]=\"loading\" [height]=\"scrollContainerHeight\"></core-loading-surface>\r\n <!-- @for (root of dataFiltered; track root) { -->\r\n @for (root of data; track $index) {\r\n @defer(on viewport(scrollContainer)) {\r\n <ul class=\"root\" [class.collapsed]=\"!!!root.tree$Expanded\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root }\"></ng-container>\r\n </ul>\r\n } @placeholder() {\r\n Placeholder...\r\n } @loading() {\r\n Loading...\r\n } @error() {\r\n Error...\r\n }\r\n\r\n }\r\n </div>\r\n <div [ngStyle]=\"{\r\n display: 'block',\r\n position: 'absolute',\r\n bottom: '0px',\r\n left: '0px',\r\n right: '0px',\r\n height: layoutService.corePaginationHeight + 'px',\r\n paddingLeft: layoutService.basicSpacing + 'px',\r\n paddingRight: layoutService.basicSpacing + 'px',\r\n lineHeight: layoutService.corePaginationHeight + 'px',\r\n overflow: 'hidden'\r\n }\">\r\n <div [ngStyle]=\"{\r\n height: layoutService.corePaginationHeight + 'px',\r\n position: 'relative',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between'\r\n }\">\r\n <div>\r\n <core-checkbox [(ngModel)]=\"showDissolved\"\r\n (ngModelChange)=\"onCheckIncludeDissolvedChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS_ABBREVIATED'\"\r\n [tooltip]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS'\" tooltipPosition=\"above\"></core-checkbox>\r\n </div>\r\n @if (accessorMode === 'CHECKED') {\r\n <div class=\"check-inheritance-wrapper\">\r\n @if (showCheckInheritance) {\r\n <core-checkbox [(ngModel)]=\"checkInheritance\"\r\n (ngModelChange)=\"onCheckInheritanceChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.CHECK_INHERITANCE'\"></core-checkbox>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-id=\"context.id\" let-title=\"context.tree$Title\"\r\n let-highlighted=\"context.tree$Highlighted\" let-hasChildren=\"context.tree$HasChildren\"\r\n let-hasActiveChildren=\"context.tree$HasActiveChildren\" let-children=\"context.tree$Children\"\r\n let-expanded=\"context.tree$Expanded\" let-isActive=\"context.isActive\" let-active=\"context.tree$Active\"\r\n let-checked=\"context.tree$Checked\" let-protected=\"context.protected\">\r\n\r\n @if ((!showDissolved && !!isActive) || (!!showDissolved)) {\r\n <li [class.has-children]=\"!!hasChildren\" [class.collapsed]=\"!!hasChildren && !!!expanded\">\r\n <!-- (click)=\"accessorMode !== 'CHECKED' ? onObjectClick(context, $event) : $event.preventDefault()\" -->\r\n <span (click)=\"onObjectClick(context, $event)\">\r\n @if ((!!showDissolved && !!hasChildren) || (!showDissolved && !!hasActiveChildren)) {\r\n <i class=\"expand-toggler feather-chevron-down\" (click)=\"onExpandTogglerClick(context, $event)\"></i>\r\n }\r\n\r\n @if (accessorMode === 'CHECKED' && !protected) {\r\n <core-checkbox (onClick)=\"onItemCheck(context, $event)\" [inputValue]=\"checked\"\r\n [disabled]=\"disabled\"></core-checkbox>\r\n }\r\n <object [class.active]=\"accessorMode != 'CHECKED' && selectedKey===id.toString()\"\r\n [class.highlighted]=\"highlighted\" [class.dissolved]=\"!isActive\"\r\n [class.protected]=\"protected\" [appTooltip]=\"title\">\r\n {{ title }}\r\n </object>\r\n </span>\r\n @if (!!children.length) {\r\n <ul [class.collapsed]=\" !!!expanded\">\r\n @for (child of children; track $index) {\r\n @if (!!expanded || !!fullRendering) {\r\n\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child }\"></ng-container>\r\n\r\n }\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".core-org-tree-container{--background: var(--color-bg-core-org-tree);--height: 545px;--item-height: 35px;--arrow-font-size: 18px;--ul-padding: 20px;--display: \"block\";--square-color: black;--square-size: 9px;--line-color: \"transparent\";--title-wrapper-max-width: 250px;--active-item-color: #F37540;--size-scrollbar-width: 10px;--line-size: 1px;--reduced-icon-wrapper-height: 50px;--reduced-panel-height: calc(var(--height) - var(--reduced-icon-wrapper-height));--scroll-container-height: calc(var(--height) - var(--size-core-reducer-icon-wrapper-height) - var(--size-pagination-height));color:#000;background-color:var(--color-bg-core-org-tree)!important;height:var(--height);background:var(--background);width:var(--size-core-org-tree-width);transition:width .5s ease-out}.core-org-tree-container .hidden-tool{display:block;position:absolute;background-color:transparent;width:var(--ul-padding);height:var(--ul-padding);top:0;left:0}@keyframes reducedPanelOn{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:rotate(0)}}.core-org-tree-container .custom-org-tree{display:var(--display)}.core-org-tree-container .core-org-tree-header{height:var(--size-core-org-tree-header-height)}.core-org-tree-container .core-org-tree-header input{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2 - var(--size-scrollbar-width) + 6px);max-width:100%;transform:translate(14px,8px);border:1px solid #E6EBED}.core-org-tree-container .core-org-tree-header input.full-width{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2)}.core-org-tree-container .check-inheritance-wrapper{padding:15px}.core-org-tree-container .m5>input{color:gray}.core-org-tree-container .form-control{border:none}.core-org-tree-container .core-reducer-icon-wrapper{height:var(--size-core-reducer-icon-wrapper-height);padding:var(--size-layout-block-cell-spacing)}.core-org-tree-container .scroll-container{background:var(--background);height:var(--scroll-container-height);overflow:auto;position:relative;width:100%}.core-org-tree-container .scroll-container::-webkit-scrollbar-corner{background-color:transparent}.core-org-tree-container .scroll-container::-webkit-scrollbar{width:8px;height:8px}.core-org-tree-container .scroll-container *{box-sizing:border-box;padding:0;margin:0}.core-org-tree-container .scroll-container ul{display:table;vertical-align:top;padding-left:var(--ul-padding);transition:all .5s ease-out;width:100%}.core-org-tree-container .scroll-container ul>li>span:hover{height:35px;background-color:#fff;border-top-left-radius:20px;border-bottom-left-radius:20px;width:100%}.core-org-tree-container .scroll-container ul>li>span:active{background-color:#f1f1f1;height:35px;border-radius:20px}.core-org-tree-container .scroll-container ul>li>span>object{user-select:none;max-width:var(--title-wrapper-max-width);overflow-x:hidden;text-overflow:ellipsis;-webkit-user-select:none}.core-org-tree-container .scroll-container ul>li>span>object.active{color:var(--active-item-color)}.core-org-tree-container .scroll-container ul .highlighted{color:var(--color-core-org-tree-highlighted);font-weight:700}.core-org-tree-container .scroll-container ul .dissolved{color:#848484;text-decoration:line-through dashed}.core-org-tree-container .scroll-container ul .dissolved.active{color:#c9252b!important}.core-org-tree-container .scroll-container ul>li{display:block;position:relative}.core-org-tree-container .scroll-container ul>li:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -1);top:calc(var(--item-height) / 2);height:calc(var(--item-height) / 2);border-top:solid var(--line-size) var(--line-color);border-right:none;border-bottom:none;border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li>span{display:flex;align-items:center;height:var(--item-height);white-space:nowrap;font-size:13px;padding-left:8px;transform:translate(10px);cursor:pointer}.core-org-tree-container .scroll-container ul>li>span>i{color:var(--square-color);cursor:pointer;font-size:var(--square-size);width:var(--square-size);height:var(--square-size)}.core-org-tree-container .scroll-container ul>li>span>.expand-toggler{font-size:var(--arrow-font-size);width:24px;height:24px;position:absolute;z-index:1;transform:translate(-100%) rotate(0);transition:.5s ease-out;display:flex;align-items:center;justify-content:center}.core-org-tree-container .scroll-container ul>li>span>.check-toggler{margin-left:5px;margin-right:5px}.core-org-tree-container .scroll-container ul>li>ul>li>span:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);height:var(--line-size);border-top:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li.collapsed>span>.expand-toggler{transform:translate(-100%) rotate(-90deg);transition:.5s ease-out}.core-org-tree-container .scroll-container ul>li.collapsed:before{border-left:none}.core-org-tree-container .scroll-container ul>li:not(.collapsed):not(.has-children):before{border-left:none}.core-org-tree-container .scroll-container ul:not(.root):before{content:\"\";display:block;position:absolute;width:var(--line-size);left:calc(var(--ul-padding) * -1);height:calc(100% - var(--item-height) * 1.5);border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul:not(.root)>li:last-child:not(.collapsed).has-children:after{content:\"\";display:block;position:absolute;height:calc(100% - var(--item-height));width:calc(var(--ul-padding) / 2);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);border-left:solid var(--line-size) var(--background);z-index:0}.core-org-tree-container .scroll-container ul.collapsed:not(.root){display:none}.core-org-tree-container .collapsed>li:before{display:none!important}.core-org-tree-container.full-width .scroll-container{width:auto}.core-org-tree-container.reduced{width:50px;padding:0;transition:width .5s ease-out}.core-org-tree-container.reduced .scroll-container{overflow:hidden}.core-org-tree-container.reduced .scroll-container>ul.root{display:none}.core-org-tree-container.reduced .scroll-container>.reduced-panel{color:var(--active-item-color);width:50px;height:var(--reduced-panel-height);writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;font-weight:700;animation:reducedPanelOn .5s ease-out}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreLoadingSurfaceComponent, selector: "core-loading-surface", inputs: ["loading", "height"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }], deferBlockDependencies: [() => [i3.NgTemplateOutlet]] }); }
13182
13371
  }
13183
13372
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreOrgTreeComponent, decorators: [{
13184
13373
  type: Component,
@@ -13196,7 +13385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
13196
13385
  multi: true,
13197
13386
  useExisting: CoreOrgTreeComponent,
13198
13387
  },
13199
- ], template: "<div #container class=\"core-org-tree-container\" [class.full-width]=\"!!fullWidthMode\" *ngIf=\"!!data\" [ngStyle]=\"{\r\n position : 'relative',\r\n width: '100%',\r\n minWidth: '310px',\r\n height: height + 'px'\r\n }\">\r\n <div #displayContent class=\"custom-org-tree\">\r\n @if (showSearch) {\r\n <div class=\"core-org-tree-header d-flex-between\">\r\n <div class=\"m5\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"search\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"searchPlaceholder | translate: lang\" [class.full-width]=\"!!fullWidthMode\">\r\n </div>\r\n </div>\r\n }\r\n <ng-container>\r\n\r\n <div #scrollContainer class=\"scroll-container\" [ngStyle]=\"{\r\n height: height - layoutService.coreOrgTreeTopHeight * (showSearch ? 1 : 0) - layoutService.coreOrgTreeBottomHeight + 'px',\r\n overflow: 'scroll'\r\n }\">\r\n <div class=\"hidden-tool\" (click)=\"onHiddenToolClick($event)\"></div>\r\n <core-loading-surface [loading]=\"loading\" [height]=\"scrollContainerHeight\"></core-loading-surface>\r\n <!-- @for (root of dataFiltered; track root) { -->\r\n @for (root of data; track $index) {\r\n @defer(on viewport(scrollContainer)) {\r\n <ul class=\"root\" [class.collapsed]=\"!!!root.tree$Expanded\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root }\"></ng-container>\r\n </ul>\r\n } @placeholder() {\r\n Placeholder...\r\n } @loading() {\r\n Loading...\r\n } @error() {\r\n Error...\r\n }\r\n\r\n }\r\n </div>\r\n <div [ngStyle]=\"{\r\n display: 'block',\r\n position: 'absolute',\r\n bottom: '0px',\r\n left: '0px',\r\n right: '0px',\r\n height: layoutService.corePaginationHeight + 'px',\r\n paddingLeft: layoutService.basicSpacing + 'px',\r\n paddingRight: layoutService.basicSpacing + 'px',\r\n lineHeight: layoutService.corePaginationHeight + 'px',\r\n overflow: 'hidden'\r\n }\">\r\n <div [ngStyle]=\"{\r\n height: layoutService.corePaginationHeight + 'px',\r\n position: 'relative',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between'\r\n }\">\r\n <div>\r\n <core-checkbox [(ngModel)]=\"showDissolved\"\r\n (ngModelChange)=\"onCheckIncludeDissolvedChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS_ABBREVIATED'\"\r\n [tooltip]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS'\" tooltipPosition=\"above\"></core-checkbox>\r\n </div>\r\n <div class=\"check-inheritance-wrapper\" *ngIf=\"accessorMode === 'CHECKED'\">\r\n <core-checkbox *ngIf=\"showCheckInheritance\" [(ngModel)]=\"checkInheritance\"\r\n (ngModelChange)=\"onCheckInheritanceChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.CHECK_INHERITANCE'\"></core-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-id=\"context.id\" let-title=\"context.tree$Title\"\r\n let-highlighted=\"context.tree$Highlighted\" let-hasChildren=\"context.tree$HasChildren\"\r\n let-hasActiveChildren=\"context.tree$HasActiveChildren\" let-children=\"context.tree$Children\"\r\n let-expanded=\"context.tree$Expanded\" let-isActive=\"context.isActive\" let-active=\"context.tree$Active\"\r\n let-checked=\"context.tree$Checked\" let-protected=\"context.protected\">\r\n\r\n @if ((!showDissolved && !!isActive) || (!!showDissolved)) {\r\n <li [class.has-children]=\"!!hasChildren\" [class.collapsed]=\"!!hasChildren && !!!expanded\">\r\n <!-- (click)=\"accessorMode !== 'CHECKED' ? onObjectClick(context, $event) : $event.preventDefault()\" -->\r\n <span (click)=\"onObjectClick(context, $event)\">\r\n @if ((!!showDissolved && !!hasChildren) || (!showDissolved && !!hasActiveChildren)) {\r\n <i class=\"expand-toggler feather-chevron-down\" (click)=\"onExpandTogglerClick(context, $event)\"></i>\r\n }\r\n\r\n @if (accessorMode === 'CHECKED' && !protected) {\r\n <core-checkbox (onClick)=\"onItemCheck(context, $event)\" [inputValue]=\"checked\"\r\n [disabled]=\"disabled\"></core-checkbox>\r\n }\r\n <object [class.active]=\"accessorMode != 'CHECKED' && selectedKey===id.toString()\"\r\n [class.highlighted]=\"highlighted\" [class.dissolved]=\"!isActive\"\r\n [class.protected]=\"protected\" [appTooltip]=\"title\">\r\n {{ title }}\r\n </object>\r\n </span>\r\n @if (!!children.length) {\r\n <ul [class.collapsed]=\" !!!expanded\">\r\n @for (child of children; track $index) {\r\n @if (!!expanded || !!fullRendering) {\r\n\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child }\"></ng-container>\r\n\r\n }\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".core-org-tree-container{--background: var(--color-bg-core-org-tree);--height: 545px;--item-height: 35px;--arrow-font-size: 18px;--ul-padding: 20px;--display: \"block\";--square-color: black;--square-size: 9px;--line-color: \"transparent\";--title-wrapper-max-width: 250px;--active-item-color: #F37540;--size-scrollbar-width: 10px;--line-size: 1px;--reduced-icon-wrapper-height: 50px;--reduced-panel-height: calc(var(--height) - var(--reduced-icon-wrapper-height));--scroll-container-height: calc(var(--height) - var(--size-core-reducer-icon-wrapper-height) - var(--size-pagination-height));color:#000;background-color:var(--color-bg-core-org-tree)!important;height:var(--height);background:var(--background);width:var(--size-core-org-tree-width);transition:width .5s ease-out}.core-org-tree-container .hidden-tool{display:block;position:absolute;background-color:transparent;width:var(--ul-padding);height:var(--ul-padding);top:0;left:0}@keyframes reducedPanelOn{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:rotate(0)}}.core-org-tree-container .custom-org-tree{display:var(--display)}.core-org-tree-container .core-org-tree-header{height:var(--size-core-org-tree-header-height)}.core-org-tree-container .core-org-tree-header input{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2 - var(--size-scrollbar-width) + 6px);max-width:100%;transform:translate(14px,8px);border:1px solid #E6EBED}.core-org-tree-container .core-org-tree-header input.full-width{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2)}.core-org-tree-container .check-inheritance-wrapper{padding:15px}.core-org-tree-container .m5>input{color:gray}.core-org-tree-container .form-control{border:none}.core-org-tree-container .core-reducer-icon-wrapper{height:var(--size-core-reducer-icon-wrapper-height);padding:var(--size-layout-block-cell-spacing)}.core-org-tree-container .scroll-container{background:var(--background);height:var(--scroll-container-height);overflow:auto;position:relative;width:100%}.core-org-tree-container .scroll-container::-webkit-scrollbar-corner{background-color:transparent}.core-org-tree-container .scroll-container::-webkit-scrollbar{width:8px;height:8px}.core-org-tree-container .scroll-container *{box-sizing:border-box;padding:0;margin:0}.core-org-tree-container .scroll-container ul{display:table;vertical-align:top;padding-left:var(--ul-padding);transition:all .5s ease-out;width:100%}.core-org-tree-container .scroll-container ul>li>span:hover{height:35px;background-color:#fff;border-top-left-radius:20px;border-bottom-left-radius:20px;width:100%}.core-org-tree-container .scroll-container ul>li>span:active{background-color:#f1f1f1;height:35px;border-radius:20px}.core-org-tree-container .scroll-container ul>li>span>object{user-select:none;max-width:var(--title-wrapper-max-width);overflow-x:hidden;text-overflow:ellipsis;-webkit-user-select:none}.core-org-tree-container .scroll-container ul>li>span>object.active{color:var(--active-item-color)}.core-org-tree-container .scroll-container ul .highlighted{color:var(--color-core-org-tree-highlighted);font-weight:700}.core-org-tree-container .scroll-container ul .dissolved{color:#848484;text-decoration:line-through dashed}.core-org-tree-container .scroll-container ul .dissolved.active{color:#c9252b!important}.core-org-tree-container .scroll-container ul>li{display:block;position:relative}.core-org-tree-container .scroll-container ul>li:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -1);top:calc(var(--item-height) / 2);height:calc(var(--item-height) / 2);border-top:solid var(--line-size) var(--line-color);border-right:none;border-bottom:none;border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li>span{display:flex;align-items:center;height:var(--item-height);white-space:nowrap;font-size:13px;padding-left:8px;transform:translate(10px);cursor:pointer}.core-org-tree-container .scroll-container ul>li>span>i{color:var(--square-color);cursor:pointer;font-size:var(--square-size);width:var(--square-size);height:var(--square-size)}.core-org-tree-container .scroll-container ul>li>span>.expand-toggler{font-size:var(--arrow-font-size);width:24px;height:24px;position:absolute;z-index:1;transform:translate(-100%) rotate(0);transition:.5s ease-out;display:flex;align-items:center;justify-content:center}.core-org-tree-container .scroll-container ul>li>span>.check-toggler{margin-left:5px;margin-right:5px}.core-org-tree-container .scroll-container ul>li>ul>li>span:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);height:var(--line-size);border-top:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li.collapsed>span>.expand-toggler{transform:translate(-100%) rotate(-90deg);transition:.5s ease-out}.core-org-tree-container .scroll-container ul>li.collapsed:before{border-left:none}.core-org-tree-container .scroll-container ul>li:not(.collapsed):not(.has-children):before{border-left:none}.core-org-tree-container .scroll-container ul:not(.root):before{content:\"\";display:block;position:absolute;width:var(--line-size);left:calc(var(--ul-padding) * -1);height:calc(100% - var(--item-height) * 1.5);border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul:not(.root)>li:last-child:not(.collapsed).has-children:after{content:\"\";display:block;position:absolute;height:calc(100% - var(--item-height));width:calc(var(--ul-padding) / 2);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);border-left:solid var(--line-size) var(--background);z-index:0}.core-org-tree-container .scroll-container ul.collapsed:not(.root){display:none}.core-org-tree-container .collapsed>li:before{display:none!important}.core-org-tree-container.full-width .scroll-container{width:auto}.core-org-tree-container.reduced{width:50px;padding:0;transition:width .5s ease-out}.core-org-tree-container.reduced .scroll-container{overflow:hidden}.core-org-tree-container.reduced .scroll-container>ul.root{display:none}.core-org-tree-container.reduced .scroll-container>.reduced-panel{color:var(--active-item-color);width:50px;height:var(--reduced-panel-height);writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;font-weight:700;animation:reducedPanelOn .5s ease-out}\n"] }]
13388
+ ], template: "<div #container class=\"core-org-tree-container\" [class.full-width]=\"!!fullWidthMode\" *ngIf=\"!!data\" [ngStyle]=\"{\r\n position : 'relative',\r\n width: '100%',\r\n minWidth: '310px',\r\n height: height + 'px'\r\n }\">\r\n <div #displayContent class=\"custom-org-tree\">\r\n @if (showSearch) {\r\n <div class=\"core-org-tree-header d-flex-between\">\r\n <div class=\"m5\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"search\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"searchPlaceholder | translate: lang\" [class.full-width]=\"!!fullWidthMode\">\r\n </div>\r\n </div>\r\n }\r\n <ng-container>\r\n\r\n <div #scrollContainer class=\"scroll-container\" [ngStyle]=\"{\r\n height: height - layoutService.coreOrgTreeTopHeight * (showSearch ? 1 : 0) - layoutService.coreOrgTreeBottomHeight + 'px',\r\n overflow: 'scroll'\r\n }\">\r\n <div class=\"hidden-tool\" (click)=\"onHiddenToolClick($event)\"></div>\r\n <core-loading-surface [loading]=\"loading\" [height]=\"scrollContainerHeight\"></core-loading-surface>\r\n <!-- @for (root of dataFiltered; track root) { -->\r\n @for (root of data; track $index) {\r\n @defer(on viewport(scrollContainer)) {\r\n <ul class=\"root\" [class.collapsed]=\"!!!root.tree$Expanded\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root }\"></ng-container>\r\n </ul>\r\n } @placeholder() {\r\n Placeholder...\r\n } @loading() {\r\n Loading...\r\n } @error() {\r\n Error...\r\n }\r\n\r\n }\r\n </div>\r\n <div [ngStyle]=\"{\r\n display: 'block',\r\n position: 'absolute',\r\n bottom: '0px',\r\n left: '0px',\r\n right: '0px',\r\n height: layoutService.corePaginationHeight + 'px',\r\n paddingLeft: layoutService.basicSpacing + 'px',\r\n paddingRight: layoutService.basicSpacing + 'px',\r\n lineHeight: layoutService.corePaginationHeight + 'px',\r\n overflow: 'hidden'\r\n }\">\r\n <div [ngStyle]=\"{\r\n height: layoutService.corePaginationHeight + 'px',\r\n position: 'relative',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between'\r\n }\">\r\n <div>\r\n <core-checkbox [(ngModel)]=\"showDissolved\"\r\n (ngModelChange)=\"onCheckIncludeDissolvedChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS_ABBREVIATED'\"\r\n [tooltip]=\"'UI.CORE_ORG_TREE.SHOW_OUTDATED_UNITS'\" tooltipPosition=\"above\"></core-checkbox>\r\n </div>\r\n @if (accessorMode === 'CHECKED') {\r\n <div class=\"check-inheritance-wrapper\">\r\n @if (showCheckInheritance) {\r\n <core-checkbox [(ngModel)]=\"checkInheritance\"\r\n (ngModelChange)=\"onCheckInheritanceChange($event)\"\r\n [text]=\"'UI.CORE_ORG_TREE.CHECK_INHERITANCE'\"></core-checkbox>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-id=\"context.id\" let-title=\"context.tree$Title\"\r\n let-highlighted=\"context.tree$Highlighted\" let-hasChildren=\"context.tree$HasChildren\"\r\n let-hasActiveChildren=\"context.tree$HasActiveChildren\" let-children=\"context.tree$Children\"\r\n let-expanded=\"context.tree$Expanded\" let-isActive=\"context.isActive\" let-active=\"context.tree$Active\"\r\n let-checked=\"context.tree$Checked\" let-protected=\"context.protected\">\r\n\r\n @if ((!showDissolved && !!isActive) || (!!showDissolved)) {\r\n <li [class.has-children]=\"!!hasChildren\" [class.collapsed]=\"!!hasChildren && !!!expanded\">\r\n <!-- (click)=\"accessorMode !== 'CHECKED' ? onObjectClick(context, $event) : $event.preventDefault()\" -->\r\n <span (click)=\"onObjectClick(context, $event)\">\r\n @if ((!!showDissolved && !!hasChildren) || (!showDissolved && !!hasActiveChildren)) {\r\n <i class=\"expand-toggler feather-chevron-down\" (click)=\"onExpandTogglerClick(context, $event)\"></i>\r\n }\r\n\r\n @if (accessorMode === 'CHECKED' && !protected) {\r\n <core-checkbox (onClick)=\"onItemCheck(context, $event)\" [inputValue]=\"checked\"\r\n [disabled]=\"disabled\"></core-checkbox>\r\n }\r\n <object [class.active]=\"accessorMode != 'CHECKED' && selectedKey===id.toString()\"\r\n [class.highlighted]=\"highlighted\" [class.dissolved]=\"!isActive\"\r\n [class.protected]=\"protected\" [appTooltip]=\"title\">\r\n {{ title }}\r\n </object>\r\n </span>\r\n @if (!!children.length) {\r\n <ul [class.collapsed]=\" !!!expanded\">\r\n @for (child of children; track $index) {\r\n @if (!!expanded || !!fullRendering) {\r\n\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child }\"></ng-container>\r\n\r\n }\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".core-org-tree-container{--background: var(--color-bg-core-org-tree);--height: 545px;--item-height: 35px;--arrow-font-size: 18px;--ul-padding: 20px;--display: \"block\";--square-color: black;--square-size: 9px;--line-color: \"transparent\";--title-wrapper-max-width: 250px;--active-item-color: #F37540;--size-scrollbar-width: 10px;--line-size: 1px;--reduced-icon-wrapper-height: 50px;--reduced-panel-height: calc(var(--height) - var(--reduced-icon-wrapper-height));--scroll-container-height: calc(var(--height) - var(--size-core-reducer-icon-wrapper-height) - var(--size-pagination-height));color:#000;background-color:var(--color-bg-core-org-tree)!important;height:var(--height);background:var(--background);width:var(--size-core-org-tree-width);transition:width .5s ease-out}.core-org-tree-container .hidden-tool{display:block;position:absolute;background-color:transparent;width:var(--ul-padding);height:var(--ul-padding);top:0;left:0}@keyframes reducedPanelOn{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:rotate(0)}}.core-org-tree-container .custom-org-tree{display:var(--display)}.core-org-tree-container .core-org-tree-header{height:var(--size-core-org-tree-header-height)}.core-org-tree-container .core-org-tree-header input{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2 - var(--size-scrollbar-width) + 6px);max-width:100%;transform:translate(14px,8px);border:1px solid #E6EBED}.core-org-tree-container .core-org-tree-header input.full-width{width:calc(var(--size-core-org-tree-width) - var(--size-layout-block-cell-spacing) * 2)}.core-org-tree-container .check-inheritance-wrapper{padding:15px}.core-org-tree-container .m5>input{color:gray}.core-org-tree-container .form-control{border:none}.core-org-tree-container .core-reducer-icon-wrapper{height:var(--size-core-reducer-icon-wrapper-height);padding:var(--size-layout-block-cell-spacing)}.core-org-tree-container .scroll-container{background:var(--background);height:var(--scroll-container-height);overflow:auto;position:relative;width:100%}.core-org-tree-container .scroll-container::-webkit-scrollbar-corner{background-color:transparent}.core-org-tree-container .scroll-container::-webkit-scrollbar{width:8px;height:8px}.core-org-tree-container .scroll-container *{box-sizing:border-box;padding:0;margin:0}.core-org-tree-container .scroll-container ul{display:table;vertical-align:top;padding-left:var(--ul-padding);transition:all .5s ease-out;width:100%}.core-org-tree-container .scroll-container ul>li>span:hover{height:35px;background-color:#fff;border-top-left-radius:20px;border-bottom-left-radius:20px;width:100%}.core-org-tree-container .scroll-container ul>li>span:active{background-color:#f1f1f1;height:35px;border-radius:20px}.core-org-tree-container .scroll-container ul>li>span>object{user-select:none;max-width:var(--title-wrapper-max-width);overflow-x:hidden;text-overflow:ellipsis;-webkit-user-select:none}.core-org-tree-container .scroll-container ul>li>span>object.active{color:var(--active-item-color)}.core-org-tree-container .scroll-container ul .highlighted{color:var(--color-core-org-tree-highlighted);font-weight:700}.core-org-tree-container .scroll-container ul .dissolved{color:#848484;text-decoration:line-through dashed}.core-org-tree-container .scroll-container ul .dissolved.active{color:#c9252b!important}.core-org-tree-container .scroll-container ul>li{display:block;position:relative}.core-org-tree-container .scroll-container ul>li:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -1);top:calc(var(--item-height) / 2);height:calc(var(--item-height) / 2);border-top:solid var(--line-size) var(--line-color);border-right:none;border-bottom:none;border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li>span{display:flex;align-items:center;height:var(--item-height);white-space:nowrap;font-size:13px;padding-left:8px;transform:translate(10px);cursor:pointer}.core-org-tree-container .scroll-container ul>li>span>i{color:var(--square-color);cursor:pointer;font-size:var(--square-size);width:var(--square-size);height:var(--square-size)}.core-org-tree-container .scroll-container ul>li>span>.expand-toggler{font-size:var(--arrow-font-size);width:24px;height:24px;position:absolute;z-index:1;transform:translate(-100%) rotate(0);transition:.5s ease-out;display:flex;align-items:center;justify-content:center}.core-org-tree-container .scroll-container ul>li>span>.check-toggler{margin-left:5px;margin-right:5px}.core-org-tree-container .scroll-container ul>li>ul>li>span:before{content:\"\";display:block;position:absolute;width:var(--ul-padding);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);height:var(--line-size);border-top:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul>li.collapsed>span>.expand-toggler{transform:translate(-100%) rotate(-90deg);transition:.5s ease-out}.core-org-tree-container .scroll-container ul>li.collapsed:before{border-left:none}.core-org-tree-container .scroll-container ul>li:not(.collapsed):not(.has-children):before{border-left:none}.core-org-tree-container .scroll-container ul:not(.root):before{content:\"\";display:block;position:absolute;width:var(--line-size);left:calc(var(--ul-padding) * -1);height:calc(100% - var(--item-height) * 1.5);border-left:solid var(--line-size) var(--line-color);z-index:0}.core-org-tree-container .scroll-container ul:not(.root)>li:last-child:not(.collapsed).has-children:after{content:\"\";display:block;position:absolute;height:calc(100% - var(--item-height));width:calc(var(--ul-padding) / 2);left:calc(var(--ul-padding) * -2);top:calc(var(--item-height) / 2);border-left:solid var(--line-size) var(--background);z-index:0}.core-org-tree-container .scroll-container ul.collapsed:not(.root){display:none}.core-org-tree-container .collapsed>li:before{display:none!important}.core-org-tree-container.full-width .scroll-container{width:auto}.core-org-tree-container.reduced{width:50px;padding:0;transition:width .5s ease-out}.core-org-tree-container.reduced .scroll-container{overflow:hidden}.core-org-tree-container.reduced .scroll-container>ul.root{display:none}.core-org-tree-container.reduced .scroll-container>.reduced-panel{color:var(--active-item-color);width:50px;height:var(--reduced-panel-height);writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;font-weight:700;animation:reducedPanelOn .5s ease-out}\n"] }]
13200
13389
  }], ctorParameters: () => [{ type: AuthService }, { type: RecursiveService }, { type: MultiLanguageService }, { type: LayoutService }, { type: CoreOrgTreeService }, { type: AlertService }, { type: OrganizationService }], propDecorators: { lineColor: [{
13201
13390
  type: Input
13202
13391
  }], fullWidthMode: [{
@@ -15339,7 +15528,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
15339
15528
  }
15340
15529
  queryListSubscribe() {
15341
15530
  if (!!!this.queryListSubscription && !!this.queryListStream$) {
15342
- this.queryListSubscription = this.queryListStream$.pipe(catchError(err => {
15531
+ this.queryListSubscription = this.queryListStream$.pipe(catchError$1(err => {
15343
15532
  return of({ ok: false, status: 400, body: { messageCode: this.appService.formatHttpError(err) } });
15344
15533
  }), finalize$1(() => {
15345
15534
  this.loading = false;
@@ -15517,7 +15706,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
15517
15706
  .subscribe((x) => {
15518
15707
  if (x.ok && x.status === 200) {
15519
15708
  const body = x.body;
15520
- if (body.statusCode === 200 || x.body.statusCode == '200') {
15709
+ if (body.statusCode === 200 /*|| x.body.statusCode == '200'*/) {
15521
15710
  this.forceReloadingFlag$.next(!!!this.forceReloadingFlag$.value);
15522
15711
  activateRequest.ids = [];
15523
15712
  this.buttonGroupStatus?.mustBeHidden$.next(EMPTY_SELECTION_HIDDEN_BUTTON);
@@ -15541,7 +15730,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
15541
15730
  .subscribe((x) => {
15542
15731
  if (x.ok && x.status === 200) {
15543
15732
  const body = x.body;
15544
- if (body.statusCode === 200 || x.body.statusCode == '200') {
15733
+ if (body.statusCode === 200 /*|| x.body.statusCode == '200'*/) {
15545
15734
  this.forceReloadingFlag$.next(!!!this.forceReloadingFlag$.value);
15546
15735
  inactivateRequest.ids = [];
15547
15736
  this.buttonGroupStatus?.mustBeHidden$.next(EMPTY_SELECTION_HIDDEN_BUTTON);
@@ -15573,7 +15762,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
15573
15762
  .subscribe((x) => {
15574
15763
  if (x.ok && x.status === 200) {
15575
15764
  const body = x.body;
15576
- if (body.statusCode === 200 || x.body.statusCode == '200') {
15765
+ if (body.statusCode === 200 /*|| x.body.statusCode == '200'*/) {
15577
15766
  this.forceReloadingFlag$.next(!!!this.forceReloadingFlag$.value);
15578
15767
  request.ids = [];
15579
15768
  }
@@ -16090,7 +16279,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
16090
16279
  .subscribe((x) => {
16091
16280
  if (x.ok && x.status === 200) {
16092
16281
  const body = x.body;
16093
- if (body.statusCode === 200 || x.body.statusCode == '200') {
16282
+ if (body.statusCode === 200 /*|| x.body.statusCode == '200'*/) {
16094
16283
  this.forceReloadingFlag$.next(!!!this.forceReloadingFlag$.value);
16095
16284
  requestApprove.ids = [];
16096
16285
  }
@@ -16128,7 +16317,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
16128
16317
  .subscribe((x) => {
16129
16318
  if (x.ok && x.status === 200) {
16130
16319
  const body = x.body;
16131
- if (body.statusCode === 200 || x.body.statusCode == '200') {
16320
+ if (body.statusCode === 200 /*|| x.body.statusCode == '200'*/) {
16132
16321
  this.forceReloadingFlag$.next(!!!this.forceReloadingFlag$.value);
16133
16322
  requestPendingApprove.ids = [];
16134
16323
  }
@@ -20585,7 +20774,7 @@ class CoreDropdownComponent extends CoreFormControlBaseComponent {
20585
20774
  else {
20586
20775
  request$ = this.appService.post(this.optionApi, this.optionHttpPayload);
20587
20776
  }
20588
- request$.pipe(tap$1(() => this.loading = true), catchError(err => {
20777
+ request$.pipe(tap$1(() => this.loading = true), catchError$1(err => {
20589
20778
  return of({
20590
20779
  ok: false,
20591
20780
  status: 500,
@@ -26911,7 +27100,7 @@ class CorePageEditComponent {
26911
27100
  this.cdr.markForCheck();
26912
27101
  }), switchMap(id => {
26913
27102
  return this.corePageEditService.getById(id, this.crud.r)
26914
- .pipe(catchError(err => {
27103
+ .pipe(catchError$1(err => {
26915
27104
  this.loading = false;
26916
27105
  const msg = err?.error?.message || // API-defined message
26917
27106
  err?.message || // Native JS or HttpErrorResponse
@@ -27207,7 +27396,7 @@ class CorePageEditComponent {
27207
27396
  .pipe(tap$1((response) => {
27208
27397
  console.log('🔍 Inspecting response before subscribe:', response);
27209
27398
  // You can also trigger analytics, loggers, etc.
27210
- }), catchError(err => {
27399
+ }), catchError$1(err => {
27211
27400
  this.loading = false;
27212
27401
  this.cdr.detectChanges();
27213
27402
  return of(err);
@@ -27269,7 +27458,7 @@ class CorePageEditComponent {
27269
27458
  .pipe(tap$1((response) => {
27270
27459
  console.log('🔍 Inspecting response before subscribe:', response);
27271
27460
  // You can also trigger analytics, loggers, etc.
27272
- }), catchError(err => {
27461
+ }), catchError$1(err => {
27273
27462
  this.loading = false;
27274
27463
  const msg = err?.error?.message || // API-defined message
27275
27464
  err?.message || // Native JS or HttpErrorResponse
@@ -31333,7 +31522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
31333
31522
  const hrmSchemaRoutes = [
31334
31523
  {
31335
31524
  path: '',
31336
- loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-DPS-44a3.mjs').then(m => m.HrmSchemaComponent)
31525
+ loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-Bgcd9oqO.mjs').then(m => m.HrmSchemaComponent)
31337
31526
  }
31338
31527
  ];
31339
31528
 
@@ -33506,7 +33695,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
33506
33695
  const simpleChatRoutes = [
33507
33696
  {
33508
33697
  path: '',
33509
- loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-BBC0agsQ.mjs').then(m => m.SimpleChatComponent)
33698
+ loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-CORJcSXP.mjs').then(m => m.SimpleChatComponent)
33510
33699
  }
33511
33700
  ];
33512
33701
 
@@ -35050,7 +35239,7 @@ class SysFunctionUrlMapperComponent extends BaseEditComponent {
35050
35239
  this.subscriptions.push(this.form.get('functionId')?.valueChanges.pipe(filter(x => !!x), distinctUntilChanged(), switchMap(x => {
35051
35240
  return this.appService.get(api.SYS_FUNCTION_READ + '?id=' + x);
35052
35241
  })).subscribe(x => {
35053
- if (x.ok && x === 200) {
35242
+ if (x.ok && x.status === 200) {
35054
35243
  const body = x.body;
35055
35244
  if (body.statusCode === 200) {
35056
35245
  this.form.patchValue(body.innerBody);
@@ -36720,11 +36909,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
36720
36909
  const coreDocGenRoutes = [
36721
36910
  {
36722
36911
  path: 'template-list',
36723
- loadComponent: () => import('./ngx-histaff-alpha-template-list.component-Dg9i9xfk.mjs').then(m => m.TemplateListComponent),
36912
+ loadComponent: () => import('./ngx-histaff-alpha-template-list.component-DhHh7uk3.mjs').then(m => m.TemplateListComponent),
36724
36913
  },
36725
36914
  {
36726
36915
  path: ":id",
36727
- loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-DquamtEW.mjs').then(m => m.CoreTemplateEditorComponent),
36916
+ loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-fXB6492V.mjs').then(m => m.CoreTemplateEditorComponent),
36728
36917
  canDeactivate: [CanDeactivateGuard]
36729
36918
  },
36730
36919
  {
@@ -36753,7 +36942,7 @@ const coreFormDesignRoutes = [
36753
36942
  },
36754
36943
  {
36755
36944
  path: ':id',
36756
- loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-DG6DwsTg.mjs').then(function (n) { return n.c; }).then(m => m.CoreFormDesignComponent)
36945
+ loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-_wzTnIee.mjs').then(function (n) { return n.c; }).then(m => m.CoreFormDesignComponent)
36757
36946
  }
36758
36947
  ];
36759
36948
 
@@ -37646,7 +37835,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
37646
37835
  const coreNavigationTrackerRoutes = [
37647
37836
  {
37648
37837
  path: '',
37649
- loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-CYpHkiXM.mjs').then(m => m.TrackerStudioComponent)
37838
+ loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-DxwHNKW5.mjs').then(m => m.TrackerStudioComponent)
37650
37839
  }
37651
37840
  ];
37652
37841
 
@@ -39835,33 +40024,33 @@ const coreWorkflowRoutes = [
39835
40024
  {
39836
40025
  path: 'form-assign/:id',
39837
40026
  outlet: "formAssignAux",
39838
- loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-DPQm1Xzc.mjs').then(m => m.WfFormAssignComponent),
40027
+ loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-CTwMGHCL.mjs').then(m => m.WfFormAssignComponent),
39839
40028
  canDeactivate: [CanDeactivateGuard]
39840
40029
  }
39841
40030
  ]
39842
40031
  },
39843
40032
  {
39844
40033
  path: 'global-config',
39845
- loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-oEr0_M3b.mjs').then(m => m.WfGlobalConfigComponent)
40034
+ loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-C0FY6YVB.mjs').then(m => m.WfGlobalConfigComponent)
39846
40035
  },
39847
40036
  {
39848
40037
  path: 'db-settings',
39849
- loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-B-OxVg4F.mjs').then(m => m.DbSettingsComponent)
40038
+ loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-BpIse2rU.mjs').then(m => m.DbSettingsComponent)
39850
40039
  },
39851
40040
  {
39852
40041
  path: 'workflow-consume',
39853
- loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-DMCnXtOv.mjs').then(m => m.CoreWorkflowConsumeComponent),
40042
+ loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-CSsLmLR2.mjs').then(m => m.CoreWorkflowConsumeComponent),
39854
40043
  children: [
39855
40044
  {
39856
40045
  path: ':id',
39857
40046
  outlet: "workflowConsume",
39858
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-C_3pE7eQ.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
40047
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-DCmSKu9J.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
39859
40048
  }
39860
40049
  ]
39861
40050
  },
39862
40051
  {
39863
40052
  path: 'workflow-consume/:id',
39864
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-C_3pE7eQ.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
40053
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-DCmSKu9J.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
39865
40054
  },
39866
40055
  {
39867
40056
  path: 'workflow-group-edit/:id',
@@ -39871,17 +40060,17 @@ const coreWorkflowRoutes = [
39871
40060
  },
39872
40061
  {
39873
40062
  path: 'design/:id',
39874
- loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-CgqbmHd5.mjs').then(m => m.wfDesignWrapperRoutes),
40063
+ loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-BQUP7aD3.mjs').then(m => m.wfDesignWrapperRoutes),
39875
40064
  },
39876
40065
  ]
39877
40066
  },
39878
40067
  {
39879
40068
  path: 'react/:id',
39880
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-DvluEd1O.mjs').then(m => m.WfInstanceStepReactComponent)
40069
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-C1lVDinr.mjs').then(m => m.WfInstanceStepReactComponent)
39881
40070
  },
39882
40071
  {
39883
40072
  path: 'status/:id',
39884
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-BGc1pFqY.mjs').then(m => m.WfInstanceStatusComponent)
40073
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-BXGA_qii.mjs').then(m => m.WfInstanceStatusComponent)
39885
40074
  }
39886
40075
  ];
39887
40076
 
@@ -40084,19 +40273,41 @@ class CoreWorkflowListComponent extends BaseComponent {
40084
40273
  this.appService = appService;
40085
40274
  this.alertService = alertService;
40086
40275
  this.mls = mls;
40276
+ this.controller = null;
40087
40277
  this.$tabHeader = signal('Drafts');
40088
40278
  this.$loading = signal(false);
40089
40279
  this.$sortMode = signal(false);
40090
40280
  this.searchTearm$ = new BehaviorSubject('');
40091
- this.orderChanges$ = new Subject();
40281
+ this.orderChanges$ = new BehaviorSubject([]);
40282
+ this.tabHeaderChanges$ = new BehaviorSubject('Drafts');
40283
+ this.workflowDeletedFlag$ = new BehaviorSubject(false);
40284
+ this.workflowPublishedFlag$ = new BehaviorSubject(false);
40285
+ this.mergedState$ = combineLatest([
40286
+ this.searchTearm$,
40287
+ this.orderChanges$,
40288
+ this.tabHeaderChanges$,
40289
+ this.workflowDeletedFlag$,
40290
+ this.workflowPublishedFlag$
40291
+ ]).pipe(debounceTime(300), distinctUntilChanged(([s1, o1, t1, d1, p1], [s2, o2, t2, d2, p2]) => s1 === s2 &&
40292
+ JSON.stringify(o1) === JSON.stringify(o2) &&
40293
+ t1 === t2 &&
40294
+ d1 === d2 &&
40295
+ p1 === p2), map$1(([searchTerm, orderChanges, tabHeader, deletedFlag, publishedFlag]) => ({
40296
+ searchTerm,
40297
+ orderChanges,
40298
+ tabHeader,
40299
+ deletedFlag,
40300
+ publishedFlag
40301
+ })));
40092
40302
  this.isDevMode = isDevMode();
40093
40303
  this.pointerdown$ = new Subject();
40094
40304
  this.$activeWorkflowGroup = signal(undefined);
40095
40305
  this.$activeWorkflow = signal(undefined);
40096
40306
  effect(() => {
40097
40307
  const tabHeader = this.$tabHeader();
40098
- const published = tabHeader === 'Published';
40099
- this.coreWorkflowService.refresh(undefined, this.searchTearm$.value, undefined, published);
40308
+ //const published = tabHeader === 'Published'
40309
+ this.tabHeaderChanges$.next(tabHeader);
40310
+ //this.coreWorkflowService.refresh(undefined, this.searchTearm$.value, undefined, published)
40100
40311
  });
40101
40312
  this.doublePointDown = this.pointerdown$.pipe(buffer(this.pointerdown$.pipe(debounceTime(500))), filter(clicks => clicks.length >= 2)).subscribe(() => {
40102
40313
  if (!!this.$activeWorkflow()) {
@@ -40131,20 +40342,19 @@ class CoreWorkflowListComponent extends BaseComponent {
40131
40342
  deleteWorkflow(flow) {
40132
40343
  if (confirm(`Are you sure about deleting this flow "${flow.name}"`)) {
40133
40344
  this.$loading.set(true);
40134
- this.subscriptions.push(this.appService.post('/api/WfWorkflow/DeleteTogetherWithAfInstance', { id: flow.id }).pipe(catchError(err => {
40135
- this.$loading.set(false);
40345
+ this.subscriptions.push(this.appService.post('/api/WfWorkflow/DeleteTogetherWithAfInstance', { id: flow.id }).pipe(tap$1(() => this.$loading.set(true)), catchError$1(err => {
40136
40346
  return of(err);
40137
- })).subscribe(x => {
40138
- this.$loading.set(false);
40347
+ }), finalize$1(() => this.$loading.set(false))).subscribe(x => {
40139
40348
  if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
40140
- this.coreWorkflowService.refresh(undefined, this.searchTearm$.value);
40349
+ //this.coreWorkflowService.refresh(undefined, this.searchTearm$.value);
40350
+ this.workflowDeletedFlag$.next(!this.workflowDeletedFlag$.value);
40141
40351
  }
40142
40352
  }));
40143
40353
  }
40144
40354
  }
40145
40355
  toggleLock(flow, group) {
40146
40356
  this.subscriptions.push(this.coreWorkflowService.toggleFlowLock(flow.id)
40147
- .pipe(tap$1(_ => this.$loading.set(true)), catchError(err => {
40357
+ .pipe(tap$1(_ => this.$loading.set(true)), catchError$1(err => {
40148
40358
  console.error('🚨 Backend update failed:', err);
40149
40359
  this.$loading.set(false);
40150
40360
  return of({ ok: false, status: 500, body: { statusCode: 500 } });
@@ -40195,16 +40405,86 @@ class CoreWorkflowListComponent extends BaseComponent {
40195
40405
  }
40196
40406
  ngAfterViewInit() {
40197
40407
  requestAnimationFrame(() => {
40198
- this.coreWorkflowService.refresh(undefined, this.searchTearm$.value);
40199
- this.subscriptions.push(this.searchTearm$.pipe(debounceTime(500), distinctUntilChanged()).subscribe(searchTerm => {
40200
- this.coreWorkflowService.refresh(undefined, searchTerm);
40408
+ //this.coreWorkflowService.refresh(undefined, this.searchTearm$.value);
40409
+ /*
40410
+ this.subscriptions.push(
40411
+ this.mergedState$.pipe(
40412
+ tap(() => this.$loading.set(true)),
40413
+ debounceTime(500),
40414
+ distinctUntilChanged(),
40415
+ switchMap((x) => {
40416
+ if (this.controller) this.controller.abort();
40417
+ return this.coreWorkflowService.refreshObservable('/api/WfWorkflowGroup/GetAllWithWorkflows', x.searchTerm, undefined, false)
40418
+ }),
40419
+ finalize(() => {
40420
+ this.$loading.set(false)
40421
+ this.controller = null;
40422
+ })
40423
+ ).subscribe(x => {
40424
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
40425
+ this.coreWorkflowService.$allGroups.set(
40426
+ (x.body?.innerBody as IWfWorkflowGroup[])
40427
+ .map(x => ({ ...x, orderNum: x.orderNum ?? 999 }))
40428
+ .sort((a, b) => a.orderNum - b.orderNum)
40429
+ )
40430
+ }
40431
+ })
40432
+ )
40433
+ */
40434
+ this.subscriptions.push(this.mergedState$.pipe(tap$1(() => this.$loading.set(true)), debounceTime(500), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), switchMap(x => {
40435
+ // 🧹 Cancel previous request if still running
40436
+ if (this.controller)
40437
+ this.controller.abort();
40438
+ // 🧩 Create a new controller for this request
40439
+ this.controller = new AbortController();
40440
+ // 🔹 Pass the signal to your service
40441
+ return this.coreWorkflowService.refreshObservable('/api/WfWorkflowGroup/GetAllWithWorkflows', x.searchTerm, undefined, false, this.controller.signal).pipe(
40442
+ // Always catch inside switchMap so the stream doesn’t die
40443
+ catchError$1(err => {
40444
+ console.error('🚨 Backend fetch failed:', err);
40445
+ return of({
40446
+ ok: true,
40447
+ status: 200,
40448
+ body: {
40449
+ statusCode: 400,
40450
+ messageCode: 'REQUEST_CANCELLED',
40451
+ errorType: 1,
40452
+ innerBody: null
40453
+ }
40454
+ });
40455
+ }));
40456
+ }), finalize$1(() => {
40457
+ this.$loading.set(false);
40458
+ if (this.controller) {
40459
+ this.controller.abort();
40460
+ this.controller = null;
40461
+ }
40462
+ }))
40463
+ .subscribe(x => {
40464
+ this.$loading.set(false);
40465
+ if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
40466
+ const groups = x.body.innerBody
40467
+ .map(g => ({ ...g, orderNum: g.orderNum ?? 999 }))
40468
+ .sort((a, b) => a.orderNum - b.orderNum);
40469
+ this.coreWorkflowService.$allGroups.set(groups);
40470
+ }
40471
+ else {
40472
+ console.warn('⚠️ GetAllWithWorkflows returned non-200 statusCode', x.body);
40473
+ }
40201
40474
  }));
40202
40475
  this.subscriptions.push(this.orderChanges$
40203
- .pipe(debounceTime(800), // wait 800ms after last change
40476
+ .pipe(skip(1), debounceTime(800), // wait 800ms after last change
40204
40477
  distinctUntilChanged((a, b) => JSON.stringify(a.map(x => ({ id: x.id, orderNum: x.orderNum }))) ===
40205
- JSON.stringify(b.map(x => ({ id: x.id, orderNum: x.orderNum })))), switchMap(newOrder => this.coreWorkflowService.updateGroupOrder(newOrder)), catchError(err => {
40478
+ JSON.stringify(b.map(x => ({ id: x.id, orderNum: x.orderNum })))), switchMap(newOrder => {
40479
+ if (this.controller)
40480
+ this.controller.abort();
40481
+ return this.coreWorkflowService.updateGroupOrder(newOrder);
40482
+ }), catchError$1(err => {
40206
40483
  console.error('🚨 Backend update failed:', err);
40207
40484
  return of({ ok: false, status: 500, body: { statusCode: 500 } });
40485
+ }), finalize$1(() => {
40486
+ if (this.controller)
40487
+ this.controller = null;
40208
40488
  }))
40209
40489
  .subscribe(x => {
40210
40490
  if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
@@ -40352,7 +40632,7 @@ class CoreWorkflowGroupEditComponent extends BaseEditComponent {
40352
40632
  this.formInitStringValue = e;
40353
40633
  }
40354
40634
  onSubmitSuccess(e) {
40355
- this.coreWorkflowService.refresh(undefined, '');
40635
+ //this.coreWorkflowService.refresh(undefined, '');
40356
40636
  this.router.navigate([{ outlets: { workflowAux: null } }], { relativeTo: this.route.parent });
40357
40637
  }
40358
40638
  ngOnDestroy() {
@@ -42412,4 +42692,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
42412
42692
  */
42413
42693
 
42414
42694
  export { CoreButtonGroupVnsComponent as $, AppService as A, BaseComponent as B, ChatService as C, DialogService as D, EnumCoreTablePipeType as E, FullscreenModalLoaderComponent as F, CoreDatePickerComponent as G, CoreFormControlSeekerComponent as H, ImageErrorResolverDirective as I, CoreCurrencyInputComponent as J, EnumActorSourceType as K, CoreParamControlComponent as L, MultiLanguageService as M, CoreRadioGroupComponent as N, GptService as O, ApplicationHelpService as P, HotKeysDirective as Q, EnumCorePageEditMode as R, SocketService as S, TranslatePipe as T, CoreFormComponent as U, NavigatorService as V, JsonService as W, AppConfigService as X, EnumCoreButtonVNSCode as Y, READONLY_WORKFLOW_FIELDS as Z, noneAutoClosedAlertOptions as _, CorePageListComponent as a, CommonHttpRequestService as a$, CoreStickerCollectionComponent as a0, HtmlTooltipDirective as a1, CoreControlNoFormArrayComponent as a2, EnumFormDesignMode as a3, CoreControlComponent as a4, JsonSafePipe as a5, CoreAttachmentComponent as a6, CoreMonthSelectorComponent as a7, EnumImageResolverType as a8, NormalizeHumanNamePipe as a9, EnumStyleButtonClass as aA, CanActivateFunctionUrlMapperGuard as aB, InitializationCanActivateFn as aC, InitializationCanMatchFn as aD, httpInterceptorProviders as aE, InterceptorSkipHeader as aF, appTypeInterceptor as aG, baseUrlInterceptor as aH, authInterceptor as aI, graphInterceptor as aJ, tokenInterceptor as aK, responseInterceptor as aL, timeZoneInterceptor as aM, cachingInterceptor as aN, langInterceptor as aO, EnumFilterOperator as aP, OnlineUsersComponent as aQ, ActionService as aR, AppInitializationService as aS, AuthService as aT, CacheService as aU, EnumSwUpdateVersionUpdatesEventType as aV, CheckForUpdateService as aW, EnumDeviceType as aX, EnumBrowserType as aY, EnumOsType as aZ, ClientService as a_, CoreIosSwitcherComponent as aa, SunnyRotatingComponent as ab, MapAppdemoToServerPipePipe as ac, MapAttachmentToServerPipe as ad, MapNewsfeedMediaToServerPipe as ae, StringHtmlPipe as af, UploadedFilenameCutoffPipe as ag, DialogStateComponent as ah, FooterComponent as ai, RightchatComponent as aj, WaittingScreenComponent as ak, longAlertOptions as al, attachmentOptions as am, CORE_VNS_BUTTONS as an, defaultPaging as ao, DESKTOP_SCREEN_HEDER_HEIGHT as ap, MOBILE_SCREEN_HEDER_HEIGHT as aq, themeBlue as ar, DATE_VALUE_ACCESSOR as as, DateValueAccessor as at, EnumDragType as au, EnumErrorType as av, EnumIconClass as aw, EnumProfileInfoSector as ax, EnumSignalRType as ay, EnumSortDirection as az, CoreCheckboxComponent as b, MutationViewComponent as b$, TLA_CONFIG as b0, ConfigService as b1, CoreTableService as b2, DndService as b3, DocxMergeService as b4, FilterKitService as b5, GrpcService as b6, HeaderService as b7, HistoryService as b8, HttpErrorHandler as b9, TopicPermissionService as bA, TopicTreeService as bB, UploadedFileService as bC, UrlService as bD, UserActivityService as bE, EvaluateDialogService as bF, EnumWorkScheduleViewMode as bG, WorkShiftDndService as bH, AtShiftPatternComponent as bI, AtShiftPatternApplyComponent as bJ, AtShiftPatternEditComponent as bK, AtWorksignComponent as bL, AtWorksignService as bM, FunctionComponent as bN, IndividualScheduleApplyComponent as bO, FunctionEditComponent as bP, FunctionIgnoreComponent as bQ, FunctionIgnoreEditComponent as bR, GroupFunctionComponent as bS, GroupFunctionEditComponent as bT, hrmSchemaRoutes as bU, InMemoryComponent as bV, LanguageComponent as bW, LanguageEditComponent as bX, MenuComponent as bY, MenuEditComponent as bZ, MutationLogComponent as b_, HubConnectionService as ba, IpServiceService as bb, LayoutService as bc, LiquidJsService as bd, MapService as be, MenuService as bf, MessageService as bg, ModalService as bh, OrganizationService as bi, PkceService as bj, PositionTransferService as bk, EnumNotificationDir as bl, NotificationActionType as bm, PushNotificationService as bn, RandomAvatarService as bo, RequestCache as bp, RequestCacheWithMap as bq, ResponseService as br, RoutingService as bs, EnumSsrsExpressFileExtension as bt, EnumSsrsExpressExportFormat as bu, SsrsExpressService as bv, StatisticService as bw, StatisticAuthService as bx, SysMenuService as by, TimeSheetService as bz, BaseEditComponent as c, EnumCoreFileUploaderType as c$, PaSalaryPolicyComponent as c0, PaSalaryPolicyEditComponent as c1, PortalRouteComponent as c2, ScheduleOverviewComponent as c3, simpleChatRoutes as c4, PortalRouteEditComponent as c5, SysOtherListComponent as c6, SysOtherListEditComponent as c7, SysOtherListTypeComponent as c8, SysOtherListTypeEditComponent as c9, NewlyCreatedTokenService as cA, CoreApiProgressComponent as cB, CoreButtonGroupComponent as cC, EnumCoreButtonCode as cD, ActionSvgEditComponent as cE, CoreButtonGroupService as cF, CoreButtonVnsComponent as cG, CoreCommonParamKitComponent as cH, CoreCompareDbPipelineComponent as cI, CoreCompositionState as cJ, CoreCompositionService as cK, CoreCompositionComponent as cL, CoreConfirmDialogComponent as cM, ConfirmDialogStateComponent as cN, CoreLazyMountComponent as cO, CoreRootMenuItemPickerComponent as cP, CoreRootMenuItemPickerService as cQ, ECoreTableToolCode as cR, ECoreTableToolClass as cS, CoreTableComponent as cT, CoreContractSeekerComponent as cU, CoreControlNoGridBufferComponent as cV, CoreControlNoSeekerComponent as cW, coreDocGenRoutes as cX, CoreDocgenToolbarComponent as cY, CoreEmployeeScheduleComponent as cZ, CoreEmployeeSeekerComponent as c_, SysActionComponent as ca, SysActionEditComponent as cb, SysFunctionActionComponent as cc, SysFunctionActionEditComponent as cd, SysFunctionActionMapperComponent as ce, SysFunctionUrlMapperComponent as cf, FunctionEditService as cg, SysModuleComponent as ch, SysModuleEditComponent as ci, SysRouteAccessComponent as cj, liner_to_nested_array_script as ck, blob_to_base64_script as cl, AlertComponent as cm, EnumAlertType as cn, IAlertOptions as co, AnimatedTextService as cp, AnimatedTextComponent as cq, BaseDropdownComponent as cr, ButtonGroupModule as cs, ButtonGroupService as ct, ButtonGroupComponent as cu, EnumButtonCaptionCode as cv, CoreButtonComponent as cw, CoreAccordionComponent as cx, CoreAccordionService as cy, CoreActiveUserCountComponent as cz, EnumFormBaseContolType as d, CorePositionConcurrentSeekerComponent as d$, CoreFileUploaderComponent as d0, CoreFilterHubComponent as d1, CoreFilterHubService as d2, ControlBase as d3, Textbox as d4, CoreControlService as d5, CustomValidators as d6, URL_PATTERN as d7, coreFormDesignRoutes as d8, CoreFormTabComponent as d9, EnumCoreOrgTreeaAccessorMode as dA, EnumCoreOrgTreeaSearchMode as dB, CoreOrgTreeComponent as dC, CoreOrgTreeState as dD, CoreOrgTreeService as dE, CoreOrgUnitSeekerComponent as dF, CoreOrgchartflexComponent as dG, CoreOrgParamComponent as dH, EnumCorePageEditBootstrapClass as dI, EnumCorePageEditFieldType as dJ, CorePageEditService as dK, CorePageEditLiteComponent as dL, CorePageEditTabComponent as dM, EnumExType as dN, CorePageListService as dO, CorePageListState as dP, CorePageListContentComponent as dQ, EnumCoreViewItemType as dR, CorePageViewComponent as dS, CorePaginationComponent as dT, CorePaginationFullComponent as dU, CorePaginationFullService as dV, CoreFileFormatPickerComponent as dW, CorePermissionService as dX, EnumPermissionObjectType as dY, CorePermissionComponent as dZ, CorePermissionActionsComponent as d_, CoreFormLiteComponent as da, CoreFormControlBaseComponent as db, EnumCoreSeekerColumnJob as dc, EnumCoreSeekerColumnStaffProfile as dd, EnumCoreSeekerColumnContract as de, EnumCoreSeekerColumnWorking as df, EnumCoreSeekerColumnWage as dg, EnumCoreSeekerColumnPosition as dh, EnumCoreSeekerColumnPositionConcurrent as di, EnumCoreSeekerColumnAutoForm as dj, SeekerService as dk, CoreGridBufferComponent as dl, CoreHeaderParamsComponent as dm, CoreHelperComponent as dn, CoreLineComponent as dp, CoreLiquidWysiwygComponent as dq, CoreListComponent as dr, CoreListLazyComponent as ds, CoreLoadingSurfaceComponent as dt, CoreMccComponent as du, CoreMonthPickerComponent as dv, CoreNavigationTrackerComponent as dw, coreNavigationTrackerRoutes as dx, CoreOauthCallbackComponent as dy, CoreOauthCallbackOffice365Component as dz, CorePageEditComponent as e, UnicodeService as e$, CorePositionSeekerComponent as e0, CoreQrcodeComponent as e1, EnumOparator as e2, CoreQueryBuilderComponent as e3, CoreReducerIconComponent as e4, CoreRotatingTextComponent as e5, CoreRouteAccumulatorComponent as e6, CoreRoutingHistoryComponent as e7, CoreSalaryPolicyPickerComponent as e8, CoreScrollComponent as e9, CorePieComponent as eA, CoreScatterPlotComponent as eB, EnumHrComparisonCode as eC, EnumICoreStatisticWidgetDataType as eD, CoreStatisticWidgetComponent as eE, DecisionComponent as eF, EvaluateDialogComponent as eG, HuconcurrentlyComponent as eH, JobComponent as eI, LanguageChangerComponent as eJ, DEFAULT_SVG as eK, ItemComponent as eL, NavigatorComponent as eM, OtpInputComponent as eN, OtpInputService as eO, PageTitleComponent as eP, PaginationComponent as eQ, FilterPipe as eR, normalizeHumanName as eS, PositionComponent as eT, PositionEditService as eU, CoreDatetimeService as eV, FileService as eW, LongTaskService as eX, EnumRecursiveFields as eY, RecursiveService as eZ, StringService as e_, CoreScrollLazyComponent as ea, CoreSeenByComponent as eb, CoreShiftCardComponent as ec, CoreShiftCellComponent as ed, CoreShiftCollectionComponent as ee, CoreShiftStickerComponent as ef, STICKER_COLOR_SCHEMA as eg, CoreStatusStickerComponent as eh, CoreSubFormGroupComponent as ei, CoreTabListComponent as ej, CoreTagsComponent as ek, CoreTopicPickerComponent as el, EnumCoreArticleCategoryTreeaAccessorMode as em, CoreTopicTreeComponent as en, CoreTreeComponent as eo, EnumCoreTreeGridEditMode as ep, CoreTreeGridComponent as eq, CoreWageSeekerComponent as er, CoreWorkingSeekerComponent as es, coreWorkflowRoutes as et, CoreWorkflowBuilderComponent as eu, CoreWorkflowGroupEditComponent as ev, CoreYearPickerComponent as ew, CoreYearSelectorComponent as ex, EnumCoreD3ScaleType as ey, CoreD3Service as ez, CorePageHeaderComponent as f, StaffProfileComponent as f0, ThreedotsComponent as f1, TooltipComponent as f2, UserActivityComponent as f3, WageComponent as f4, tooltip_directive as f5, coreStickerCollection_component as f6, dragReorder_directive as f7, CoreTabsComponent as g, CoreWorkflowService as h, EnumCoreFormControlSeekerSourceType as i, AlertService as j, CoreFormService as k, DbService as l, AiHintForColumnComponent as m, CoreWorkflowListComponent as n, TooltipDirective as o, DragReorderDirective as p, CanDeactivateGuard as q, TableCellPipe as r, MapAvatarToServerPipe as s, alertOptions as t, CoreTerminalSpinnerComponent as u, CoreFormDesignService as v, EnumWorkflowStepType as w, DomService as x, CoreDropdownComponent as y, CoreChecklistComponent as z };
42415
- //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-DLhfwWOV.mjs.map
42695
+ //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-DsL5Ex6R.mjs.map