ngx-histaff-alpha 6.7.4 → 6.7.5
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-Dkf1D2TC.mjs → ngx-histaff-alpha-ai-hint-for-table.component-DwX6z2zv.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-Dkf1D2TC.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-DwX6z2zv.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-DaeaSWxa.mjs → ngx-histaff-alpha-core-form-design.component-B7BWL6WV.mjs} +7 -7
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-DaeaSWxa.mjs.map → ngx-histaff-alpha-core-form-design.component-B7BWL6WV.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-DR5tSCyi.mjs → ngx-histaff-alpha-core-sys-action.component-DxlfFjYx.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-DR5tSCyi.mjs.map → ngx-histaff-alpha-core-sys-action.component-DxlfFjYx.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-CIiEq5e3.mjs → ngx-histaff-alpha-core-template-editor.component-o1melxIr.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-CIiEq5e3.mjs.map → ngx-histaff-alpha-core-template-editor.component-o1melxIr.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-Dh04x1Gk.mjs → ngx-histaff-alpha-core-toast-loading.component-C1xF9q5m.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-Dh04x1Gk.mjs.map → ngx-histaff-alpha-core-toast-loading.component-C1xF9q5m.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-CmfVtO9m.mjs → ngx-histaff-alpha-core-workflow-consume.component-D_FTaqQo.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-CmfVtO9m.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-D_FTaqQo.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-BZSA6NAu.mjs → ngx-histaff-alpha-db-settings.component-BHuQH58t.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-BZSA6NAu.mjs.map → ngx-histaff-alpha-db-settings.component-BHuQH58t.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-CafimL_U.mjs → ngx-histaff-alpha-design-wrapper.component-BPqt0OZ5.mjs} +6 -6
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-CafimL_U.mjs.map → ngx-histaff-alpha-design-wrapper.component-BPqt0OZ5.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-CbYLenS2.mjs → ngx-histaff-alpha-design-wrapper.route-COuGfx8m.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-CbYLenS2.mjs.map → ngx-histaff-alpha-design-wrapper.route-COuGfx8m.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-C4oLeqK7.mjs → ngx-histaff-alpha-hrm-schema.component-D1uTCDQS.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-C4oLeqK7.mjs.map → ngx-histaff-alpha-hrm-schema.component-D1uTCDQS.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-live-form.component-nXvYmTN6.mjs → ngx-histaff-alpha-live-form.component-vNa45nJi.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-live-form.component-nXvYmTN6.mjs.map → ngx-histaff-alpha-live-form.component-vNa45nJi.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-Bq_o4nyJ.mjs → ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs} +725 -134
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-DRWZfDrq.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-Ds96N3a5.mjs → ngx-histaff-alpha-simple-chat.component-CEVRHmjv.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-Ds96N3a5.mjs.map → ngx-histaff-alpha-simple-chat.component-CEVRHmjv.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-BZtKL2E-.mjs → ngx-histaff-alpha-sys-smtp-client-edit.component-GnVcOm23.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client-edit.component-BZtKL2E-.mjs.map → ngx-histaff-alpha-sys-smtp-client-edit.component-GnVcOm23.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-9xQoCvkB.mjs → ngx-histaff-alpha-sys-smtp-client.component-cHZjBAVj.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-9xQoCvkB.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-cHZjBAVj.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-template-list.component-Dd-mVFgx.mjs → ngx-histaff-alpha-template-list.component-Wloctfpt.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-template-list.component-Dd-mVFgx.mjs.map → ngx-histaff-alpha-template-list.component-Wloctfpt.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BusMbkyJ.mjs → ngx-histaff-alpha-tracker-studio.component-DMujJuQP.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-BusMbkyJ.mjs.map → ngx-histaff-alpha-tracker-studio.component-DMujJuQP.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-CGJwS5vg.mjs → ngx-histaff-alpha-wf-form-assign.component-COVOPuyc.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-CGJwS5vg.mjs.map → ngx-histaff-alpha-wf-form-assign.component-COVOPuyc.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-DGR0BF1z.mjs → ngx-histaff-alpha-wf-global-config.component-CakiKMEP.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-DGR0BF1z.mjs.map → ngx-histaff-alpha-wf-global-config.component-CakiKMEP.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BIn7CoGJ.mjs → ngx-histaff-alpha-wf-instance-status.component-DdzM44wT.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-BIn7CoGJ.mjs.map → ngx-histaff-alpha-wf-instance-status.component-DdzM44wT.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-CZ1lYz2B.mjs → ngx-histaff-alpha-wf-instance-step-react.component-DuUxqAnf.mjs} +3 -3
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-CZ1lYz2B.mjs.map → ngx-histaff-alpha-wf-instance-step-react.component-DuUxqAnf.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-C62MAOIe.mjs → ngx-histaff-alpha-wf-lab.component-7125SG5f.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-C62MAOIe.mjs.map → ngx-histaff-alpha-wf-lab.component-7125SG5f.mjs.map} +1 -1
- package/fesm2022/ngx-histaff-alpha.mjs +1 -1
- package/lib/app/libraries/core-dom-decision-editor/core-dom-decision-editor.component.d.ts +46 -3
- package/lib/app/libraries/core-dom-decision-editor/dom-decision-context.service.d.ts +50 -1
- package/lib/app/libraries/core-dom-decision-editor/dom-entity-token/dom-entity-token.component.d.ts +3 -0
- package/lib/app/libraries/core-dom-decision-editor/dom-oid-factory/dom-oid-factory.component.d.ts +53 -3
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/entity-token.d.ts +1 -0
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/intent-descriptor.model.d.ts +32 -2
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/narration-engine.d.ts +44 -0
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/omega-intent.d.ts +2 -0
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/omega-projection.vm.d.ts +1 -2
- package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/registries/intent-grammar.registry.d.ts +2 -0
- package/lib/app/libraries/core-dom-decision-editor/intent-composer/intent-composer.component.d.ts +14 -1
- package/lib/app/libraries/core-dropdown/core-dropdown/core-dropdown.component.d.ts +2 -1
- package/lib/app/libraries/core-timezone/core-timezone.component.d.ts +5 -4
- package/lib/app/libraries/services/core-datetime.service.d.ts +9 -2
- package/lib/app/services/app-config.service.d.ts +2 -0
- package/package.json +2 -2
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-Bq_o4nyJ.mjs.map +0 -1
package/lib/app/libraries/core-dom-decision-editor/dom-oid-factory/dom-oid-factory.component.d.ts
CHANGED
|
@@ -1,10 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DomOIdFactoryComponent
|
|
3
|
+
*
|
|
4
|
+
* Đây KHÔNG phải là một picker thông thường, cũng không phải là một input CRUD.
|
|
5
|
+
*
|
|
6
|
+
* Component này đóng vai trò là “Symbolic Reference Binder” trong ngữ cảnh
|
|
7
|
+
* CoreDomDecisionEditor. Nhiệm vụ duy nhất của nó là cho phép người dùng:
|
|
8
|
+
* - Phát biểu một danh từ tổ chức (O) dưới dạng ý định (literal),
|
|
9
|
+
* - Hoặc ràng buộc tới một token tổ chức đã được nhắc tới ở các Seq trước đó.
|
|
10
|
+
*
|
|
11
|
+
* Các nguyên tắc bất biến:
|
|
12
|
+
* - KHÔNG sinh entity mới.
|
|
13
|
+
* - KHÔNG tạo ID giả, KHÔNG mô phỏng DB.
|
|
14
|
+
* - KHÔNG giữ state riêng về token.
|
|
15
|
+
* - KHÔNG nhận token qua @Input().
|
|
16
|
+
*
|
|
17
|
+
* DomOIdFactory chỉ đọc “sự thật ngữ cảnh” từ DomDecisionContextService,
|
|
18
|
+
* nơi tập hợp các token hợp lệ theo activeSeq hiện tại của Decision.
|
|
19
|
+
* Nhờ đó, component này không bao giờ cho phép người dùng
|
|
20
|
+
* “nhắc tới tương lai” hoặc phá vỡ quan hệ nhân quả của Intent Chain.
|
|
21
|
+
*
|
|
22
|
+
* Giá trị mà component ghi vào form KHÔNG phải là PK/ID DB,
|
|
23
|
+
* mà là một biểu thức tham chiếu mang tính ngôn ngữ (symbolic reference),
|
|
24
|
+
* sẽ được resolve duy nhất ở giai đoạn Executor.
|
|
25
|
+
*
|
|
26
|
+
* Component này chỉ được phép sử dụng bên trong CoreDomDecisionEditor.
|
|
27
|
+
* Nếu cần tái sử dụng ở ngữ cảnh khác, phải tạo component mới hoặc adapter rõ ràng,
|
|
28
|
+
* không được mang DomOIdFactory ra khỏi Decision boundary.
|
|
29
|
+
*
|
|
30
|
+
* DomOIdFactoryComponent là tiền đề kiến trúc cho các component cùng họ:
|
|
31
|
+
* - DomSIdFactoryComponent
|
|
32
|
+
* - DomPIdFactoryComponent
|
|
33
|
+
*
|
|
34
|
+
* Nếu component này bị đơn giản hóa hoặc dùng sai ngữ cảnh,
|
|
35
|
+
* toàn bộ mô hình Token / Decision / Executor phía sau sẽ mất ý nghĩa.
|
|
36
|
+
*/
|
|
37
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
1
38
|
import { ICoreTreeReferenceNode } from '../../core-tree-reference/core-tree-reference.component';
|
|
2
39
|
import { CoreFormControlBaseComponent } from '../../core-form-control-base/core-form-control-base.component';
|
|
3
40
|
import { IEntityToken } from '../enum-interfaces/entity-token';
|
|
4
41
|
import * as i0 from "@angular/core";
|
|
5
|
-
export
|
|
42
|
+
export interface IDomOIdFactoryEmit {
|
|
43
|
+
controlName: string | undefined;
|
|
44
|
+
id: string;
|
|
45
|
+
originalName?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare class DomOIdFactoryComponent extends CoreFormControlBaseComponent implements AfterViewInit, OnDestroy {
|
|
48
|
+
$showSearch: import("@angular/core").InputSignal<boolean>;
|
|
49
|
+
resolved: import("@angular/core").OutputEmitterRef<IDomOIdFactoryEmit>;
|
|
6
50
|
private ctx;
|
|
7
|
-
|
|
51
|
+
private elRef;
|
|
52
|
+
private destroyClickOutside?;
|
|
53
|
+
writeValue(obj: any): void;
|
|
54
|
+
constructor();
|
|
55
|
+
$currentTokens: import("@angular/core").Signal<IEntityToken[]>;
|
|
8
56
|
$loading: import("@angular/core").WritableSignal<boolean>;
|
|
9
57
|
$searchText: import("@angular/core").WritableSignal<string>;
|
|
10
58
|
$displayName: import("@angular/core").WritableSignal<string>;
|
|
@@ -14,6 +62,8 @@ export declare class DomOIdFactoryComponent extends CoreFormControlBaseComponent
|
|
|
14
62
|
onSearchTextChange(e: string): void;
|
|
15
63
|
onPopupToggle(): void;
|
|
16
64
|
onTreeItemSelected(e: ICoreTreeReferenceNode): void;
|
|
65
|
+
ngAfterViewInit(): void;
|
|
66
|
+
ngOnDestroy(): void;
|
|
17
67
|
static ɵfac: i0.ɵɵFactoryDeclaration<DomOIdFactoryComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DomOIdFactoryComponent, "dom-oid-factory", never, {}, {}, never, never, true, never>;
|
|
68
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DomOIdFactoryComponent, "dom-oid-factory", never, { "$showSearch": { "alias": "$showSearch"; "required": false; "isSignal": true; }; }, { "resolved": "resolved"; }, never, never, true, never>;
|
|
19
69
|
}
|
|
@@ -7,3 +7,4 @@ export interface IEntityToken {
|
|
|
7
7
|
}
|
|
8
8
|
export type HumanSnapshot = Partial<Record<HumanReadableInputKey, string>>;
|
|
9
9
|
export type HumanReadableInputKey = 'CODE' | 'SHORT_CODE' | 'ORIGINAL_NAME' | 'TREE_NAME' | 'ROLE' | 'NOTE';
|
|
10
|
+
export declare const HUMAN_LABEL_MAP: Record<HumanReadableInputKey, string>;
|
package/lib/app/libraries/core-dom-decision-editor/enum-interfaces/intent-descriptor.model.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EnumActionCode } from '../enum-interfaces/action-code.enum';
|
|
2
|
+
import { IIntentGrammar } from '../enum-interfaces/narration-engine';
|
|
2
3
|
export interface IIntentDescriptor {
|
|
3
4
|
/** Unique action code – MUST match backend handler */
|
|
4
5
|
readonly actionCode: EnumActionCode;
|
|
@@ -12,6 +13,8 @@ export interface IIntentDescriptor {
|
|
|
12
13
|
readonly quickEmoji: string;
|
|
13
14
|
/** Input schema – descriptive only */
|
|
14
15
|
readonly inputs: ReadonlyArray<IIntentInputDescriptor>;
|
|
16
|
+
/** Grammar-based narration definition */
|
|
17
|
+
readonly narration?: IIntentGrammar;
|
|
15
18
|
}
|
|
16
19
|
export interface IIntentInputDescriptor {
|
|
17
20
|
/** Logical input key */
|
|
@@ -21,7 +24,34 @@ export interface IIntentInputDescriptor {
|
|
|
21
24
|
/** Input kind – NOT a form type */
|
|
22
25
|
readonly kind: IntentInputKind;
|
|
23
26
|
/** Default value when composing intent */
|
|
24
|
-
|
|
27
|
+
defaultValue?: unknown;
|
|
28
|
+
/**
|
|
29
|
+
* defaultValueFactory
|
|
30
|
+
* ----------------------------------------
|
|
31
|
+
* Factory sinh giá trị mặc định tại THỜI ĐIỂM build form,
|
|
32
|
+
* không phải tại thời điểm định nghĩa descriptor.
|
|
33
|
+
*
|
|
34
|
+
* Dùng cho các giá trị có tính:
|
|
35
|
+
* - Động theo lần tạo intent (UUID, timestamp, random code, ...)
|
|
36
|
+
* - Phụ thuộc ngữ cảnh runtime
|
|
37
|
+
*
|
|
38
|
+
* ⚠️ TUYỆT ĐỐI KHÔNG dùng defaultValue cho:
|
|
39
|
+
* - crypto.randomUUID()
|
|
40
|
+
* - new Date()
|
|
41
|
+
* - Date.now()
|
|
42
|
+
* - Math.random()
|
|
43
|
+
*
|
|
44
|
+
* Lý do:
|
|
45
|
+
* Descriptor là metadata tĩnh, chỉ được evaluate MỘT LẦN
|
|
46
|
+
* khi module được load.
|
|
47
|
+
* Việc đặt giá trị động vào defaultValue sẽ gây reuse dữ liệu,
|
|
48
|
+
* phá vỡ lịch sử quyết định và dẫn tới bug rất khó truy vết.
|
|
49
|
+
*
|
|
50
|
+
* Quy tắc:
|
|
51
|
+
* - defaultValue → literal / constant
|
|
52
|
+
* - defaultValueFactory → dynamic / runtime value
|
|
53
|
+
*/
|
|
54
|
+
defaultValueFactory?: () => unknown;
|
|
25
55
|
readonly validators?: IIntentInputValidatorSchema;
|
|
26
56
|
/** Optional hint for humans */
|
|
27
57
|
readonly hint?: string;
|
|
@@ -57,7 +87,7 @@ export interface IIntentInputError {
|
|
|
57
87
|
errorMessage: string;
|
|
58
88
|
}
|
|
59
89
|
export type IntentInputKind = 'string' | 'boolean' | 'date' | 'dropdown' | 'number' | 'reference' | 'enum' | 'timezoneId' | 'orgGardenReference' | 'orgAttributeName' | 'seatAttributeName' | 'personAttributeName' | 'rCode' | 'treeId' | 'role';
|
|
60
|
-
export type IntentInputKey = 'A_ID' | 'B_ID' | 'R_CODE' | 'VF_UTC' | 'VT_UTC' | 'TIMEZONE_ID' | 'ORIGINAL_NAME' | 'IS_ROOT' | 'IS_HR' | 'CODE' | 'SHORT_CODE' | 'ID' | 'OBJECT_ID' | 'ROLE' | 'NOTE' | 'OBJECT_TYPE' | 'ATTRIBUTE_NAME' | 'VALUE_IN_STRING' | 'AVAILABLE_UTC' | 'TREE_ID' | 'TREE_NAME';
|
|
90
|
+
export type IntentInputKey = 'A_ID' | 'B_ID' | 'R_CODE' | 'VF_UTC' | 'VT_UTC' | 'TIMEZONE_ID' | 'ORIGINAL_NAME' | 'IS_ROOT' | 'IS_HR' | 'CODE' | 'SHORT_CODE' | 'ID' | 'OBJECT_ID' | 'ROLE' | 'NOTE' | 'OBJECT_TYPE' | 'ATTRIBUTE_NAME' | 'VALUE_IN_STRING' | 'AVAILABLE_UTC' | 'TREE_ID' | 'TREE_NAME' | 'A_ORIGINAL_NAME' | 'B_ORIGINAL_NAME' | 'LEFT_S_CODE' | 'RIGHT_S_CODE';
|
|
61
91
|
export interface IIntentInputRow {
|
|
62
92
|
readonly row: number;
|
|
63
93
|
readonly inputs: ReadonlyArray<IIntentInputDescriptor>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EnumActionCode } from '../enum-interfaces/action-code.enum';
|
|
2
|
+
import { EnumRCodeForward } from './r-code.enum';
|
|
3
|
+
export interface IIntentNarrationContext {
|
|
4
|
+
locale: 'vi' | 'en';
|
|
5
|
+
/** Raw facts from intent input */
|
|
6
|
+
facts: Record<string, unknown>;
|
|
7
|
+
/** Resolved human-readable references */
|
|
8
|
+
resolved: Record<string, string>;
|
|
9
|
+
/** Temporal interpretation */
|
|
10
|
+
temporal: {
|
|
11
|
+
/** Civil date, thường dùng cho CREATE */
|
|
12
|
+
localDate?: string;
|
|
13
|
+
/** Canonical IANA timezone */
|
|
14
|
+
timezoneId?: string;
|
|
15
|
+
/** Effective window – dùng cho LINK_, SET_ */
|
|
16
|
+
effective?: {
|
|
17
|
+
from?: string;
|
|
18
|
+
to?: string;
|
|
19
|
+
};
|
|
20
|
+
/** Moment semantics (optional, advanced) */
|
|
21
|
+
mode?: 'POINT' | 'RANGE';
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface INarrationClause {
|
|
25
|
+
when(ctx: IIntentNarrationContext): boolean;
|
|
26
|
+
render(ctx: IIntentNarrationContext): string;
|
|
27
|
+
}
|
|
28
|
+
export interface IIntentGrammar {
|
|
29
|
+
intentCode: EnumActionCode;
|
|
30
|
+
/** Optional R_CODE constraint for this grammar */
|
|
31
|
+
rCode?: EnumRCodeForward;
|
|
32
|
+
subject(ctx: IIntentNarrationContext): string;
|
|
33
|
+
clauses?: ReadonlyArray<INarrationClause>;
|
|
34
|
+
}
|
|
35
|
+
export interface IIntentGrammar {
|
|
36
|
+
intentCode: EnumActionCode;
|
|
37
|
+
subject(ctx: IIntentNarrationContext): string;
|
|
38
|
+
clauses?: ReadonlyArray<INarrationClause>;
|
|
39
|
+
}
|
|
40
|
+
export declare const CreateOrganizationGrammar: IIntentGrammar;
|
|
41
|
+
export declare function narrateIntent(grammar: IIntentGrammar, ctx: IIntentNarrationContext): string;
|
|
42
|
+
export declare const CREATE_O_GRAMMAR: IIntentGrammar;
|
|
43
|
+
export declare const CREATE_S_GRAMMAR: IIntentGrammar;
|
|
44
|
+
export declare const LINK_O_O_GRAMMAR: IIntentGrammar;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { EnumActionCode } from "./action-code.enum";
|
|
2
|
+
import { IEntityToken } from "./entity-token";
|
|
2
3
|
import { IOmegaValue } from "./others";
|
|
3
4
|
export interface IOmegaIntent {
|
|
4
5
|
readonly seq: number;
|
|
5
6
|
readonly actionCode: EnumActionCode;
|
|
6
7
|
readonly input: Record<string, IOmegaValue>;
|
|
8
|
+
readonly outputs?: ReadonlyArray<IEntityToken>;
|
|
7
9
|
}
|
package/lib/app/libraries/core-dom-decision-editor/intent-composer/intent-composer.component.d.ts
CHANGED
|
@@ -3,11 +3,13 @@ import { IIntentDescriptor, IIntentInputError, IIntentInputRow, IIntentInputVali
|
|
|
3
3
|
import { IIntentDraft } from '../enum-interfaces/intent-draft.model';
|
|
4
4
|
import { FormBuilder, FormGroup, ValidatorFn } from '@angular/forms';
|
|
5
5
|
import { AlertService } from '../../alert/alert.service';
|
|
6
|
-
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
7
7
|
import { ICoreDropdownOption } from '../../../interfaces/ICoreDropdownOption';
|
|
8
8
|
import { BaseComponent } from '../../base-component/base/base.component';
|
|
9
9
|
import { MultiLanguageService } from '../../../services/multi-language.service';
|
|
10
|
+
import { IDomOIdFactoryEmit } from '../dom-oid-factory/dom-oid-factory.component';
|
|
10
11
|
import { DomDecisionContextService } from '../dom-decision-context.service';
|
|
12
|
+
import { ApplicationHelpService } from '../../../services/application-help.service';
|
|
11
13
|
import * as i0 from "@angular/core";
|
|
12
14
|
export declare class IntentComposerComponent extends BaseComponent {
|
|
13
15
|
mls: MultiLanguageService;
|
|
@@ -15,6 +17,7 @@ export declare class IntentComposerComponent extends BaseComponent {
|
|
|
15
17
|
$descriptor: import("@angular/core").InputSignal<IIntentDescriptor>;
|
|
16
18
|
intentComposed: import("@angular/core").OutputEmitterRef<IIntentDraft>;
|
|
17
19
|
cancelled: import("@angular/core").OutputEmitterRef<void>;
|
|
20
|
+
hotKeys: string[];
|
|
18
21
|
$draftInput: import("@angular/core").WritableSignal<Record<string, unknown>>;
|
|
19
22
|
$errors: import("@angular/core").WritableSignal<IIntentInputError[]>;
|
|
20
23
|
$checkError: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -22,7 +25,13 @@ export declare class IntentComposerComponent extends BaseComponent {
|
|
|
22
25
|
fb: FormBuilder;
|
|
23
26
|
as: AlertService;
|
|
24
27
|
ctx: DomDecisionContextService;
|
|
28
|
+
applicationHelpService: ApplicationHelpService;
|
|
29
|
+
$tokens: import("@angular/core").Signal<import("../enum-interfaces/entity-token").IEntityToken[]>;
|
|
25
30
|
form: FormGroup<{}>;
|
|
31
|
+
$formRawValue: import("@angular/core").WritableSignal<any>;
|
|
32
|
+
formSubscription: Subscription;
|
|
33
|
+
vfUtcSubscription: Subscription;
|
|
34
|
+
isDevMode: boolean;
|
|
26
35
|
$rowableInputs: import("@angular/core").Signal<readonly IIntentInputRow[]>;
|
|
27
36
|
rCodeOptions$: BehaviorSubject<ICoreDropdownOption[]>;
|
|
28
37
|
roleOptions$: BehaviorSubject<ICoreDropdownOption[]>;
|
|
@@ -37,6 +46,10 @@ export declare class IntentComposerComponent extends BaseComponent {
|
|
|
37
46
|
private buildFallbackErrorMessage;
|
|
38
47
|
getErrorsOfField(fieldKey: string): IIntentInputError[];
|
|
39
48
|
private applyActionSpecificBehavior;
|
|
49
|
+
onEscape(event: KeyboardEvent): void;
|
|
50
|
+
private setSnapshot;
|
|
51
|
+
onOrgResolved(e: IDomOIdFactoryEmit): void;
|
|
52
|
+
ngOnDestroy(): void;
|
|
40
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<IntentComposerComponent, never>;
|
|
41
54
|
static ɵcmp: i0.ɵɵComponentDeclaration<IntentComposerComponent, "intent-composer", never, { "$descriptor": { "alias": "$descriptor"; "required": true; "isSignal": true; }; }, { "intentComposed": "intentComposed"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
42
55
|
}
|
|
@@ -31,6 +31,7 @@ export declare class CoreDropdownComponent extends CoreFormControlBaseComponent
|
|
|
31
31
|
optionHttpPayload: any;
|
|
32
32
|
optionValueFrom: string;
|
|
33
33
|
optionTextFrom: string;
|
|
34
|
+
$disabled: import("@angular/core").InputSignal<boolean>;
|
|
34
35
|
container: ElementRef;
|
|
35
36
|
listenerFn: () => void;
|
|
36
37
|
options: ICoreDropdownOption[];
|
|
@@ -61,5 +62,5 @@ export declare class CoreDropdownComponent extends CoreFormControlBaseComponent
|
|
|
61
62
|
onInPlaceSearchKeydown(e: KeyboardEvent): void;
|
|
62
63
|
ngOnDestroy(): void;
|
|
63
64
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreDropdownComponent, never>;
|
|
64
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CoreDropdownComponent, "core-dropdown", never, { "getByIdObject$": { "alias": "getByIdObject$"; "required": false; }; "paramMode": { "alias": "paramMode"; "required": false; }; "shownFrom": { "alias": "shownFrom"; "required": false; }; "options$": { "alias": "options$"; "required": false; }; "height": { "alias": "height"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "warningDisable": { "alias": "warningDisable"; "required": false; }; "clearDisable": { "alias": "clearDisable"; "required": false; }; "fitHeightWithItemCount": { "alias": "fitHeightWithItemCount"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "optionApiDriven": { "alias": "optionApiDriven"; "required": false; }; "optionApi": { "alias": "optionApi"; "required": false; }; "optionHttpVerb": { "alias": "optionHttpVerb"; "required": false; }; "optionHttpPayload": { "alias": "optionHttpPayload"; "required": false; }; "optionValueFrom": { "alias": "optionValueFrom"; "required": false; }; "optionTextFrom": { "alias": "optionTextFrom"; "required": false; }; }, {}, never, never, true, never>;
|
|
65
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CoreDropdownComponent, "core-dropdown", never, { "getByIdObject$": { "alias": "getByIdObject$"; "required": false; }; "paramMode": { "alias": "paramMode"; "required": false; }; "shownFrom": { "alias": "shownFrom"; "required": false; }; "options$": { "alias": "options$"; "required": false; }; "height": { "alias": "height"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "warningDisable": { "alias": "warningDisable"; "required": false; }; "clearDisable": { "alias": "clearDisable"; "required": false; }; "fitHeightWithItemCount": { "alias": "fitHeightWithItemCount"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "optionApiDriven": { "alias": "optionApiDriven"; "required": false; }; "optionApi": { "alias": "optionApi"; "required": false; }; "optionHttpVerb": { "alias": "optionHttpVerb"; "required": false; }; "optionHttpPayload": { "alias": "optionHttpPayload"; "required": false; }; "optionValueFrom": { "alias": "optionValueFrom"; "required": false; }; "optionTextFrom": { "alias": "optionTextFrom"; "required": false; }; "$disabled": { "alias": "$disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
65
66
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { AfterViewInit } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, OnInit } from '@angular/core';
|
|
2
2
|
import { CoreFormControlBaseComponent } from '../core-form-control-base/core-form-control-base.component';
|
|
3
|
-
import { CoreDatetimeService } from '../services/core-datetime.service';
|
|
4
3
|
import { BehaviorSubject } from 'rxjs';
|
|
5
4
|
import { ICoreDropdownOption } from '../../interfaces/ICoreDropdownOption';
|
|
5
|
+
import { AppConfigService } from '../../services/app-config.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class CoreTimezoneComponent extends CoreFormControlBaseComponent implements AfterViewInit {
|
|
8
|
-
cdts: CoreDatetimeService;
|
|
7
|
+
export declare class CoreTimezoneComponent extends CoreFormControlBaseComponent implements OnInit, AfterViewInit {
|
|
9
8
|
dropdownOptions$: BehaviorSubject<ICoreDropdownOption[]>;
|
|
9
|
+
acs: AppConfigService;
|
|
10
10
|
value: string;
|
|
11
|
+
ngOnInit(): void;
|
|
11
12
|
ngAfterViewInit(): void;
|
|
12
13
|
onValueChange(e: string): void;
|
|
13
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreTimezoneComponent, never>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AppConfigService } from '../../services/app-config.service';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
3
|
export interface IDataItem {
|
|
3
4
|
date: string;
|
|
@@ -23,11 +24,16 @@ export interface IDateRange {
|
|
|
23
24
|
startDate: Date;
|
|
24
25
|
endDate: Date;
|
|
25
26
|
}
|
|
27
|
+
export type TimeZoneId = {
|
|
28
|
+
raw: string;
|
|
29
|
+
canonical: string;
|
|
30
|
+
};
|
|
26
31
|
export declare class CoreDatetimeService {
|
|
32
|
+
acs: AppConfigService;
|
|
27
33
|
timeZoneOffset: any;
|
|
28
|
-
$
|
|
34
|
+
$knownTimeZones: import("@angular/core").WritableSignal<string[]>;
|
|
29
35
|
constructor();
|
|
30
|
-
|
|
36
|
+
loadKnownTimezoneIdentifiers(): void;
|
|
31
37
|
getMonthText(lang: string, monthIndex: number): string;
|
|
32
38
|
dateToVnString(date: Date): string;
|
|
33
39
|
dateToLocalizedString(value: Date, lang: string): string;
|
|
@@ -79,6 +85,7 @@ export declare class CoreDatetimeService {
|
|
|
79
85
|
* @returns Date representing the same civil day in local runtime timezone
|
|
80
86
|
*/
|
|
81
87
|
interpretDateInTimezone(date: Date, timezoneId: string): Date;
|
|
88
|
+
canonicalizeTimeZone(tz: string): string;
|
|
82
89
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreDatetimeService, never>;
|
|
83
90
|
static ɵprov: i0.ɵɵInjectableDeclaration<CoreDatetimeService>;
|
|
84
91
|
}
|
|
@@ -3,6 +3,8 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class AppConfigService {
|
|
4
4
|
APP_TYPE: string;
|
|
5
5
|
DEFAULT_IANA_TIMEZONE_ID: string;
|
|
6
|
+
CANONICAL_IANA_TIMEZONES: string[];
|
|
7
|
+
DOM_VERSION: string;
|
|
6
8
|
APP_UIID: string;
|
|
7
9
|
ALLOW_IN_APP_NOTIFICATION: boolean;
|
|
8
10
|
SHOW_LOGIN_NOTIFICATION: boolean;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-histaff-alpha",
|
|
3
|
-
"version": "6.7.
|
|
4
|
-
"description": "6.7.
|
|
3
|
+
"version": "6.7.5",
|
|
4
|
+
"description": "6.7.5: Feat(DOM in progress)",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^19.0.1",
|
|
7
7
|
"@angular/core": "^19.0.1"
|