ngx-histaff-alpha 6.5.6 → 6.5.8

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 (51) hide show
  1. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-BNbA3fDf.mjs → ngx-histaff-alpha-ai-hint-for-table.component-D-aOWHGS.mjs} +2 -2
  2. package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-BNbA3fDf.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-D-aOWHGS.mjs.map} +1 -1
  3. package/fesm2022/{ngx-histaff-alpha-core-form-design.component-DuSJHLRh.mjs → ngx-histaff-alpha-core-form-design.component-BVTTgVJ_.mjs} +41 -6
  4. package/fesm2022/ngx-histaff-alpha-core-form-design.component-BVTTgVJ_.mjs.map +1 -0
  5. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-NaZJ3ro3.mjs → ngx-histaff-alpha-core-sys-action.component-DFhyulUe.mjs} +2 -2
  6. package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-NaZJ3ro3.mjs.map → ngx-histaff-alpha-core-sys-action.component-DFhyulUe.mjs.map} +1 -1
  7. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-Deu-9aRa.mjs → ngx-histaff-alpha-core-template-editor.component-CgWJInFS.mjs} +2 -2
  8. package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-Deu-9aRa.mjs.map → ngx-histaff-alpha-core-template-editor.component-CgWJInFS.mjs.map} +1 -1
  9. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-DfwAFnjs.mjs → ngx-histaff-alpha-core-toast-loading.component-C8seLrYU.mjs} +2 -2
  10. package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-DfwAFnjs.mjs.map → ngx-histaff-alpha-core-toast-loading.component-C8seLrYU.mjs.map} +1 -1
  11. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-CvYPHnFs.mjs → ngx-histaff-alpha-core-workflow-consume.component-8uhiJo0N.mjs} +2 -2
  12. package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-CvYPHnFs.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-8uhiJo0N.mjs.map} +1 -1
  13. package/fesm2022/{ngx-histaff-alpha-db-settings.component-lhIOKhhZ.mjs → ngx-histaff-alpha-db-settings.component-D3ck4lov.mjs} +5 -5
  14. package/fesm2022/{ngx-histaff-alpha-db-settings.component-lhIOKhhZ.mjs.map → ngx-histaff-alpha-db-settings.component-D3ck4lov.mjs.map} +1 -1
  15. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-DVuhbEnf.mjs → ngx-histaff-alpha-design-wrapper.component-pHY8mxJv.mjs} +5 -5
  16. package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-DVuhbEnf.mjs.map → ngx-histaff-alpha-design-wrapper.component-pHY8mxJv.mjs.map} +1 -1
  17. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-C2B1gJIu.mjs → ngx-histaff-alpha-design-wrapper.route-DA6MU3Pw.mjs} +5 -5
  18. package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-C2B1gJIu.mjs.map → ngx-histaff-alpha-design-wrapper.route-DA6MU3Pw.mjs.map} +1 -1
  19. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-B04szxrx.mjs → ngx-histaff-alpha-hrm-schema.component-CpvUgIJz.mjs} +2 -2
  20. package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-B04szxrx.mjs.map → ngx-histaff-alpha-hrm-schema.component-CpvUgIJz.mjs.map} +1 -1
  21. package/fesm2022/{ngx-histaff-alpha-live-form.component-BvWXrRtX.mjs → ngx-histaff-alpha-live-form.component-COfqPEgw.mjs} +2 -2
  22. package/fesm2022/{ngx-histaff-alpha-live-form.component-BvWXrRtX.mjs.map → ngx-histaff-alpha-live-form.component-COfqPEgw.mjs.map} +1 -1
  23. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-CkTnS8xe.mjs → ngx-histaff-alpha-ngx-histaff-alpha-BajxGU0I.mjs} +29 -22
  24. package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-CkTnS8xe.mjs.map → ngx-histaff-alpha-ngx-histaff-alpha-BajxGU0I.mjs.map} +1 -1
  25. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-5DqRgw8L.mjs → ngx-histaff-alpha-simple-chat.component-DNZfJjdH.mjs} +2 -2
  26. package/fesm2022/{ngx-histaff-alpha-simple-chat.component-5DqRgw8L.mjs.map → ngx-histaff-alpha-simple-chat.component-DNZfJjdH.mjs.map} +1 -1
  27. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-DhCLcRFh.mjs → ngx-histaff-alpha-sys-smtp-client-edit.component-CP8QaqT9.mjs} +2 -2
  28. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-DhCLcRFh.mjs.map → ngx-histaff-alpha-sys-smtp-client-edit.component-CP8QaqT9.mjs.map} +1 -1
  29. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-MCOO--Am.mjs → ngx-histaff-alpha-sys-smtp-client.component-BUUIPCmJ.mjs} +2 -2
  30. package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-MCOO--Am.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-BUUIPCmJ.mjs.map} +1 -1
  31. package/fesm2022/{ngx-histaff-alpha-template-list.component-Mjx7cK_X.mjs → ngx-histaff-alpha-template-list.component-DAVKBTa4.mjs} +2 -2
  32. package/fesm2022/{ngx-histaff-alpha-template-list.component-Mjx7cK_X.mjs.map → ngx-histaff-alpha-template-list.component-DAVKBTa4.mjs.map} +1 -1
  33. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-C5p1X1O2.mjs → ngx-histaff-alpha-tracker-studio.component-BtPlEbdl.mjs} +2 -2
  34. package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-C5p1X1O2.mjs.map → ngx-histaff-alpha-tracker-studio.component-BtPlEbdl.mjs.map} +1 -1
  35. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-DqeGlyol.mjs → ngx-histaff-alpha-wf-form-assign.component-DeRrXcfA.mjs} +2 -2
  36. package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-DqeGlyol.mjs.map → ngx-histaff-alpha-wf-form-assign.component-DeRrXcfA.mjs.map} +1 -1
  37. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-qUWl3a9_.mjs → ngx-histaff-alpha-wf-global-config.component-BrZGmD1D.mjs} +2 -2
  38. package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-qUWl3a9_.mjs.map → ngx-histaff-alpha-wf-global-config.component-BrZGmD1D.mjs.map} +1 -1
  39. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DLU7D4QT.mjs → ngx-histaff-alpha-wf-instance-status.component-VSLX5WCS.mjs} +2 -2
  40. package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DLU7D4QT.mjs.map → ngx-histaff-alpha-wf-instance-status.component-VSLX5WCS.mjs.map} +1 -1
  41. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-BPj2aWSt.mjs → ngx-histaff-alpha-wf-instance-step-react.component-C55eu54_.mjs} +3 -3
  42. package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-BPj2aWSt.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-C55eu54_.mjs.map} +1 -1
  43. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-D8D2vIh3.mjs → ngx-histaff-alpha-wf-lab.component-D8Ol11rG.mjs} +2 -2
  44. package/fesm2022/{ngx-histaff-alpha-wf-lab.component-D8D2vIh3.mjs.map → ngx-histaff-alpha-wf-lab.component-D8Ol11rG.mjs.map} +1 -1
  45. package/fesm2022/ngx-histaff-alpha.mjs +1 -1
  46. package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -1
  47. package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +1 -1
  48. package/lib/app/libraries/core-form-design/field-setting/mandatory-props/mandatory-props.component.d.ts +2 -0
  49. package/lib/app/libraries/core-org-param-dropdown/core-org-param-dropdown.component.d.ts +1 -0
  50. package/package.json +2 -2
  51. package/fesm2022/ngx-histaff-alpha-core-form-design.component-DuSJHLRh.mjs.map +0 -1
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { input, signal, inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
5
- import { B as BaseComponent, q as DbService, n as CoreWorkflowService, e as TranslatePipe, T as TooltipDirective } from './ngx-histaff-alpha-ngx-histaff-alpha-CkTnS8xe.mjs';
5
+ import { B as BaseComponent, q as DbService, n as CoreWorkflowService, e as TranslatePipe, T as TooltipDirective } from './ngx-histaff-alpha-ngx-histaff-alpha-BajxGU0I.mjs';
6
6
  import { take } from 'rxjs';
7
7
 
8
8
  class AiHintForTableComponent extends BaseComponent {
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
50
50
  }] });
51
51
 
52
52
  export { AiHintForTableComponent };
53
- //# sourceMappingURL=ngx-histaff-alpha-ai-hint-for-table.component-BNbA3fDf.mjs.map
53
+ //# sourceMappingURL=ngx-histaff-alpha-ai-hint-for-table.component-D-aOWHGS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-histaff-alpha-ai-hint-for-table.component-BNbA3fDf.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/db-settings/ai-hint-for-table/ai-hint-for-table.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/db-settings/ai-hint-for-table/ai-hint-for-table.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input, signal } from '@angular/core';\r\nimport { IWorkflowSchemaTable } from '../../interfaces/IWorkflowSchema';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslatePipe } from '../../../../app-pipes/translate.pipe';\r\nimport { TooltipDirective } from '../../../tooltip/tooltip.directive';\r\nimport { BaseComponent } from '../../../base-component/base/base.component';\r\nimport { DbService } from '../../../../services/db.service';\r\nimport { CoreWorkflowService } from '../../core-workflow.service';\r\nimport { take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ai-hint-for-table',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TranslatePipe,\r\n TooltipDirective,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './ai-hint-for-table.component.html',\r\n styleUrl: './ai-hint-for-table.component.scss'\r\n})\r\nexport class AiHintForTableComponent extends BaseComponent {\r\n $table = input.required<IWorkflowSchemaTable>()\r\n\r\n $editing = signal(false);\r\n hintControl = new FormControl('');\r\n\r\n dbs = inject(DbService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n override ngOnInit() {\r\n this.subscriptions.push(\r\n this.mls.lang$.subscribe(x => this.lang = x)\r\n )\r\n this.hintControl.setValue(this.$table().hintForAi || '');\r\n }\r\n\r\n startEditing(): void {\r\n this.$editing.set(true);\r\n }\r\n\r\n save(): void {\r\n this.$editing.set(false);\r\n this.wfs.$workflowDbSchema.update(current => {\r\n const founds = current.filter(x => x.id === this.$table().id);\r\n if (founds) {\r\n founds[0].hintForAi = this.hintControl.getRawValue() ?? ''\r\n }\r\n return [...current];\r\n })\r\n this.dbs.updateTableHint(this.$table().table, this.hintControl.getRawValue() ?? '')\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => console.log('Hint saved'),\r\n error: err => console.error('Failed to save hint', err)\r\n });\r\n }\r\n}\r\n","<span class=\"ai-table-hint-wrapper\">\r\n @if (!$editing()) {\r\n <i\r\n class=\"feather feather-more-vertical ai-table-icon\"\r\n [appTooltip]=\"'Edit Hint for AI' | translate : lang\" [showAnyway]=\"true\"\r\n (click)=\"startEditing()\">\r\n </i>\r\n } @else {\r\n <input\r\n type=\"text\"\r\n class=\"form-control form-control-sm ai-table-hint-input\"\r\n [formControl]=\"hintControl\"\r\n (blur)=\"save()\"\r\n (keydown.enter)=\"save()\" />\r\n }\r\n</span>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-histaff-alpha-ai-hint-for-table.component-D-aOWHGS.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/db-settings/ai-hint-for-table/ai-hint-for-table.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/db-settings/ai-hint-for-table/ai-hint-for-table.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input, signal } from '@angular/core';\r\nimport { IWorkflowSchemaTable } from '../../interfaces/IWorkflowSchema';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslatePipe } from '../../../../app-pipes/translate.pipe';\r\nimport { TooltipDirective } from '../../../tooltip/tooltip.directive';\r\nimport { BaseComponent } from '../../../base-component/base/base.component';\r\nimport { DbService } from '../../../../services/db.service';\r\nimport { CoreWorkflowService } from '../../core-workflow.service';\r\nimport { take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ai-hint-for-table',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TranslatePipe,\r\n TooltipDirective,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './ai-hint-for-table.component.html',\r\n styleUrl: './ai-hint-for-table.component.scss'\r\n})\r\nexport class AiHintForTableComponent extends BaseComponent {\r\n $table = input.required<IWorkflowSchemaTable>()\r\n\r\n $editing = signal(false);\r\n hintControl = new FormControl('');\r\n\r\n dbs = inject(DbService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n override ngOnInit() {\r\n this.subscriptions.push(\r\n this.mls.lang$.subscribe(x => this.lang = x)\r\n )\r\n this.hintControl.setValue(this.$table().hintForAi || '');\r\n }\r\n\r\n startEditing(): void {\r\n this.$editing.set(true);\r\n }\r\n\r\n save(): void {\r\n this.$editing.set(false);\r\n this.wfs.$workflowDbSchema.update(current => {\r\n const founds = current.filter(x => x.id === this.$table().id);\r\n if (founds) {\r\n founds[0].hintForAi = this.hintControl.getRawValue() ?? ''\r\n }\r\n return [...current];\r\n })\r\n this.dbs.updateTableHint(this.$table().table, this.hintControl.getRawValue() ?? '')\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => console.log('Hint saved'),\r\n error: err => console.error('Failed to save hint', err)\r\n });\r\n }\r\n}\r\n","<span class=\"ai-table-hint-wrapper\">\r\n @if (!$editing()) {\r\n <i\r\n class=\"feather feather-more-vertical ai-table-icon\"\r\n [appTooltip]=\"'Edit Hint for AI' | translate : lang\" [showAnyway]=\"true\"\r\n (click)=\"startEditing()\">\r\n </i>\r\n } @else {\r\n <input\r\n type=\"text\"\r\n class=\"form-control form-control-sm ai-table-hint-input\"\r\n [formControl]=\"hintControl\"\r\n (blur)=\"save()\"\r\n (keydown.enter)=\"save()\" />\r\n }\r\n</span>\r\n"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ChangeDetectorRef, Component, signal, effect, HostListener, ChangeDetectionStrategy, Injectable, computed, Input, viewChild, EventEmitter, Output, ViewContainerRef, input, Renderer2, isDevMode } from '@angular/core';
3
3
  import { trigger, state, transition, style, animate } from '@angular/animations';
4
- import { y as CoreFormDesignService, n as CoreWorkflowService, h as BaseEditComponent, b as AlertService, a as AppConfigService, X as EnumCorePageEditMode, $ as EnumCoreButtonVNSCode, a0 as READONLY_WORKFLOW_FIELDS, a1 as noneAutoClosedAlertOptions, i as DialogService, M as MultiLanguageService, d as CorePageHeaderComponent, Y as CoreFormComponent, a2 as CoreButtonGroupVnsComponent, e as TranslatePipe, E as EnumFormBaseContolType, B as BaseComponent, k as EnumCoreTablePipeType, l as CoreCheckboxComponent, H as CoreDropdownComponent, o as EnumCoreFormControlSeekerSourceType, a3 as EnumFilterOperator, q as DbService, R as GptService, w as alertOptions, U as CoreStickerCollectionComponent, Q as CoreRadioGroupComponent, T as TooltipDirective, a4 as HtmlTooltipDirective, a5 as CoreControlNoFormArrayComponent, a6 as EnumFormDesignMode, G as DomService, _ as JsonService, V as ApplicationHelpService, a7 as CoreControlComponent, a8 as JsonSafePipe, u as TableCellPipe, W as HotKeysDirective, J as CoreChecklistComponent, L as CoreFormControlSeekerComponent, a9 as CoreAttachmentComponent, K as CoreDatePickerComponent, aa as CoreMonthSelectorComponent, N as CoreCurrencyInputComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-CkTnS8xe.mjs';
4
+ import { y as CoreFormDesignService, n as CoreWorkflowService, h as BaseEditComponent, b as AlertService, a as AppConfigService, X as EnumCorePageEditMode, $ as EnumCoreButtonVNSCode, a0 as READONLY_WORKFLOW_FIELDS, a1 as noneAutoClosedAlertOptions, i as DialogService, M as MultiLanguageService, d as CorePageHeaderComponent, Y as CoreFormComponent, a2 as CoreButtonGroupVnsComponent, e as TranslatePipe, E as EnumFormBaseContolType, B as BaseComponent, w as alertOptions, k as EnumCoreTablePipeType, l as CoreCheckboxComponent, H as CoreDropdownComponent, o as EnumCoreFormControlSeekerSourceType, a3 as EnumFilterOperator, q as DbService, R as GptService, U as CoreStickerCollectionComponent, Q as CoreRadioGroupComponent, T as TooltipDirective, a4 as HtmlTooltipDirective, a5 as CoreControlNoFormArrayComponent, a6 as EnumFormDesignMode, G as DomService, _ as JsonService, V as ApplicationHelpService, a7 as CoreControlComponent, a8 as JsonSafePipe, u as TableCellPipe, W as HotKeysDirective, J as CoreChecklistComponent, L as CoreFormControlSeekerComponent, a9 as CoreAttachmentComponent, K as CoreDatePickerComponent, aa as CoreMonthSelectorComponent, N as CoreCurrencyInputComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-BajxGU0I.mjs';
5
5
  import * as i1 from '@angular/forms';
6
6
  import { FormsModule, FormGroup, FormControl, ReactiveFormsModule, FormArray, Validators } from '@angular/forms';
7
7
  import { NgStyle, JsonPipe, AsyncPipe, NgTemplateOutlet } from '@angular/common';
8
8
  import { BehaviorSubject, catchError, of, filter, distinctUntilChanged, tap, switchMap } from 'rxjs';
9
9
  import { Router, ActivatedRoute } from '@angular/router';
10
10
  import { EnumTranslateKey } from 'alpha-global-constants';
11
- import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-BvWXrRtX.mjs';
12
- import { C as CoreToastLoadingComponent } from './ngx-histaff-alpha-core-toast-loading.component-DfwAFnjs.mjs';
11
+ import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-COfqPEgw.mjs';
12
+ import { C as CoreToastLoadingComponent } from './ngx-histaff-alpha-core-toast-loading.component-C8seLrYU.mjs';
13
13
 
14
14
  const slideFromTopFadeIn = trigger('slideFromTopFadeIn', [
15
15
  state('in', style({ opacity: 1, transform: 'translateY(0)' })),
@@ -385,15 +385,50 @@ class MandatoryPropsComponent extends BasePropsComponent {
385
385
  return field;
386
386
  });
387
387
  }
388
+ /*
389
+ onFieldChange(val: string) {
390
+ this.setControlProp('field', val);
391
+
392
+ const expected = this.$typedField();
393
+ const actual = this.$fieldInputRef()?.nativeElement.value;
394
+
395
+ if (!!actual && actual !== expected) {
396
+ console.warn('Manual fix: input mismatch detected. Forcing value reset.');
397
+ this.$fieldInputRef()!.nativeElement.value = expected;
398
+ }
399
+ }
400
+ */
388
401
  onFieldChange(val) {
389
- this.setControlProp('field', val);
402
+ let nextVal = val;
403
+ if (!this.isCamelCase(val)) {
404
+ const fixed = this.toCamelCase(val);
405
+ this.as.warn(`[FormDesign] Field name "${val}" is not camelCase. Auto-corrected to "${fixed}".`, alertOptions);
406
+ nextVal = fixed;
407
+ // fix input UI ngay lập tức
408
+ const inputEl = this.$fieldInputRef()?.nativeElement;
409
+ if (inputEl) {
410
+ inputEl.value = fixed;
411
+ }
412
+ }
413
+ // cập nhật state chuẩn hoá
414
+ this.setControlProp('field', nextVal);
415
+ // safety net: sync ngược nếu DOM lệch state
390
416
  const expected = this.$typedField();
391
417
  const actual = this.$fieldInputRef()?.nativeElement.value;
392
418
  if (!!actual && actual !== expected) {
393
- console.warn('Manual fix: input mismatch detected. Forcing value reset.');
419
+ this.as.warn('[FormDesign] Manual fix: input mismatch detected. Forcing value reset.', alertOptions);
394
420
  this.$fieldInputRef().nativeElement.value = expected;
395
421
  }
396
422
  }
423
+ isCamelCase(value) {
424
+ return /^[a-z][a-zA-Z0-9]*$/.test(value);
425
+ }
426
+ toCamelCase(value) {
427
+ return value
428
+ .trim()
429
+ .replace(/[_\-\s]+(.)?/g, (_, c) => c ? c.toUpperCase() : '')
430
+ .replace(/^[A-Z]/, c => c.toLowerCase());
431
+ }
397
432
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MandatoryPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
398
433
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: MandatoryPropsComponent, isStandalone: true, selector: "mandatory-props", viewQueries: [{ propertyName: "$fieldInputRef", first: true, predicate: ["fieldInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group mandatory-group\" [ngStyle]=\"{ padding: '15px', maxWidth: '352px' }\">\r\n\r\n <div class=\"setting-row\">\r\n <label>Field</label>\r\n <input #fieldInput class=\"form-control\" type=\"text\" \r\n [ngModel]=\"$typedField()\" \r\n (ngModelChange)=\"onFieldChange($event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Label</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control()?.label\" (ngModelChange)=\"setControlProp('label', $event)\" />\r\n </div>\r\n\r\n @if ($isNormalField()) {\r\n\r\n <div class=\"setting-row\">\r\n <label>Flex Size</label>\r\n <input class=\"form-control\" type=\"number\" [ngModel]=\"$control()?.flexSize\" (ngModelChange)=\"setControlProp('flexSize', $event)\" />\r\n </div>\r\n\r\n @if ($control()?.controlType !== 'FORM_ARRAY') {\r\n <div class=\"setting-row\">\r\n <label>Default</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control()?.value\" (ngModelChange)=\"setControlProp('value', $event)\" />\r\n </div>\r\n }\r\n }\r\n\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
399
434
  }
@@ -3473,4 +3508,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
3473
3508
  }], ctorParameters: () => [{ type: MultiLanguageService }] });
3474
3509
 
3475
3510
  export { CoreFormDesignComponent };
3476
- //# sourceMappingURL=ngx-histaff-alpha-core-form-design.component-DuSJHLRh.mjs.map
3511
+ //# sourceMappingURL=ngx-histaff-alpha-core-form-design.component-BVTTgVJ_.mjs.map