ngx-histaff-alpha 6.4.9 → 6.5.1
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.
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CKKqdgg7.mjs → ngx-histaff-alpha-ai-hint-for-table.component-DhBqauNx.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-CKKqdgg7.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-DhBqauNx.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs → ngx-histaff-alpha-core-form-design.component-Dmyybeb_.mjs} +7 -7
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-BZvtwXkM.mjs.map → ngx-histaff-alpha-core-form-design.component-Dmyybeb_.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs → ngx-histaff-alpha-core-sys-action.component-UfD0T26v.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-C_VAQLOE.mjs.map → ngx-histaff-alpha-core-sys-action.component-UfD0T26v.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs → ngx-histaff-alpha-core-template-editor.component-Cw6YWp9k.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-DmTad7AG.mjs.map → ngx-histaff-alpha-core-template-editor.component-Cw6YWp9k.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-C3JfOCoY.mjs → ngx-histaff-alpha-core-toast-loading.component-BzzDWvD4.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-C3JfOCoY.mjs.map → ngx-histaff-alpha-core-toast-loading.component-BzzDWvD4.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs → ngx-histaff-alpha-core-workflow-consume.component-B-1etgNS.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BvFyWEqO.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-B-1etgNS.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs → ngx-histaff-alpha-db-settings.component-DPyAx1Q4.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-CmO49AZU.mjs.map → ngx-histaff-alpha-db-settings.component-DPyAx1Q4.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs → ngx-histaff-alpha-design-wrapper.component-CjxilIwB.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-BpGl04Dv.mjs.map → ngx-histaff-alpha-design-wrapper.component-CjxilIwB.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs → ngx-histaff-alpha-design-wrapper.route-DytGE-5i.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-D3Lpsk-N.mjs.map → ngx-histaff-alpha-design-wrapper.route-DytGE-5i.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs → ngx-histaff-alpha-hrm-schema.component-BHK4UOV7.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-Bd3CdbC_.mjs.map → ngx-histaff-alpha-hrm-schema.component-BHK4UOV7.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-live-form.component-LdFysTvc.mjs → ngx-histaff-alpha-live-form.component-BtFsmENq.mjs} +17 -9
- package/fesm2022/ngx-histaff-alpha-live-form.component-BtFsmENq.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.mjs → ngx-histaff-alpha-ngx-histaff-alpha-BKS3X7uD.mjs} +662 -84
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-BKS3X7uD.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs → ngx-histaff-alpha-simple-chat.component-BFbFZDkU.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-Bijz8uoH.mjs.map → ngx-histaff-alpha-simple-chat.component-BFbFZDkU.mjs.map} +1 -1
- package/fesm2022/ngx-histaff-alpha-sys-smtp-client-edit.component-CUx8Y2GD.mjs +214 -0
- package/fesm2022/ngx-histaff-alpha-sys-smtp-client-edit.component-CUx8Y2GD.mjs.map +1 -0
- package/fesm2022/ngx-histaff-alpha-sys-smtp-client.component-D5nr_VuF.mjs +100 -0
- package/fesm2022/ngx-histaff-alpha-sys-smtp-client.component-D5nr_VuF.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs → ngx-histaff-alpha-template-list.component-CLR9M50i.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-template-list.component-CKNXhE7n.mjs.map → ngx-histaff-alpha-template-list.component-CLR9M50i.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs → ngx-histaff-alpha-tracker-studio.component-Bylv6weW.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BLFeI6xO.mjs.map → ngx-histaff-alpha-tracker-studio.component-Bylv6weW.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs → ngx-histaff-alpha-wf-form-assign.component-C48S7dLk.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-nct49SFr.mjs.map → ngx-histaff-alpha-wf-form-assign.component-C48S7dLk.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs → ngx-histaff-alpha-wf-global-config.component-D8pB18k4.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BSuUBIrY.mjs.map → ngx-histaff-alpha-wf-global-config.component-D8pB18k4.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs → ngx-histaff-alpha-wf-instance-status.component-Jx5IoUzX.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-B58W1ZBc.mjs.map → ngx-histaff-alpha-wf-instance-status.component-Jx5IoUzX.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs → ngx-histaff-alpha-wf-instance-step-react.component-BsYxOgd7.mjs} +3 -3
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-iyoN_zDV.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-BsYxOgd7.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs → ngx-histaff-alpha-wf-lab.component-Cq4PAuZK.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-Db5dIgKZ.mjs.map → ngx-histaff-alpha-wf-lab.component-Cq4PAuZK.mjs.map} +1 -1
- package/fesm2022/ngx-histaff-alpha.mjs +1 -1
- package/lib/app/directives/html-tooltip.directive.d.ts +2 -1
- package/lib/app/directives/image-error-resolver.directive.d.ts +5 -2
- package/lib/app/libraries/core-form-design/core-form-design.component.d.ts +1 -1
- package/lib/app/libraries/core-form-design/core-form-group-editor.component.d.ts +1 -1
- package/lib/app/libraries/core-orgchartflex/core-orgchartflex/core-orgchartflex.component.d.ts +7 -1
- package/lib/app/libraries/core-orgchartflex-wrapper/IOrgPosition.d.ts +24 -0
- package/lib/app/libraries/core-orgchartflex-wrapper/IOrgRawItem.d.ts +15 -0
- package/lib/app/libraries/core-orgchartflex-wrapper/ITenmaTreeItem.d.ts +4 -0
- package/lib/app/libraries/core-orgchartflex-wrapper/core-orgchartflex-wrapper.component.d.ts +75 -0
- package/lib/app/libraries/core-orgchartflex-wrapper/core-orgchartflex-wrapper.routes.d.ts +2 -0
- package/lib/app/libraries/core-orgchartflex-wrapper/tenma-card/tenma-card.component.d.ts +49 -0
- package/lib/app/libraries/core-workflow-builder/interfaces/IWorkflowReactContext.d.ts +2 -0
- package/lib/app/root/sys-smtp-client/sys-smtp-client-edit/sys-smtp-client-edit.component.d.ts +20 -0
- package/lib/app/root/sys-smtp-client/sys-smtp-client.component.d.ts +20 -0
- package/lib/app/root/sys-smtp-client/sys-smtp-client.routes.d.ts +2 -0
- package/lib/app/services/app-config.service.d.ts +2 -0
- package/package.json +2 -2
- package/public-api.d.ts +3 -0
- package/fesm2022/ngx-histaff-alpha-live-form.component-LdFysTvc.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-TWTSrQ0J.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,
|
|
5
|
+
import { B as BaseComponent, q as DbService, n as CoreWorkflowService, e as TranslatePipe, T as TooltipDirective } from './ngx-histaff-alpha-ngx-histaff-alpha-BKS3X7uD.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-
|
|
53
|
+
//# sourceMappingURL=ngx-histaff-alpha-ai-hint-for-table.component-DhBqauNx.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-histaff-alpha-ai-hint-for-table.component-
|
|
1
|
+
{"version":3,"file":"ngx-histaff-alpha-ai-hint-for-table.component-DhBqauNx.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":";;;;;;;AAqBM,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAX1D,IAAA,WAAA,GAAA;;AAYE,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAwB;AAE/C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC;AAEjC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AACvB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;AA6BlC;IA3BU,QAAQ,GAAA;QACf,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAC7C;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;;IAG1D,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;;IAGzB,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,IAAG;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,MAAM,EAAE;AACV,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE;;AAE5D,YAAA,OAAO,CAAC,GAAG,OAAO,CAAC;AACrB,SAAC,CAAC;QACI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE;AACjF,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACrC,YAAA,KAAK,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG;AACvD,SAAA,CAAC;;8GAlCC,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,0OCrBpC,8gBAgBA,EAAA,MAAA,EAAA,CAAA,4RAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDFI,aAAa,EACb,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,sIAChB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKV,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAXnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,aAAa;wBACb,gBAAgB;wBAChB,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,8gBAAA,EAAA,MAAA,EAAA,CAAA,4RAAA,CAAA,EAAA;;;;;"}
|
|
@@ -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 {
|
|
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-BKS3X7uD.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-
|
|
12
|
-
import { C as CoreToastLoadingComponent } from './ngx-histaff-alpha-core-toast-loading.component-
|
|
11
|
+
import { L as LiveFormComponent } from './ngx-histaff-alpha-live-form.component-BtFsmENq.mjs';
|
|
12
|
+
import { C as CoreToastLoadingComponent } from './ngx-histaff-alpha-core-toast-loading.component-BzzDWvD4.mjs';
|
|
13
13
|
|
|
14
14
|
const slideFromTopFadeIn = trigger('slideFromTopFadeIn', [
|
|
15
15
|
state('in', style({ opacity: 1, transform: 'translateY(0)' })),
|
|
@@ -1417,7 +1417,7 @@ class FieldSettingComponent extends BaseComponent {
|
|
|
1417
1417
|
this.listenerFn();
|
|
1418
1418
|
}
|
|
1419
1419
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FieldSettingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1420
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: FieldSettingComponent, isStandalone: true, selector: "field-setting", inputs: { $isNested: { classPropertyName: "$isNested", publicName: "$isNested", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"field-setting-container\">\r\n\r\n @if (!!$control()) {\r\n <div class=\"panel-caption-header\">\r\n <div class=\"panel-caption\">\r\n Editing: {{ (!!$control() && $control()!.type !== 'calculated') ? $control()?.controlType + ' - ' : '' }}{{ $control()?.field ||\r\n 'Unnamed' }}\r\n </div>\r\n @if (!$isNested()) {\r\n <div class=\"close-wrapper pointer\" (click)=\"closeFieldSettingPanel()\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n }\r\n </div>\r\n\r\n\r\n <div class=\"field-setting-content\">\r\n\r\n\r\n @if (!!$control() && $control()!.type === 'calculated') {\r\n\r\n <div class=\"group-title mandatory\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-lock\"></i>\r\n </div>\r\n <div class=\"group-name\">Mandatory</div>\r\n </div>\r\n <mandatory-props [isNested]=\"$isNested()\"></mandatory-props>\r\n\r\n <div class=\"group-title calculated\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-lock\"></i>\r\n </div>\r\n <div class=\"group-name\">Calculated Rule<i class=\"feather-help-circle\" [htmlTooltip]=\"aboutCalculatedField\"\r\n [maxWidthUnset]=\"true\"></i></div>\r\n </div>\r\n <calculated-props [isNested]=\"$isNested()\"></calculated-props>\r\n\r\n\r\n } @else {\r\n\r\n <div class=\"group-title mandatory\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-lock\"></i>\r\n </div>\r\n <div class=\"group-name\">Mandatory</div>\r\n </div>\r\n <mandatory-props [isNested]=\"$isNested()\"></mandatory-props>\r\n\r\n <!-- <div class=\"setting-divider\"></div> -->\r\n\r\n @if (!!$control() && $control()!.controlType !== 'FORM_ARRAY') {\r\n <div class=\"group-title optional\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-sliders\"></i>\r\n </div>\r\n <div class=\"group-name\">Optional</div>\r\n </div>\r\n <optional-props [isNested]=\"$isNested()\"></optional-props>\r\n\r\n <!-- <div class=\"setting-divider\"></div> -->\r\n\r\n <div class=\"group-title validators\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-check-square\"></i>\r\n </div>\r\n <div class=\"group-name\">Validators</div>\r\n </div>\r\n <validator-editor [isNested]=\"$isNested()\"></validator-editor>\r\n }\r\n\r\n @if (!!$control() && !($control()!.controlType === 'TEXTBOX' && ['string', 'text', 'email'].includes(($control()!.type ||\r\n '').toLowerCase()))) {\r\n\r\n <div class=\"group-title\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-check-square\"></i>\r\n </div>\r\n <div class=\"group-name\">{{ getFriendlyControlLabel($control()) }} Settings</div>\r\n </div>\r\n\r\n <props-host \r\n [type]=\"$resolvedType()\"\r\n [props]=\"$props()\"\r\n [isNested]=\"$isNested()\"\r\n ></props-host>\r\n\r\n\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n\r\n\r\n</div>\r\n\r\n<ng-template #aboutCalculatedField>\r\n\r\n <div class=\"calculated-field-rule\" style=\"padding: 1rem; border-radius: 8px; background: #000; width: 800px;\">\r\n <h4 style=\"margin-top: 0; color: #fff;\">Calculated Field Rule</h4>\r\n <p><strong>Calculated fields</strong> are invisible boolean fields evaluated based on form inputs and logic. They\r\n help drive dynamic workflow behavior, such as conditional routing or validation triggers.</p>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Key Properties</h5>\r\n <ul style=\"margin-top: 0;\">\r\n <li><strong>script:</strong> Expression to evaluate (e.g.,\r\n <code>leaveDays > 3 && status == 'Approved'</code>)</li>\r\n <li><strong>evaluationMode:</strong> <code>\"in-memory\"</code> or <code>\"sql-query\"</code></li>\r\n <li><strong>dependsOn[]:</strong> List of field names the script depends on</li>\r\n <li><strong>filterMode:</strong> <code>\"HardBlock\"</code> or <code>\"SoftWarn\"</code></li>\r\n </ul>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Evaluation Modes</h5>\r\n <ul style=\"margin-top: 0;\">\r\n <li>\r\n <strong>in-memory:</strong> Uses <code>DynamicExpresso</code> to evaluate C#-like logic at runtime<br />\r\n <small>Example: <code>leaveType == \"ANNUAL\" && leaveDays < 5</code></small>\r\n </li>\r\n <li>\r\n <strong>sql-query:</strong> Runs backend SQL to evaluate conditions via\r\n <code>SELECT CASE WHEN ... THEN 1 ELSE 0 END</code><br />\r\n <small>Example:\r\n <code>SELECT CASE WHEN QUOTA > 0 THEN 1 ELSE 0 END FROM LEAVE_QUOTA WHERE EMPLOYEE_ID = {{ '@' }}employeeId</code></small>\r\n </li>\r\n </ul>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Use Cases</h5>\r\n <ul style=\"margin-top: 0;\">\r\n <li>Validate complex logic without showing the field</li>\r\n <li>Route to a different workflow branch based on hidden logic</li>\r\n <li>Trigger warning or block submission based on business rules</li>\r\n </ul>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Example</h5>\r\n <pre style=\"color: #eee; padding: 0.5rem 1rem; border-radius: 4px; overflow-x: auto;\">\r\n {{ '{' }}\r\n \"script\": \"leaveDays > 3 && status == 'APPROVED'\",\r\n \"evaluationMode\": \"in-memory\",\r\n \"dependsOn\": [\"leaveDays\", \"status\"],\r\n \"filterMode\": \"HardBlock\"\r\n {{ '}' }}\r\n </pre>\r\n </div>\r\n\r\n\r\n</ng-template>", styles: [".field-setting-container{max-height:100%;overflow-x:hidden;overflow-y:auto}.field-setting-container .field-setting-content{padding:15px}.field-setting-container .panel-caption-header{display:flex;align-items:center;justify-content:space-between;padding:15px;height:60px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;color:#1f2937}.field-setting-container .panel-caption-header .panel-caption{flex-grow:1}.field-setting-container .panel-caption-header .close-wrapper{display:flex;align-items:center;justify-content:center;background-color:#f1f5f9;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:background-color .2s}.field-setting-container .panel-caption-header .close-wrapper:hover{background-color:#e2e8f0}.field-setting-container .setting-divider{margin:1.5rem 0 .75rem;color:#555;border-top:1px dashed #ccc;padding-top:.5rem}.field-setting-container .group-title{display:flex;height:35px;align-items:center;gap:8px;background-color:#87ceeb;padding:6px 12px;font-weight:600;color:#1f2937;font-size:13px;margin:12px 0 4px;box-shadow:0 1px 2px #0000000d}.field-setting-container .group-title .icon-wrapper{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#1f2937}.field-setting-container .group-title .icon-wrapper i{width:16px;height:16px;stroke-width:2}.field-setting-container .group-title.mandatory{background-color:#ffecb3}.field-setting-container .group-title.optional{background-color:#d0f0fd}.field-setting-container .group-title.validators{background-color:#e8f5e9}.field-setting-container .group-title .group-name{flex:1}.field-setting-container .group-title .group-name .feather-help-circle{display:inline-block;margin-left:8px}.field-setting-container .calculated-field-rule{font-family:system-ui,sans-serif;border:1px solid #ccc;padding:1rem;border-radius:8px}.field-setting-container .calculated-field-rule h2{margin-top:0;color:#2b3e50}.field-setting-container .calculated-field-rule pre{background:#eee;padding:.5rem 1rem;border-radius:4px;overflow-x:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: MandatoryPropsComponent, selector: "mandatory-props" }, { kind: "component", type: OptionalPropsComponent, selector: "optional-props" }, { kind: "component", type: ValidatorEditorComponent, selector: "validator-editor" }, { kind: "component", type: PropsHostComponent, selector: "props-host", inputs: ["isNested", "type", "props"] }, { kind: "component", type: CalculatedPropsComponent, selector: "calculated-props" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "backgroundColor", "hold$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1420
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: FieldSettingComponent, isStandalone: true, selector: "field-setting", inputs: { $isNested: { classPropertyName: "$isNested", publicName: "$isNested", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"field-setting-container\">\r\n\r\n @if (!!$control()) {\r\n <div class=\"panel-caption-header\">\r\n <div class=\"panel-caption\">\r\n Editing: {{ (!!$control() && $control()!.type !== 'calculated') ? $control()?.controlType + ' - ' : '' }}{{ $control()?.field ||\r\n 'Unnamed' }}\r\n </div>\r\n @if (!$isNested()) {\r\n <div class=\"close-wrapper pointer\" (click)=\"closeFieldSettingPanel()\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n }\r\n </div>\r\n\r\n\r\n <div class=\"field-setting-content\">\r\n\r\n\r\n @if (!!$control() && $control()!.type === 'calculated') {\r\n\r\n <div class=\"group-title mandatory\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-lock\"></i>\r\n </div>\r\n <div class=\"group-name\">Mandatory</div>\r\n </div>\r\n <mandatory-props [isNested]=\"$isNested()\"></mandatory-props>\r\n\r\n <div class=\"group-title calculated\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-lock\"></i>\r\n </div>\r\n <div class=\"group-name\">Calculated Rule<i class=\"feather-help-circle\" [htmlTooltip]=\"aboutCalculatedField\"\r\n [maxWidthUnset]=\"true\"></i></div>\r\n </div>\r\n <calculated-props [isNested]=\"$isNested()\"></calculated-props>\r\n\r\n\r\n } @else {\r\n\r\n <div class=\"group-title mandatory\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-lock\"></i>\r\n </div>\r\n <div class=\"group-name\">Mandatory</div>\r\n </div>\r\n <mandatory-props [isNested]=\"$isNested()\"></mandatory-props>\r\n\r\n <!-- <div class=\"setting-divider\"></div> -->\r\n\r\n @if (!!$control() && $control()!.controlType !== 'FORM_ARRAY') {\r\n <div class=\"group-title optional\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-sliders\"></i>\r\n </div>\r\n <div class=\"group-name\">Optional</div>\r\n </div>\r\n <optional-props [isNested]=\"$isNested()\"></optional-props>\r\n\r\n <!-- <div class=\"setting-divider\"></div> -->\r\n\r\n <div class=\"group-title validators\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-check-square\"></i>\r\n </div>\r\n <div class=\"group-name\">Validators</div>\r\n </div>\r\n <validator-editor [isNested]=\"$isNested()\"></validator-editor>\r\n }\r\n\r\n @if (!!$control() && !($control()!.controlType === 'TEXTBOX' && ['string', 'text', 'email'].includes(($control()!.type ||\r\n '').toLowerCase()))) {\r\n\r\n <div class=\"group-title\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"feather-check-square\"></i>\r\n </div>\r\n <div class=\"group-name\">{{ getFriendlyControlLabel($control()) }} Settings</div>\r\n </div>\r\n\r\n <props-host \r\n [type]=\"$resolvedType()\"\r\n [props]=\"$props()\"\r\n [isNested]=\"$isNested()\"\r\n ></props-host>\r\n\r\n\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n\r\n\r\n</div>\r\n\r\n<ng-template #aboutCalculatedField>\r\n\r\n <div class=\"calculated-field-rule\" style=\"padding: 1rem; border-radius: 8px; background: #000; width: 800px;\">\r\n <h4 style=\"margin-top: 0; color: #fff;\">Calculated Field Rule</h4>\r\n <p><strong>Calculated fields</strong> are invisible boolean fields evaluated based on form inputs and logic. They\r\n help drive dynamic workflow behavior, such as conditional routing or validation triggers.</p>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Key Properties</h5>\r\n <ul style=\"margin-top: 0;\">\r\n <li><strong>script:</strong> Expression to evaluate (e.g.,\r\n <code>leaveDays > 3 && status == 'Approved'</code>)</li>\r\n <li><strong>evaluationMode:</strong> <code>\"in-memory\"</code> or <code>\"sql-query\"</code></li>\r\n <li><strong>dependsOn[]:</strong> List of field names the script depends on</li>\r\n <li><strong>filterMode:</strong> <code>\"HardBlock\"</code> or <code>\"SoftWarn\"</code></li>\r\n </ul>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Evaluation Modes</h5>\r\n <ul style=\"margin-top: 0;\">\r\n <li>\r\n <strong>in-memory:</strong> Uses <code>DynamicExpresso</code> to evaluate C#-like logic at runtime<br />\r\n <small>Example: <code>leaveType == \"ANNUAL\" && leaveDays < 5</code></small>\r\n </li>\r\n <li>\r\n <strong>sql-query:</strong> Runs backend SQL to evaluate conditions via\r\n <code>SELECT CASE WHEN ... THEN 1 ELSE 0 END</code><br />\r\n <small>Example:\r\n <code>SELECT CASE WHEN QUOTA > 0 THEN 1 ELSE 0 END FROM LEAVE_QUOTA WHERE EMPLOYEE_ID = {{ '@' }}employeeId</code></small>\r\n </li>\r\n </ul>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Use Cases</h5>\r\n <ul style=\"margin-top: 0;\">\r\n <li>Validate complex logic without showing the field</li>\r\n <li>Route to a different workflow branch based on hidden logic</li>\r\n <li>Trigger warning or block submission based on business rules</li>\r\n </ul>\r\n\r\n <h5 style=\"margin-bottom: 0.5rem; color: #fff;\">Example</h5>\r\n <pre style=\"color: #eee; padding: 0.5rem 1rem; border-radius: 4px; overflow-x: auto;\">\r\n {{ '{' }}\r\n \"script\": \"leaveDays > 3 && status == 'APPROVED'\",\r\n \"evaluationMode\": \"in-memory\",\r\n \"dependsOn\": [\"leaveDays\", \"status\"],\r\n \"filterMode\": \"HardBlock\"\r\n {{ '}' }}\r\n </pre>\r\n </div>\r\n\r\n\r\n</ng-template>", styles: [".field-setting-container{max-height:100%;overflow-x:hidden;overflow-y:auto}.field-setting-container .field-setting-content{padding:15px}.field-setting-container .panel-caption-header{display:flex;align-items:center;justify-content:space-between;padding:15px;height:60px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;color:#1f2937}.field-setting-container .panel-caption-header .panel-caption{flex-grow:1}.field-setting-container .panel-caption-header .close-wrapper{display:flex;align-items:center;justify-content:center;background-color:#f1f5f9;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:background-color .2s}.field-setting-container .panel-caption-header .close-wrapper:hover{background-color:#e2e8f0}.field-setting-container .setting-divider{margin:1.5rem 0 .75rem;color:#555;border-top:1px dashed #ccc;padding-top:.5rem}.field-setting-container .group-title{display:flex;height:35px;align-items:center;gap:8px;background-color:#87ceeb;padding:6px 12px;font-weight:600;color:#1f2937;font-size:13px;margin:12px 0 4px;box-shadow:0 1px 2px #0000000d}.field-setting-container .group-title .icon-wrapper{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#1f2937}.field-setting-container .group-title .icon-wrapper i{width:16px;height:16px;stroke-width:2}.field-setting-container .group-title.mandatory{background-color:#ffecb3}.field-setting-container .group-title.optional{background-color:#d0f0fd}.field-setting-container .group-title.validators{background-color:#e8f5e9}.field-setting-container .group-title .group-name{flex:1}.field-setting-container .group-title .group-name .feather-help-circle{display:inline-block;margin-left:8px}.field-setting-container .calculated-field-rule{font-family:system-ui,sans-serif;border:1px solid #ccc;padding:1rem;border-radius:8px}.field-setting-container .calculated-field-rule h2{margin-top:0;color:#2b3e50}.field-setting-container .calculated-field-rule pre{background:#eee;padding:.5rem 1rem;border-radius:4px;overflow-x:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: MandatoryPropsComponent, selector: "mandatory-props" }, { kind: "component", type: OptionalPropsComponent, selector: "optional-props" }, { kind: "component", type: ValidatorEditorComponent, selector: "validator-editor" }, { kind: "component", type: PropsHostComponent, selector: "props-host", inputs: ["isNested", "type", "props"] }, { kind: "component", type: CalculatedPropsComponent, selector: "calculated-props" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1421
1421
|
}
|
|
1422
1422
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FieldSettingComponent, decorators: [{
|
|
1423
1423
|
type: Component,
|
|
@@ -2696,7 +2696,7 @@ class CoreFormGroupEditorComponent extends BaseComponent {
|
|
|
2696
2696
|
this.coreFormDesignService.$showFormMetadata.set(true);
|
|
2697
2697
|
}
|
|
2698
2698
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormGroupEditorComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2699
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreFormGroupEditorComponent, isStandalone: true, selector: "core-form-group-editor", inputs: { $isNested: { classPropertyName: "$isNested", publicName: "$isNested", isSignal: true, isRequired: false, transformFunction: null }, $idAsInput: { classPropertyName: "$idAsInput", publicName: "$idAsInput", isSignal: true, isRequired: false, transformFunction: null }, $id: { classPropertyName: "$id", publicName: "$id", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "$settingPanel", first: true, predicate: ["settingPanel"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"core-form-group-editor-container\">\r\n\r\n <div class=\"form-design-right\">\r\n\r\n @if ($mode() === enumType.Default) {\r\n <div class=\"form-wrapper\">\r\n\r\n @if (!$isNested() && !!$isInWorkflowDesign()) {\r\n <form-metadata></form-metadata>\r\n }\r\n\r\n <form [formGroup]=\"formDesign\" autocomplete=\"off\">\r\n <div class=\"form-cells\"> \r\n\r\n <div class=\"form-tool-bar\">\r\n @if (!$isNested() && !$hasCalculatedSection()) {\r\n <button class=\"core-button-vns-container\" (click)=\"addCalculatedSection()\">+ Calculated fields</button>\r\n }\r\n <button class=\"core-button-vns-container\" (click)=\"addSection()\">+ Add Section</button>\r\n </div>\r\n \r\n @for (section of $placeholderSections(); track $index; let sectionIndex = $index) {\r\n <div class=\"form-section-placeholder\">\r\n\r\n <div class=\"section-header\">\r\n\r\n <div class=\"section-img-wrapper\">\r\n <div class=\"section-img\" [class.calculated]=\"section.forCalculatedFields\"></div>\r\n </div>\r\n\r\n <label [attr.contenteditable]=\"!section.forCalculatedFields\"\r\n [htmlTooltip]=\"!!section.forCalculatedFields ? calculatedFieldsTooltip : null\"\r\n (blur)=\"onCaptionEditEnd(sectionIndex, $event)\"\r\n (keydown.enter)=\"onCaptionEditEnd(sectionIndex, $event); $event.preventDefault()\"\r\n >{{ section.caption }}</label>\r\n\r\n <div class=\"section-tool pointer\" (click)=\"deleteSection(sectionIndex)\" [appTooltip]=\"'Delete section'\" [showAnyway]=\"true\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n @for (row of section.rows; track $index; let rowIndex = $index) {\r\n\r\n <div class=\"form-row-wrapper\">\r\n <div class=\"form-row\">\r\n @for (cell of filteredCells(row); track $index; let colIndex = $index) {\r\n <div class=\"form-cell drop-target\" \r\n [ngStyle]=\"{ flex: (cell.flexSize ?? 0) + ' 1 0%' }\"\r\n [attr.data-flex]=\"cell.flexSize ?? 0\"\r\n (drop)=\"onDropIntoCell($event, sectionIndex, rowIndex, colIndex)\"\r\n (dragover)=\"onDragOver($event, section, cell.control!)\"\r\n (dragenter)=\"onDragEnter(sectionIndex + '_' + rowIndex + '_' + colIndex)\"\r\n (dragleave)=\"onDragLeave(sectionIndex + '_' + rowIndex + '_' + colIndex)\"\r\n [class.selected]=\"cell?.runtimeId === $selectedCell()?.runtimeId\"\r\n [class.dragging-over]=\"isDragOverMap[sectionIndex + '_' + rowIndex + '_' + colIndex]\"\r\n [class.has-control]=\"!!cell && !!cell.control && !!getControl(cell)\"\r\n (click)=\"onCellClicked(sectionIndex, rowIndex, colIndex)\"\r\n >\r\n\r\n\r\n @if (!isDragOverMap[sectionIndex + '_' + rowIndex + '_' + colIndex]) {\r\n\r\n @if (!!cell && !!cell.control && !!getControl(cell)) {\r\n\r\n @if (!$isNested()) {\r\n <label contenteditable=\"true\"\r\n (blur)=\"onFieldCaptionEditEnd(cell, $event)\"\r\n (keydown.enter)=\"onFieldCaptionEditEnd(cell, $event); $event.preventDefault()\"\r\n [class.d-none]=\"!!getControl(cell)?.hidden\"\r\n [class.required]=\"!!cell && !!cell.control && !!getControl(cell) && isRequired(getControl(cell))\"\r\n >{{ cell.control.label || 'label' }}</label>\r\n }\r\n\r\n @if (cell.control.controlType==='CALCULATED') {\r\n <div class=\"control-wrapper\" (click)=\"openSettingsForCell(cell, sectionIndex, rowIndex, colIndex)\">\r\n <core-control \r\n [control]=\"getControl(cell)!\" \r\n [form]=\"formDesign\"\r\n [checkError$]=\"checkError$\" />\r\n </div>\r\n } @else {\r\n <core-control \r\n [control]=\"getControl(cell)!\" \r\n [form]=\"formDesign\"\r\n [checkError$]=\"checkError$\" />\r\n }\r\n \r\n <div class=\"field-toolbar\">\r\n <ul>\r\n <!-- @if (!$isNested()) { -->\r\n <li>\r\n <div class=\"field-tool pointer\" (click)=\"openSettingsForCell(cell, sectionIndex, rowIndex, colIndex)\" [appTooltip]=\"'Show settings'\" [showAnyway]=\"true\">\r\n <i class=\"feather-settings\"></i>\r\n </div>\r\n </li>\r\n <!-- } -->\r\n <li>\r\n <div class=\"field-tool pointer\" (click)=\"deleteField(row, sectionIndex, rowIndex, colIndex)\" [appTooltip]=\"'Remove field from cell'\" [showAnyway]=\"true\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n \r\n } @else {\r\n <div class=\"calculated-placeholder\" [class.calculated]=\"!!section.forCalculatedFields\">\r\n {{ !!section.forCalculatedFields ? 'Drop calculated field here' : 'Drop here'}}\r\n </div>\r\n }\r\n\r\n @if (cell?.selected && canMergeCells(sectionIndex, rowIndex)) {\r\n <div class=\"merge-toolbar\">\r\n <button (click)=\"mergeCells(sectionIndex, rowIndex)\">\uD83D\uDD17 Merge</button>\r\n </div>\r\n }\r\n \r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row-tool-bar\">\r\n <div class=\"icon-wrapper\" (click)=\"deleteRow(sectionIndex, rowIndex)\" [appTooltip]=\"'Delete row'\" [showAnyway]=\"true\"><i class=\"feather-x\"></i></div>\r\n <div class=\"icon-wrapper\" (click)=\"addRow(sectionIndex)\" [appTooltip]=\"'Add row'\" [showAnyway]=\"true\"><i class=\"feather-arrow-down\"></i></div>\r\n <div class=\"icon-wrapper\" (click)=\"insertRow(sectionIndex, rowIndex)\" [appTooltip]=\"'Insert row'\" [showAnyway]=\"true\"><i class=\"feather-corner-right-down\"></i></div>\r\n <div class=\"icon-wrapper\" (click)=\"addColumn(row, sectionIndex, rowIndex)\" [appTooltip]=\"'Add column'\" [showAnyway]=\"true\"><i class=\"feather-arrow-right\"></i></div>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n }\r\n \r\n \r\n </div>\r\n </form>\r\n </div>\r\n } @else if (!!$sections()) {\r\n\r\n @if(!!(injectedFields$ | async) && !!(injectedFields$ | async)!.length) {\r\n\r\n @if (!!$afInstance().normalMode) {\r\n <live-form [$designMode]=\"true\" [$forKickOff]=\"true\" />\r\n } @else {\r\n <live-form [$designMode]=\"true\" [$forKickOff]=\"true\" ($onClose)=\"closePreview()\" />\r\n }\r\n\r\n } @else {\r\n <h2>COULD NOT UPDATE injectedFields$</h2>\r\n }\r\n\r\n } @else {\r\n <h2>$sections() empty / null / undefined</h2>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #calculatedFieldsTooltip>\r\n <div style=\"max-width: 280px;\">\r\n <strong>Calculated Fields</strong><br />\r\n <p></p>\r\n These fields are hidden from the form and cannot be edited directly.<br /><br />\r\n - They are computed automatically during workflow execution.<br />\r\n - Each field depends on one or more standard input fields.<br />\r\n - The calculation is evaluated using either an SQL query engine (like <strong>Dapper</strong>) or an in-memory expression engine (like <strong>Dynamic Expresso</strong>).<br /><br />\r\n These results can be used to influence workflow logic, rule trees, or approval paths.\r\n </div>\r\n</ng-template>\r\n\r\n\r\n ", styles: ["@charset \"UTF-8\";.core-form-group-editor-container{position:relative;height:calc(100vh - var(--size-header-height) - var(--size-layout-block-cell-spacing));width:100%;overflow:hidden;background-color:#eff0f1;font-size:13px}.core-form-group-editor-container .core-button-vns-container{margin-right:8px!important}.core-form-group-editor-container .core-button-vns-container:last-child{background-color:#000;color:#fff;margin-right:0}.core-form-group-editor-container .af-metadata-overlay{position:fixed;top:60px;left:66px;background:#fff;box-shadow:.4rem 0 2rem #0000002e;z-index:1000;width:1214px;height:calc(100vh - 75px);overflow-y:auto;pointer-events:none}.core-form-group-editor-container .af-metadata-overlay.shown{pointer-events:auto}.core-form-group-editor-container *{border-radius:0}.core-form-group-editor-container ul,.core-form-group-editor-container li{padding:0}.core-form-group-editor-container li{max-width:200px}.core-form-group-editor-container ul div.space{display:block;height:15px}.core-form-group-editor-container li.full-width{max-width:100%}.core-form-group-editor-container .field-setting-panel{display:block;position:fixed;width:360px;height:100vh;top:0;right:-360px;background-color:#fff;box-shadow:.4rem 0 2rem #0000002e;transition:right .5s ease-out}.core-form-group-editor-container .field-setting-panel .close-wrapper{width:32px;height:32px;position:absolute;top:15px;right:15px;display:flex;background-color:#848484;border-radius:50%}.core-form-group-editor-container .field-setting-panel .close-wrapper i{width:16px;height:16px;font-size:18px;color:#848484}.core-form-group-editor-container .field-setting-panel .panel-caption{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #ddd;width:100%;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.core-form-group-editor-container .field-setting-panel.calculated-type{width:500px;right:-500px}.core-form-group-editor-container .field-setting-panel.calculated-type textarea{border-radius:8px;height:150px}.core-form-group-editor-container .field-setting-panel.open{right:0}.core-form-group-editor-container .form-design-left{position:absolute;top:var(--size-core-page-header-height);bottom:0;left:0;z-index:1;width:360px;height:calc(100vh - var(--size-header-height) - var(--size-layout-block-cell-spacing));padding:15px;padding-right:calc(15px + var(--size-scrollbar-width));background-color:#87ceeb;overflow-y:hidden}.core-form-group-editor-container .form-design-left .category-name{color:#fff}.core-form-group-editor-container .form-design-left .grid-buffer-wrapper{background-color:#fff;padding:15px}.core-form-group-editor-container .form-design-left ul:last-child{padding-bottom:400px}.core-form-group-editor-container .form-design-left .category-name{margin-bottom:15px}.core-form-group-editor-container .form-design-left .json-preview{background-color:#fff;color:#333;padding:1rem 1.5rem;box-shadow:0 2px 6px #00000014;font-family:Fira Code,monospace;font-size:.85rem;word-break:keep-all;overflow-x:auto;line-height:1.5;width:330px;height:calc(100vh - 205px)}.core-form-group-editor-container .form-design-left button{height:35px;border-radius:0;margin-bottom:15px;color:#fff;border:none;font-size:13px;background-color:transparent}.core-form-group-editor-container .form-design-left:hover{overflow-y:auto;padding-right:15px}.core-form-group-editor-container .form-design-right{width:100%;height:calc(100vh - var(--size-header-height) - var(--size-layout-block-cell-spacing));overflow-y:auto}.core-form-group-editor-container .form-design-right .form-wrapper{width:100%;overflow-y:visible;background-color:#fff}.core-form-group-editor-container .form-design-right .form-wrapper button{margin-left:12px;padding:4px 10px;border:1px solid #ccc;cursor:pointer;transition:all .2s;width:110px}.core-form-group-editor-container .form-design-right .form-wrapper button:hover{background-color:#e4f0ff;border-color:#007bff;color:#007bff}.core-form-group-editor-container .form-design-right .form-wrapper .form-tool-bar{display:flex;align-items:center;justify-content:flex-end}.core-form-group-editor-container .form-design-right .form-wrapper .form-tool-bar>button{width:150px;margin:0}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells{display:flex;flex-direction:column;gap:32px;padding:20px 15px 15px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder{padding:12px 15px;border:1px dashed #ccc;background-color:#fff;box-shadow:0 2px 6px #0000000a}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header{display:flex;position:relative;align-items:center;justify-content:flex-start;font-weight:600;margin-bottom:12px;color:#333}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-img{width:34px;height:34px;border-radius:50%;background-color:#d3d3d3;float:left;background-image:url(/assets/images/info.svg);background-repeat:no-repeat;background-position:center;margin-right:8px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-img.calculated{background-image:url(/assets/images/sql-icon.svg);background-color:transparent;border-radius:0}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-tool{position:absolute;right:5px;top:6px;display:none;z-index:2;color:gray}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-tool i{font-size:24px;color:#848484}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header:hover .section-tool{display:block}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .row-tool-bar{display:flex;align-items:center;justify-content:flex-end;margin-bottom:8px;height:24px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-row{display:flex;gap:15px;margin-bottom:15px;min-height:50px;background-color:#d3d3d3;padding:8px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell{flex:1;min-height:90px;background-color:#fcfcfc;border:1px dashed #ccc;position:relative;padding:20px 10px 10px;transition:border .2s ease-in-out}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell:before{content:attr(data-flex);position:absolute;top:2px;left:4px;font-size:10px;color:#999}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell label.required:after{content:\" *\";color:#ff040b}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar{position:absolute;right:7px;top:6px;display:none;z-index:2;color:gray}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar ul{display:flex}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar ul li div{display:flex;width:24px;height:24px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar ul li div i{font-size:18px;width:18px;height:18px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell.has-control:hover .field-toolbar{display:flex}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell.active-drop{border-color:#007bff;background-color:#eef6ff;transition:.2s}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .calculated-placeholder{display:flex;align-items:center;justify-content:center;background-color:#fff;color:#007bff;padding:15px 0;width:100%;cursor:default}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .calculated-placeholder.calculated{color:#ff4500}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .icon-wrapper{width:24px;height:24px;border-radius:50%;padding:0;cursor:pointer;display:none;color:gray;border:1px solid gray;margin-left:8px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .icon-wrapper i{font-size:18px;width:18px;height:18px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper:hover .icon-wrapper{display:flex}.core-form-group-editor-container .form-design-right .form-wrapper .form-cell.selected{background-color:#dff6dd!important;border:1px red dashed!important}.core-form-group-editor-container .form-design-right .form-wrapper .merge-toolbar{text-align:center;margin-top:4px}.core-form-group-editor-container .form-design-right .pre-holder{padding:15px;background-color:#fff}.core-form-group-editor-container .form-design-right .pre-holder p{position:relative;cursor:pointer}.core-form-group-editor-container .form-design-right .pre-holder p i{position:absolute;top:0;right:0;height:18px;width:18px;font-size:18px;transform:rotate(0);color:#848484;transition:transform .25s ease-in-out}.core-form-group-editor-container .form-design-right .pre-holder p i:hover{opacity:1}.core-form-group-editor-container .form-design-right .pre-holder p i.rotated{transform:rotate(90deg)}.core-form-group-editor-container .form-design-right .form-wrapper.live-form{padding-bottom:15px}.core-form-group-editor-container .form-design-right .form-wrapper.live-form .live-form-header{padding:0 15px}.core-form-group-editor-container .form-design-right .form-wrapper.live-form .live-form-header .preview-close-icon{position:absolute;right:7px;top:6px;z-index:2;color:gray;cursor:pointer}.core-form-group-editor-container .form-design-right .form-wrapper.live-form .live-form-header .preview-close-icon i{font-size:18px}.core-form-group-editor-container .drop-target{min-height:50px;min-width:50px;border:2px dashed transparent;transition:border .2s ease}.core-form-group-editor-container .drop-target.active-drop{border-color:#007bff;background-color:#eaf4ff}.core-form-group-editor-container .no-padding{padding:0!important}.core-form-group-editor-container .modal-content-root{overflow:visible}\n", ".core-form-container{overflow-x:visible}.core-form-container>form .section{margin-top:var(--size-layout-block-cell-spacing)}.core-form-container>form .section.accordion{margin-bottom:0;cursor:pointer}.core-form-container>form .section.accordion .section-header-label{border:1px solid var(--acc-border-color);background-color:var(--acc-back-ground-color);color:var(--acc-font-color);height:50px;display:flex;align-items:center;justify-content:flex-start;position:relative}.core-form-container>form .section.accordion .section-header-label .section-caption{padding-left:0}.core-form-container>form .section.accordion .section-header-label .rotate-icon{transition:transform .3s ease;width:50px;height:50px;display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0}.core-form-container>form .section.accordion .section-header-label .rotate-icon.rotated90{transform:rotate(90deg)}.core-form-container>form .section.accordion .section-header-label .rotate-icon i{font-size:24px}.core-form-container>form .section.accordion .section-body{transition:all .3s ease;opacity:1}.core-form-container>form .section.accordion:not(.open) .section-body{overflow:hidden;opacity:0}.core-form-container>form .section.accordion .section-img-wrapper{height:50px;width:50px;display:flex;align-items:center;justify-content:center}.core-form-container>form .section:not(:first-child){margin-top:calc(var(--size-layout-block-cell-spacing) * 2)}.core-form-container>form .section .section-header-label{display:block;height:34px;line-height:34px;margin-bottom:15px;margin-left:12px;width:calc(100% - 24px)}.core-form-container>form .section .section-header-label .section-img-wrapper{position:relative}.core-form-container>form .section .section-header-label .section-img-wrapper .section-img{position:absolute;width:34px;height:34px;border-radius:50%;background-color:#d3d3d3;float:left;background-image:url(/assets/images/info.svg);background-repeat:no-repeat;background-position:center}.core-form-container>form .section .section-header-label .section-img-wrapper .section-img-fixed{position:absolute;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:#848484;float:left}.core-form-container>form .section .section-header-label .section-img-wrapper .section-img.calculated{background-image:url(/assets/images/sql-icon.svg);border-radius:0;background-color:transparent}.core-form-container>form .section .section-header-label .section-calc-wrapper{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background-color:#d3d3d3;border-radius:50%}.core-form-container>form .section .section-header-label .section-calc-wrapper i{width:24px;height:24px;font-size:24px;color:#1b4332}.core-form-container>form .section .section-header-label .section-caption{padding-left:40px;font-weight:700;color:#696969}.core-form-container>form .section .section-header-label .section-caption.has-icon-svg{font-weight:400;color:currentcolor}.core-form-container>form .section .section-header-label .with-icon-svg{padding-left:28px!important}.core-form-container .row{margin-left:var(--size-layout-block-cell-spacing) 0px;margin-right:var(--size-layout-block-cell-spacing) 0px}.core-form-container .row .grid-buffer{border:dotted 2px darkgray}.core-form-container .row .button-control{display:flex;align-items:flex-end}.core-form-container .form-row{margin:var(--size-layout-block-cell-spacing) 0px;display:flex;align-items:center;justify-content:center}.core-form-container .form-row>button{cursor:pointer;border-radius:0}.core-form-container .form-row>button:not(:first-child){margin-left:var(--size-layout-block-cell-spacing)}.core-form-container .dev-button{cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;padding:8px;width:120px;border-radius:18px;box-shadow:.4rem 0 2rem #0000002e}.core-form-container .dev-button:not(:last-child){margin-right:15px}.core-form-container .dev-button:first-child{background-color:#dff6dd;border:1px #9fdc9d solid}.core-form-container .dev-button:last-child{background-color:#fff4ce;border:1px #ffda6a solid}.core-form-container .payload-preview{display:block;width:calc(100% - 48px);height:200px;white-space:pre-wrap;overflow-x:hidden;overflow-y:auto;background-color:#dff6dd;padding:24px;margin:24px;color:#333!important;font-family:Fira Code,monospace;font-size:.85rem;word-break:keep-all;line-height:1.5}.core-form-container .payload-preview.validator-preview{background-color:#fff4ce}.core-form-container .bottom-template-wrapper{padding-left:12px;padding-right:12px}.core-form-container .w-100{width:100%}.core-form-container .pr18{padding-right:18px}.core-form-container .section-body-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:min-content;gap:1rem}.core-form-container .section-body-grid .field-col{min-width:0}.core-form-container .core-form-body{padding-bottom:var(--footer-height, 95px)}.core-form-container .core-form-body .section:last-child{margin-bottom:var(--footer-height, 95px)}.core-form-container .core-form-footer{--footer-height: 95px;height:var(--footer-height);position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;padding:12px 18px;display:flex;justify-content:flex-end;z-index:10}.core-form-container .core-form-footer .buttonGroupCustom{gap:8px}\n", ".core-button-vns-container{height:30px;display:flex;align-items:center;justify-content:center;min-width:30px}.core-button-vns-container .action-wrapper{height:30px!important;width:30px!important;display:flex;align-items:center;justify-content:center}.core-button-vns-container .action-wrapper:has(i:hover){background-color:#e7e7e7;border-radius:50%}.core-button-vns-container .btn-for-form{border:none;border-radius:0;background-color:transparent;color:#000;min-width:120px}.core-button-vns-container button.last-child{background-color:#000;color:#fff}.core-button-vns-container .action-wrapper.last-child{background-color:var(--color-basic-orange);color:#fff;border-radius:50%}.core-button-vns-container .action-wrapper.last-child:hover{background-color:var(--color-basic-orange);box-shadow:0 1rem 3rem #0000002e}.core-button-vns-container .temporary-unavailable{user-select:none;-moz-user-select:none;-webkit-user-select:none;cursor:not-allowed!important;opacity:.5}.core-button-vns-container .temporary-unavailable:hover{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: FormMetadataComponent, selector: "form-metadata" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "component", type: CoreControlComponent, selector: "core-control", inputs: ["control", "form", "checkError$", "rangeLimit"] }, { kind: "component", type: LiveFormComponent, selector: "live-form", inputs: ["$designMode", "$forKickOff", "$workflowReactContext"], outputs: ["$onClose"] }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "backgroundColor", "hold$"] }], animations: [slideFromTopFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2699
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreFormGroupEditorComponent, isStandalone: true, selector: "core-form-group-editor", inputs: { $isNested: { classPropertyName: "$isNested", publicName: "$isNested", isSignal: true, isRequired: false, transformFunction: null }, $idAsInput: { classPropertyName: "$idAsInput", publicName: "$idAsInput", isSignal: true, isRequired: false, transformFunction: null }, $id: { classPropertyName: "$id", publicName: "$id", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "$settingPanel", first: true, predicate: ["settingPanel"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"core-form-group-editor-container\">\r\n\r\n <div class=\"form-design-right\">\r\n\r\n @if ($mode() === enumType.Default) {\r\n <div class=\"form-wrapper\">\r\n\r\n @if (!$isNested() && !!$isInWorkflowDesign()) {\r\n <form-metadata></form-metadata>\r\n }\r\n\r\n <form [formGroup]=\"formDesign\" autocomplete=\"off\">\r\n <div class=\"form-cells\"> \r\n\r\n <div class=\"form-tool-bar\">\r\n @if (!$isNested() && !$hasCalculatedSection()) {\r\n <button class=\"core-button-vns-container\" (click)=\"addCalculatedSection()\">+ Calculated fields</button>\r\n }\r\n <button class=\"core-button-vns-container\" (click)=\"addSection()\">+ Add Section</button>\r\n </div>\r\n \r\n @for (section of $placeholderSections(); track $index; let sectionIndex = $index) {\r\n <div class=\"form-section-placeholder\">\r\n\r\n <div class=\"section-header\">\r\n\r\n <div class=\"section-img-wrapper\">\r\n <div class=\"section-img\" [class.calculated]=\"section.forCalculatedFields\"></div>\r\n </div>\r\n\r\n <label [attr.contenteditable]=\"!section.forCalculatedFields\"\r\n [htmlTooltip]=\"!!section.forCalculatedFields ? calculatedFieldsTooltip : null\"\r\n (blur)=\"onCaptionEditEnd(sectionIndex, $event)\"\r\n (keydown.enter)=\"onCaptionEditEnd(sectionIndex, $event); $event.preventDefault()\"\r\n >{{ section.caption }}</label>\r\n\r\n <div class=\"section-tool pointer\" (click)=\"deleteSection(sectionIndex)\" [appTooltip]=\"'Delete section'\" [showAnyway]=\"true\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n \r\n </div>\r\n \r\n @for (row of section.rows; track $index; let rowIndex = $index) {\r\n\r\n <div class=\"form-row-wrapper\">\r\n <div class=\"form-row\">\r\n @for (cell of filteredCells(row); track $index; let colIndex = $index) {\r\n <div class=\"form-cell drop-target\" \r\n [ngStyle]=\"{ flex: (cell.flexSize ?? 0) + ' 1 0%' }\"\r\n [attr.data-flex]=\"cell.flexSize ?? 0\"\r\n (drop)=\"onDropIntoCell($event, sectionIndex, rowIndex, colIndex)\"\r\n (dragover)=\"onDragOver($event, section, cell.control!)\"\r\n (dragenter)=\"onDragEnter(sectionIndex + '_' + rowIndex + '_' + colIndex)\"\r\n (dragleave)=\"onDragLeave(sectionIndex + '_' + rowIndex + '_' + colIndex)\"\r\n [class.selected]=\"cell?.runtimeId === $selectedCell()?.runtimeId\"\r\n [class.dragging-over]=\"isDragOverMap[sectionIndex + '_' + rowIndex + '_' + colIndex]\"\r\n [class.has-control]=\"!!cell && !!cell.control && !!getControl(cell)\"\r\n (click)=\"onCellClicked(sectionIndex, rowIndex, colIndex)\"\r\n >\r\n\r\n\r\n @if (!isDragOverMap[sectionIndex + '_' + rowIndex + '_' + colIndex]) {\r\n\r\n @if (!!cell && !!cell.control && !!getControl(cell)) {\r\n\r\n @if (!$isNested()) {\r\n <label contenteditable=\"true\"\r\n (blur)=\"onFieldCaptionEditEnd(cell, $event)\"\r\n (keydown.enter)=\"onFieldCaptionEditEnd(cell, $event); $event.preventDefault()\"\r\n [class.d-none]=\"!!getControl(cell)?.hidden\"\r\n [class.required]=\"!!cell && !!cell.control && !!getControl(cell) && isRequired(getControl(cell))\"\r\n >{{ cell.control.label || 'label' }}</label>\r\n }\r\n\r\n @if (cell.control.controlType==='CALCULATED') {\r\n <div class=\"control-wrapper\" (click)=\"openSettingsForCell(cell, sectionIndex, rowIndex, colIndex)\">\r\n <core-control \r\n [control]=\"getControl(cell)!\" \r\n [form]=\"formDesign\"\r\n [checkError$]=\"checkError$\" />\r\n </div>\r\n } @else {\r\n <core-control \r\n [control]=\"getControl(cell)!\" \r\n [form]=\"formDesign\"\r\n [checkError$]=\"checkError$\" />\r\n }\r\n \r\n <div class=\"field-toolbar\">\r\n <ul>\r\n <!-- @if (!$isNested()) { -->\r\n <li>\r\n <div class=\"field-tool pointer\" (click)=\"openSettingsForCell(cell, sectionIndex, rowIndex, colIndex)\" [appTooltip]=\"'Show settings'\" [showAnyway]=\"true\">\r\n <i class=\"feather-settings\"></i>\r\n </div>\r\n </li>\r\n <!-- } -->\r\n <li>\r\n <div class=\"field-tool pointer\" (click)=\"deleteField(row, sectionIndex, rowIndex, colIndex)\" [appTooltip]=\"'Remove field from cell'\" [showAnyway]=\"true\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n \r\n } @else {\r\n <div class=\"calculated-placeholder\" [class.calculated]=\"!!section.forCalculatedFields\">\r\n {{ !!section.forCalculatedFields ? 'Drop calculated field here' : 'Drop here'}}\r\n </div>\r\n }\r\n\r\n @if (cell?.selected && canMergeCells(sectionIndex, rowIndex)) {\r\n <div class=\"merge-toolbar\">\r\n <button (click)=\"mergeCells(sectionIndex, rowIndex)\">\uD83D\uDD17 Merge</button>\r\n </div>\r\n }\r\n \r\n }\r\n\r\n </div>\r\n }\r\n </div>\r\n <div class=\"row-tool-bar\">\r\n <div class=\"icon-wrapper\" (click)=\"deleteRow(sectionIndex, rowIndex)\" [appTooltip]=\"'Delete row'\" [showAnyway]=\"true\"><i class=\"feather-x\"></i></div>\r\n <div class=\"icon-wrapper\" (click)=\"addRow(sectionIndex)\" [appTooltip]=\"'Add row'\" [showAnyway]=\"true\"><i class=\"feather-arrow-down\"></i></div>\r\n <div class=\"icon-wrapper\" (click)=\"insertRow(sectionIndex, rowIndex)\" [appTooltip]=\"'Insert row'\" [showAnyway]=\"true\"><i class=\"feather-corner-right-down\"></i></div>\r\n <div class=\"icon-wrapper\" (click)=\"addColumn(row, sectionIndex, rowIndex)\" [appTooltip]=\"'Add column'\" [showAnyway]=\"true\"><i class=\"feather-arrow-right\"></i></div>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n }\r\n \r\n \r\n </div>\r\n </form>\r\n </div>\r\n } @else if (!!$sections()) {\r\n\r\n @if(!!(injectedFields$ | async) && !!(injectedFields$ | async)!.length) {\r\n\r\n @if (!!$afInstance().normalMode) {\r\n <live-form [$designMode]=\"true\" [$forKickOff]=\"true\" />\r\n } @else {\r\n <live-form [$designMode]=\"true\" [$forKickOff]=\"true\" ($onClose)=\"closePreview()\" />\r\n }\r\n\r\n } @else {\r\n <h2>COULD NOT UPDATE injectedFields$</h2>\r\n }\r\n\r\n } @else {\r\n <h2>$sections() empty / null / undefined</h2>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #calculatedFieldsTooltip>\r\n <div style=\"max-width: 280px;\">\r\n <strong>Calculated Fields</strong><br />\r\n <p></p>\r\n These fields are hidden from the form and cannot be edited directly.<br /><br />\r\n - They are computed automatically during workflow execution.<br />\r\n - Each field depends on one or more standard input fields.<br />\r\n - The calculation is evaluated using either an SQL query engine (like <strong>Dapper</strong>) or an in-memory expression engine (like <strong>Dynamic Expresso</strong>).<br /><br />\r\n These results can be used to influence workflow logic, rule trees, or approval paths.\r\n </div>\r\n</ng-template>\r\n\r\n\r\n ", styles: ["@charset \"UTF-8\";.core-form-group-editor-container{position:relative;height:calc(100vh - var(--size-header-height) - var(--size-layout-block-cell-spacing));width:100%;overflow:hidden;background-color:#eff0f1;font-size:13px}.core-form-group-editor-container .core-button-vns-container{margin-right:8px!important}.core-form-group-editor-container .core-button-vns-container:last-child{background-color:#000;color:#fff;margin-right:0}.core-form-group-editor-container .af-metadata-overlay{position:fixed;top:60px;left:66px;background:#fff;box-shadow:.4rem 0 2rem #0000002e;z-index:1000;width:1214px;height:calc(100vh - 75px);overflow-y:auto;pointer-events:none}.core-form-group-editor-container .af-metadata-overlay.shown{pointer-events:auto}.core-form-group-editor-container *{border-radius:0}.core-form-group-editor-container ul,.core-form-group-editor-container li{padding:0}.core-form-group-editor-container li{max-width:200px}.core-form-group-editor-container ul div.space{display:block;height:15px}.core-form-group-editor-container li.full-width{max-width:100%}.core-form-group-editor-container .field-setting-panel{display:block;position:fixed;width:360px;height:100vh;top:0;right:-360px;background-color:#fff;box-shadow:.4rem 0 2rem #0000002e;transition:right .5s ease-out}.core-form-group-editor-container .field-setting-panel .close-wrapper{width:32px;height:32px;position:absolute;top:15px;right:15px;display:flex;background-color:#848484;border-radius:50%}.core-form-group-editor-container .field-setting-panel .close-wrapper i{width:16px;height:16px;font-size:18px;color:#848484}.core-form-group-editor-container .field-setting-panel .panel-caption{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #ddd;width:100%;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.core-form-group-editor-container .field-setting-panel.calculated-type{width:500px;right:-500px}.core-form-group-editor-container .field-setting-panel.calculated-type textarea{border-radius:8px;height:150px}.core-form-group-editor-container .field-setting-panel.open{right:0}.core-form-group-editor-container .form-design-left{position:absolute;top:var(--size-core-page-header-height);bottom:0;left:0;z-index:1;width:360px;height:calc(100vh - var(--size-header-height) - var(--size-layout-block-cell-spacing));padding:15px;padding-right:calc(15px + var(--size-scrollbar-width));background-color:#87ceeb;overflow-y:hidden}.core-form-group-editor-container .form-design-left .category-name{color:#fff}.core-form-group-editor-container .form-design-left .grid-buffer-wrapper{background-color:#fff;padding:15px}.core-form-group-editor-container .form-design-left ul:last-child{padding-bottom:400px}.core-form-group-editor-container .form-design-left .category-name{margin-bottom:15px}.core-form-group-editor-container .form-design-left .json-preview{background-color:#fff;color:#333;padding:1rem 1.5rem;box-shadow:0 2px 6px #00000014;font-family:Fira Code,monospace;font-size:.85rem;word-break:keep-all;overflow-x:auto;line-height:1.5;width:330px;height:calc(100vh - 205px)}.core-form-group-editor-container .form-design-left button{height:35px;border-radius:0;margin-bottom:15px;color:#fff;border:none;font-size:13px;background-color:transparent}.core-form-group-editor-container .form-design-left:hover{overflow-y:auto;padding-right:15px}.core-form-group-editor-container .form-design-right{width:100%;height:calc(100vh - var(--size-header-height) - var(--size-layout-block-cell-spacing));overflow-y:auto}.core-form-group-editor-container .form-design-right .form-wrapper{width:100%;overflow-y:visible;background-color:#fff}.core-form-group-editor-container .form-design-right .form-wrapper button{margin-left:12px;padding:4px 10px;border:1px solid #ccc;cursor:pointer;transition:all .2s;width:110px}.core-form-group-editor-container .form-design-right .form-wrapper button:hover{background-color:#e4f0ff;border-color:#007bff;color:#007bff}.core-form-group-editor-container .form-design-right .form-wrapper .form-tool-bar{display:flex;align-items:center;justify-content:flex-end}.core-form-group-editor-container .form-design-right .form-wrapper .form-tool-bar>button{width:150px;margin:0}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells{display:flex;flex-direction:column;gap:32px;padding:20px 15px 15px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder{padding:12px 15px;border:1px dashed #ccc;background-color:#fff;box-shadow:0 2px 6px #0000000a}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header{display:flex;position:relative;align-items:center;justify-content:flex-start;font-weight:600;margin-bottom:12px;color:#333}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-img{width:34px;height:34px;border-radius:50%;background-color:#d3d3d3;float:left;background-image:url(/assets/images/info.svg);background-repeat:no-repeat;background-position:center;margin-right:8px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-img.calculated{background-image:url(/assets/images/sql-icon.svg);background-color:transparent;border-radius:0}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-tool{position:absolute;right:5px;top:6px;display:none;z-index:2;color:gray}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header .section-tool i{font-size:24px;color:#848484}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-section-placeholder .section-header:hover .section-tool{display:block}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .row-tool-bar{display:flex;align-items:center;justify-content:flex-end;margin-bottom:8px;height:24px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-row{display:flex;gap:15px;margin-bottom:15px;min-height:50px;background-color:#d3d3d3;padding:8px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell{flex:1;min-height:90px;background-color:#fcfcfc;border:1px dashed #ccc;position:relative;padding:20px 10px 10px;transition:border .2s ease-in-out}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell:before{content:attr(data-flex);position:absolute;top:2px;left:4px;font-size:10px;color:#999}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell label.required:after{content:\" *\";color:#ff040b}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar{position:absolute;right:7px;top:6px;display:none;z-index:2;color:gray}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar ul{display:flex}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar ul li div{display:flex;width:24px;height:24px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell .field-toolbar ul li div i{font-size:18px;width:18px;height:18px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell.has-control:hover .field-toolbar{display:flex}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .form-cell.active-drop{border-color:#007bff;background-color:#eef6ff;transition:.2s}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .calculated-placeholder{display:flex;align-items:center;justify-content:center;background-color:#fff;color:#007bff;padding:15px 0;width:100%;cursor:default}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .calculated-placeholder.calculated{color:#ff4500}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .icon-wrapper{width:24px;height:24px;border-radius:50%;padding:0;cursor:pointer;display:none;color:gray;border:1px solid gray;margin-left:8px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper .icon-wrapper i{font-size:18px;width:18px;height:18px}.core-form-group-editor-container .form-design-right .form-wrapper .form-cells .form-row-wrapper:hover .icon-wrapper{display:flex}.core-form-group-editor-container .form-design-right .form-wrapper .form-cell.selected{background-color:#dff6dd!important;border:1px red dashed!important}.core-form-group-editor-container .form-design-right .form-wrapper .merge-toolbar{text-align:center;margin-top:4px}.core-form-group-editor-container .form-design-right .pre-holder{padding:15px;background-color:#fff}.core-form-group-editor-container .form-design-right .pre-holder p{position:relative;cursor:pointer}.core-form-group-editor-container .form-design-right .pre-holder p i{position:absolute;top:0;right:0;height:18px;width:18px;font-size:18px;transform:rotate(0);color:#848484;transition:transform .25s ease-in-out}.core-form-group-editor-container .form-design-right .pre-holder p i:hover{opacity:1}.core-form-group-editor-container .form-design-right .pre-holder p i.rotated{transform:rotate(90deg)}.core-form-group-editor-container .form-design-right .form-wrapper.live-form{padding-bottom:15px}.core-form-group-editor-container .form-design-right .form-wrapper.live-form .live-form-header{padding:0 15px}.core-form-group-editor-container .form-design-right .form-wrapper.live-form .live-form-header .preview-close-icon{position:absolute;right:7px;top:6px;z-index:2;color:gray;cursor:pointer}.core-form-group-editor-container .form-design-right .form-wrapper.live-form .live-form-header .preview-close-icon i{font-size:18px}.core-form-group-editor-container .drop-target{min-height:50px;min-width:50px;border:2px dashed transparent;transition:border .2s ease}.core-form-group-editor-container .drop-target.active-drop{border-color:#007bff;background-color:#eaf4ff}.core-form-group-editor-container .no-padding{padding:0!important}.core-form-group-editor-container .modal-content-root{overflow:visible}\n", ".core-form-container{overflow-x:visible}.core-form-container>form .section{margin-top:var(--size-layout-block-cell-spacing)}.core-form-container>form .section.accordion{margin-bottom:0;cursor:pointer}.core-form-container>form .section.accordion .section-header-label{border:1px solid var(--acc-border-color);background-color:var(--acc-back-ground-color);color:var(--acc-font-color);height:50px;display:flex;align-items:center;justify-content:flex-start;position:relative}.core-form-container>form .section.accordion .section-header-label .section-caption{padding-left:0}.core-form-container>form .section.accordion .section-header-label .rotate-icon{transition:transform .3s ease;width:50px;height:50px;display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0}.core-form-container>form .section.accordion .section-header-label .rotate-icon.rotated90{transform:rotate(90deg)}.core-form-container>form .section.accordion .section-header-label .rotate-icon i{font-size:24px}.core-form-container>form .section.accordion .section-body{transition:all .3s ease;opacity:1}.core-form-container>form .section.accordion:not(.open) .section-body{overflow:hidden;opacity:0}.core-form-container>form .section.accordion .section-img-wrapper{height:50px;width:50px;display:flex;align-items:center;justify-content:center}.core-form-container>form .section:not(:first-child){margin-top:calc(var(--size-layout-block-cell-spacing) * 2)}.core-form-container>form .section .section-header-label{display:block;height:34px;line-height:34px;margin-bottom:15px;margin-left:12px;width:calc(100% - 24px)}.core-form-container>form .section .section-header-label .section-img-wrapper{position:relative}.core-form-container>form .section .section-header-label .section-img-wrapper .section-img{position:absolute;width:34px;height:34px;border-radius:50%;background-color:#d3d3d3;float:left;background-image:url(/assets/images/info.svg);background-repeat:no-repeat;background-position:center}.core-form-container>form .section .section-header-label .section-img-wrapper .section-img-fixed{position:absolute;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:#848484;float:left}.core-form-container>form .section .section-header-label .section-img-wrapper .section-img.calculated{background-image:url(/assets/images/sql-icon.svg);border-radius:0;background-color:transparent}.core-form-container>form .section .section-header-label .section-calc-wrapper{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background-color:#d3d3d3;border-radius:50%}.core-form-container>form .section .section-header-label .section-calc-wrapper i{width:24px;height:24px;font-size:24px;color:#1b4332}.core-form-container>form .section .section-header-label .section-caption{padding-left:40px;font-weight:700;color:#696969}.core-form-container>form .section .section-header-label .section-caption.has-icon-svg{font-weight:400;color:currentcolor}.core-form-container>form .section .section-header-label .with-icon-svg{padding-left:28px!important}.core-form-container .row{margin-left:var(--size-layout-block-cell-spacing) 0px;margin-right:var(--size-layout-block-cell-spacing) 0px}.core-form-container .row .grid-buffer{border:dotted 2px darkgray}.core-form-container .row .button-control{display:flex;align-items:flex-end}.core-form-container .form-row{margin:var(--size-layout-block-cell-spacing) 0px;display:flex;align-items:center;justify-content:center}.core-form-container .form-row>button{cursor:pointer;border-radius:0}.core-form-container .form-row>button:not(:first-child){margin-left:var(--size-layout-block-cell-spacing)}.core-form-container .dev-button{cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;padding:8px;width:120px;border-radius:18px;box-shadow:.4rem 0 2rem #0000002e}.core-form-container .dev-button:not(:last-child){margin-right:15px}.core-form-container .dev-button:first-child{background-color:#dff6dd;border:1px #9fdc9d solid}.core-form-container .dev-button:last-child{background-color:#fff4ce;border:1px #ffda6a solid}.core-form-container .payload-preview{display:block;width:calc(100% - 48px);height:200px;white-space:pre-wrap;overflow-x:hidden;overflow-y:auto;background-color:#dff6dd;padding:24px;margin:24px;color:#333!important;font-family:Fira Code,monospace;font-size:.85rem;word-break:keep-all;line-height:1.5}.core-form-container .payload-preview.validator-preview{background-color:#fff4ce}.core-form-container .bottom-template-wrapper{padding-left:12px;padding-right:12px}.core-form-container .w-100{width:100%}.core-form-container .pr18{padding-right:18px}.core-form-container .section-body-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:min-content;gap:1rem}.core-form-container .section-body-grid .field-col{min-width:0}.core-form-container .core-form-body{padding-bottom:var(--footer-height, 95px)}.core-form-container .core-form-body .section:last-child{margin-bottom:var(--footer-height, 95px)}.core-form-container .core-form-footer{--footer-height: 95px;height:var(--footer-height);position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;padding:12px 18px;display:flex;justify-content:flex-end;z-index:10}.core-form-container .core-form-footer .buttonGroupCustom{gap:8px}\n", ".core-button-vns-container{height:30px;display:flex;align-items:center;justify-content:center;min-width:30px}.core-button-vns-container .action-wrapper{height:30px!important;width:30px!important;display:flex;align-items:center;justify-content:center}.core-button-vns-container .action-wrapper:has(i:hover){background-color:#e7e7e7;border-radius:50%}.core-button-vns-container .btn-for-form{border:none;border-radius:0;background-color:transparent;color:#000;min-width:120px}.core-button-vns-container button.last-child{background-color:#000;color:#fff}.core-button-vns-container .action-wrapper.last-child{background-color:var(--color-basic-orange);color:#fff;border-radius:50%}.core-button-vns-container .action-wrapper.last-child:hover{background-color:var(--color-basic-orange);box-shadow:0 1rem 3rem #0000002e}.core-button-vns-container .temporary-unavailable{user-select:none;-moz-user-select:none;-webkit-user-select:none;cursor:not-allowed!important;opacity:.5}.core-button-vns-container .temporary-unavailable:hover{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: FormMetadataComponent, selector: "form-metadata" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "component", type: CoreControlComponent, selector: "core-control", inputs: ["control", "form", "checkError$", "rangeLimit"] }, { kind: "component", type: LiveFormComponent, selector: "live-form", inputs: ["$designMode", "$forKickOff", "$workflowReactContext"], outputs: ["$onClose"] }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }], animations: [slideFromTopFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2700
2700
|
}
|
|
2701
2701
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormGroupEditorComponent, decorators: [{
|
|
2702
2702
|
type: Component,
|
|
@@ -2792,7 +2792,7 @@ class CoreFormDesignMonitorComponent {
|
|
|
2792
2792
|
}
|
|
2793
2793
|
ngAfterViewInit() { }
|
|
2794
2794
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormDesignMonitorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2795
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.5", type: CoreFormDesignMonitorComponent, isStandalone: true, selector: "core-form-design-monitor", inputs: { $mode: { classPropertyName: "$mode", publicName: "$mode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"core-form-design-monitor-container\">\r\n <div class=\"list-wrapper\">\r\n <ul>\r\n <li [appTooltip]=\"'Click to view form in the Console'\" [showAnyway]=\"true\" (click)=\"viewFormInConsole()\">\uD83D\uDCE6</li>\r\n <li [appTooltip]=\"'The normalize function called count'\" [showAnyway]=\"true\">{{ normalizeCalledCount$ | async }}</li>\r\n <li [htmlTooltip]=\"controlTemplate\" [hold$]=\"holdControlTemplate$\"\r\n [class.hold]=\"holdControlTemplate$ | async\" (click)=\"toggleHold('controlTemplate')\">CT\r\n </li>\r\n <li [htmlTooltip]=\"nestedControlTemplate\" [hold$]=\"holdNestedControlTemplate$\"\r\n [class.hold]=\"holdNestedControlTemplate$ | async\"\r\n (click)=\"toggleHold('nestedControlTemplate')\">NCT</li>\r\n <li [htmlTooltip]=\"selectedCell\" [hold$]=\"holdSelectedCell$\" [class.hold]=\"holdSelectedCell$ | async\"\r\n (click)=\"toggleHold('selectedCell')\">SC</li>\r\n <li [htmlTooltip]=\"nestedSelectedCell\" [hold$]=\"holdNestedSelectedCell$\"\r\n [class.hold]=\"holdNestedSelectedCell$ | async\" (click)=\"toggleHold('nestedSelectedCell')\">NSC</li>\r\n <li [htmlTooltip]=\"control\" [hold$]=\"holdControl$\" [class.hold]=\"holdControl$ | async\"\r\n (click)=\"toggleHold('control')\">C</li>\r\n <li [htmlTooltip]=\"nestedControl\" [hold$]=\"holdNestedControl$\"\r\n [class.hold]=\"holdNestedControl$ | async\" (click)=\"toggleHold('nestedControl')\">NC</li>\r\n <li [htmlTooltip]=\"placeholderSections\" [hold$]=\"holdPlaceholderSections$\"\r\n [class.hold]=\"holdPlaceholderSections$ | async\" (click)=\"toggleHold('placeholderSections')\">PHS</li>\r\n <li [htmlTooltip]=\"nestedPlaceholderSections\" [hold$]=\"holdNestedPlaceholderSections$\"\r\n [class.hold]=\"holdNestedPlaceholderSections$ | async\" (click)=\"toggleHold('nestedPlaceholderSections')\">\r\n NPHS</li>\r\n </ul>\r\n </div>\r\n\r\n <ng-template #controlTemplate>\r\n <div class=\"pre-holder\">\r\n <p>$controlTemplate</p>\r\n <pre>{{ $controlTemplate() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedControlTemplate>\r\n <div class=\"pre-holder\">\r\n <p>$nestedControlTemplate</p>\r\n <pre>{{ $nestedControlTemplate() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #selectedCell>\r\n <div class=\"pre-holder\">\r\n <p>$selectedCell</p>\r\n <pre>{{ $selectedCell() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedSelectedCell>\r\n <div class=\"pre-holder\">\r\n <p>$nestedSelectedCell</p>\r\n <pre>{{ $nestedSelectedCell() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #control>\r\n <div class=\"pre-holder\">\r\n <p>$control</p>\r\n <pre>{{ $control() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedControl>\r\n <div class=\"pre-holder\">\r\n <p>$nestedControl</p>\r\n <pre>{{ $nestedControl() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #placeholderSections>\r\n <div class=\"pre-holder\">\r\n <p>$placeholderSections</p>\r\n <pre>{{ $placeholderSections() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedPlaceholderSections>\r\n <div class=\"pre-holder\">\r\n <p>$nestedPlaceholderSections</p>\r\n <pre>{{ $nestedPlaceholderSections() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n</div>", styles: [".core-form-design-monitor-container .list-wrapper{position:relative}.core-form-design-monitor-container .list-wrapper ul{display:flex;flex:auto;padding:0;margin:0}.core-form-design-monitor-container .list-wrapper ul li{height:34px;width:34px;display:flex;align-items:center;justify-content:center;border:1px solid #848484;cursor:pointer;margin-right:8px;font-size:10px}.core-form-design-monitor-container .list-wrapper ul li.hold{background-color:bisque}.core-form-design-monitor-container .pre-holder{max-height:60%;overflow:auto}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "pipe", type: JsonSafePipe, name: "jsonSafe" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "backgroundColor", "hold$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2795
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.5", type: CoreFormDesignMonitorComponent, isStandalone: true, selector: "core-form-design-monitor", inputs: { $mode: { classPropertyName: "$mode", publicName: "$mode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"core-form-design-monitor-container\">\r\n <div class=\"list-wrapper\">\r\n <ul>\r\n <li [appTooltip]=\"'Click to view form in the Console'\" [showAnyway]=\"true\" (click)=\"viewFormInConsole()\">\uD83D\uDCE6</li>\r\n <li [appTooltip]=\"'The normalize function called count'\" [showAnyway]=\"true\">{{ normalizeCalledCount$ | async }}</li>\r\n <li [htmlTooltip]=\"controlTemplate\" [hold$]=\"holdControlTemplate$\"\r\n [class.hold]=\"holdControlTemplate$ | async\" (click)=\"toggleHold('controlTemplate')\">CT\r\n </li>\r\n <li [htmlTooltip]=\"nestedControlTemplate\" [hold$]=\"holdNestedControlTemplate$\"\r\n [class.hold]=\"holdNestedControlTemplate$ | async\"\r\n (click)=\"toggleHold('nestedControlTemplate')\">NCT</li>\r\n <li [htmlTooltip]=\"selectedCell\" [hold$]=\"holdSelectedCell$\" [class.hold]=\"holdSelectedCell$ | async\"\r\n (click)=\"toggleHold('selectedCell')\">SC</li>\r\n <li [htmlTooltip]=\"nestedSelectedCell\" [hold$]=\"holdNestedSelectedCell$\"\r\n [class.hold]=\"holdNestedSelectedCell$ | async\" (click)=\"toggleHold('nestedSelectedCell')\">NSC</li>\r\n <li [htmlTooltip]=\"control\" [hold$]=\"holdControl$\" [class.hold]=\"holdControl$ | async\"\r\n (click)=\"toggleHold('control')\">C</li>\r\n <li [htmlTooltip]=\"nestedControl\" [hold$]=\"holdNestedControl$\"\r\n [class.hold]=\"holdNestedControl$ | async\" (click)=\"toggleHold('nestedControl')\">NC</li>\r\n <li [htmlTooltip]=\"placeholderSections\" [hold$]=\"holdPlaceholderSections$\"\r\n [class.hold]=\"holdPlaceholderSections$ | async\" (click)=\"toggleHold('placeholderSections')\">PHS</li>\r\n <li [htmlTooltip]=\"nestedPlaceholderSections\" [hold$]=\"holdNestedPlaceholderSections$\"\r\n [class.hold]=\"holdNestedPlaceholderSections$ | async\" (click)=\"toggleHold('nestedPlaceholderSections')\">\r\n NPHS</li>\r\n </ul>\r\n </div>\r\n\r\n <ng-template #controlTemplate>\r\n <div class=\"pre-holder\">\r\n <p>$controlTemplate</p>\r\n <pre>{{ $controlTemplate() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedControlTemplate>\r\n <div class=\"pre-holder\">\r\n <p>$nestedControlTemplate</p>\r\n <pre>{{ $nestedControlTemplate() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #selectedCell>\r\n <div class=\"pre-holder\">\r\n <p>$selectedCell</p>\r\n <pre>{{ $selectedCell() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedSelectedCell>\r\n <div class=\"pre-holder\">\r\n <p>$nestedSelectedCell</p>\r\n <pre>{{ $nestedSelectedCell() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #control>\r\n <div class=\"pre-holder\">\r\n <p>$control</p>\r\n <pre>{{ $control() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedControl>\r\n <div class=\"pre-holder\">\r\n <p>$nestedControl</p>\r\n <pre>{{ $nestedControl() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #placeholderSections>\r\n <div class=\"pre-holder\">\r\n <p>$placeholderSections</p>\r\n <pre>{{ $placeholderSections() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n <ng-template #nestedPlaceholderSections>\r\n <div class=\"pre-holder\">\r\n <p>$nestedPlaceholderSections</p>\r\n <pre>{{ $nestedPlaceholderSections() | jsonSafe }}</pre>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n</div>", styles: [".core-form-design-monitor-container .list-wrapper{position:relative}.core-form-design-monitor-container .list-wrapper ul{display:flex;flex:auto;padding:0;margin:0}.core-form-design-monitor-container .list-wrapper ul li{height:34px;width:34px;display:flex;align-items:center;justify-content:center;border:1px solid #848484;cursor:pointer;margin-right:8px;font-size:10px}.core-form-design-monitor-container .list-wrapper ul li.hold{background-color:bisque}.core-form-design-monitor-container .pre-holder{max-height:60%;overflow:auto}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "color", "backgroundColor", "position"] }, { kind: "pipe", type: JsonSafePipe, name: "jsonSafe" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2796
2796
|
}
|
|
2797
2797
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreFormDesignMonitorComponent, decorators: [{
|
|
2798
2798
|
type: Component,
|
|
@@ -3473,4 +3473,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
3473
3473
|
}], ctorParameters: () => [{ type: MultiLanguageService }] });
|
|
3474
3474
|
|
|
3475
3475
|
export { CoreFormDesignComponent };
|
|
3476
|
-
//# sourceMappingURL=ngx-histaff-alpha-core-form-design.component-
|
|
3476
|
+
//# sourceMappingURL=ngx-histaff-alpha-core-form-design.component-Dmyybeb_.mjs.map
|