ngx-histaff-alpha 6.7.0 → 6.7.2
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-Dj2bR7iS.mjs → ngx-histaff-alpha-ai-hint-for-table.component-C6gNt7ID.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-Dj2bR7iS.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-C6gNt7ID.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-Cam7V7oB.mjs → ngx-histaff-alpha-core-form-design.component-CgJL6bNn.mjs} +24 -12
- package/fesm2022/ngx-histaff-alpha-core-form-design.component-CgJL6bNn.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-D5fT6yqc.mjs → ngx-histaff-alpha-core-sys-action.component-TvSEbkRY.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-D5fT6yqc.mjs.map → ngx-histaff-alpha-core-sys-action.component-TvSEbkRY.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-BKr8PErZ.mjs → ngx-histaff-alpha-core-template-editor.component-BO2iHdtr.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-BKr8PErZ.mjs.map → ngx-histaff-alpha-core-template-editor.component-BO2iHdtr.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-BziGvhu7.mjs → ngx-histaff-alpha-core-toast-loading.component-D6L2vvEy.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-BziGvhu7.mjs.map → ngx-histaff-alpha-core-toast-loading.component-D6L2vvEy.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BIx0TovN.mjs → ngx-histaff-alpha-core-workflow-consume.component-B60KkHBd.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BIx0TovN.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-B60KkHBd.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-B7J6Vmhl.mjs → ngx-histaff-alpha-db-settings.component-7YXahcx6.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-B7J6Vmhl.mjs.map → ngx-histaff-alpha-db-settings.component-7YXahcx6.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-C8741lk_.mjs → ngx-histaff-alpha-design-wrapper.component-afSKU7r-.mjs} +12 -5
- package/fesm2022/ngx-histaff-alpha-design-wrapper.component-afSKU7r-.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-BPX0_yrT.mjs → ngx-histaff-alpha-design-wrapper.route-g5HQJs3l.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-BPX0_yrT.mjs.map → ngx-histaff-alpha-design-wrapper.route-g5HQJs3l.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-CErIMXQv.mjs → ngx-histaff-alpha-hrm-schema.component-DOjUVwDx.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-CErIMXQv.mjs.map → ngx-histaff-alpha-hrm-schema.component-DOjUVwDx.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-live-form.component-R3sLrUSc.mjs → ngx-histaff-alpha-live-form.component-ClikowUy.mjs} +30 -6
- package/fesm2022/ngx-histaff-alpha-live-form.component-ClikowUy.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-Dn5Nu0X2.mjs → ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.mjs} +602 -175
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-C-NEp41J.mjs → ngx-histaff-alpha-simple-chat.component-CyXzjXRl.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-C-NEp41J.mjs.map → ngx-histaff-alpha-simple-chat.component-CyXzjXRl.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-DZ4p_Fxr.mjs → ngx-histaff-alpha-sys-smtp-client-edit.component-CPtDVzH6.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-DZ4p_Fxr.mjs.map → ngx-histaff-alpha-sys-smtp-client-edit.component-CPtDVzH6.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-BSNdC0fI.mjs → ngx-histaff-alpha-sys-smtp-client.component-D-eR59PP.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-BSNdC0fI.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-D-eR59PP.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-template-list.component-B4eqR8Au.mjs → ngx-histaff-alpha-template-list.component-D3y6Ikg6.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-template-list.component-B4eqR8Au.mjs.map → ngx-histaff-alpha-template-list.component-D3y6Ikg6.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-D8f2uMmY.mjs → ngx-histaff-alpha-tracker-studio.component-B33444ca.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-D8f2uMmY.mjs.map → ngx-histaff-alpha-tracker-studio.component-B33444ca.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-E74A5t9G.mjs → ngx-histaff-alpha-wf-form-assign.component-CjUVdHfA.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-E74A5t9G.mjs.map → ngx-histaff-alpha-wf-form-assign.component-CjUVdHfA.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BDTnGgs7.mjs → ngx-histaff-alpha-wf-global-config.component-C6E99R89.mjs} +12 -12
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BDTnGgs7.mjs.map → ngx-histaff-alpha-wf-global-config.component-C6E99R89.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DSz84k3j.mjs → ngx-histaff-alpha-wf-instance-status.component-inD8KWzd.mjs} +7 -6
- package/fesm2022/ngx-histaff-alpha-wf-instance-status.component-inD8KWzd.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-C2ZQHv56.mjs → ngx-histaff-alpha-wf-instance-step-react.component-BwozfTka.mjs} +25 -4
- package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-BwozfTka.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-i6ic1Lf3.mjs → ngx-histaff-alpha-wf-lab.component-Ifhq99S9.mjs} +3 -3
- package/fesm2022/ngx-histaff-alpha-wf-lab.component-Ifhq99S9.mjs.map +1 -0
- package/fesm2022/ngx-histaff-alpha.mjs +1 -1
- package/lib/app/libraries/alert/alert/alert.model.d.ts +1 -0
- package/lib/app/libraries/alert/alert.service.d.ts +3 -1
- package/lib/app/libraries/core-date-picker/core-date-picker/core-date-picker.component.d.ts +27 -2
- package/lib/app/libraries/core-dom-decision-editor/core-dom-decision-editor.component.d.ts +6 -1
- package/lib/app/libraries/core-dom-decision-editor/dom-decision-context.service.d.ts +9 -0
- package/lib/app/libraries/core-dom-decision-editor/dom-entity-token/dom-entity-token.component.d.ts +8 -0
- package/lib/app/libraries/core-dom-decision-editor/dom-oid-factory/dom-oid-factory.component.d.ts +19 -0
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/entity-token.d.ts +9 -0
- package/lib/app/libraries/core-dom-decision-editor/intent-composer/intent-composer.component.d.ts +2 -1
- package/lib/app/libraries/core-form/core-form/enum-interfaces.d.ts +1 -0
- package/lib/app/libraries/core-form-design/field-setting/type-specific/datepicker-props/datepicker-props.component.d.ts +3 -0
- package/lib/app/libraries/core-form-design/live-form/live-form.component.d.ts +1 -0
- package/lib/app/libraries/core-workflow-builder/core-workflow.service.d.ts +1 -1
- package/lib/app/libraries/core-workflow-builder/interfaces/IWorkflowReactContext.d.ts +2 -0
- package/lib/app/libraries/core-workflow-builder/interfaces/IWorkflowStepProgressActor.d.ts +10 -1
- package/lib/app/libraries/core-workflow-builder/wf-instance-step-react/wf-instance-step-react.component.d.ts +1 -0
- package/lib/app/libraries/services/core-datetime.service.d.ts +37 -0
- package/package.json +2 -2
- package/fesm2022/ngx-histaff-alpha-core-form-design.component-Cam7V7oB.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-design-wrapper.component-C8741lk_.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-live-form.component-R3sLrUSc.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Dn5Nu0X2.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-wf-instance-status.component-DSz84k3j.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-C2ZQHv56.mjs.map +0 -1
- package/fesm2022/ngx-histaff-alpha-wf-lab.component-i6ic1Lf3.mjs.map +0 -1
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { input, signal, inject, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/forms';
|
|
4
4
|
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { B as BaseComponent, q as DbService, n as CoreWorkflowService, e as TranslatePipe, T as TooltipDirective } from './ngx-histaff-alpha-ngx-histaff-alpha-
|
|
5
|
+
import { B as BaseComponent, q as DbService, n as CoreWorkflowService, e as TranslatePipe, T as TooltipDirective } from './ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.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-C6gNt7ID.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-C6gNt7ID.mjs","sources":["../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/db-settings/ai-hint-for-table/ai-hint-for-table.component.ts","../../../projects/ngx-histaff-alpha/src/lib/app/libraries/core-workflow-builder/db-settings/ai-hint-for-table/ai-hint-for-table.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input, signal } from '@angular/core';\r\nimport { IWorkflowSchemaTable } from '../../interfaces/IWorkflowSchema';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslatePipe } from '../../../../app-pipes/translate.pipe';\r\nimport { TooltipDirective } from '../../../tooltip/tooltip.directive';\r\nimport { BaseComponent } from '../../../base-component/base/base.component';\r\nimport { DbService } from '../../../../services/db.service';\r\nimport { CoreWorkflowService } from '../../core-workflow.service';\r\nimport { take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ai-hint-for-table',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n TranslatePipe,\r\n TooltipDirective,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './ai-hint-for-table.component.html',\r\n styleUrl: './ai-hint-for-table.component.scss'\r\n})\r\nexport class AiHintForTableComponent extends BaseComponent {\r\n $table = input.required<IWorkflowSchemaTable>()\r\n\r\n $editing = signal(false);\r\n hintControl = new FormControl('');\r\n\r\n dbs = inject(DbService);\r\n wfs = inject(CoreWorkflowService);\r\n\r\n override ngOnInit() {\r\n this.subscriptions.push(\r\n this.mls.lang$.subscribe(x => this.lang = x)\r\n )\r\n this.hintControl.setValue(this.$table().hintForAi || '');\r\n }\r\n\r\n startEditing(): void {\r\n this.$editing.set(true);\r\n }\r\n\r\n save(): void {\r\n this.$editing.set(false);\r\n this.wfs.$workflowDbSchema.update(current => {\r\n const founds = current.filter(x => x.id === this.$table().id);\r\n if (founds) {\r\n founds[0].hintForAi = this.hintControl.getRawValue() ?? ''\r\n }\r\n return [...current];\r\n })\r\n this.dbs.updateTableHint(this.$table().table, this.hintControl.getRawValue() ?? '')\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => console.log('Hint saved'),\r\n error: err => console.error('Failed to save hint', err)\r\n });\r\n }\r\n}\r\n","<span class=\"ai-table-hint-wrapper\">\r\n @if (!$editing()) {\r\n <i\r\n class=\"feather feather-more-vertical ai-table-icon\"\r\n [appTooltip]=\"'Edit Hint for AI' | translate : lang\" [showAnyway]=\"true\"\r\n (click)=\"startEditing()\">\r\n </i>\r\n } @else {\r\n <input\r\n type=\"text\"\r\n class=\"form-control form-control-sm ai-table-hint-input\"\r\n [formControl]=\"hintControl\"\r\n (blur)=\"save()\"\r\n (keydown.enter)=\"save()\" />\r\n }\r\n</span>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, ChangeDetectorRef, Component, signal, effect, HostListener, ChangeDetectionStrategy, Injectable, computed, Input, viewChild, EventEmitter, Output, ViewContainerRef, input, Renderer2, isDevMode } from '@angular/core';
|
|
3
3
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
4
|
-
import { y as CoreFormDesignService, n as CoreWorkflowService, h as BaseEditComponent, b as AlertService, a as AppConfigService,
|
|
4
|
+
import { y as CoreFormDesignService, n as CoreWorkflowService, h as BaseEditComponent, b as AlertService, a as AppConfigService, W as EnumCorePageEditMode, _ as EnumCoreButtonVNSCode, $ as READONLY_WORKFLOW_FIELDS, a0 as noneAutoClosedAlertOptions, i as DialogService, M as MultiLanguageService, d as CorePageHeaderComponent, X as CoreFormComponent, a1 as CoreButtonGroupVnsComponent, e as TranslatePipe, E as EnumFormBaseContolType, B as BaseComponent, w as alertOptions, k as EnumCoreTablePipeType, l as CoreCheckboxComponent, a2 as CoreDropdownComponent, o as EnumCoreFormControlSeekerSourceType, a3 as EnumFilterOperator, L as CoreRadioGroupComponent, q as DbService, N as GptService, Q as CoreStickerCollectionComponent, a4 as CoreDomDecisionEditorComponent, T as TooltipDirective, H as HtmlTooltipDirective, a5 as CoreControlNoFormArrayComponent, a6 as EnumFormDesignMode, G as DomService, Z as JsonService, R as ApplicationHelpService, a7 as CoreControlComponent, a8 as JsonSafePipe, v as TableCellPipe, U as HotKeysDirective, a9 as CoreChecklistComponent, aa as CoreFormControlSeekerComponent, ab as CoreAttachmentComponent, ac as CoreDatePickerComponent, ad as CoreMonthSelectorComponent, ae as CoreCurrencyInputComponent } from './ngx-histaff-alpha-ngx-histaff-alpha-Ch_L3NjN.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-ClikowUy.mjs';
|
|
12
|
+
import { C as CoreToastLoadingComponent } from './ngx-histaff-alpha-core-toast-loading.component-D6L2vvEy.mjs';
|
|
13
13
|
|
|
14
14
|
const slideFromTopFadeIn = trigger('slideFromTopFadeIn', [
|
|
15
15
|
state('in', style({ opacity: 1, transform: 'translateY(0)' })),
|
|
@@ -444,11 +444,11 @@ class OptionalPropsComponent extends BasePropsComponent {
|
|
|
444
444
|
this.pipeOptions$ = new BehaviorSubject(Object.values(EnumCoreTablePipeType).map(x => ({ value: x, text: x })));
|
|
445
445
|
}
|
|
446
446
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OptionalPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
447
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: OptionalPropsComponent, isStandalone: true, selector: "optional-props", usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group optional-group\" [ngStyle]=\"{ padding: '15px' }\">\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Readonly</label>\r\n <core-checkbox ngModel ngDefaultControl [ngModel]=\"$control().readonly\" (ngModelChange)=\"setControlProp('readonly', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Hidden</label>\r\n <core-checkbox [ngModel]=\"$control().hidden\" (ngModelChange)=\"setControlProp('hidden', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Disabled</label>\r\n <core-checkbox [ngModel]=\"$control().disabled\" (ngModelChange)=\"setControlProp('disabled', $event)\" /> \r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Hint</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().hint\" (ngModelChange)=\"setControlProp('hint', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Pipe</label>\r\n <div class=\"control-wrapper\">\r\n <core-dropdown [ngModel]=\"$control().pipe\" (ngModelChange)=\"setControlProp('pipe', $event)\"\r\n [paramMode]=\"true\"\r\n [options$]=\"pipeOptions$\"\r\n >\r\n </core-dropdown>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }]
|
|
447
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: OptionalPropsComponent, isStandalone: true, selector: "optional-props", usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group optional-group\" [ngStyle]=\"{ padding: '15px' }\">\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Readonly</label>\r\n <core-checkbox ngModel ngDefaultControl [ngModel]=\"$control().readonly\" (ngModelChange)=\"setControlProp('readonly', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Hidden</label>\r\n <core-checkbox [ngModel]=\"$control().hidden\" (ngModelChange)=\"setControlProp('hidden', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Disabled</label>\r\n <core-checkbox [ngModel]=\"$control().disabled\" (ngModelChange)=\"setControlProp('disabled', $event)\" /> \r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Hint</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().hint\" (ngModelChange)=\"setControlProp('hint', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Pipe</label>\r\n <div class=\"control-wrapper\">\r\n <core-dropdown [ngModel]=\"$control().pipe\" (ngModelChange)=\"setControlProp('pipe', $event)\"\r\n [paramMode]=\"true\"\r\n [options$]=\"pipeOptions$\"\r\n >\r\n </core-dropdown>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }] }); }
|
|
448
448
|
}
|
|
449
449
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OptionalPropsComponent, decorators: [{
|
|
450
450
|
type: Component,
|
|
451
|
-
args: [{ selector: 'optional-props',
|
|
451
|
+
args: [{ selector: 'optional-props', imports: [
|
|
452
452
|
NgStyle,
|
|
453
453
|
FormsModule,
|
|
454
454
|
CoreCheckboxComponent,
|
|
@@ -509,11 +509,11 @@ class DropdownPropsComponent extends BasePropsComponent {
|
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
511
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DropdownPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
512
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DropdownPropsComponent, isStandalone: true, selector: "dropdown-props", usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group dropdown-group\" [ngStyle]=\"{ padding: '15px' }\">\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Use API</label>\r\n <core-checkbox [ngModel]=\"$control().optionApiDriven\" (ngModelChange)=\"setControlProp('optionApiDriven', $event)\" />\r\n </div>\r\n\r\n @if (!!$control().optionApiDriven) {\r\n <div class=\"setting-row\">\r\n <label>API Endpoint</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().optionApi\" (ngModelChange)=\"setControlProp('optionApi', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>HTTP Verb</label>\r\n <div class=\"control-wrapper\">\r\n <core-dropdown [ngModel]=\"$control().optionHttpVerb\" (ngModelChange)=\"setControlProp('optionHttpVerb', $event)\" [paramMode]=\"true\"\r\n [options$]=\"httpVerbOptions$\">\r\n </core-dropdown>\r\n </div>\r\n </div>\r\n\r\n @if ($control().optionHttpVerb === 'HttpPost') {\r\n <div class=\"setting-row\">\r\n <label>Payload (JSON)</label>\r\n <div class=\"control-wrapper\">\r\n <textarea class=\"form-control\" rows=\"3\" [(ngModel)]=\"jsonPayload\" (ngModelChange)=\"onPayloadJsonBlur()\"></textarea>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"setting-row\">\r\n <label>Value Field</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().optionValueFrom\" (ngModelChange)=\"setControlProp('optionValueFrom', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Text Field</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().optionTextFrom\" (ngModelChange)=\"setControlProp('optionTextFrom', $event)\" />\r\n </div>\r\n }\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }]
|
|
512
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DropdownPropsComponent, isStandalone: true, selector: "dropdown-props", usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group dropdown-group\" [ngStyle]=\"{ padding: '15px' }\">\r\n\r\n <div class=\"setting-row optional-bool\">\r\n <label>Use API</label>\r\n <core-checkbox [ngModel]=\"$control().optionApiDriven\" (ngModelChange)=\"setControlProp('optionApiDriven', $event)\" />\r\n </div>\r\n\r\n @if (!!$control().optionApiDriven) {\r\n <div class=\"setting-row\">\r\n <label>API Endpoint</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().optionApi\" (ngModelChange)=\"setControlProp('optionApi', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>HTTP Verb</label>\r\n <div class=\"control-wrapper\">\r\n <core-dropdown [ngModel]=\"$control().optionHttpVerb\" (ngModelChange)=\"setControlProp('optionHttpVerb', $event)\" [paramMode]=\"true\"\r\n [options$]=\"httpVerbOptions$\">\r\n </core-dropdown>\r\n </div>\r\n </div>\r\n\r\n @if ($control().optionHttpVerb === 'HttpPost') {\r\n <div class=\"setting-row\">\r\n <label>Payload (JSON)</label>\r\n <div class=\"control-wrapper\">\r\n <textarea class=\"form-control\" rows=\"3\" [(ngModel)]=\"jsonPayload\" (ngModelChange)=\"onPayloadJsonBlur()\"></textarea>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"setting-row\">\r\n <label>Value Field</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().optionValueFrom\" (ngModelChange)=\"setControlProp('optionValueFrom', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row\">\r\n <label>Text Field</label>\r\n <input class=\"form-control\" type=\"text\" [ngModel]=\"$control().optionTextFrom\" (ngModelChange)=\"setControlProp('optionTextFrom', $event)\" />\r\n </div>\r\n }\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight", "optionApiDriven", "optionApi", "optionHttpVerb", "optionHttpPayload", "optionValueFrom", "optionTextFrom"] }] }); }
|
|
513
513
|
}
|
|
514
514
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DropdownPropsComponent, decorators: [{
|
|
515
515
|
type: Component,
|
|
516
|
-
args: [{ selector: 'dropdown-props',
|
|
516
|
+
args: [{ selector: 'dropdown-props', imports: [
|
|
517
517
|
NgStyle,
|
|
518
518
|
FormsModule,
|
|
519
519
|
CoreCheckboxComponent,
|
|
@@ -778,16 +778,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
778
778
|
class DatepickerPropsComponent {
|
|
779
779
|
constructor() {
|
|
780
780
|
this.controlChange = new EventEmitter();
|
|
781
|
+
this.options$ = new BehaviorSubject([
|
|
782
|
+
{
|
|
783
|
+
text: 'start',
|
|
784
|
+
value: 'start'
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
text: 'inclusive-end',
|
|
788
|
+
value: 'inclusive-end'
|
|
789
|
+
},
|
|
790
|
+
]);
|
|
781
791
|
}
|
|
782
792
|
update() {
|
|
783
793
|
this.controlChange.emit(this.control);
|
|
784
794
|
}
|
|
785
795
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DatepickerPropsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
786
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DatepickerPropsComponent, isStandalone: true, selector: "datepicker-props", inputs: { control: "control" }, outputs: { controlChange: "controlChange" }, ngImport: i0, template: "<
|
|
796
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DatepickerPropsComponent, isStandalone: true, selector: "datepicker-props", inputs: { control: "control" }, outputs: { controlChange: "controlChange" }, ngImport: i0, template: "<div class=\"setting-group date-picker-group\" [style.padding]=\"'15px'\">\r\n <div class=\"setting-row\">\r\n <label>Civil range point</label>\r\n <core-radio-group [options$]=\"options$\" [vertical]=\"true\" [gapY]=\"15\"/>\r\n </div>\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"], dependencies: [{ kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical", "columnCount", "gapY", "defaultValue"] }] }); }
|
|
787
797
|
}
|
|
788
798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DatepickerPropsComponent, decorators: [{
|
|
789
799
|
type: Component,
|
|
790
|
-
args: [{ selector: 'datepicker-props', imports: [
|
|
800
|
+
args: [{ selector: 'datepicker-props', imports: [
|
|
801
|
+
CoreRadioGroupComponent
|
|
802
|
+
], template: "<div class=\"setting-group date-picker-group\" [style.padding]=\"'15px'\">\r\n <div class=\"setting-row\">\r\n <label>Civil range point</label>\r\n <core-radio-group [options$]=\"options$\" [vertical]=\"true\" [gapY]=\"15\"/>\r\n </div>\r\n</div>", styles: [".setting-group{display:flex;flex-direction:column}.setting-row{display:flex;justify-content:flex-start;align-items:center;height:50px}.setting-row label{width:30%}.setting-row .control-wrapper,.setting-row input,.setting-row .readonly-field{width:65%}.setting-row .readonly-field{font-style:italic;color:#666}.setting-row input.validator-value{text-align:right}.setting-row input.validator-value.pattern{text-align:left}.setting-row .control-wrapper{display:flex;align-items:center;justify-content:flex-start}.validator-group .setting-row{justify-content:flex-start}.validator-group .setting-row input{margin-left:15px;width:100%}.tiny-lock{margin-left:6px;font-size:12px;color:#888}\n"] }]
|
|
791
803
|
}], propDecorators: { control: [{
|
|
792
804
|
type: Input
|
|
793
805
|
}], controlChange: [{
|
|
@@ -1207,11 +1219,11 @@ class CalculatedPropsComponent extends BasePropsComponent {
|
|
|
1207
1219
|
openHintEditor(table, e) {
|
|
1208
1220
|
}
|
|
1209
1221
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CalculatedPropsComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1210
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CalculatedPropsComponent, isStandalone: true, selector: "calculated-props", viewQueries: [{ propertyName: "$shortHtmlHintForCSharpSyntax", first: true, predicate: ["shortHtmlHintForCSharpSyntax"], descendants: true, isSignal: true }, { propertyName: "$shortHtmlHintForSqlSyntax", first: true, predicate: ["shortHtmlHintForSqlSyntax"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group calculated-group\" [ngStyle]=\"{ padding: '15px' }\">\r\n\r\n <div class=\"setting-row evaluation-mode-row\">\r\n <label class=\"setting-label\">Evaluation Mode</label>\r\n <core-radio-group [options$]=\"radioOptions$\" [vertical]=\"true\" [gapY]=\"8\"\r\n [ngModel]=\"fds.$control()?.evaluationMode\" (ngModelChange)=\"setControlProp('evaluationMode', $event)\">\r\n </core-radio-group>\r\n </div>\r\n\r\n <div class=\"setting-row depends-on-row\">\r\n <label class=\"setting-label\">Depends On</label>\r\n <core-sticker-collection [$items]=\"$fields()\" [$shownFrom]=\"'field'\"\r\n [$initialChecked]=\"fds.$control()?.dependsOn || []\" ($checkedChange)=\"setControlProp('dependsOn', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row return-type-row\">\r\n <label class=\"setting-label\">Return Type</label>\r\n <select class=\"form-control setting-input\" [ngModel]=\"fds.$control()?.returnType || 'number'\"\r\n (ngModelChange)=\"setControlProp('returnType', $event)\">\r\n <option value=\"boolean\">Boolean</option>\r\n <option value=\"number\">Number</option>\r\n <option value=\"string\">String</option>\r\n <option value=\"number[]\">Number[]</option>\r\n <option value=\"string[]\">String[]</option>\r\n <!-- Omitting 'Date' and 'object' -->\r\n </select>\r\n </div>\r\n\r\n @if (!!fds.$control()?.dependsOn && !!fds.$control()?.dependsOn!.length) {\r\n\r\n\r\n <div class=\"setting-row script-row\">\r\n <label class=\"setting-label\">Script {{ $beingValidated() ? 'is being validated...' : '' }}</label>\r\n <textarea [ngStyle]=\"{ minHeight: '150px', borderRadius: '8px' }\" [readonly]=\"!fds.$control()?.evaluationMode\"\r\n [disabled]=\"!fds.$control()?.evaluationMode\" class=\"form-control\"\r\n [class.form-control-disabled]=\"!fds.$control()?.evaluationMode\" rows=\"20\" [ngModel]=\"fds.$control()?.script\"\r\n (ngModelChange)=\"onScriptChange($event)\" [placeholder]=\"$placeholderForScriptInput()\">\r\n </textarea>\r\n @if (!!$sqlScriptError()) {\r\n <small class=\"text-danger\">{{ $sqlScriptError() }}</small>\r\n }\r\n\r\n\r\n @if (!!fds.$control()?.evaluationMode) {\r\n <div class=\"button-group\">\r\n <button class=\"btn btn-secondary validate-btn\" (click)=\"validateScript($event)\">Validate with AI</button>\r\n <button class=\"btn btn-primary validate-btn\" (click)=\"generateScript()\">\r\n {{ $aiGeneratorOn() ? 'Hide AI Prompt Editor' : 'Show AI Prompt Editor' }}\r\n </button>\r\n </div>\r\n }\r\n\r\n @if ($aiGeneratorOn()) {\r\n <div class=\"sql-generator-panel\">\r\n <div class=\"alert alert-info\" style=\"margin-top: 1rem;\">\r\n <strong>SQL Generator:</strong> Describe what you want the script to do, and AI will generate SQL for you.\r\n </div>\r\n\r\n @if (fds.$control()?.evaluationMode==='sql-query') {\r\n <div class=\"sql-generator-panel mt-4\">\r\n <label class=\"fw-bold mb-2\">Select Related Tables</label>\r\n\r\n <core-sticker-collection [$enableFilter]=\"true\" [$items]=\"wfs.$workflowDbSchema()\" [$shownFrom]=\"'table'\"\r\n [$tooltipFrom]=\"'hintForAi'\" [$initialChecked]=\"[]\" ($checkedChange)=\"tableCheckedChange($event)\">\r\n </core-sticker-collection>\r\n\r\n </div>\r\n }\r\n\r\n @if (!!fds.$control()?.evaluationMode) {\r\n <textarea class=\"form-control\" style=\"min-height: 100px; margin-top: 0.5rem; border-radius: 8px;\"\r\n [(ngModel)]=\"$sqlPrompt\" placeholder=\"e.g., Calculate leave days between FROM_DATE and TO_DATE\">\r\n </textarea>\r\n\r\n <div class=\"mt-2 d-flex gap-2 justify-content-end\">\r\n <button class=\"btn btn-success\" (click)=\"submitScriptPrompt()\">\r\n Generate Script\r\n </button>\r\n </div>\r\n }\r\n\r\n @if ($generatedScript()) {\r\n <div class=\"generated-sql-box mt-3\">\r\n <label class=\"fw-bold\">Generated by AI:</label>\r\n <pre class=\"bg-light p-3 rounded\" style=\"white-space: pre-wrap;\">{{$generatedScript()}}</pre>\r\n <button class=\"btn btn-sm btn-primary mt-2\" (click)=\"applyGeneratedSql()\">Apply to Script</button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n\r\n\r\n }\r\n\r\n<ng-template #shortHtmlHintForCSharpSyntax>\r\n <div class=\"syntax-hint\">\r\n <strong>Example (C# Expression):</strong>\r\n <pre><code>FullName.ToUpper() + \" #\" + EmployeeCode</code></pre>\r\n <div class=\"note\">\r\n This expression will be evaluated dynamically using <code>DynamicExpresso</code>.<br>\r\n You can return any value from context.\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #shortHtmlHintForSqlSyntax>\r\n <div class=\"syntax-hint\">\r\n <strong>Example (SQL Query):</strong>\r\n <pre><code>SELECT EMPLOYEE_CODE FROM HU_EMPLOYEE WHERE ORG_ID = 123</code></pre>\r\n <div class=\"note\">\r\n Your SQL can return either a single value <em>or</em> a list.<br>\r\n The system will extract data from the <strong>first column of all rows</strong>.<br>\r\n Use standard SQL compatible with your database.\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n</div>", styles: [".setting-row{margin:30px 0}.button-group{margin-top:15px}.button-group button{height:35px;font-size:13px;border-radius:17.5px;margin-right:8px}.setting-divider{margin:1.5rem 0 .75rem;color:#555;border-top:1px dashed #ccc;padding-top:.5rem}.evaluation-mode-row{background-color:#ffecb3;border-radius:8px;width:180px;height:110px;padding:15px}.evaluation-mode-row label{margin-bottom:8px}.script-row{margin:30px 0}.syntax-hint{color:#666;background:#fff;border:1px solid #ccc;border-radius:6px;padding:12px;font-size:13px;max-width:320px;box-shadow:0 2px 6px #0000000d}.syntax-hint pre{margin:8px 0;background-color:#f8f8f8;padding:8px;border-radius:4px;font-family:monospace;white-space:pre-wrap;word-break:break-word}.syntax-hint .note{margin-top:6px;font-size:12px}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreStickerCollectionComponent, selector: "core-sticker-collection", inputs: ["$items", "$shownFrom", "$translateShownFrom", "$tooltipFrom", "$initialChecked", "$showMore", "$showMoreTooltip", "$hideShowMoreIfNotSelected", "$enableFilter", "$enableQuickCheck"], outputs: ["$checkedChange", "$onShowMore"] }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical", "columnCount", "gapY", "defaultValue"] }]
|
|
1222
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CalculatedPropsComponent, isStandalone: true, selector: "calculated-props", viewQueries: [{ propertyName: "$shortHtmlHintForCSharpSyntax", first: true, predicate: ["shortHtmlHintForCSharpSyntax"], descendants: true, isSignal: true }, { propertyName: "$shortHtmlHintForSqlSyntax", first: true, predicate: ["shortHtmlHintForSqlSyntax"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"setting-group calculated-group\" [ngStyle]=\"{ padding: '15px' }\">\r\n\r\n <div class=\"setting-row evaluation-mode-row\">\r\n <label class=\"setting-label\">Evaluation Mode</label>\r\n <core-radio-group [options$]=\"radioOptions$\" [vertical]=\"true\" [gapY]=\"8\"\r\n [ngModel]=\"fds.$control()?.evaluationMode\" (ngModelChange)=\"setControlProp('evaluationMode', $event)\">\r\n </core-radio-group>\r\n </div>\r\n\r\n <div class=\"setting-row depends-on-row\">\r\n <label class=\"setting-label\">Depends On</label>\r\n <core-sticker-collection [$items]=\"$fields()\" [$shownFrom]=\"'field'\"\r\n [$initialChecked]=\"fds.$control()?.dependsOn || []\" ($checkedChange)=\"setControlProp('dependsOn', $event)\" />\r\n </div>\r\n\r\n <div class=\"setting-row return-type-row\">\r\n <label class=\"setting-label\">Return Type</label>\r\n <select class=\"form-control setting-input\" [ngModel]=\"fds.$control()?.returnType || 'number'\"\r\n (ngModelChange)=\"setControlProp('returnType', $event)\">\r\n <option value=\"boolean\">Boolean</option>\r\n <option value=\"number\">Number</option>\r\n <option value=\"string\">String</option>\r\n <option value=\"number[]\">Number[]</option>\r\n <option value=\"string[]\">String[]</option>\r\n <!-- Omitting 'Date' and 'object' -->\r\n </select>\r\n </div>\r\n\r\n @if (!!fds.$control()?.dependsOn && !!fds.$control()?.dependsOn!.length) {\r\n\r\n\r\n <div class=\"setting-row script-row\">\r\n <label class=\"setting-label\">Script {{ $beingValidated() ? 'is being validated...' : '' }}</label>\r\n <textarea [ngStyle]=\"{ minHeight: '150px', borderRadius: '8px' }\" [readonly]=\"!fds.$control()?.evaluationMode\"\r\n [disabled]=\"!fds.$control()?.evaluationMode\" class=\"form-control\"\r\n [class.form-control-disabled]=\"!fds.$control()?.evaluationMode\" rows=\"20\" [ngModel]=\"fds.$control()?.script\"\r\n (ngModelChange)=\"onScriptChange($event)\" [placeholder]=\"$placeholderForScriptInput()\">\r\n </textarea>\r\n @if (!!$sqlScriptError()) {\r\n <small class=\"text-danger\">{{ $sqlScriptError() }}</small>\r\n }\r\n\r\n\r\n @if (!!fds.$control()?.evaluationMode) {\r\n <div class=\"button-group\">\r\n <button class=\"btn btn-secondary validate-btn\" (click)=\"validateScript($event)\">Validate with AI</button>\r\n <button class=\"btn btn-primary validate-btn\" (click)=\"generateScript()\">\r\n {{ $aiGeneratorOn() ? 'Hide AI Prompt Editor' : 'Show AI Prompt Editor' }}\r\n </button>\r\n </div>\r\n }\r\n\r\n @if ($aiGeneratorOn()) {\r\n <div class=\"sql-generator-panel\">\r\n <div class=\"alert alert-info\" style=\"margin-top: 1rem;\">\r\n <strong>SQL Generator:</strong> Describe what you want the script to do, and AI will generate SQL for you.\r\n </div>\r\n\r\n @if (fds.$control()?.evaluationMode==='sql-query') {\r\n <div class=\"sql-generator-panel mt-4\">\r\n <label class=\"fw-bold mb-2\">Select Related Tables</label>\r\n\r\n <core-sticker-collection [$enableFilter]=\"true\" [$items]=\"wfs.$workflowDbSchema()\" [$shownFrom]=\"'table'\"\r\n [$tooltipFrom]=\"'hintForAi'\" [$initialChecked]=\"[]\" ($checkedChange)=\"tableCheckedChange($event)\">\r\n </core-sticker-collection>\r\n\r\n </div>\r\n }\r\n\r\n @if (!!fds.$control()?.evaluationMode) {\r\n <textarea class=\"form-control\" style=\"min-height: 100px; margin-top: 0.5rem; border-radius: 8px;\"\r\n [(ngModel)]=\"$sqlPrompt\" placeholder=\"e.g., Calculate leave days between FROM_DATE and TO_DATE\">\r\n </textarea>\r\n\r\n <div class=\"mt-2 d-flex gap-2 justify-content-end\">\r\n <button class=\"btn btn-success\" (click)=\"submitScriptPrompt()\">\r\n Generate Script\r\n </button>\r\n </div>\r\n }\r\n\r\n @if ($generatedScript()) {\r\n <div class=\"generated-sql-box mt-3\">\r\n <label class=\"fw-bold\">Generated by AI:</label>\r\n <pre class=\"bg-light p-3 rounded\" style=\"white-space: pre-wrap;\">{{$generatedScript()}}</pre>\r\n <button class=\"btn btn-sm btn-primary mt-2\" (click)=\"applyGeneratedSql()\">Apply to Script</button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n\r\n\r\n }\r\n\r\n<ng-template #shortHtmlHintForCSharpSyntax>\r\n <div class=\"syntax-hint\">\r\n <strong>Example (C# Expression):</strong>\r\n <pre><code>FullName.ToUpper() + \" #\" + EmployeeCode</code></pre>\r\n <div class=\"note\">\r\n This expression will be evaluated dynamically using <code>DynamicExpresso</code>.<br>\r\n You can return any value from context.\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #shortHtmlHintForSqlSyntax>\r\n <div class=\"syntax-hint\">\r\n <strong>Example (SQL Query):</strong>\r\n <pre><code>SELECT EMPLOYEE_CODE FROM HU_EMPLOYEE WHERE ORG_ID = 123</code></pre>\r\n <div class=\"note\">\r\n Your SQL can return either a single value <em>or</em> a list.<br>\r\n The system will extract data from the <strong>first column of all rows</strong>.<br>\r\n Use standard SQL compatible with your database.\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n</div>", styles: [".setting-row{margin:30px 0}.button-group{margin-top:15px}.button-group button{height:35px;font-size:13px;border-radius:17.5px;margin-right:8px}.setting-divider{margin:1.5rem 0 .75rem;color:#555;border-top:1px dashed #ccc;padding-top:.5rem}.evaluation-mode-row{background-color:#ffecb3;border-radius:8px;width:180px;height:110px;padding:15px}.evaluation-mode-row label{margin-bottom:8px}.script-row{margin:30px 0}.syntax-hint{color:#666;background:#fff;border:1px solid #ccc;border-radius:6px;padding:12px;font-size:13px;max-width:320px;box-shadow:0 2px 6px #0000000d}.syntax-hint pre{margin:8px 0;background-color:#f8f8f8;padding:8px;border-radius:4px;font-family:monospace;white-space:pre-wrap;word-break:break-word}.syntax-hint .note{margin-top:6px;font-size:12px}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreStickerCollectionComponent, selector: "core-sticker-collection", inputs: ["$items", "$shownFrom", "$translateShownFrom", "$tooltipFrom", "$initialChecked", "$showMore", "$showMoreTooltip", "$hideShowMoreIfNotSelected", "$enableFilter", "$enableQuickCheck"], outputs: ["$checkedChange", "$onShowMore"] }, { kind: "component", type: CoreRadioGroupComponent, selector: "core-radio-group", inputs: ["options$", "vertical", "columnCount", "gapY", "defaultValue"] }] }); }
|
|
1211
1223
|
}
|
|
1212
1224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CalculatedPropsComponent, decorators: [{
|
|
1213
1225
|
type: Component,
|
|
1214
|
-
args: [{ selector: 'calculated-props',
|
|
1226
|
+
args: [{ selector: 'calculated-props', imports: [
|
|
1215
1227
|
NgStyle,
|
|
1216
1228
|
FormsModule,
|
|
1217
1229
|
CoreStickerCollectionComponent,
|
|
@@ -3525,4 +3537,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
3525
3537
|
}], ctorParameters: () => [{ type: MultiLanguageService }] });
|
|
3526
3538
|
|
|
3527
3539
|
export { CoreFormDesignComponent };
|
|
3528
|
-
//# sourceMappingURL=ngx-histaff-alpha-core-form-design.component-
|
|
3540
|
+
//# sourceMappingURL=ngx-histaff-alpha-core-form-design.component-CgJL6bNn.mjs.map
|