ngx-histaff-alpha 6.4.7 → 6.4.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 (66) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-DdDwSM6u.mjs → ngx-histaff-alpha-ai-hint-for-table.component-CKKqdgg7.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-DdDwSM6u.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-CKKqdgg7.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-CyFCxOF0.mjs → ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs} +458 -254
  4. package/fesm2022/ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs.map +1 -0
  5. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs → ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs.map → ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs → ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs.map → ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-D7kdGgFZ.mjs → ngx-histaff-alpha-core-toast-loading.component-C3JfOCoY.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-D7kdGgFZ.mjs.map → ngx-histaff-alpha-core-toast-loading.component-C3JfOCoY.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs → ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-db-settings.component-BliMPr0A.mjs → ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-db-settings.component-BliMPr0A.mjs.map → ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-Ky5KiJ0p.mjs → ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs} +49 -7
  16. package/fesm2022/ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs.map +1 -0
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-NqkSYCoA.mjs → ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-NqkSYCoA.mjs.map → ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-B1G4bcjr.mjs → ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-B1G4bcjr.mjs.map → ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-BEq38Xps.mjs → ngx-histaff-alpha-live-form.component-LdFysTvc.mjs} +91 -139
  22. package/fesm2022/ngx-histaff-alpha-live-form.component-LdFysTvc.mjs.map +1 -0
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs → ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs} +295 -309
  24. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs.map +1 -0
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-BajN-snY.mjs → ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-BajN-snY.mjs.map → ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-template-list.component-BtsN7KE4.mjs → ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs} +2 -2
  28. package/fesm2022/{ngx-histaff-alpha-template-list.component-BtsN7KE4.mjs.map → ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-B-goIeUx.mjs → ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs} +2 -2
  30. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-B-goIeUx.mjs.map → ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-Btmiiris.mjs → ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-Btmiiris.mjs.map → ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-C-xap0Tf.mjs → ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs} +18 -2
  34. package/fesm2022/ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs.map +1 -0
  35. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DnUwQI1R.mjs → ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DnUwQI1R.mjs.map → ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-Dng7IbhV.mjs → ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs} +6 -7
  38. package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs.map +1 -0
  39. package/fesm2022/ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs +130 -0
  40. package/fesm2022/ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs.map +1 -0
  41. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  42. package/lib/app/libraries/core-form/core-form/enum-interfaces.d.ts +6 -0
  43. package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -1
  44. package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +1 -1
  45. package/lib/app/libraries/core-form-design/field-setting/field-setting-props.registry.d.ts +2 -0
  46. package/lib/app/libraries/core-form-design/field-setting/field-setting.component.d.ts +8 -2
  47. package/lib/app/libraries/core-form-design/field-setting/type-specific/seeker-props/seeker-props.component.d.ts +31 -7
  48. package/lib/app/libraries/core-form-design/field-setting/type-specific/seeker-props/seeker-props.service.d.ts +16 -0
  49. package/lib/app/libraries/core-form-design/live-form/live-form.component.d.ts +3 -1
  50. package/lib/app/libraries/core-form-design/props-host/props-host.component.d.ts +6 -8
  51. package/lib/app/libraries/core-orgchartflex/core-orgchartflex/core-orgchartflex.component.d.ts +13 -8
  52. package/lib/app/libraries/core-workflow-builder/core-workflow.service.d.ts +1 -1
  53. package/lib/app/libraries/core-workflow-builder/interfaces/IStepConfig.d.ts +10 -1
  54. package/lib/app/libraries/core-workflow-builder/wf-lab/wf-lab.component.d.ts +35 -0
  55. package/lib/app/libraries/core-workflow-builder/wf-process-design/wf-step-config-shell/wf-formui-config/wf-formui-config.component.d.ts +21 -0
  56. package/package.json +2 -2
  57. package/fesm2022/ngx-histaff-alpha-core-form-design.component-CyFCxOF0.mjs.map +0 -1
  58. package/fesm2022/ngx-histaff-alpha-design-wrapper.component-Ky5KiJ0p.mjs.map +0 -1
  59. package/fesm2022/ngx-histaff-alpha-email-props.component-Cf35Pexq.mjs +0 -14
  60. package/fesm2022/ngx-histaff-alpha-email-props.component-Cf35Pexq.mjs.map +0 -1
  61. package/fesm2022/ngx-histaff-alpha-form-array-props.component-jsc0BYaH.mjs +0 -26
  62. package/fesm2022/ngx-histaff-alpha-form-array-props.component-jsc0BYaH.mjs.map +0 -1
  63. package/fesm2022/ngx-histaff-alpha-live-form.component-BEq38Xps.mjs.map +0 -1
  64. package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs.map +0 -1
  65. package/fesm2022/ngx-histaff-alpha-wf-global-config.component-C-xap0Tf.mjs.map +0 -1
  66. package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-Dng7IbhV.mjs.map +0 -1
@@ -6758,14 +6758,19 @@ class CoreFormDesignService {
6758
6758
  const fullPath = path ? `${path}.${key}` : key;
6759
6759
  const aVal = a[key];
6760
6760
  const bVal = b[key];
6761
- if (JSON.stringify(aVal) !== JSON.stringify(bVal)) {
6762
- if (typeof aVal === 'object' && typeof bVal === 'object') {
6763
- result.push(...getChangedKeys(aVal, bVal, fullPath));
6764
- }
6765
- else {
6766
- result.push(fullPath);
6761
+ try {
6762
+ if (JSON.stringify(aVal) !== JSON.stringify(bVal)) {
6763
+ if (typeof aVal === 'object' && typeof bVal === 'object') {
6764
+ result.push(...getChangedKeys(aVal, bVal, fullPath));
6765
+ }
6766
+ else {
6767
+ result.push(fullPath);
6768
+ }
6767
6769
  }
6768
6770
  }
6771
+ catch (err) {
6772
+ console.warn(err);
6773
+ }
6769
6774
  }
6770
6775
  return result;
6771
6776
  }
@@ -6989,6 +6994,7 @@ class CoreFormDesignService {
6989
6994
  'DROPDOWN:any': 'dropdown-props',
6990
6995
  'CHECKLIST': 'checklist-props',
6991
6996
  'SEEKER': 'seeker-props',
6997
+ 'SEEKER:any[]': 'seeker-props',
6992
6998
  'FORM_ARRAY:children': 'form-array-props'
6993
6999
  };
6994
7000
  this.$currentPropsComponent = computed(() => {
@@ -7567,47 +7573,252 @@ class CoreFormDesignService {
7567
7573
  isType(type) {
7568
7574
  return this.$draggingControl()?.controlType === type;
7569
7575
  }
7576
+ /*
7577
+ normalize(control: Partial<IFormBaseControl>): IFormBaseControl {
7578
+ this.normalizeCalledCount$.next(this.normalizeCalledCount$.value + 1);
7579
+ const type = control.controlType || EnumFormBaseContolType.TEXTBOX;
7580
+ const fallback = this.defaultByControlType[type] ?? {};
7581
+
7582
+ const base: IFormBaseControl = {
7583
+ ...fallback,
7584
+ ...control,
7585
+ field: control.field ?? this.generateUniqueField(),
7586
+ controlType: type,
7587
+ type: control.type ?? 'any',
7588
+ flexSize: control.flexSize ?? 12,
7589
+ label: control.label ?? 'Untitled Field',
7590
+ value: control.value,
7591
+ multiMode: control.multiMode,
7592
+ readonly: control.readonly,
7593
+ disabled: control.disabled,
7594
+ showPlaceholder: control.showPlaceholder,
7595
+ placeholder: control.placeholder,
7596
+ headless: control.headless,
7597
+ assignTo: control.assignTo,
7598
+ formArraySections: control.controlType === EnumFormBaseContolType.FORM_ARRAY
7599
+ ? this.js.safeTransform(control.formArraySections ?? []).obj as ICoreFormSection[]
7600
+ : [],
7601
+ };
7602
+
7603
+ // 🔒 Enrich validators: ensure all are full IValidator with ValidatorFn
7604
+ const userValidatorsRaw = control.validators ?? [];
7605
+
7606
+ const userValidators: IValidator[] = userValidatorsRaw.map(v => {
7607
+ return typeof v.validator === 'function'
7608
+ ? v
7609
+ : this.buildValidatorFromName(v.name as EnumSupportedRuntimeValidator, v.value, v.readOnly);
7610
+ });
7611
+
7612
+ const defaultValidators = this.getDefaultValidatorsFor(base);
7613
+
7614
+ // 🔄 Merge (user overrides system by name)
7615
+ const mergedValidators = [
7616
+ ...userValidators,
7617
+ ...defaultValidators.filter(dv => !userValidators.some(uv => uv.name === dv.name))
7618
+ ];
7619
+
7620
+
7621
+ base.validators = mergedValidators;
7622
+
7623
+ if (this.selfMappingTypes.includes(type)) {
7624
+ base.optionApiDriven = true;
7625
+ }
7626
+
7627
+ return base;
7628
+ }
7629
+ */
7630
+ /*
7631
+ normalize(control: Partial<IFormBaseControl>): IFormBaseControl {
7632
+ this.normalizeCalledCount$.next(this.normalizeCalledCount$.value + 1);
7633
+
7634
+ // 🔥 Xác định controlType chuẩn
7635
+ const type = control.controlType || EnumFormBaseContolType.TEXTBOX;
7636
+
7637
+ // 🔥 fallback theo đúng loại control
7638
+ const fallback = this.defaultByControlType[type] ?? {};
7639
+
7640
+ // -------------------------------------------------------------
7641
+ // 1) Build base object (KHÔNG XOÁ SEEKER PROPS)
7642
+ // -------------------------------------------------------------
7643
+ const base: IFormBaseControl = {
7644
+ ...fallback, // default cấu hình theo controlType
7645
+ ...control, // override từ user
7646
+
7647
+ field: control.field ?? this.generateUniqueField(),
7648
+ controlType: type,
7649
+
7650
+ // KHÔNG ép type = 'any' như bản cũ
7651
+ type: control.type ?? fallback.type ?? 'any',
7652
+
7653
+ flexSize: control.flexSize ?? 12,
7654
+ label: control.label ?? 'Untitled Field',
7655
+ value: control.value,
7656
+
7657
+ multiMode: control.multiMode,
7658
+ readonly: control.readonly,
7659
+ disabled: control.disabled,
7660
+
7661
+ showPlaceholder: control.showPlaceholder,
7662
+ placeholder: control.placeholder,
7663
+ headless: control.headless,
7664
+ assignTo: control.assignTo,
7665
+
7666
+
7667
+
7668
+
7669
+ formArraySections:
7670
+ control.controlType === EnumFormBaseContolType.FORM_ARRAY
7671
+ ? this.js.safeTransform(control.formArraySections ?? []).obj as ICoreFormSection[]
7672
+ : [],
7673
+ };
7674
+
7675
+ // -------------------------------------------------------------
7676
+ // 2) Validators: Merge default + user validators
7677
+ // -------------------------------------------------------------
7678
+ const userValidatorsRaw = control.validators ?? [];
7679
+
7680
+ const userValidators: IValidator[] = userValidatorsRaw.map(v => {
7681
+ return typeof v.validator === 'function'
7682
+ ? v
7683
+ : this.buildValidatorFromName(
7684
+ v.name as EnumSupportedRuntimeValidator,
7685
+ v.value,
7686
+ v.readOnly
7687
+ );
7688
+ });
7689
+
7690
+ const defaultValidators = this.getDefaultValidatorsFor(base);
7691
+
7692
+ // user override bằng name
7693
+ const mergedValidators = [
7694
+ ...userValidators,
7695
+ ...defaultValidators.filter(
7696
+ dv => !userValidators.some(uv => uv.name === dv.name)
7697
+ )
7698
+ ];
7699
+
7700
+ base.validators = mergedValidators;
7701
+
7702
+ // -------------------------------------------------------------
7703
+ // 3) Self mapping types → set flag
7704
+ // -------------------------------------------------------------
7705
+ if (this.selfMappingTypes.includes(type)) {
7706
+ base.optionApiDriven = true;
7707
+ }
7708
+
7709
+ return base;
7710
+ }
7711
+ */
7570
7712
  normalize(control) {
7571
- this.normalizeCalledCount$.next(this.normalizeCalledCount$.value + 1);
7572
- const type = control.controlType || EnumFormBaseContolType.TEXTBOX;
7713
+ const type = control.controlType ?? EnumFormBaseContolType.TEXTBOX;
7573
7714
  const fallback = this.defaultByControlType[type] ?? {};
7574
- const base = {
7575
- ...fallback,
7576
- ...control,
7715
+ // -------------------------------------------------------------------
7716
+ // A. MANDATORY BLOCK (luôn có)
7717
+ // -------------------------------------------------------------------
7718
+ const baseMandatory = {
7577
7719
  field: control.field ?? this.generateUniqueField(),
7578
7720
  controlType: type,
7579
- type: control.type ?? 'any',
7721
+ type: control.type ?? fallback.type ?? 'any',
7580
7722
  flexSize: control.flexSize ?? 12,
7581
7723
  label: control.label ?? 'Untitled Field',
7582
7724
  value: control.value,
7583
- multiMode: control.multiMode,
7725
+ };
7726
+ // -------------------------------------------------------------------
7727
+ // B. OPTIONAL SHARED BLOCK (áp dụng cho mọi control)
7728
+ // -------------------------------------------------------------------
7729
+ const baseOptional = {
7584
7730
  readonly: control.readonly,
7731
+ hidden: control.hidden,
7585
7732
  disabled: control.disabled,
7586
- showPlaceholder: control.showPlaceholder,
7733
+ height: control.height,
7734
+ popupHeight: control.popupHeight,
7587
7735
  placeholder: control.placeholder,
7588
7736
  headless: control.headless,
7589
- assignTo: control.assignTo,
7590
- formArraySections: control.controlType === EnumFormBaseContolType.FORM_ARRAY
7591
- ? this.js.safeTransform(control.formArraySections ?? []).obj
7592
- : [],
7737
+ tooltip: control.tooltip,
7738
+ htmlTooltip: control.htmlTooltip,
7739
+ hint: control.hint,
7740
+ colSpan: control.colSpan,
7741
+ rowSpan: control.rowSpan,
7742
+ pipe: control.pipe,
7743
+ };
7744
+ // -------------------------------------------------------------------
7745
+ // C. CONTROL-SPECIFIC BLOCK
7746
+ // -------------------------------------------------------------------
7747
+ let baseSpecific = {};
7748
+ switch (type) {
7749
+ case EnumFormBaseContolType.FORM_ARRAY:
7750
+ baseSpecific = {
7751
+ isFormArray: true,
7752
+ formArraySections: this.js.safeTransform(control.formArraySections ?? []).obj
7753
+ };
7754
+ break;
7755
+ case EnumFormBaseContolType.SEEKER:
7756
+ baseSpecific = {
7757
+ multiMode: control.multiMode ?? false,
7758
+ seekerSourceType: control.seekerSourceType,
7759
+ useTheseColumns: control.useTheseColumns ?? [],
7760
+ excludedColumns: control.excludedColumns ?? [],
7761
+ hideOrgTree: control.hideOrgTree ?? false,
7762
+ sourceSpaceHeight: control.sourceSpaceHeight,
7763
+ boundFrom: control.boundFrom ?? 'id',
7764
+ shownFrom: control.shownFrom ?? 'fullname',
7765
+ alsoBindTo: control.alsoBindTo ?? [],
7766
+ seekerVerifyIgnore: control.seekerVerifyIgnore ?? false,
7767
+ // METADATA CORRECT
7768
+ ___preDefinedOuterFilter: control.___preDefinedOuterFilter ?? [],
7769
+ ___preDefinedOuterParam: control.___preDefinedOuterParam ?? {},
7770
+ };
7771
+ break;
7772
+ case EnumFormBaseContolType.DROPDOWN:
7773
+ baseSpecific = {
7774
+ optionApiDriven: control.optionApiDriven ?? false,
7775
+ optionApi: control.optionApi,
7776
+ optionValueFrom: control.optionValueFrom,
7777
+ optionTextFrom: control.optionTextFrom,
7778
+ options: control.options ?? [],
7779
+ };
7780
+ break;
7781
+ case EnumFormBaseContolType.CHECKLIST:
7782
+ baseSpecific = {
7783
+ checklistOptions: control.___checklistOptions ?? [],
7784
+ };
7785
+ break;
7786
+ case EnumFormBaseContolType.RADIOGROUP:
7787
+ baseSpecific = {
7788
+ radioGroupOptions: control.___radioGroupOptions ?? []
7789
+ };
7790
+ break;
7791
+ case EnumFormBaseContolType.DATEPICKER:
7792
+ baseSpecific = {
7793
+ rangeLimit: control.rangeLimit,
7794
+ popupAlign: control.popupAlign,
7795
+ showPlaceholder: control.showPlaceholder,
7796
+ };
7797
+ break;
7798
+ // … thêm MCC, GRIDBUFFER, etc nếu cần
7799
+ }
7800
+ // -------------------------------------------------------------------
7801
+ // D. RUNTIME BLOCK — KHÔNG BAO GIỜ SAVE VÀO METADATA
7802
+ // -------------------------------------------------------------------
7803
+ const baseRuntime = {
7804
+ selectedData$: control.selectedData$,
7805
+ fullValueRow$: control.fullValueRow$,
7806
+ focus$: control.focus$,
7807
+ blur$: control.blur$,
7808
+ click$: control.click$,
7809
+ preDefinedOuterFilter$: control.preDefinedOuterFilter$,
7810
+ preDefinedOuterParam$: control.preDefinedOuterParam$,
7811
+ };
7812
+ // -------------------------------------------------------------------
7813
+ // FINAL MERGE
7814
+ // -------------------------------------------------------------------
7815
+ const base = {
7816
+ ...fallback,
7817
+ ...baseMandatory,
7818
+ ...baseOptional,
7819
+ ...baseSpecific,
7820
+ ...baseRuntime,
7593
7821
  };
7594
- // 🔒 Enrich validators: ensure all are full IValidator with ValidatorFn
7595
- const userValidatorsRaw = control.validators ?? [];
7596
- const userValidators = userValidatorsRaw.map(v => {
7597
- return typeof v.validator === 'function'
7598
- ? v
7599
- : this.buildValidatorFromName(v.name, v.value, v.readOnly);
7600
- });
7601
- const defaultValidators = this.getDefaultValidatorsFor(base);
7602
- // 🔄 Merge (user overrides system by name)
7603
- const mergedValidators = [
7604
- ...userValidators,
7605
- ...defaultValidators.filter(dv => !userValidators.some(uv => uv.name === dv.name))
7606
- ];
7607
- base.validators = mergedValidators;
7608
- if (this.selfMappingTypes.includes(type)) {
7609
- base.optionApiDriven = true;
7610
- }
7611
7822
  return base;
7612
7823
  }
7613
7824
  getDefaults(controlType) {
@@ -7625,6 +7836,8 @@ class CoreFormDesignService {
7625
7836
  if (!control?.controlType)
7626
7837
  return '';
7627
7838
  const key = control.controlType + (control.type ? `:${control.type}` : '');
7839
+ console.log("getTypeSpecificPropsComponent", key);
7840
+ console.log("getTypeSpecificPropsComponent", this.propsComponentMap[key] ?? "N/A");
7628
7841
  return this.propsComponentMap[key] || '';
7629
7842
  }
7630
7843
  generateFieldNameFor(control) {
@@ -9127,8 +9340,8 @@ class CoreWorkflowService {
9127
9340
  initialSubmit(request) {
9128
9341
  return this.appService.post('/api/WfWorkflow/InitialSubmit', request);
9129
9342
  }
9130
- react(unitedCorrelationIds, reactType, reason) {
9131
- return this.appService.post('/api/WorkflowEngine/React?usehub=true', { unitedCorrelationIds, reactType, reason });
9343
+ react(unitedCorrelationIds, reactType, reason, updatedAttributes) {
9344
+ return this.appService.post('/api/WorkflowEngine/React?usehub=true', { unitedCorrelationIds, reactType, reason, updatedAttributes });
9132
9345
  }
9133
9346
  inject(unitedCorrelationIds, injectType, reason, injectorEmployeeId = undefined) {
9134
9347
  return this.appService.post('/api/WorkflowEngine/Inject?usehub=true', { unitedCorrelationIds, injectType, reason, injectorEmployeeId });
@@ -12912,7 +13125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
12912
13125
 
12913
13126
  class CoreOrgTreeService {
12914
13127
  constructor() {
12915
- this.showSearch$ = new BehaviorSubject(false);
13128
+ this.showSearch$ = new BehaviorSubject(true);
12916
13129
  this.arrowFontSize$ = new BehaviorSubject(18);
12917
13130
  this.titleWrapperMaxWidth$ = new BehaviorSubject(250);
12918
13131
  }
@@ -12999,7 +13212,7 @@ class CoreOrgTreeComponent extends CoreFormControlBaseComponent {
12999
13212
  this.stateIsolated$ = new BehaviorSubject(false);
13000
13213
  this.itemDoubleClick = new EventEmitter();
13001
13214
  this.itemClick = new EventEmitter();
13002
- this.showSearch = false;
13215
+ this.showSearch = true;
13003
13216
  this.hiddenToolClickStream$ = new BehaviorSubject('');
13004
13217
  this.activeIds = [];
13005
13218
  this.checkedIds = [];
@@ -20846,6 +21059,7 @@ class CoreDropdownComponent extends CoreFormControlBaseComponent {
20846
21059
  this.options$ = new BehaviorSubject([]);
20847
21060
  this.placeholder = '';
20848
21061
  this.fitHeightWithItemCount = true;
21062
+ this.value = null;
20849
21063
  //searchHeight: number = 38;
20850
21064
  this.searchHeight = 0;
20851
21065
  this.subscriptions = [];
@@ -20875,7 +21089,7 @@ class CoreDropdownComponent extends CoreFormControlBaseComponent {
20875
21089
  this.options$ = new BehaviorSubject([]);
20876
21090
  if (x.ok && x.status === 200 && x.body?.statusCode === 200) {
20877
21091
  const body = x.body;
20878
- const options = body.innerBody.map(item => ({
21092
+ const options = body.innerBody.map((item) => ({
20879
21093
  value: item[this.optionValueFrom],
20880
21094
  text: item[this.optionTextFrom]
20881
21095
  }));
@@ -20970,17 +21184,6 @@ class CoreDropdownComponent extends CoreFormControlBaseComponent {
20970
21184
  this.expandState = false;
20971
21185
  this.cdr.markForCheck();
20972
21186
  }
20973
- // override writeValue(obj: string | number | null): void {
20974
- // this.value = obj;
20975
- // const filter = this.options?.filter(m => m.value === obj)
20976
- // if (!!filter?.length) {
20977
- // this.text = filter[0].text
20978
- // this.enrichment.register(this.form, this.fieldName, this.text);
20979
- // } else {
20980
- // this.text = ""
20981
- // this.enrichment.register(this.form, this.fieldName, "");
20982
- // }
20983
- // }
20984
21187
  writeValue(obj) {
20985
21188
  this.value = obj;
20986
21189
  const match = this.options?.find(m => m.value === obj);
@@ -21089,7 +21292,7 @@ class CoreDropdownComponent extends CoreFormControlBaseComponent {
21089
21292
  {
21090
21293
  provide: NG_VALUE_ACCESSOR,
21091
21294
  multi: true,
21092
- useExisting: CoreDropdownComponent,
21295
+ useExisting: forwardRef(() => CoreDropdownComponent),
21093
21296
  },
21094
21297
  ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-threedots *ngIf=\"loading\"></app-threedots>\r\n<div #container class=\"core-dropdown-container\" *ngIf=\"!loading\">\r\n <input type=\"checkbox\" class=\"expand-state\" [(ngModel)]=\"expandState\" />\r\n\r\n <div class=\"input-wrapper\">\r\n <input class=\"value\" [value]=\"value\" />\r\n <input class=\"in-place-search form-control\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" (keydown)=\"onInPlaceSearchKeydown($event)\" />\r\n <div\r\n class=\"text form-control d-flex align-items-center\"\r\n [class.required-highlight]=\"!!required\"\r\n [class.form-control-disabled]=\"disabled\"\r\n (click)=\"toggleExpanded()\"\r\n style=\"cursor: pointer;\"\r\n >\r\n <input\r\n type=\"text\"\r\n [readonly]=\"true\"\r\n class=\"flex-grow-1 no-border transparent-bg placeholder-input\"\r\n [class.form-control-disabled]=\"disabled\"\r\n [value]=\"!!loading ? '...' : (text | translate : lang)\"\r\n [placeholder]=\"placeholder || ''\"\r\n [appTooltip]=\"text\"\r\n />\r\n\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </div>\r\n\r\n @if (!clearDisable) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate : lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"dropdown\" [class.form-control-disabled]=\"disabled\" *ngIf=\"!!expandState\" (keydown)=\"onDropdownKeydown($event)\">\r\n <input class=\"search d-none\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" />\r\n <core-scroll [localOptions]=\"localOptions\" [itemTemplate]=\"itemTemplateRef\" [itemCount]=\"localOptions.length\"\r\n [height]=\"(fitHeightWithItemCount && localOptions.length * itemHeight < 400) ? localOptions.length * itemHeight : 400 - searchHeight\" [childHeight]=\"itemHeight\"></core-scroll>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li class=\"item-li\" (click)=\"onListItemClick(context, $event)\" (keydown)=\"onListItemKeydown(context, $event)\" [ngStyle]=\"{ height: itemHeight + 'px' }\">\r\n <label [ngStyle]=\"{\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n }\" [appTooltip]=\"context.text\">{{ context.text | translate : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-dropdown-container{position:relative;display:block;--indicator-height: 0px;--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: #358ccb;--search-item-hover-color: white;--dropdown-bg: lightyellow;--arrow-color: #358ccb;--height: var(--size-form-control-height);--item-height: 50px;--max-z-index: 0;--search-height: 38px}.core-dropdown-container input.expand-state,.core-dropdown-container .value{display:none}.core-dropdown-container .in-place-search{display:none;position:absolute;top:0;left:0;z-index:1}.core-dropdown-container label.text{width:100%;height:var(--height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.core-dropdown-container label.text span{width:calc(100% - var(--height));overflow-x:hidden;text-overflow:ellipsis;color:inherit}.core-dropdown-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:24px;top:-4px;width:44px;height:44px;border-radius:.375rem;cursor:pointer}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:24px}.core-dropdown-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-dropdown-container .input-wrapper>div>input{border:none;padding-right:15px;width:100%;background:transparent}.core-dropdown-container .input-wrapper>div>.icon{display:block;position:absolute;top:9px;right:12px;color:#848484;background:#fff}.core-dropdown-container div.text div.icon{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:calc(var(--height) - 0px);height:calc(var(--height) - 0px);border:#ced4da solid 1px;cursor:pointer}.core-dropdown-container label.text div.icon i{width:14px;height:14px;font-size:14px;color:#848484}.core-dropdown-container .dropdown{display:block;position:absolute;width:100%;max-height:0px;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:.25s linear;z-index:calc(var(--max-z-index) + 1)}.core-dropdown-container .dropdown ul{padding-left:6px}.core-dropdown-container .dropdown ul>li{display:flex;align-items:center;cursor:pointer;padding:0px var(--size-scrollbar-width);transition:.25s linear}.core-dropdown-container .dropdown ul>li>label{width:100%}.core-dropdown-container .dropdown ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container .hover-effect{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container input.expand-state:checked~.dropdown{border:1px solid #ced4da;margin-top:3px;max-height:400px;transition:.25s linear}.core-dropdown-container input.expand-state:checked~.input-wrapper>.in-place-search{display:block}.core-dropdown-container input.search{margin:0;width:100%;border:0;border-bottom:1px solid var(--search-border-color);background-color:var(--search-bg-color);position:sticky;top:0;height:38px;padding:6px 12px;font-size:15px}.core-dropdown-container input.placeholder-input{height:30px}.core-dropdown-container input.search:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.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$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollComponent, selector: "core-scroll", inputs: ["localOptions", "itemTemplate", "itemCount", "height", "childHeight", "renderAhread"] }, { kind: "component", type: ThreedotsComponent, selector: "app-threedots" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
21095
21298
  }
@@ -21107,7 +21310,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
21107
21310
  {
21108
21311
  provide: NG_VALUE_ACCESSOR,
21109
21312
  multi: true,
21110
- useExisting: CoreDropdownComponent,
21313
+ useExisting: forwardRef(() => CoreDropdownComponent),
21111
21314
  },
21112
21315
  ], template: "<app-threedots *ngIf=\"loading\"></app-threedots>\r\n<div #container class=\"core-dropdown-container\" *ngIf=\"!loading\">\r\n <input type=\"checkbox\" class=\"expand-state\" [(ngModel)]=\"expandState\" />\r\n\r\n <div class=\"input-wrapper\">\r\n <input class=\"value\" [value]=\"value\" />\r\n <input class=\"in-place-search form-control\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" (keydown)=\"onInPlaceSearchKeydown($event)\" />\r\n <div\r\n class=\"text form-control d-flex align-items-center\"\r\n [class.required-highlight]=\"!!required\"\r\n [class.form-control-disabled]=\"disabled\"\r\n (click)=\"toggleExpanded()\"\r\n style=\"cursor: pointer;\"\r\n >\r\n <input\r\n type=\"text\"\r\n [readonly]=\"true\"\r\n class=\"flex-grow-1 no-border transparent-bg placeholder-input\"\r\n [class.form-control-disabled]=\"disabled\"\r\n [value]=\"!!loading ? '...' : (text | translate : lang)\"\r\n [placeholder]=\"placeholder || ''\"\r\n [appTooltip]=\"text\"\r\n />\r\n\r\n <div class=\"icon\">\r\n <i class=\"feather-chevron-down\"></i>\r\n </div>\r\n </div>\r\n\r\n @if (!clearDisable) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate : lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"dropdown\" [class.form-control-disabled]=\"disabled\" *ngIf=\"!!expandState\" (keydown)=\"onDropdownKeydown($event)\">\r\n <input class=\"search d-none\" type=\"text\" [placeholder]=\"placeholder | translate: lang\" [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\" [class.form-control-disabled]=\"disabled\"\r\n [disabled]=\"disabled\" />\r\n <core-scroll [localOptions]=\"localOptions\" [itemTemplate]=\"itemTemplateRef\" [itemCount]=\"localOptions.length\"\r\n [height]=\"(fitHeightWithItemCount && localOptions.length * itemHeight < 400) ? localOptions.length * itemHeight : 400 - searchHeight\" [childHeight]=\"itemHeight\"></core-scroll>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li class=\"item-li\" (click)=\"onListItemClick(context, $event)\" (keydown)=\"onListItemKeydown(context, $event)\" [ngStyle]=\"{ height: itemHeight + 'px' }\">\r\n <label [ngStyle]=\"{\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n }\" [appTooltip]=\"context.text\">{{ context.text | translate : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-dropdown-container{position:relative;display:block;--indicator-height: 0px;--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: #358ccb;--search-item-hover-color: white;--dropdown-bg: lightyellow;--arrow-color: #358ccb;--height: var(--size-form-control-height);--item-height: 50px;--max-z-index: 0;--search-height: 38px}.core-dropdown-container input.expand-state,.core-dropdown-container .value{display:none}.core-dropdown-container .in-place-search{display:none;position:absolute;top:0;left:0;z-index:1}.core-dropdown-container label.text{width:100%;height:var(--height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.core-dropdown-container label.text span{width:calc(100% - var(--height));overflow-x:hidden;text-overflow:ellipsis;color:inherit}.core-dropdown-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:24px;top:-4px;width:44px;height:44px;border-radius:.375rem;cursor:pointer}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.core-dropdown-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:24px}.core-dropdown-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-dropdown-container .input-wrapper>div>input{border:none;padding-right:15px;width:100%;background:transparent}.core-dropdown-container .input-wrapper>div>.icon{display:block;position:absolute;top:9px;right:12px;color:#848484;background:#fff}.core-dropdown-container div.text div.icon{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:calc(var(--height) - 0px);height:calc(var(--height) - 0px);border:#ced4da solid 1px;cursor:pointer}.core-dropdown-container label.text div.icon i{width:14px;height:14px;font-size:14px;color:#848484}.core-dropdown-container .dropdown{display:block;position:absolute;width:100%;max-height:0px;overflow:hidden;background-color:#fff;font-size:15px;box-shadow:0 1rem 3rem #0000002e;transition:.25s linear;z-index:calc(var(--max-z-index) + 1)}.core-dropdown-container .dropdown ul{padding-left:6px}.core-dropdown-container .dropdown ul>li{display:flex;align-items:center;cursor:pointer;padding:0px var(--size-scrollbar-width);transition:.25s linear}.core-dropdown-container .dropdown ul>li>label{width:100%}.core-dropdown-container .dropdown ul>li:hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container .hover-effect{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-dropdown-container input.expand-state:checked~.dropdown{border:1px solid #ced4da;margin-top:3px;max-height:400px;transition:.25s linear}.core-dropdown-container input.expand-state:checked~.input-wrapper>.in-place-search{display:block}.core-dropdown-container input.search{margin:0;width:100%;border:0;border-bottom:1px solid var(--search-border-color);background-color:var(--search-bg-color);position:sticky;top:0;height:38px;padding:6px 12px;font-size:15px}.core-dropdown-container input.placeholder-input{height:30px}.core-dropdown-container input.search:focus{outline:none}\n"] }]
21113
21316
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: DomService }, { type: AlertService }, { type: MultiLanguageService }, { type: i0.ChangeDetectorRef }, { type: AppService }], propDecorators: { getByIdObject$: [{
@@ -25750,7 +25953,7 @@ class CoreFormArrayComponent extends CoreFormControlBaseComponent {
25750
25953
  if (changes['formArray'] && this.formArray) {
25751
25954
  console.log('✅ formArray ready:', this.formArray);
25752
25955
  // Only add 1 blank row when creating new
25753
- const isAddNew = this.addNewMode$.value;
25956
+ const isAddNew = !!this.addNewMode$?.value;
25754
25957
  const hasExistingData = !!this.parentFormGroup
25755
25958
  .getRawValue()?.[this.formArrayName]?.length;
25756
25959
  if (isAddNew && !hasExistingData && this.formArray.length === 0) {
@@ -31680,7 +31883,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
31680
31883
  const hrmSchemaRoutes = [
31681
31884
  {
31682
31885
  path: '',
31683
- loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-B1G4bcjr.mjs').then(m => m.HrmSchemaComponent)
31886
+ loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs').then(m => m.HrmSchemaComponent)
31684
31887
  }
31685
31888
  ];
31686
31889
 
@@ -33853,7 +34056,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
33853
34056
  const simpleChatRoutes = [
33854
34057
  {
33855
34058
  path: '',
33856
- loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-BajN-snY.mjs').then(m => m.SimpleChatComponent)
34059
+ loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs').then(m => m.SimpleChatComponent)
33857
34060
  }
33858
34061
  ];
33859
34062
 
@@ -34161,7 +34364,7 @@ class SysOtherListEditComponent extends BaseEditComponent /*implements AfterView
34161
34364
  optionTextFrom: 'name',
34162
34365
  //dropdownOptions$: this.typeOptions$,
34163
34366
  getByIdObject$: new BehaviorSubject(undefined),
34164
- //getByIdApi: this.typeGetByIdApi,
34367
+ getByIdApi: this.typeGetByIdApi,
34165
34368
  shownFrom: 'name',
34166
34369
  type: 'text',
34167
34370
  validators: [
@@ -34519,7 +34722,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
34519
34722
  const coreSysActionRoutes = [
34520
34723
  {
34521
34724
  path: "",
34522
- loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-S0ZpRUXN.mjs').then(m => m.CoreSysActionComponent),
34725
+ loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs').then(m => m.CoreSysActionComponent),
34523
34726
  children: [
34524
34727
  {
34525
34728
  path: ":id",
@@ -38223,11 +38426,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
38223
38426
  const coreDocGenRoutes = [
38224
38427
  {
38225
38428
  path: 'template-list',
38226
- loadComponent: () => import('./ngx-histaff-alpha-template-list.component-BtsN7KE4.mjs').then(m => m.TemplateListComponent),
38429
+ loadComponent: () => import('./ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs').then(m => m.TemplateListComponent),
38227
38430
  },
38228
38431
  {
38229
38432
  path: ":id",
38230
- loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-DdLVaGmB.mjs').then(m => m.CoreTemplateEditorComponent),
38433
+ loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs').then(m => m.CoreTemplateEditorComponent),
38231
38434
  canDeactivate: [CanDeactivateGuard]
38232
38435
  },
38233
38436
  {
@@ -38256,7 +38459,7 @@ const coreFormDesignRoutes = [
38256
38459
  },
38257
38460
  {
38258
38461
  path: ':id',
38259
- loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-CyFCxOF0.mjs').then(function (n) { return n.c; }).then(m => m.CoreFormDesignComponent)
38462
+ loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs').then(m => m.CoreFormDesignComponent)
38260
38463
  }
38261
38464
  ];
38262
38465
 
@@ -39167,7 +39370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
39167
39370
  const coreNavigationTrackerRoutes = [
39168
39371
  {
39169
39372
  path: '',
39170
- loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-B-goIeUx.mjs').then(m => m.TrackerStudioComponent)
39373
+ loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs').then(m => m.TrackerStudioComponent)
39171
39374
  }
39172
39375
  ];
39173
39376
 
@@ -39220,6 +39423,9 @@ class CoreOrgTreeState {
39220
39423
  }
39221
39424
 
39222
39425
  class CoreOrgchartflexComponent {
39426
+ togglePanel() {
39427
+ this.$isCollapsed.update(v => !v);
39428
+ }
39223
39429
  startDragging(e, flag) {
39224
39430
  this.$mouseDown.set(true);
39225
39431
  this.$startX.set(e.pageX - this.$parent()?.nativeElement.offsetLeft);
@@ -39249,6 +39455,8 @@ class CoreOrgchartflexComponent {
39249
39455
  this.$showDissolved = input();
39250
39456
  this.$width = input();
39251
39457
  this.$height = input();
39458
+ this.$showOrgTree = input(true);
39459
+ this.$orgTreeWidth = input(320);
39252
39460
  this.$connectionColor = input();
39253
39461
  this.$connectionSize = input(); // in pixel
39254
39462
  this.$fromChildrenToTopLine = input(); // in pixel
@@ -39259,6 +39467,7 @@ class CoreOrgchartflexComponent {
39259
39467
  this.printFlag$ = new BehaviorSubject(false);
39260
39468
  this.printing$ = new BehaviorSubject(false);
39261
39469
  this.onPrintAreaRendered = new EventEmitter();
39470
+ this.$internalData = signal([]);
39262
39471
  this.$container = viewChild('container');
39263
39472
  this.$parent = viewChild('parent');
39264
39473
  this.$printArea = viewChild('printArea');
@@ -39269,7 +39478,9 @@ class CoreOrgchartflexComponent {
39269
39478
  this.$scrollTop = signal(undefined);
39270
39479
  this.$scale = signal(1);
39271
39480
  this.cdr = inject(ChangeDetectorRef);
39481
+ this.$isCollapsed = signal(false);
39272
39482
  this.destroyRef = inject(DestroyRef);
39483
+ effect(() => this.$internalData.update(_ => this.$data()));
39273
39484
  }
39274
39485
  ngOnInit() {
39275
39486
  this.printFlag$
@@ -39277,9 +39488,6 @@ class CoreOrgchartflexComponent {
39277
39488
  takeUntilDestroyed(this.destroyRef))
39278
39489
  .subscribe(async () => {
39279
39490
  this.printing$.next(true);
39280
- //await this.exportOrgChartAtomic();
39281
- //await this.exportOrgChartOnePage();
39282
- //await this.exportOrgChartAutoFit();
39283
39491
  await this.exportOrgChartPro();
39284
39492
  this.printing$.next(false);
39285
39493
  });
@@ -39323,15 +39531,15 @@ class CoreOrgchartflexComponent {
39323
39531
  toggleExpand(e) {
39324
39532
  e.tree$Expanded = !!!e.tree$Expanded;
39325
39533
  }
39326
- zoonIn() {
39534
+ zoomIn() {
39327
39535
  this.$scale.set(this.$scale() * 1.1);
39328
39536
  this.$container().nativeElement.style.setProperty('--print-area-scale', this.$scale());
39329
39537
  }
39330
- zoonOut() {
39538
+ zoomOut() {
39331
39539
  this.$scale.set(this.$scale() / 1.1);
39332
39540
  this.$container().nativeElement.style.setProperty('--print-area-scale', this.$scale());
39333
39541
  }
39334
- zoonFeat() {
39542
+ zoomFeat() {
39335
39543
  this.$scale.set(1);
39336
39544
  this.$container().nativeElement.style.setProperty('--print-area-scale', this.$scale());
39337
39545
  }
@@ -39369,233 +39577,6 @@ class CoreOrgchartflexComponent {
39369
39577
  }
39370
39578
  }));
39371
39579
  }
39372
- // async exportOrgChartAtomic(): Promise<void> {
39373
- // const container = this.$container()?.nativeElement as HTMLElement;
39374
- // const printArea = this.$printArea()?.nativeElement as HTMLElement;
39375
- // if (!printArea) return;
39376
- // // 🩺 1️⃣ Normalize zoom + disable transitions
39377
- // const oldScale = getComputedStyle(container).getPropertyValue('--print-area-scale');
39378
- // container.style.setProperty('--print-area-scale', '1');
39379
- // const oldTransform = printArea.style.transform;
39380
- // printArea.style.transform = 'none';
39381
- // printArea.querySelectorAll('*').forEach(el => {
39382
- // (el as HTMLElement).style.animation = 'none';
39383
- // (el as HTMLElement).style.transition = 'none';
39384
- // });
39385
- // // 🧭 2️⃣ Wait for & heal all <img> elements
39386
- // const imgs = Array.from(printArea.querySelectorAll('img')) as HTMLImageElement[];
39387
- // await Promise.all(
39388
- // imgs.map(img =>
39389
- // img.complete ? Promise.resolve() : new Promise(res => (img.onload = img.onerror = res))
39390
- // )
39391
- // );
39392
- // for (const img of imgs) {
39393
- // if (img.src.startsWith('data:')) continue;
39394
- // try {
39395
- // const resp = await fetch(img.src, { mode: 'cors' });
39396
- // const blob = await resp.blob();
39397
- // const reader = new FileReader();
39398
- // await new Promise<void>(res => {
39399
- // reader.onload = () => {
39400
- // img.src = reader.result as string;
39401
- // res();
39402
- // };
39403
- // reader.readAsDataURL(blob);
39404
- // });
39405
- // } catch { /* skip broken images */ }
39406
- // }
39407
- // // 📐 3️⃣ Compute true bounding box (atomic crop)
39408
- // const allNodes = Array.from(printArea.querySelectorAll('.tree, .tree *')) as HTMLElement[];
39409
- // const boxes = allNodes.map(n => n.getBoundingClientRect());
39410
- // const minX = Math.min(...boxes.map(b => b.left));
39411
- // const minY = Math.min(...boxes.map(b => b.top));
39412
- // const maxX = Math.max(...boxes.map(b => b.right));
39413
- // const maxY = Math.max(...boxes.map(b => b.bottom));
39414
- // const chartW = Math.ceil(maxX - minX);
39415
- // const chartH = Math.ceil(maxY - minY);
39416
- // // 🧩 Offsets inside the printArea (viewport → local)
39417
- // const areaRect = printArea.getBoundingClientRect();
39418
- // const offsetX = Math.max(0, minX - areaRect.left);
39419
- // const offsetY = Math.max(0, minY - areaRect.top);
39420
- // // 🖼️ 4️⃣ Capture exact region only
39421
- // const canvas = await html2canvas(printArea, {
39422
- // backgroundColor: '#ffffff',
39423
- // scale: 3,
39424
- // useCORS: true,
39425
- // x: offsetX,
39426
- // y: offsetY,
39427
- // width: chartW,
39428
- // height: chartH,
39429
- // windowWidth: Math.max(chartW, printArea.scrollWidth),
39430
- // windowHeight: Math.max(chartH, printArea.scrollHeight),
39431
- // logging: false,
39432
- // });
39433
- // // restore styles
39434
- // container.style.setProperty('--print-area-scale', oldScale);
39435
- // printArea.style.transform = oldTransform;
39436
- // // 🧾 5️⃣ Export the result
39437
- // const dataUrl = canvas.toDataURL('image/png');
39438
- // const allStyles = Array.from(document.querySelectorAll('style,link[rel="stylesheet"]'))
39439
- // .map(s => s.outerHTML)
39440
- // .join('\n');
39441
- // // 🪟 6️⃣ Dynamic preview / print window
39442
- // const popupW = Math.min(chartW * 0.5, screen.availWidth - 100);
39443
- // const popupH = Math.min(chartH * 0.5, screen.availHeight - 100);
39444
- // const printWindow = window.open('', '', `width=${popupW},height=${popupH},resizable=yes`);
39445
- // const css = `
39446
- // <style>
39447
- // @page { size: ${chartW}px ${chartH}px; margin: 0; }
39448
- // html, body {
39449
- // margin: 0; padding: 0;
39450
- // width: 100%; height: 100%;
39451
- // background: white;
39452
- // display: flex; align-items: center; justify-content: center;
39453
- // }
39454
- // img {
39455
- // width: ${chartW}px;
39456
- // height: ${chartH}px;
39457
- // object-fit: contain;
39458
- // }
39459
- // </style>
39460
- // `;
39461
- // printWindow!.document.write(`
39462
- // <html><head>${allStyles}${css}</head>
39463
- // <body><img src="${dataUrl}" /></body></html>
39464
- // `);
39465
- // printWindow!.document.close();
39466
- // printWindow!.addEventListener('load', () => {
39467
- // printWindow!.focus();
39468
- // printWindow!.print();
39469
- // });
39470
- // }
39471
- // async exportOrgChartAtomic(): Promise<void> {
39472
- // this.printing$.next(true);
39473
- // const container = this.$container()?.nativeElement as HTMLElement;
39474
- // const printArea = this.$printArea()?.nativeElement as HTMLElement;
39475
- // if (!printArea) return;
39476
- // const canvas = await html2canvas(printArea, {
39477
- // backgroundColor: '#ffffff',
39478
- // scale: 3,
39479
- // useCORS: true,
39480
- // });
39481
- // const dataUrl = canvas.toDataURL('image/png');
39482
- // const imgWidth = 210; // A4 width in mm
39483
- // const pageHeight = 297; // A4 height in mm
39484
- // const imgHeight = (canvas.height * imgWidth) / canvas.width;
39485
- // const { jsPDF } = jspdf; // ✅ Destructure the jsPDF class
39486
- // const pdf = new jsPDF('p', 'mm', 'a4'); // ✅ Proper instantiation
39487
- // // Scale to fit within A4 page
39488
- // let position = 0;
39489
- // if (imgHeight > pageHeight) {
39490
- // // Multi-page logic
39491
- // let remainingHeight = imgHeight;
39492
- // while (remainingHeight > 0) {
39493
- // pdf.addImage(dataUrl, 'PNG', 0, position, imgWidth, imgHeight);
39494
- // remainingHeight -= pageHeight;
39495
- // if (remainingHeight > 0) {
39496
- // pdf.addPage();
39497
- // position = 0;
39498
- // }
39499
- // }
39500
- // } else {
39501
- // pdf.addImage(dataUrl, 'PNG', 0, 0, imgWidth, imgHeight);
39502
- // }
39503
- // pdf.save('OrgChart.pdf');
39504
- // this.printing$.next(false);
39505
- // }
39506
- // async exportOrgChartOnePage(): Promise<void> {
39507
- // const container = this.$container()?.nativeElement as HTMLElement;
39508
- // const printArea = this.$printArea()?.nativeElement as HTMLElement;
39509
- // if (!printArea) return;
39510
- // // 🧭 1️⃣ Get all nodes inside `.tree`
39511
- // const allNodes = Array.from(printArea.querySelectorAll('.tree, .tree *')) as HTMLElement[];
39512
- // const boxes = allNodes.map(n => n.getBoundingClientRect());
39513
- // const minX = Math.min(...boxes.map(b => b.left));
39514
- // const minY = Math.min(...boxes.map(b => b.top));
39515
- // const maxX = Math.max(...boxes.map(b => b.right));
39516
- // const maxY = Math.max(...boxes.map(b => b.bottom));
39517
- // const chartW = Math.ceil(maxX - minX);
39518
- // const chartH = Math.ceil(maxY - minY);
39519
- // const areaRect = printArea.getBoundingClientRect();
39520
- // const offsetX = Math.max(0, minX - areaRect.left);
39521
- // const offsetY = Math.max(0, minY - areaRect.top);
39522
- // // 🖼️ 2️⃣ Capture cropped canvas
39523
- // const canvas = await html2canvas(printArea, {
39524
- // backgroundColor: '#fff',
39525
- // scale: 3,
39526
- // useCORS: true,
39527
- // x: offsetX,
39528
- // y: offsetY,
39529
- // width: chartW,
39530
- // height: chartH,
39531
- // });
39532
- // // 🧮 3️⃣ Convert to PNG + fit to A4 ratio
39533
- // const dataUrl = canvas.toDataURL('image/png');
39534
- // const { jsPDF } = jspdf;
39535
- // const pdf = new jsPDF('l', 'mm', 'a4'); // landscape
39536
- // const pageW = pdf.internal.pageSize.getWidth();
39537
- // const pageH = pdf.internal.pageSize.getHeight();
39538
- // const imgRatio = chartW / chartH;
39539
- // const pageRatio = pageW / pageH;
39540
- // let imgW = pageW, imgH = pageH;
39541
- // if (imgRatio > pageRatio) imgH = pageW / imgRatio;
39542
- // else imgW = pageH * imgRatio;
39543
- // const posX = (pageW - imgW) / 2;
39544
- // const posY = (pageH - imgH) / 2;
39545
- // // 🪄 4️⃣ Add to PDF centered and scaled
39546
- // pdf.addImage(dataUrl, 'PNG', posX, posY, imgW, imgH);
39547
- // pdf.save('OrgChart-OnePage.pdf');
39548
- // }
39549
- // async exportOrgChartAutoFit(): Promise<void> {
39550
- // if (!this.$container()?.nativeElement) return;
39551
- // this.$container()!.nativeElement.style.setProperty('--print-area-scale', 1);
39552
- // const container = this.$container()?.nativeElement as HTMLElement;
39553
- // const printArea = this.$printArea()?.nativeElement as HTMLElement;
39554
- // if (!printArea) return;
39555
- // // 🧭 1️⃣ Determine bounding box of all .tree nodes
39556
- // const allNodes = Array.from(printArea.querySelectorAll('.tree, .tree *')) as HTMLElement[];
39557
- // const boxes = allNodes.map(n => n.getBoundingClientRect());
39558
- // const minX = Math.min(...boxes.map(b => b.left));
39559
- // const minY = Math.min(...boxes.map(b => b.top));
39560
- // const maxX = Math.max(...boxes.map(b => b.right));
39561
- // const maxY = Math.max(...boxes.map(b => b.bottom));
39562
- // const chartW = Math.ceil(maxX - minX);
39563
- // const chartH = Math.ceil(maxY - minY);
39564
- // const areaRect = printArea.getBoundingClientRect();
39565
- // const offsetX = Math.max(0, minX - areaRect.left);
39566
- // const offsetY = Math.max(0, minY - areaRect.top);
39567
- // await this.healImagesForCanvas(printArea);
39568
- // // 🖼️ 2️⃣ Render cropped region only
39569
- // const canvas = await html2canvas(printArea, {
39570
- // backgroundColor: '#ffffff',
39571
- // scale: 3,
39572
- // useCORS: true,
39573
- // x: offsetX,
39574
- // y: offsetY,
39575
- // width: chartW,
39576
- // height: chartH,
39577
- // });
39578
- // const dataUrl = canvas.toDataURL('image/png');
39579
- // // 📐 3️⃣ Decide PDF orientation dynamically
39580
- // const chartRatio = chartW / chartH;
39581
- // const a4Ratio = 210 / 297; // portrait A4
39582
- // const orientation = chartRatio > a4Ratio ? 'l' : 'p'; // landscape if wider
39583
- // const { jsPDF } = jspdf;
39584
- // const pdf = new jsPDF(orientation, 'mm', 'a4');
39585
- // // 🧩 4️⃣ Compute image placement for best fit
39586
- // const pageW = pdf.internal.pageSize.getWidth();
39587
- // const pageH = pdf.internal.pageSize.getHeight();
39588
- // const imgRatio = chartW / chartH;
39589
- // const pageRatio = pageW / pageH;
39590
- // let imgW = pageW, imgH = pageH;
39591
- // if (imgRatio > pageRatio) imgH = pageW / imgRatio;
39592
- // else imgW = pageH * imgRatio;
39593
- // const posX = (pageW - imgW) / 2;
39594
- // const posY = (pageH - imgH) / 2;
39595
- // // 🪄 5️⃣ Add image to PDF centered
39596
- // pdf.addImage(dataUrl, 'PNG', posX, posY, imgW, imgH);
39597
- // pdf.save('OrgChart-AutoFit.pdf');
39598
- // }
39599
39580
  async exportOrgChartPro() {
39600
39581
  const container = this.$container()?.nativeElement;
39601
39582
  const printArea = this.$printArea()?.nativeElement;
@@ -39690,7 +39671,7 @@ class CoreOrgchartflexComponent {
39690
39671
  //window.open(pdf.output('bloburl'), '_blank');
39691
39672
  }
39692
39673
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreOrgchartflexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreOrgchartflexComponent, isStandalone: true, selector: "core-orgchartflex", inputs: { $data: { classPropertyName: "$data", publicName: "$data", isSignal: true, isRequired: true, transformFunction: null }, $itemTemplate: { classPropertyName: "$itemTemplate", publicName: "$itemTemplate", isSignal: true, isRequired: true, transformFunction: null }, $compactMode: { classPropertyName: "$compactMode", publicName: "$compactMode", isSignal: true, isRequired: false, transformFunction: null }, $showDissolved: { classPropertyName: "$showDissolved", publicName: "$showDissolved", isSignal: true, isRequired: false, transformFunction: null }, $width: { classPropertyName: "$width", publicName: "$width", isSignal: true, isRequired: false, transformFunction: null }, $height: { classPropertyName: "$height", publicName: "$height", isSignal: true, isRequired: false, transformFunction: null }, $connectionColor: { classPropertyName: "$connectionColor", publicName: "$connectionColor", isSignal: true, isRequired: false, transformFunction: null }, $connectionSize: { classPropertyName: "$connectionSize", publicName: "$connectionSize", isSignal: true, isRequired: false, transformFunction: null }, $fromChildrenToTopLine: { classPropertyName: "$fromChildrenToTopLine", publicName: "$fromChildrenToTopLine", isSignal: true, isRequired: false, transformFunction: null }, $fromParentToChildrenTopLine: { classPropertyName: "$fromParentToChildrenTopLine", publicName: "$fromParentToChildrenTopLine", isSignal: true, isRequired: false, transformFunction: null }, $childrenHorizontalMargin: { classPropertyName: "$childrenHorizontalMargin", publicName: "$childrenHorizontalMargin", isSignal: true, isRequired: false, transformFunction: null }, $childrenBorderSize: { classPropertyName: "$childrenBorderSize", publicName: "$childrenBorderSize", isSignal: true, isRequired: false, transformFunction: null }, $childrenBorderColor: { classPropertyName: "$childrenBorderColor", publicName: "$childrenBorderColor", isSignal: true, isRequired: false, transformFunction: null }, printFlag$: { classPropertyName: "printFlag$", publicName: "printFlag$", isSignal: false, isRequired: false, transformFunction: null }, printing$: { classPropertyName: "printing$", publicName: "printing$", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onPrintAreaRendered: "onPrintAreaRendered" }, viewQueries: [{ propertyName: "$container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "$parent", first: true, predicate: ["parent"], descendants: true, isSignal: true }, { propertyName: "$printArea", first: true, predicate: ["printArea"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #container class=\"core-orgchartflex-container\" (mousedown)=\"startDragging($event, false)\"\r\n (mouseup)=\"stopDragging($event, false)\" (mouseleave)=\"stopDragging($event, false)\" (mousemove)=\"moveEvent($event)\">\r\n\r\n <div class=\"scroll-container\" #parent\r\n [ngStyle]=\"{ cursor: $mouseDown() ? 'all-scroll' : 'unset', width: $width() + 'px', height: $height() + 'px' }\">\r\n\r\n <div class=\"zoom-control p-absolute\">\r\n <div class=\"p-relative d-flex d-flex-start\">\r\n <i class=\"feather-minus-circle pointer\" (click)=\"zoonOut()\"></i>\r\n <i class=\"feather-plus-circle pointer\" (click)=\"zoonIn()\"></i>\r\n <i class=\"feather-monitor pointer\" (click)=\"zoonFeat()\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"print-area\" #printArea>\r\n\r\n @for (root of $data(); track $index) {\r\n <ul class=\"tree\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root}\"></ng-container>\r\n </ul>\r\n }\r\n\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-title=\"context.tree$Title\" let-expanded=\"context.tree$Expanded\"\r\n let-children=\"context.tree$Children\" let-tier=\"context.tree$Tier\" let-isActive=\"context.isActive\">\r\n @if ((!$showDissolved() && !!isActive) || (!!$showDissolved())) {\r\n <li>\r\n @if ($compactMode()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.compact]=\"tier !== 1\"\r\n [class.expanded]=\"expanded\">\r\n {{ title }}\r\n </span>\r\n }\r\n\r\n <!-- When passing item template and compactMode=false-->\r\n @if (!$compactMode() && !!$itemTemplate()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.expanded]=\"expanded\">\r\n <ng-container *ngTemplateOutlet=\"$itemTemplate(); context: { item: context } \"></ng-container>\r\n </span>\r\n }\r\n <!-- ------------------------- -->\r\n\r\n @if (!!expanded && !!children.length) {\r\n <ul>\r\n @for (child of children; track $index) {\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child}\"></ng-container>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n </div>\r\n\r\n @if (printing$ | async) {\r\n <app-fullscreen-modal-loader />\r\n }\r\n\r\n <!-- <button class=\"btn btn-outline-danger\" (click)=\"highlightChartRect()\">\r\n Highlight Export Area\r\n </button>\r\n <button class=\"btn btn-outline-danger\" (click)=\"clearChartHighlight()\">\r\n Clear Export Area\r\n </button> -->\r\n\r\n</div>", styles: [".core-orgchartflex-container{--width: 100px;--height: 100px;--link-color: cadetblue;--print-area-scale: 1;--connection-color: gray;--connection-size: 1px;--from-children-to-top-line: 100px;--from-parent-to-children-top-line: 100px;--children-horizontal-margin: 5px;--children-border-size: 1px;--children-border-color: gray}@keyframes fadeIn{0%{transform:scale(0)}to{transform:scale(1)}}.core-orgchartflex-container *{animation:fadeIn .5s ease-in-out}.core-orgchartflex-container .scroll-container{display:block;width:var(--width);height:var(--height);overflow-x:auto}.core-orgchartflex-container .scroll-container .zoom-control{top:var(--size-layout-block-cell-spacing);right:var(--size-layout-block-cell-spacing);z-index:3}.core-orgchartflex-container .scroll-container .zoom-control i{font-size:16px;color:#848484}.core-orgchartflex-container .scroll-container .print-area{transform:scale(var(--print-area-scale));transition:.5s linear}.core-orgchartflex-container .scroll-container .tree *{box-sizing:border-box}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul,.core-orgchartflex-container .scroll-container .tree li{list-style:none;margin:0;padding:0;position:relative}.core-orgchartflex-container .scroll-container .tree{margin:0 0 1em;text-align:center}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul{display:table}.core-orgchartflex-container .scroll-container .tree ul{width:100%}.core-orgchartflex-container .scroll-container .tree li{display:table-cell;padding:var(--from-children-to-top-line) 0;vertical-align:top!important}.core-orgchartflex-container .scroll-container .tree li:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";left:0;position:absolute;right:0;top:0}.core-orgchartflex-container .scroll-container .tree li:first-child:before{left:50%}.core-orgchartflex-container .scroll-container .tree li:last-child:before{right:50%}.core-orgchartflex-container .scroll-container .tree code,.core-orgchartflex-container .scroll-container .tree span{border:solid var(--children-border-size) var(--children-border-color);display:inline-block;margin:0 var(--children-horizontal-margin) var(--from-parent-to-children-top-line);position:relative}.core-orgchartflex-container .scroll-container .tree span.compact{max-width:75px}.core-orgchartflex-container .scroll-container .tree ul:before,.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";height:calc(var(--from-children-to-top-line) - var(--connection-size));left:50%;position:absolute}.core-orgchartflex-container .scroll-container .tree ul:before{top:calc(var(--from-parent-to-children-top-line) * -1 + var(--connection-size) / 2);height:calc(var(--from-parent-to-children-top-line) - var(--connection-size) * 1.5 + 1px)}.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{top:calc(var(--from-children-to-top-line) * -1 + var(--connection-size) / 2 - var(--children-border-size))}.core-orgchartflex-container .scroll-container .tree>li{margin-top:0}.core-orgchartflex-container .scroll-container .tree>li:before,.core-orgchartflex-container .scroll-container .tree>li:after,.core-orgchartflex-container .scroll-container .tree>li>code:before,.core-orgchartflex-container .scroll-container .tree>li>span:before{outline:none}.core-orgchartflex-container .scroll-container a{text-decoration:unset;color:var(--link-color)!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39674
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreOrgchartflexComponent, isStandalone: true, selector: "core-orgchartflex", inputs: { $data: { classPropertyName: "$data", publicName: "$data", isSignal: true, isRequired: true, transformFunction: null }, $itemTemplate: { classPropertyName: "$itemTemplate", publicName: "$itemTemplate", isSignal: true, isRequired: true, transformFunction: null }, $compactMode: { classPropertyName: "$compactMode", publicName: "$compactMode", isSignal: true, isRequired: false, transformFunction: null }, $showDissolved: { classPropertyName: "$showDissolved", publicName: "$showDissolved", isSignal: true, isRequired: false, transformFunction: null }, $width: { classPropertyName: "$width", publicName: "$width", isSignal: true, isRequired: false, transformFunction: null }, $height: { classPropertyName: "$height", publicName: "$height", isSignal: true, isRequired: false, transformFunction: null }, $showOrgTree: { classPropertyName: "$showOrgTree", publicName: "$showOrgTree", isSignal: true, isRequired: false, transformFunction: null }, $orgTreeWidth: { classPropertyName: "$orgTreeWidth", publicName: "$orgTreeWidth", isSignal: true, isRequired: false, transformFunction: null }, $connectionColor: { classPropertyName: "$connectionColor", publicName: "$connectionColor", isSignal: true, isRequired: false, transformFunction: null }, $connectionSize: { classPropertyName: "$connectionSize", publicName: "$connectionSize", isSignal: true, isRequired: false, transformFunction: null }, $fromChildrenToTopLine: { classPropertyName: "$fromChildrenToTopLine", publicName: "$fromChildrenToTopLine", isSignal: true, isRequired: false, transformFunction: null }, $fromParentToChildrenTopLine: { classPropertyName: "$fromParentToChildrenTopLine", publicName: "$fromParentToChildrenTopLine", isSignal: true, isRequired: false, transformFunction: null }, $childrenHorizontalMargin: { classPropertyName: "$childrenHorizontalMargin", publicName: "$childrenHorizontalMargin", isSignal: true, isRequired: false, transformFunction: null }, $childrenBorderSize: { classPropertyName: "$childrenBorderSize", publicName: "$childrenBorderSize", isSignal: true, isRequired: false, transformFunction: null }, $childrenBorderColor: { classPropertyName: "$childrenBorderColor", publicName: "$childrenBorderColor", isSignal: true, isRequired: false, transformFunction: null }, printFlag$: { classPropertyName: "printFlag$", publicName: "printFlag$", isSignal: false, isRequired: false, transformFunction: null }, printing$: { classPropertyName: "printing$", publicName: "printing$", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onPrintAreaRendered: "onPrintAreaRendered" }, viewQueries: [{ propertyName: "$container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "$parent", first: true, predicate: ["parent"], descendants: true, isSignal: true }, { propertyName: "$printArea", first: true, predicate: ["printArea"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #container class=\"core-orgchartflex-container\" [class.left-right]=\"!!$showOrgTree()\" (mousedown)=\"startDragging($event, false)\"\r\n (mouseup)=\"stopDragging($event, false)\" (mouseleave)=\"stopDragging($event, false)\" (mousemove)=\"moveEvent($event)\">\r\n\r\n @if (!!$showOrgTree()) {\r\n <div class=\"org-tree-wrapper\" [class.collapsed]=\"$isCollapsed()\">\r\n <core-org-tree [accessorMode]=\"'ACTIVATED_SINGLE'\"/>\r\n <div class=\"collapse-toggle\" (click)=\"togglePanel()\">\r\n @if (!$isCollapsed()) {\r\n <i class=\"feather-chevron-left\" ></i>\r\n }\r\n @if ($isCollapsed()) {\r\n <i class=\"feather-chevron-right\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"scroll-container\" #parent\r\n [ngStyle]=\"{ cursor: $mouseDown() ? 'all-scroll' : 'unset', width: $width() + 'px', height: $height() + 'px' }\">\r\n\r\n <div class=\"zoom-control p-absolute\">\r\n <div class=\"p-relative d-flex d-flex-start\">\r\n <i class=\"feather-minus-circle pointer\" (click)=\"zoomOut()\"></i>\r\n <i class=\"feather-plus-circle pointer\" (click)=\"zoomIn()\"></i>\r\n <i class=\"feather-monitor pointer\" (click)=\"zoomFeat()\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"print-area\" #printArea>\r\n\r\n @for (root of $internalData(); track $index) {\r\n <ul class=\"tree\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root}\"></ng-container>\r\n </ul>\r\n }\r\n\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-title=\"context.tree$Title\" let-expanded=\"context.tree$Expanded\"\r\n let-children=\"context.tree$Children\" let-tier=\"context.tree$Tier\" let-isActive=\"context.isActive\">\r\n @if ((!$showDissolved() && !!isActive) || (!!$showDissolved())) {\r\n <li>\r\n @if ($compactMode()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.compact]=\"tier !== 1\"\r\n [class.expanded]=\"expanded\">\r\n {{ title }}\r\n </span>\r\n }\r\n\r\n <!-- When passing item template and compactMode=false-->\r\n @if (!$compactMode() && !!$itemTemplate()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.expanded]=\"expanded\">\r\n <ng-container *ngTemplateOutlet=\"$itemTemplate(); context: { item: context } \"></ng-container>\r\n </span>\r\n }\r\n <!-- ------------------------- -->\r\n\r\n @if (!!expanded && !!children.length) {\r\n <ul>\r\n @for (child of children; track $index) {\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child}\"></ng-container>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n </div>\r\n\r\n @if (printing$ | async) {\r\n <app-fullscreen-modal-loader />\r\n }\r\n\r\n</div>", styles: [".core-orgchartflex-container{--width: 100px;--height: 100px;--link-color: cadetblue;--print-area-scale: 1;--connection-color: gray;--connection-size: 1px;--from-children-to-top-line: 100px;--from-parent-to-children-top-line: 100px;--children-horizontal-margin: 5px;--children-border-size: 1px;--children-border-color: gray;--org-tree-width: 320px;--org-tree-collapsed-width: 24px}@keyframes fadeIn{0%{transform:scale(0)}to{transform:scale(1)}}.core-orgchartflex-container *{animation:fadeIn .5s ease-in-out}.core-orgchartflex-container .scroll-container{display:block;width:var(--width);height:var(--height);overflow-x:auto}.core-orgchartflex-container .scroll-container .zoom-control{top:var(--size-layout-block-cell-spacing);right:var(--size-layout-block-cell-spacing);z-index:3}.core-orgchartflex-container .scroll-container .zoom-control i{font-size:16px;color:#848484}.core-orgchartflex-container .scroll-container .print-area{transform:scale(var(--print-area-scale));transition:.5s linear}.core-orgchartflex-container .scroll-container .tree *{box-sizing:border-box}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul,.core-orgchartflex-container .scroll-container .tree li{list-style:none;margin:0;padding:0;position:relative}.core-orgchartflex-container .scroll-container .tree{margin:0 0 1em;text-align:center}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul{display:table}.core-orgchartflex-container .scroll-container .tree ul{width:100%}.core-orgchartflex-container .scroll-container .tree li{display:table-cell;padding:var(--from-children-to-top-line) 0;vertical-align:top!important}.core-orgchartflex-container .scroll-container .tree li:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";left:0;position:absolute;right:0;top:0}.core-orgchartflex-container .scroll-container .tree li:first-child:before{left:50%}.core-orgchartflex-container .scroll-container .tree li:last-child:before{right:50%}.core-orgchartflex-container .scroll-container .tree code,.core-orgchartflex-container .scroll-container .tree span{border:solid var(--children-border-size) var(--children-border-color);display:inline-block;margin:0 var(--children-horizontal-margin) var(--from-parent-to-children-top-line);position:relative}.core-orgchartflex-container .scroll-container .tree span.compact{max-width:75px}.core-orgchartflex-container .scroll-container .tree ul:before,.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";height:calc(var(--from-children-to-top-line) - var(--connection-size));left:50%;position:absolute}.core-orgchartflex-container .scroll-container .tree ul:before{top:calc(var(--from-parent-to-children-top-line) * -1 + var(--connection-size) / 2);height:calc(var(--from-parent-to-children-top-line) - var(--connection-size) * 1.5 + 1px)}.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{top:calc(var(--from-children-to-top-line) * -1 + var(--connection-size) / 2 - var(--children-border-size))}.core-orgchartflex-container .scroll-container .tree>li{margin-top:0}.core-orgchartflex-container .scroll-container .tree>li:before,.core-orgchartflex-container .scroll-container .tree>li:after,.core-orgchartflex-container .scroll-container .tree>li>code:before,.core-orgchartflex-container .scroll-container .tree>li>span:before{outline:none}.core-orgchartflex-container .scroll-container a{text-decoration:unset;color:var(--link-color)!important}.core-orgchartflex-container.left-right{display:flex;width:100%;height:100%}.org-tree-wrapper{position:relative;width:var(--org-tree-width);min-width:var(--org-tree-width);max-width:var(--org-tree-width);background:#fafafa;border-right:1px solid #e0e0e0;overflow:hidden;transition:width .26s ease,min-width .26s ease,max-width .26s ease,transform .26s ease}.org-tree-wrapper.collapsed{width:var(--org-tree-collapsed-width);min-width:var(--org-tree-collapsed-width);max-width:var(--org-tree-collapsed-width)}.collapse-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%);width:24px;height:48px;background:#fff;border:1px solid #ddd;border-left:none;border-radius:0 6px 6px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;box-shadow:0 2px 6px #00000014;z-index:10}.collapse-toggle:hover{background:#f3f3f3}.collapse-toggle i{font-size:18px;color:#666}.scroll-container{flex:1 1 auto;position:relative;overflow:auto}.org-tree-wrapper.collapsed core-org-tree{opacity:0;pointer-events:none;transition:opacity .15s ease}.org-tree-wrapper:not(.collapsed) core-org-tree{opacity:1;transition:opacity .2s ease}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "searchMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance", "excludedIds$", "stateIsolated$"], outputs: ["itemDoubleClick", "itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39694
39675
  }
39695
39676
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreOrgchartflexComponent, decorators: [{
39696
39677
  type: Component,
@@ -39698,8 +39679,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
39698
39679
  NgStyle,
39699
39680
  AsyncPipe,
39700
39681
  NgTemplateOutlet,
39701
- FullscreenModalLoaderComponent
39702
- ], template: "<div #container class=\"core-orgchartflex-container\" (mousedown)=\"startDragging($event, false)\"\r\n (mouseup)=\"stopDragging($event, false)\" (mouseleave)=\"stopDragging($event, false)\" (mousemove)=\"moveEvent($event)\">\r\n\r\n <div class=\"scroll-container\" #parent\r\n [ngStyle]=\"{ cursor: $mouseDown() ? 'all-scroll' : 'unset', width: $width() + 'px', height: $height() + 'px' }\">\r\n\r\n <div class=\"zoom-control p-absolute\">\r\n <div class=\"p-relative d-flex d-flex-start\">\r\n <i class=\"feather-minus-circle pointer\" (click)=\"zoonOut()\"></i>\r\n <i class=\"feather-plus-circle pointer\" (click)=\"zoonIn()\"></i>\r\n <i class=\"feather-monitor pointer\" (click)=\"zoonFeat()\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"print-area\" #printArea>\r\n\r\n @for (root of $data(); track $index) {\r\n <ul class=\"tree\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root}\"></ng-container>\r\n </ul>\r\n }\r\n\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-title=\"context.tree$Title\" let-expanded=\"context.tree$Expanded\"\r\n let-children=\"context.tree$Children\" let-tier=\"context.tree$Tier\" let-isActive=\"context.isActive\">\r\n @if ((!$showDissolved() && !!isActive) || (!!$showDissolved())) {\r\n <li>\r\n @if ($compactMode()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.compact]=\"tier !== 1\"\r\n [class.expanded]=\"expanded\">\r\n {{ title }}\r\n </span>\r\n }\r\n\r\n <!-- When passing item template and compactMode=false-->\r\n @if (!$compactMode() && !!$itemTemplate()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.expanded]=\"expanded\">\r\n <ng-container *ngTemplateOutlet=\"$itemTemplate(); context: { item: context } \"></ng-container>\r\n </span>\r\n }\r\n <!-- ------------------------- -->\r\n\r\n @if (!!expanded && !!children.length) {\r\n <ul>\r\n @for (child of children; track $index) {\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child}\"></ng-container>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n </div>\r\n\r\n @if (printing$ | async) {\r\n <app-fullscreen-modal-loader />\r\n }\r\n\r\n <!-- <button class=\"btn btn-outline-danger\" (click)=\"highlightChartRect()\">\r\n Highlight Export Area\r\n </button>\r\n <button class=\"btn btn-outline-danger\" (click)=\"clearChartHighlight()\">\r\n Clear Export Area\r\n </button> -->\r\n\r\n</div>", styles: [".core-orgchartflex-container{--width: 100px;--height: 100px;--link-color: cadetblue;--print-area-scale: 1;--connection-color: gray;--connection-size: 1px;--from-children-to-top-line: 100px;--from-parent-to-children-top-line: 100px;--children-horizontal-margin: 5px;--children-border-size: 1px;--children-border-color: gray}@keyframes fadeIn{0%{transform:scale(0)}to{transform:scale(1)}}.core-orgchartflex-container *{animation:fadeIn .5s ease-in-out}.core-orgchartflex-container .scroll-container{display:block;width:var(--width);height:var(--height);overflow-x:auto}.core-orgchartflex-container .scroll-container .zoom-control{top:var(--size-layout-block-cell-spacing);right:var(--size-layout-block-cell-spacing);z-index:3}.core-orgchartflex-container .scroll-container .zoom-control i{font-size:16px;color:#848484}.core-orgchartflex-container .scroll-container .print-area{transform:scale(var(--print-area-scale));transition:.5s linear}.core-orgchartflex-container .scroll-container .tree *{box-sizing:border-box}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul,.core-orgchartflex-container .scroll-container .tree li{list-style:none;margin:0;padding:0;position:relative}.core-orgchartflex-container .scroll-container .tree{margin:0 0 1em;text-align:center}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul{display:table}.core-orgchartflex-container .scroll-container .tree ul{width:100%}.core-orgchartflex-container .scroll-container .tree li{display:table-cell;padding:var(--from-children-to-top-line) 0;vertical-align:top!important}.core-orgchartflex-container .scroll-container .tree li:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";left:0;position:absolute;right:0;top:0}.core-orgchartflex-container .scroll-container .tree li:first-child:before{left:50%}.core-orgchartflex-container .scroll-container .tree li:last-child:before{right:50%}.core-orgchartflex-container .scroll-container .tree code,.core-orgchartflex-container .scroll-container .tree span{border:solid var(--children-border-size) var(--children-border-color);display:inline-block;margin:0 var(--children-horizontal-margin) var(--from-parent-to-children-top-line);position:relative}.core-orgchartflex-container .scroll-container .tree span.compact{max-width:75px}.core-orgchartflex-container .scroll-container .tree ul:before,.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";height:calc(var(--from-children-to-top-line) - var(--connection-size));left:50%;position:absolute}.core-orgchartflex-container .scroll-container .tree ul:before{top:calc(var(--from-parent-to-children-top-line) * -1 + var(--connection-size) / 2);height:calc(var(--from-parent-to-children-top-line) - var(--connection-size) * 1.5 + 1px)}.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{top:calc(var(--from-children-to-top-line) * -1 + var(--connection-size) / 2 - var(--children-border-size))}.core-orgchartflex-container .scroll-container .tree>li{margin-top:0}.core-orgchartflex-container .scroll-container .tree>li:before,.core-orgchartflex-container .scroll-container .tree>li:after,.core-orgchartflex-container .scroll-container .tree>li>code:before,.core-orgchartflex-container .scroll-container .tree>li>span:before{outline:none}.core-orgchartflex-container .scroll-container a{text-decoration:unset;color:var(--link-color)!important}\n"] }]
39682
+ FullscreenModalLoaderComponent,
39683
+ CoreOrgTreeComponent
39684
+ ], template: "<div #container class=\"core-orgchartflex-container\" [class.left-right]=\"!!$showOrgTree()\" (mousedown)=\"startDragging($event, false)\"\r\n (mouseup)=\"stopDragging($event, false)\" (mouseleave)=\"stopDragging($event, false)\" (mousemove)=\"moveEvent($event)\">\r\n\r\n @if (!!$showOrgTree()) {\r\n <div class=\"org-tree-wrapper\" [class.collapsed]=\"$isCollapsed()\">\r\n <core-org-tree [accessorMode]=\"'ACTIVATED_SINGLE'\"/>\r\n <div class=\"collapse-toggle\" (click)=\"togglePanel()\">\r\n @if (!$isCollapsed()) {\r\n <i class=\"feather-chevron-left\" ></i>\r\n }\r\n @if ($isCollapsed()) {\r\n <i class=\"feather-chevron-right\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"scroll-container\" #parent\r\n [ngStyle]=\"{ cursor: $mouseDown() ? 'all-scroll' : 'unset', width: $width() + 'px', height: $height() + 'px' }\">\r\n\r\n <div class=\"zoom-control p-absolute\">\r\n <div class=\"p-relative d-flex d-flex-start\">\r\n <i class=\"feather-minus-circle pointer\" (click)=\"zoomOut()\"></i>\r\n <i class=\"feather-plus-circle pointer\" (click)=\"zoomIn()\"></i>\r\n <i class=\"feather-monitor pointer\" (click)=\"zoomFeat()\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"print-area\" #printArea>\r\n\r\n @for (root of $internalData(); track $index) {\r\n <ul class=\"tree\">\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: root}\"></ng-container>\r\n </ul>\r\n }\r\n\r\n </div>\r\n\r\n <ng-template #item let-context=\"context\" let-title=\"context.tree$Title\" let-expanded=\"context.tree$Expanded\"\r\n let-children=\"context.tree$Children\" let-tier=\"context.tree$Tier\" let-isActive=\"context.isActive\">\r\n @if ((!$showDissolved() && !!isActive) || (!!$showDissolved())) {\r\n <li>\r\n @if ($compactMode()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.compact]=\"tier !== 1\"\r\n [class.expanded]=\"expanded\">\r\n {{ title }}\r\n </span>\r\n }\r\n\r\n <!-- When passing item template and compactMode=false-->\r\n @if (!$compactMode() && !!$itemTemplate()) {\r\n <span (click)=\"toggleExpand(context)\" class=\"pointer\" [class.expanded]=\"expanded\">\r\n <ng-container *ngTemplateOutlet=\"$itemTemplate(); context: { item: context } \"></ng-container>\r\n </span>\r\n }\r\n <!-- ------------------------- -->\r\n\r\n @if (!!expanded && !!children.length) {\r\n <ul>\r\n @for (child of children; track $index) {\r\n <ng-container *ngTemplateOutlet=\"item; context: { context: child}\"></ng-container>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n </div>\r\n\r\n @if (printing$ | async) {\r\n <app-fullscreen-modal-loader />\r\n }\r\n\r\n</div>", styles: [".core-orgchartflex-container{--width: 100px;--height: 100px;--link-color: cadetblue;--print-area-scale: 1;--connection-color: gray;--connection-size: 1px;--from-children-to-top-line: 100px;--from-parent-to-children-top-line: 100px;--children-horizontal-margin: 5px;--children-border-size: 1px;--children-border-color: gray;--org-tree-width: 320px;--org-tree-collapsed-width: 24px}@keyframes fadeIn{0%{transform:scale(0)}to{transform:scale(1)}}.core-orgchartflex-container *{animation:fadeIn .5s ease-in-out}.core-orgchartflex-container .scroll-container{display:block;width:var(--width);height:var(--height);overflow-x:auto}.core-orgchartflex-container .scroll-container .zoom-control{top:var(--size-layout-block-cell-spacing);right:var(--size-layout-block-cell-spacing);z-index:3}.core-orgchartflex-container .scroll-container .zoom-control i{font-size:16px;color:#848484}.core-orgchartflex-container .scroll-container .print-area{transform:scale(var(--print-area-scale));transition:.5s linear}.core-orgchartflex-container .scroll-container .tree *{box-sizing:border-box}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul,.core-orgchartflex-container .scroll-container .tree li{list-style:none;margin:0;padding:0;position:relative}.core-orgchartflex-container .scroll-container .tree{margin:0 0 1em;text-align:center}.core-orgchartflex-container .scroll-container .tree,.core-orgchartflex-container .scroll-container .tree ul{display:table}.core-orgchartflex-container .scroll-container .tree ul{width:100%}.core-orgchartflex-container .scroll-container .tree li{display:table-cell;padding:var(--from-children-to-top-line) 0;vertical-align:top!important}.core-orgchartflex-container .scroll-container .tree li:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";left:0;position:absolute;right:0;top:0}.core-orgchartflex-container .scroll-container .tree li:first-child:before{left:50%}.core-orgchartflex-container .scroll-container .tree li:last-child:before{right:50%}.core-orgchartflex-container .scroll-container .tree code,.core-orgchartflex-container .scroll-container .tree span{border:solid var(--children-border-size) var(--children-border-color);display:inline-block;margin:0 var(--children-horizontal-margin) var(--from-parent-to-children-top-line);position:relative}.core-orgchartflex-container .scroll-container .tree span.compact{max-width:75px}.core-orgchartflex-container .scroll-container .tree ul:before,.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{outline:solid calc(var(--connection-size) / 2) var(--connection-color);content:\"\";height:calc(var(--from-children-to-top-line) - var(--connection-size));left:50%;position:absolute}.core-orgchartflex-container .scroll-container .tree ul:before{top:calc(var(--from-parent-to-children-top-line) * -1 + var(--connection-size) / 2);height:calc(var(--from-parent-to-children-top-line) - var(--connection-size) * 1.5 + 1px)}.core-orgchartflex-container .scroll-container .tree code:before,.core-orgchartflex-container .scroll-container .tree span:before{top:calc(var(--from-children-to-top-line) * -1 + var(--connection-size) / 2 - var(--children-border-size))}.core-orgchartflex-container .scroll-container .tree>li{margin-top:0}.core-orgchartflex-container .scroll-container .tree>li:before,.core-orgchartflex-container .scroll-container .tree>li:after,.core-orgchartflex-container .scroll-container .tree>li>code:before,.core-orgchartflex-container .scroll-container .tree>li>span:before{outline:none}.core-orgchartflex-container .scroll-container a{text-decoration:unset;color:var(--link-color)!important}.core-orgchartflex-container.left-right{display:flex;width:100%;height:100%}.org-tree-wrapper{position:relative;width:var(--org-tree-width);min-width:var(--org-tree-width);max-width:var(--org-tree-width);background:#fafafa;border-right:1px solid #e0e0e0;overflow:hidden;transition:width .26s ease,min-width .26s ease,max-width .26s ease,transform .26s ease}.org-tree-wrapper.collapsed{width:var(--org-tree-collapsed-width);min-width:var(--org-tree-collapsed-width);max-width:var(--org-tree-collapsed-width)}.collapse-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%);width:24px;height:48px;background:#fff;border:1px solid #ddd;border-left:none;border-radius:0 6px 6px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;box-shadow:0 2px 6px #00000014;z-index:10}.collapse-toggle:hover{background:#f3f3f3}.collapse-toggle i{font-size:18px;color:#666}.scroll-container{flex:1 1 auto;position:relative;overflow:auto}.org-tree-wrapper.collapsed core-org-tree{opacity:0;pointer-events:none;transition:opacity .15s ease}.org-tree-wrapper:not(.collapsed) core-org-tree{opacity:1;transition:opacity .2s ease}\n"] }]
39703
39685
  }], ctorParameters: () => [], propDecorators: { printFlag$: [{
39704
39686
  type: Input
39705
39687
  }], printing$: [{
@@ -41756,33 +41738,33 @@ const coreWorkflowRoutes = [
41756
41738
  {
41757
41739
  path: 'form-assign/:id',
41758
41740
  outlet: "formAssignAux",
41759
- loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-Btmiiris.mjs').then(m => m.WfFormAssignComponent),
41741
+ loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs').then(m => m.WfFormAssignComponent),
41760
41742
  canDeactivate: [CanDeactivateGuard]
41761
41743
  }
41762
41744
  ]
41763
41745
  },
41764
41746
  {
41765
41747
  path: 'global-config',
41766
- loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-C-xap0Tf.mjs').then(m => m.WfGlobalConfigComponent)
41748
+ loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs').then(m => m.WfGlobalConfigComponent)
41767
41749
  },
41768
41750
  {
41769
41751
  path: 'db-settings',
41770
- loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-BliMPr0A.mjs').then(m => m.DbSettingsComponent)
41752
+ loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs').then(m => m.DbSettingsComponent)
41771
41753
  },
41772
41754
  {
41773
41755
  path: 'workflow-consume',
41774
- loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-C2MRQLls.mjs').then(m => m.CoreWorkflowConsumeComponent),
41756
+ loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs').then(m => m.CoreWorkflowConsumeComponent),
41775
41757
  children: [
41776
41758
  {
41777
41759
  path: ':id',
41778
41760
  outlet: "workflowConsume",
41779
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-BEq38Xps.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41761
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-LdFysTvc.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41780
41762
  }
41781
41763
  ]
41782
41764
  },
41783
41765
  {
41784
41766
  path: 'workflow-consume/:id',
41785
- loadComponent: () => import('./ngx-histaff-alpha-live-form.component-BEq38Xps.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41767
+ loadComponent: () => import('./ngx-histaff-alpha-live-form.component-LdFysTvc.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
41786
41768
  },
41787
41769
  {
41788
41770
  path: 'workflow-group-edit/:id',
@@ -41792,17 +41774,21 @@ const coreWorkflowRoutes = [
41792
41774
  },
41793
41775
  {
41794
41776
  path: 'design/:id',
41795
- loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-NqkSYCoA.mjs').then(m => m.wfDesignWrapperRoutes),
41777
+ loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs').then(m => m.wfDesignWrapperRoutes),
41796
41778
  },
41797
41779
  ]
41798
41780
  },
41799
41781
  {
41800
41782
  path: 'react/:id',
41801
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-Dng7IbhV.mjs').then(m => m.WfInstanceStepReactComponent)
41783
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs').then(m => m.WfInstanceStepReactComponent)
41802
41784
  },
41803
41785
  {
41804
41786
  path: 'status/:id',
41805
- loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-DnUwQI1R.mjs').then(m => m.WfInstanceStatusComponent)
41787
+ loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs').then(m => m.WfInstanceStatusComponent)
41788
+ },
41789
+ {
41790
+ path: 'lab',
41791
+ loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs').then(m => m.WfLabComponent)
41806
41792
  }
41807
41793
  ];
41808
41794
 
@@ -44427,5 +44413,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
44427
44413
  * Generated bundle index. Do not edit.
44428
44414
  */
44429
44415
 
44430
- export { noneAutoClosedAlertOptions as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumCoreTablePipeType as E, FullscreenModalLoaderComponent as F, CoreDropdownComponent as G, CoreChecklistComponent as H, ImageErrorResolverDirective as I, CoreDatePickerComponent as J, CoreFormControlSeekerComponent as K, CoreCurrencyInputComponent as L, MultiLanguageService as M, EnumActorSourceType as N, CoreParamControlComponent as O, CoreRadioGroupComponent as P, GptService as Q, ApplicationHelpService as R, StringHtmlPipe as S, TooltipDirective as T, HotKeysDirective as U, EnumCorePageEditMode as V, CoreFormComponent as W, NavigatorService as X, JsonService as Y, EnumCoreButtonVNSCode as Z, READONLY_WORKFLOW_FIELDS as _, AppConfigService as a, CommonHttpRequestService as a$, CoreButtonGroupVnsComponent as a0, CoreStickerCollectionComponent as a1, HtmlTooltipDirective as a2, CoreControlNoFormArrayComponent as a3, EnumFormDesignMode as a4, CoreControlComponent as a5, JsonSafePipe as a6, CoreAttachmentComponent as a7, CoreMonthSelectorComponent as a8, EnumImageResolverType 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_, NormalizeHumanNamePipe as aa, CoreIosSwitcherComponent as ab, SunnyRotatingComponent as ac, MapAppdemoToServerPipePipe as ad, MapAttachmentToServerPipe as ae, MapNewsfeedMediaToServerPipe 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, AlertService 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, CoreTerminalSpinnerComponent as c, coreDocGenRoutes 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, CoreActiveUserCountComponent as cA, NewlyCreatedTokenService as cB, CoreApiProgressComponent as cC, CoreButtonGroupComponent as cD, EnumCoreButtonCode as cE, ActionSvgEditComponent as cF, CoreButtonGroupService as cG, CoreButtonVnsComponent as cH, CoreComTreeComponent as cI, ComPartyService as cJ, CoreCommonParamKitComponent as cK, CoreCompareDbPipelineComponent as cL, CoreCompositionState as cM, CoreCompositionService as cN, CoreCompositionComponent as cO, CoreConfirmDialogComponent as cP, ConfirmDialogStateComponent as cQ, CoreLazyMountComponent as cR, CoreRootMenuItemPickerComponent as cS, CoreRootMenuItemPickerService as cT, ECoreTableToolCode as cU, ECoreTableToolClass as cV, CoreTableComponent as cW, CoreComProfileComponent as cX, CoreContractSeekerComponent as cY, CoreControlNoGridBufferComponent as cZ, CoreControlNoSeekerComponent as c_, coreSysActionRoutes as ca, SysActionComponent as cb, SysActionEditComponent as cc, SysFunctionActionComponent as cd, SysFunctionActionEditComponent as ce, SysFunctionActionMapperComponent as cf, SysFunctionUrlMapperComponent as cg, FunctionEditService as ch, SysModuleComponent as ci, SysModuleEditComponent as cj, SysRouteAccessComponent as ck, liner_to_nested_array_script as cl, blob_to_base64_script as cm, AlertComponent as cn, EnumAlertType as co, IAlertOptions as cp, AnimatedTextService as cq, AnimatedTextComponent as cr, BaseDropdownComponent as cs, ButtonGroupModule as ct, ButtonGroupService as cu, ButtonGroupComponent as cv, EnumButtonCaptionCode as cw, CoreButtonComponent as cx, CoreAccordionComponent as cy, CoreAccordionService as cz, CorePageHeaderComponent as d, CorePermissionService as d$, CoreDocgenToolbarComponent as d0, CoreEmployeeScheduleComponent as d1, CoreEmployeeSeekerComponent as d2, EnumCoreFileUploaderType as d3, CoreFileUploaderComponent as d4, CoreFilterHubComponent as d5, CoreFilterHubService as d6, ControlBase as d7, Textbox as d8, CoreControlService as d9, CoreNavigationTrackerComponent as dA, coreNavigationTrackerRoutes as dB, CoreOauthCallbackComponent as dC, CoreOauthCallbackOffice365Component as dD, EnumCoreOrgTreeaAccessorMode as dE, EnumCoreOrgTreeaSearchMode as dF, CoreOrgTreeComponent as dG, CoreOrgTreeState as dH, CoreOrgTreeService as dI, CoreOrgUnitSeekerComponent as dJ, CoreOrgchartflexComponent as dK, CoreOrgParamComponent as dL, EnumCorePageEditBootstrapClass as dM, EnumCorePageEditFieldType as dN, CorePageEditService as dO, CorePageEditLiteComponent as dP, CorePageEditTabComponent as dQ, EnumExType as dR, CorePageListService as dS, CorePageListState as dT, CorePageListContentComponent as dU, EnumCoreViewItemType as dV, CorePageViewComponent as dW, CorePaginationComponent as dX, CorePaginationFullComponent as dY, CorePaginationFullService as dZ, CoreFileFormatPickerComponent as d_, CustomValidators as da, URL_PATTERN as db, coreFormDesignRoutes as dc, CoreFormTabComponent as dd, CoreFormLiteComponent as de, CoreFormControlBaseComponent as df, EnumCoreSeekerColumnJob as dg, EnumCoreSeekerColumnStaffProfile as dh, EnumCoreSeekerColumnContract as di, EnumCoreSeekerColumnWorking as dj, EnumCoreSeekerColumnWage as dk, EnumCoreSeekerColumnPosition as dl, EnumCoreSeekerColumnPositionConcurrent as dm, EnumCoreSeekerColumnAutoForm as dn, SeekerService as dp, CoreGridBufferComponent as dq, CoreHeaderParamsComponent as dr, CoreHelperComponent as ds, CoreLineComponent as dt, CoreLiquidWysiwygComponent as du, CoreListComponent as dv, CoreListLazyComponent as dw, CoreLoadingSurfaceComponent as dx, CoreMccComponent as dy, CoreMonthPickerComponent as dz, TranslatePipe as e, LongTaskService as e$, EnumPermissionObjectType as e0, CorePermissionComponent as e1, CorePermissionActionsComponent as e2, CorePositionConcurrentSeekerComponent as e3, CorePositionSeekerComponent as e4, CoreQrcodeComponent as e5, EnumOparator as e6, CoreQueryBuilderComponent as e7, CoreReducerIconComponent as e8, CoreRotatingTextComponent as e9, CoreYearPickerComponent as eA, CoreYearSelectorComponent as eB, EnumCoreD3ScaleType as eC, CoreD3Service as eD, CorePieComponent as eE, CoreScatterPlotComponent as eF, EnumHrComparisonCode as eG, EnumICoreStatisticWidgetDataType as eH, CoreStatisticWidgetComponent as eI, DecisionComponent as eJ, EvaluateDialogComponent as eK, HuconcurrentlyComponent as eL, JobComponent as eM, LanguageChangerComponent as eN, DEFAULT_SVG as eO, ItemComponent as eP, NavigatorComponent as eQ, OtpInputComponent as eR, OtpInputService as eS, PageTitleComponent as eT, PaginationComponent as eU, FilterPipe as eV, normalizeHumanName as eW, PositionComponent as eX, PositionEditService as eY, CoreDatetimeService as eZ, FileService as e_, CoreRouteAccumulatorComponent as ea, CoreRoutingHistoryComponent as eb, CoreSalaryPolicyPickerComponent as ec, CoreScrollComponent as ed, CoreScrollLazyComponent as ee, CoreSeenByComponent as ef, CoreShiftCardComponent as eg, CoreShiftCellComponent as eh, CoreShiftCollectionComponent as ei, CoreShiftStickerComponent as ej, STICKER_COLOR_SCHEMA as ek, CoreStatusStickerComponent as el, CoreSubFormGroupComponent as em, CoreTabListComponent as en, CoreTagsComponent as eo, CoreTopicPickerComponent as ep, EnumCoreArticleCategoryTreeaAccessorMode as eq, CoreTopicTreeComponent as er, CoreTreeComponent as es, EnumCoreTreeGridEditMode as et, CoreTreeGridComponent as eu, CoreWageSeekerComponent as ev, CoreWorkingSeekerComponent as ew, coreWorkflowRoutes as ex, CoreWorkflowBuilderComponent as ey, CoreWorkflowGroupEditComponent as ez, CorePageListComponent as f, EnumRecursiveFields as f0, RecursiveService as f1, StringService as f2, UnicodeService as f3, StaffProfileComponent as f4, ThreedotsComponent as f5, TooltipComponent as f6, UserActivityComponent as f7, WageComponent as f8, tooltip_directive as f9, coreStickerCollection_component as fa, dragReorder_directive as fb, CoreCheckboxComponent as g, BaseEditComponent as h, EnumFormBaseContolType as i, DialogService as j, CorePageEditComponent as k, CoreTabsComponent as l, CoreWorkflowService as m, EnumCoreFormControlSeekerSourceType as n, CoreFormService as o, DbService as p, AiHintForColumnComponent as q, CoreWorkflowListComponent as r, CanDeactivateGuard as s, TableCellPipe as t, MapAvatarToServerPipe as u, alertOptions as v, SocketService as w, CoreFormDesignService as x, EnumWorkflowStepType as y, DomService as z };
44431
- //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-ls0sZJcJ.mjs.map
44416
+ export { READONLY_WORKFLOW_FIELDS as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumCoreTablePipeType as E, FullscreenModalLoaderComponent as F, CoreDropdownComponent as G, CoreChecklistComponent as H, ImageErrorResolverDirective as I, CoreDatePickerComponent as J, CoreFormControlSeekerComponent as K, CoreCurrencyInputComponent as L, MultiLanguageService as M, EnumActorSourceType as N, CoreParamControlComponent as O, CoreRadioGroupComponent as P, GptService as Q, CoreStickerCollectionComponent as R, StringHtmlPipe as S, TooltipDirective as T, ApplicationHelpService as U, HotKeysDirective as V, EnumCorePageEditMode as W, CoreFormComponent as X, NavigatorService as Y, JsonService as Z, EnumCoreButtonVNSCode as _, AppConfigService as a, CommonHttpRequestService as a$, noneAutoClosedAlertOptions as a0, CoreButtonGroupVnsComponent as a1, EnumFilterOperator as a2, HtmlTooltipDirective as a3, CoreControlNoFormArrayComponent as a4, EnumFormDesignMode as a5, CoreControlComponent as a6, JsonSafePipe as a7, CoreAttachmentComponent as a8, CoreMonthSelectorComponent as a9, EnumSortDirection as aA, EnumStyleButtonClass as aB, CanActivateFunctionUrlMapperGuard as aC, InitializationCanActivateFn as aD, InitializationCanMatchFn as aE, httpInterceptorProviders as aF, InterceptorSkipHeader as aG, appTypeInterceptor as aH, baseUrlInterceptor as aI, authInterceptor as aJ, graphInterceptor as aK, tokenInterceptor as aL, responseInterceptor as aM, timeZoneInterceptor as aN, cachingInterceptor as aO, langInterceptor 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_, EnumImageResolverType as aa, NormalizeHumanNamePipe as ab, CoreIosSwitcherComponent as ac, SunnyRotatingComponent as ad, MapAppdemoToServerPipePipe as ae, MapAttachmentToServerPipe as af, MapNewsfeedMediaToServerPipe as ag, UploadedFilenameCutoffPipe as ah, DialogStateComponent as ai, FooterComponent as aj, RightchatComponent as ak, WaittingScreenComponent as al, longAlertOptions as am, attachmentOptions as an, CORE_VNS_BUTTONS as ao, defaultPaging as ap, DESKTOP_SCREEN_HEDER_HEIGHT as aq, MOBILE_SCREEN_HEDER_HEIGHT as ar, themeBlue as as, DATE_VALUE_ACCESSOR as at, DateValueAccessor as au, EnumDragType as av, EnumErrorType as aw, EnumIconClass as ax, EnumProfileInfoSector as ay, EnumSignalRType as az, AlertService 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, CoreTerminalSpinnerComponent as c, coreDocGenRoutes 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, CoreActiveUserCountComponent as cA, NewlyCreatedTokenService as cB, CoreApiProgressComponent as cC, CoreButtonGroupComponent as cD, EnumCoreButtonCode as cE, ActionSvgEditComponent as cF, CoreButtonGroupService as cG, CoreButtonVnsComponent as cH, CoreComTreeComponent as cI, ComPartyService as cJ, CoreCommonParamKitComponent as cK, CoreCompareDbPipelineComponent as cL, CoreCompositionState as cM, CoreCompositionService as cN, CoreCompositionComponent as cO, CoreConfirmDialogComponent as cP, ConfirmDialogStateComponent as cQ, CoreLazyMountComponent as cR, CoreRootMenuItemPickerComponent as cS, CoreRootMenuItemPickerService as cT, ECoreTableToolCode as cU, ECoreTableToolClass as cV, CoreTableComponent as cW, CoreComProfileComponent as cX, CoreContractSeekerComponent as cY, CoreControlNoGridBufferComponent as cZ, CoreControlNoSeekerComponent as c_, coreSysActionRoutes as ca, SysActionComponent as cb, SysActionEditComponent as cc, SysFunctionActionComponent as cd, SysFunctionActionEditComponent as ce, SysFunctionActionMapperComponent as cf, SysFunctionUrlMapperComponent as cg, FunctionEditService as ch, SysModuleComponent as ci, SysModuleEditComponent as cj, SysRouteAccessComponent as ck, liner_to_nested_array_script as cl, blob_to_base64_script as cm, AlertComponent as cn, EnumAlertType as co, IAlertOptions as cp, AnimatedTextService as cq, AnimatedTextComponent as cr, BaseDropdownComponent as cs, ButtonGroupModule as ct, ButtonGroupService as cu, ButtonGroupComponent as cv, EnumButtonCaptionCode as cw, CoreButtonComponent as cx, CoreAccordionComponent as cy, CoreAccordionService as cz, CorePageHeaderComponent as d, CorePermissionService as d$, CoreDocgenToolbarComponent as d0, CoreEmployeeScheduleComponent as d1, CoreEmployeeSeekerComponent as d2, EnumCoreFileUploaderType as d3, CoreFileUploaderComponent as d4, CoreFilterHubComponent as d5, CoreFilterHubService as d6, ControlBase as d7, Textbox as d8, CoreControlService as d9, CoreNavigationTrackerComponent as dA, coreNavigationTrackerRoutes as dB, CoreOauthCallbackComponent as dC, CoreOauthCallbackOffice365Component as dD, EnumCoreOrgTreeaAccessorMode as dE, EnumCoreOrgTreeaSearchMode as dF, CoreOrgTreeComponent as dG, CoreOrgTreeState as dH, CoreOrgTreeService as dI, CoreOrgUnitSeekerComponent as dJ, CoreOrgchartflexComponent as dK, CoreOrgParamComponent as dL, EnumCorePageEditBootstrapClass as dM, EnumCorePageEditFieldType as dN, CorePageEditService as dO, CorePageEditLiteComponent as dP, CorePageEditTabComponent as dQ, EnumExType as dR, CorePageListService as dS, CorePageListState as dT, CorePageListContentComponent as dU, EnumCoreViewItemType as dV, CorePageViewComponent as dW, CorePaginationComponent as dX, CorePaginationFullComponent as dY, CorePaginationFullService as dZ, CoreFileFormatPickerComponent as d_, CustomValidators as da, URL_PATTERN as db, coreFormDesignRoutes as dc, CoreFormTabComponent as dd, CoreFormLiteComponent as de, CoreFormControlBaseComponent as df, EnumCoreSeekerColumnJob as dg, EnumCoreSeekerColumnStaffProfile as dh, EnumCoreSeekerColumnContract as di, EnumCoreSeekerColumnWorking as dj, EnumCoreSeekerColumnWage as dk, EnumCoreSeekerColumnPosition as dl, EnumCoreSeekerColumnPositionConcurrent as dm, EnumCoreSeekerColumnAutoForm as dn, SeekerService as dp, CoreGridBufferComponent as dq, CoreHeaderParamsComponent as dr, CoreHelperComponent as ds, CoreLineComponent as dt, CoreLiquidWysiwygComponent as du, CoreListComponent as dv, CoreListLazyComponent as dw, CoreLoadingSurfaceComponent as dx, CoreMccComponent as dy, CoreMonthPickerComponent as dz, TranslatePipe as e, LongTaskService as e$, EnumPermissionObjectType as e0, CorePermissionComponent as e1, CorePermissionActionsComponent as e2, CorePositionConcurrentSeekerComponent as e3, CorePositionSeekerComponent as e4, CoreQrcodeComponent as e5, EnumOparator as e6, CoreQueryBuilderComponent as e7, CoreReducerIconComponent as e8, CoreRotatingTextComponent as e9, CoreYearPickerComponent as eA, CoreYearSelectorComponent as eB, EnumCoreD3ScaleType as eC, CoreD3Service as eD, CorePieComponent as eE, CoreScatterPlotComponent as eF, EnumHrComparisonCode as eG, EnumICoreStatisticWidgetDataType as eH, CoreStatisticWidgetComponent as eI, DecisionComponent as eJ, EvaluateDialogComponent as eK, HuconcurrentlyComponent as eL, JobComponent as eM, LanguageChangerComponent as eN, DEFAULT_SVG as eO, ItemComponent as eP, NavigatorComponent as eQ, OtpInputComponent as eR, OtpInputService as eS, PageTitleComponent as eT, PaginationComponent as eU, FilterPipe as eV, normalizeHumanName as eW, PositionComponent as eX, PositionEditService as eY, CoreDatetimeService as eZ, FileService as e_, CoreRouteAccumulatorComponent as ea, CoreRoutingHistoryComponent as eb, CoreSalaryPolicyPickerComponent as ec, CoreScrollComponent as ed, CoreScrollLazyComponent as ee, CoreSeenByComponent as ef, CoreShiftCardComponent as eg, CoreShiftCellComponent as eh, CoreShiftCollectionComponent as ei, CoreShiftStickerComponent as ej, STICKER_COLOR_SCHEMA as ek, CoreStatusStickerComponent as el, CoreSubFormGroupComponent as em, CoreTabListComponent as en, CoreTagsComponent as eo, CoreTopicPickerComponent as ep, EnumCoreArticleCategoryTreeaAccessorMode as eq, CoreTopicTreeComponent as er, CoreTreeComponent as es, EnumCoreTreeGridEditMode as et, CoreTreeGridComponent as eu, CoreWageSeekerComponent as ev, CoreWorkingSeekerComponent as ew, coreWorkflowRoutes as ex, CoreWorkflowBuilderComponent as ey, CoreWorkflowGroupEditComponent as ez, CorePageListComponent as f, EnumRecursiveFields as f0, RecursiveService as f1, StringService as f2, UnicodeService as f3, StaffProfileComponent as f4, ThreedotsComponent as f5, TooltipComponent as f6, UserActivityComponent as f7, WageComponent as f8, tooltip_directive as f9, coreStickerCollection_component as fa, dragReorder_directive as fb, CoreCheckboxComponent as g, BaseEditComponent as h, EnumFormBaseContolType as i, DialogService as j, CorePageEditComponent as k, CoreTabsComponent as l, CoreWorkflowService as m, EnumCoreFormControlSeekerSourceType as n, CoreFormService as o, DbService as p, AiHintForColumnComponent as q, CoreWorkflowListComponent as r, CanDeactivateGuard as s, TableCellPipe as t, MapAvatarToServerPipe as u, alertOptions as v, SocketService as w, CoreFormDesignService as x, EnumWorkflowStepType as y, DomService as z };
44417
+ //# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs.map