ngx-histaff-alpha 6.7.0 → 6.7.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-Dj2bR7iS.mjs → ngx-histaff-alpha-ai-hint-for-table.component-BzT2Iy4s.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-ai-hint-for-table.component-Dj2bR7iS.mjs.map → ngx-histaff-alpha-ai-hint-for-table.component-BzT2Iy4s.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-Cam7V7oB.mjs → ngx-histaff-alpha-core-form-design.component-BachxUuk.mjs} +4 -4
- package/fesm2022/{ngx-histaff-alpha-core-form-design.component-Cam7V7oB.mjs.map → ngx-histaff-alpha-core-form-design.component-BachxUuk.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-D5fT6yqc.mjs → ngx-histaff-alpha-core-sys-action.component-BOkGm2xc.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-sys-action.component-D5fT6yqc.mjs.map → ngx-histaff-alpha-core-sys-action.component-BOkGm2xc.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-BKr8PErZ.mjs → ngx-histaff-alpha-core-template-editor.component-C1uiDbQ_.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-template-editor.component-BKr8PErZ.mjs.map → ngx-histaff-alpha-core-template-editor.component-C1uiDbQ_.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-BziGvhu7.mjs → ngx-histaff-alpha-core-toast-loading.component-BljA3IwF.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-toast-loading.component-BziGvhu7.mjs.map → ngx-histaff-alpha-core-toast-loading.component-BljA3IwF.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BIx0TovN.mjs → ngx-histaff-alpha-core-workflow-consume.component-BoO4jaUz.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-core-workflow-consume.component-BIx0TovN.mjs.map → ngx-histaff-alpha-core-workflow-consume.component-BoO4jaUz.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-B7J6Vmhl.mjs → ngx-histaff-alpha-db-settings.component-B-lySQz9.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-db-settings.component-B7J6Vmhl.mjs.map → ngx-histaff-alpha-db-settings.component-B-lySQz9.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-C8741lk_.mjs → ngx-histaff-alpha-design-wrapper.component-BjtqBYQ3.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.component-C8741lk_.mjs.map → ngx-histaff-alpha-design-wrapper.component-BjtqBYQ3.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-BPX0_yrT.mjs → ngx-histaff-alpha-design-wrapper.route-BF4ui2Ri.mjs} +5 -5
- package/fesm2022/{ngx-histaff-alpha-design-wrapper.route-BPX0_yrT.mjs.map → ngx-histaff-alpha-design-wrapper.route-BF4ui2Ri.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-CErIMXQv.mjs → ngx-histaff-alpha-hrm-schema.component-Bj_8dNBq.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-hrm-schema.component-CErIMXQv.mjs.map → ngx-histaff-alpha-hrm-schema.component-Bj_8dNBq.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-live-form.component-R3sLrUSc.mjs → ngx-histaff-alpha-live-form.component-DATYJbp2.mjs} +30 -6
- package/fesm2022/ngx-histaff-alpha-live-form.component-DATYJbp2.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-ngx-histaff-alpha-Dn5Nu0X2.mjs → ngx-histaff-alpha-ngx-histaff-alpha-B9FVtqsv.mjs} +193 -63
- package/fesm2022/ngx-histaff-alpha-ngx-histaff-alpha-B9FVtqsv.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-C-NEp41J.mjs → ngx-histaff-alpha-simple-chat.component-BD9DxT2g.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-simple-chat.component-C-NEp41J.mjs.map → ngx-histaff-alpha-simple-chat.component-BD9DxT2g.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-CkhBQMpG.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-CkhBQMpG.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-BSNdC0fI.mjs → ngx-histaff-alpha-sys-smtp-client.component-SlwM7_8a.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-sys-smtp-client.component-BSNdC0fI.mjs.map → ngx-histaff-alpha-sys-smtp-client.component-SlwM7_8a.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-template-list.component-B4eqR8Au.mjs → ngx-histaff-alpha-template-list.component-_YlHy5vX.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-template-list.component-B4eqR8Au.mjs.map → ngx-histaff-alpha-template-list.component-_YlHy5vX.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-D8f2uMmY.mjs → ngx-histaff-alpha-tracker-studio.component-BBwt5xze.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-tracker-studio.component-D8f2uMmY.mjs.map → ngx-histaff-alpha-tracker-studio.component-BBwt5xze.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-E74A5t9G.mjs → ngx-histaff-alpha-wf-form-assign.component-CQxG5wsU.mjs} +2 -2
- package/fesm2022/{ngx-histaff-alpha-wf-form-assign.component-E74A5t9G.mjs.map → ngx-histaff-alpha-wf-form-assign.component-CQxG5wsU.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BDTnGgs7.mjs → ngx-histaff-alpha-wf-global-config.component-_3kEmn7n.mjs} +12 -12
- package/fesm2022/{ngx-histaff-alpha-wf-global-config.component-BDTnGgs7.mjs.map → ngx-histaff-alpha-wf-global-config.component-_3kEmn7n.mjs.map} +1 -1
- package/fesm2022/{ngx-histaff-alpha-wf-instance-status.component-DSz84k3j.mjs → ngx-histaff-alpha-wf-instance-status.component-B4eEPgto.mjs} +7 -6
- package/fesm2022/ngx-histaff-alpha-wf-instance-status.component-B4eEPgto.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-wf-instance-step-react.component-C2ZQHv56.mjs → ngx-histaff-alpha-wf-instance-step-react.component-A5CgnJlF.mjs} +25 -4
- package/fesm2022/ngx-histaff-alpha-wf-instance-step-react.component-A5CgnJlF.mjs.map +1 -0
- package/fesm2022/{ngx-histaff-alpha-wf-lab.component-i6ic1Lf3.mjs → ngx-histaff-alpha-wf-lab.component-ChYV1RAr.mjs} +3 -3
- package/fesm2022/ngx-histaff-alpha-wf-lab.component-ChYV1RAr.mjs.map +1 -0
- package/fesm2022/ngx-histaff-alpha.mjs +1 -1
- package/lib/app/libraries/core-dom-decision-editor/core-dom-decision-editor.component.d.ts +5 -0
- 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/enum-interfaces/entity-token.d.ts +9 -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/dom-oid-factory/dom-oid-factory.component.d.ts +12 -0
- package/package.json +2 -2
- 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
|
@@ -9465,8 +9465,8 @@ class CoreWorkflowService {
|
|
|
9465
9465
|
initialSubmit(request) {
|
|
9466
9466
|
return this.appService.post('/api/WfWorkflow/InitialSubmit', request);
|
|
9467
9467
|
}
|
|
9468
|
-
react(unitedCorrelationIds, reactType, reason, updatedAttributes) {
|
|
9469
|
-
return this.appService.post('/api/WorkflowEngine/React?usehub=true', { unitedCorrelationIds, reactType, reason, updatedAttributes });
|
|
9468
|
+
react(unitedCorrelationIds, reactType, reason, updatedAttributes, delegationId) {
|
|
9469
|
+
return this.appService.post('/api/WorkflowEngine/React?usehub=true', { unitedCorrelationIds, reactType, reason, updatedAttributes, delegationId });
|
|
9470
9470
|
}
|
|
9471
9471
|
inject(unitedCorrelationIds, injectType, reason, injectorEmployeeId = undefined) {
|
|
9472
9472
|
return this.appService.post('/api/WorkflowEngine/Inject?usehub=true', { unitedCorrelationIds, injectType, reason, injectorEmployeeId });
|
|
@@ -28350,40 +28350,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
28350
28350
|
], template: "<div class=\"core-timezone-container\">\r\n <core-dropdown \r\n [options$]=\"dropdownOptions$\"\r\n [warningDisable]=\"true\"\r\n [(ngModel)]=\"value\"\r\n (ngModelOnchange)=\"onValueChange($event)\"\r\n />\r\n</div>\r\n" }]
|
|
28351
28351
|
}] });
|
|
28352
28352
|
|
|
28353
|
-
class CoreTreeReferenceComponent extends CoreFormControlBaseComponent {
|
|
28354
|
-
constructor() {
|
|
28355
|
-
super(...arguments);
|
|
28356
|
-
this.$data = input.required();
|
|
28357
|
-
this.$itemTemplateRef = input();
|
|
28358
|
-
this.selected = output();
|
|
28359
|
-
}
|
|
28360
|
-
onSelect(node) {
|
|
28361
|
-
this.selected.emit(node);
|
|
28362
|
-
this.value = node.id;
|
|
28363
|
-
console.log("onSelect", this.value);
|
|
28364
|
-
}
|
|
28365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreTreeReferenceComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
28366
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreTreeReferenceComponent, isStandalone: true, selector: "core-tree-reference", inputs: { $data: { classPropertyName: "$data", publicName: "$data", isSignal: true, isRequired: true, transformFunction: null }, $itemTemplateRef: { classPropertyName: "$itemTemplateRef", publicName: "$itemTemplateRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, providers: [
|
|
28367
|
-
{
|
|
28368
|
-
provide: NG_VALUE_ACCESSOR,
|
|
28369
|
-
multi: true,
|
|
28370
|
-
useExisting: forwardRef(() => CoreTreeReferenceComponent),
|
|
28371
|
-
},
|
|
28372
|
-
], usesInheritance: true, ngImport: i0, template: "<ul class=\"core-tree-root\">\r\n @for (node of $data(); track node.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: 0 }\">\r\n </ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #nodeWrapperTpl let-node=\"node\" let-level=\"level\">\r\n <li\r\n class=\"core-tree-node\"\r\n [style.paddingLeft.px]=\"level * 16\"\r\n (click)=\"onSelect(node)\"\r\n >\r\n <!-- CH\u1EC8 render n\u1ED9i dung -->\r\n <ng-container\r\n [ngTemplateOutlet]=\"$itemTemplateRef() ?? defaultItemTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: level }\">\r\n </ng-container>\r\n </li>\r\n\r\n @if (node.children?.length) {\r\n @for (child of node.children; track child.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: child, level: level + 1 }\">\r\n </ng-container>\r\n }\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultItemTpl let-node=\"node\">\r\n <span class=\"node-label\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".core-tree-root{list-style:none;margin:0;padding:0}.core-tree-node{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:pointer;border-radius:4px}.core-tree-node:hover{background-color:#f3f5f7}.node-label{font-size:14px;color:#1f2937}.node-hint{font-size:11px;color:#6b7280;opacity:.7}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
28373
|
-
}
|
|
28374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreTreeReferenceComponent, decorators: [{
|
|
28375
|
-
type: Component,
|
|
28376
|
-
args: [{ selector: 'core-tree-reference', imports: [
|
|
28377
|
-
NgTemplateOutlet
|
|
28378
|
-
], providers: [
|
|
28379
|
-
{
|
|
28380
|
-
provide: NG_VALUE_ACCESSOR,
|
|
28381
|
-
multi: true,
|
|
28382
|
-
useExisting: forwardRef(() => CoreTreeReferenceComponent),
|
|
28383
|
-
},
|
|
28384
|
-
], template: "<ul class=\"core-tree-root\">\r\n @for (node of $data(); track node.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: 0 }\">\r\n </ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #nodeWrapperTpl let-node=\"node\" let-level=\"level\">\r\n <li\r\n class=\"core-tree-node\"\r\n [style.paddingLeft.px]=\"level * 16\"\r\n (click)=\"onSelect(node)\"\r\n >\r\n <!-- CH\u1EC8 render n\u1ED9i dung -->\r\n <ng-container\r\n [ngTemplateOutlet]=\"$itemTemplateRef() ?? defaultItemTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: level }\">\r\n </ng-container>\r\n </li>\r\n\r\n @if (node.children?.length) {\r\n @for (child of node.children; track child.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: child, level: level + 1 }\">\r\n </ng-container>\r\n }\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultItemTpl let-node=\"node\">\r\n <span class=\"node-label\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".core-tree-root{list-style:none;margin:0;padding:0}.core-tree-node{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:pointer;border-radius:4px}.core-tree-node:hover{background-color:#f3f5f7}.node-label{font-size:14px;color:#1f2937}.node-hint{font-size:11px;color:#6b7280;opacity:.7}\n"] }]
|
|
28385
|
-
}] });
|
|
28386
|
-
|
|
28387
28353
|
// Mock data for CoreTreeReferenceComponent
|
|
28388
28354
|
// Demonstrates:
|
|
28389
28355
|
// - Multiple root trees
|
|
@@ -28517,6 +28483,92 @@ const MOCK_DATA = [
|
|
|
28517
28483
|
}
|
|
28518
28484
|
];
|
|
28519
28485
|
|
|
28486
|
+
class CoreTreeReferenceComponent extends CoreFormControlBaseComponent {
|
|
28487
|
+
constructor() {
|
|
28488
|
+
super(...arguments);
|
|
28489
|
+
this.$data = input.required();
|
|
28490
|
+
this.$itemTemplateRef = input();
|
|
28491
|
+
this.selected = output();
|
|
28492
|
+
}
|
|
28493
|
+
onSelect(node) {
|
|
28494
|
+
this.selected.emit(node);
|
|
28495
|
+
this.value = node.id;
|
|
28496
|
+
console.log("onSelect", this.value);
|
|
28497
|
+
}
|
|
28498
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreTreeReferenceComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
28499
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreTreeReferenceComponent, isStandalone: true, selector: "core-tree-reference", inputs: { $data: { classPropertyName: "$data", publicName: "$data", isSignal: true, isRequired: true, transformFunction: null }, $itemTemplateRef: { classPropertyName: "$itemTemplateRef", publicName: "$itemTemplateRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, providers: [
|
|
28500
|
+
{
|
|
28501
|
+
provide: NG_VALUE_ACCESSOR,
|
|
28502
|
+
multi: true,
|
|
28503
|
+
useExisting: forwardRef(() => CoreTreeReferenceComponent),
|
|
28504
|
+
},
|
|
28505
|
+
], usesInheritance: true, ngImport: i0, template: "<ul class=\"core-tree-root\">\r\n @for (node of $data(); track node.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: 0 }\">\r\n </ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #nodeWrapperTpl let-node=\"node\" let-level=\"level\">\r\n <li\r\n class=\"core-tree-node\"\r\n [style.paddingLeft.px]=\"level * 16\"\r\n (click)=\"onSelect(node)\"\r\n >\r\n <!-- CH\u1EC8 render n\u1ED9i dung -->\r\n <ng-container\r\n [ngTemplateOutlet]=\"$itemTemplateRef() ?? defaultItemTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: level }\">\r\n </ng-container>\r\n </li>\r\n\r\n @if (node.children?.length) {\r\n @for (child of node.children; track child.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: child, level: level + 1 }\">\r\n </ng-container>\r\n }\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultItemTpl let-node=\"node\">\r\n <span class=\"node-label\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".core-tree-root{list-style:none;margin:0;padding:0}.core-tree-node{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:pointer;border-radius:4px}.core-tree-node:hover{background-color:#f3f5f7}.node-label{font-size:14px;color:#1f2937}.node-hint{font-size:11px;color:#6b7280;opacity:.7}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
28506
|
+
}
|
|
28507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreTreeReferenceComponent, decorators: [{
|
|
28508
|
+
type: Component,
|
|
28509
|
+
args: [{ selector: 'core-tree-reference', imports: [
|
|
28510
|
+
NgTemplateOutlet
|
|
28511
|
+
], providers: [
|
|
28512
|
+
{
|
|
28513
|
+
provide: NG_VALUE_ACCESSOR,
|
|
28514
|
+
multi: true,
|
|
28515
|
+
useExisting: forwardRef(() => CoreTreeReferenceComponent),
|
|
28516
|
+
},
|
|
28517
|
+
], template: "<ul class=\"core-tree-root\">\r\n @for (node of $data(); track node.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: 0 }\">\r\n </ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #nodeWrapperTpl let-node=\"node\" let-level=\"level\">\r\n <li\r\n class=\"core-tree-node\"\r\n [style.paddingLeft.px]=\"level * 16\"\r\n (click)=\"onSelect(node)\"\r\n >\r\n <!-- CH\u1EC8 render n\u1ED9i dung -->\r\n <ng-container\r\n [ngTemplateOutlet]=\"$itemTemplateRef() ?? defaultItemTpl\"\r\n [ngTemplateOutletContext]=\"{ node: node, level: level }\">\r\n </ng-container>\r\n </li>\r\n\r\n @if (node.children?.length) {\r\n @for (child of node.children; track child.id) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeWrapperTpl\"\r\n [ngTemplateOutletContext]=\"{ node: child, level: level + 1 }\">\r\n </ng-container>\r\n }\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultItemTpl let-node=\"node\">\r\n <span class=\"node-label\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".core-tree-root{list-style:none;margin:0;padding:0}.core-tree-node{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:pointer;border-radius:4px}.core-tree-node:hover{background-color:#f3f5f7}.node-label{font-size:14px;color:#1f2937}.node-hint{font-size:11px;color:#6b7280;opacity:.7}\n"] }]
|
|
28518
|
+
}] });
|
|
28519
|
+
|
|
28520
|
+
class DomEntityTokenComponent {
|
|
28521
|
+
constructor() {
|
|
28522
|
+
this.$token = input.required();
|
|
28523
|
+
this.$mode = input('compact');
|
|
28524
|
+
}
|
|
28525
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomEntityTokenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28526
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DomEntityTokenComponent, isStandalone: true, selector: "dom-entity-token", inputs: { $token: { classPropertyName: "$token", publicName: "$token", isSignal: true, isRequired: true, transformFunction: null }, $mode: { classPropertyName: "$mode", publicName: "$mode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\r\n class=\"entity-token\"\r\n [class.compact]=\"$mode() === 'compact'\"\r\n [class.pill]=\"$mode() === 'pill'\"\r\n [class.full]=\"$mode() === 'full'\"\r\n [attr.data-entity]=\"$token().entityType\"\r\n [htmlTooltip]=\"tooltipTpl\"\r\n>\r\n <!-- TOKEN BADGE -->\r\n <span class=\"token-badge\">\r\n {{ $token().token }}\r\n </span>\r\n\r\n <!-- MAIN CONTENT -->\r\n <div class=\"token-content\">\r\n <!-- Primary line -->\r\n <div class=\"primary\">\r\n @if ($token().humanSnapshot.CODE) {\r\n <span class=\"code\">{{ $token().humanSnapshot.CODE }}</span>\r\n }\r\n @else if ($token().humanSnapshot.SHORT_CODE) {\r\n <span class=\"code\">{{ $token().humanSnapshot.SHORT_CODE }}</span>\r\n }\r\n @else if ($token().humanSnapshot.ROLE) {\r\n <span class=\"code\">{{ $token().humanSnapshot.ROLE }}</span>\r\n }\r\n @else {\r\n <span class=\"code muted\">Unnamed</span>\r\n }\r\n </div>\r\n\r\n <!-- Secondary line -->\r\n @if ($mode() !== 'pill') {\r\n <div class=\"secondary\">\r\n @if ($token().humanSnapshot.ORIGINAL_NAME) {\r\n <span>{{ $token().humanSnapshot.ORIGINAL_NAME }}</span>\r\n }\r\n @else if ($token().humanSnapshot.TREE_NAME) {\r\n <span>{{ $token().humanSnapshot.TREE_NAME }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<!-- TOOLTIP -->\r\n<ng-template #tooltipTpl>\r\n <div class=\"entity-token-tooltip\">\r\n <div class=\"header\">\r\n <strong>{{ $token().token }}</strong>\r\n <span class=\"entity-type\">{{ $token().entityType }}</span>\r\n </div>\r\n\r\n <div class=\"snapshot\">\r\n @for (key of Object.keys($token().humanSnapshot); track key) {\r\n <div class=\"row\">\r\n <span class=\"k\">{{ key }}</span>\r\n <span class=\"v\">{{ $token().humanSnapshot[key] }}</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:inline-block;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.entity-token{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;border:1px solid var(--token-border, #d0d7de);background:var(--token-bg, #f8f9fb);cursor:default;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease}.entity-token:hover{background:#eef3f8;border-color:#b6c2d2}.entity-token[data-entity=O]{--token-accent: #2563eb}.entity-token[data-entity=S]{--token-accent: #059669}.entity-token[data-entity=P]{--token-accent: #7c3aed}.token-badge{min-width:28px;height:22px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:600;line-height:22px;text-align:center;color:#fff;background:var(--token-accent)}.token-content{display:flex;flex-direction:column;line-height:1.2}.primary{font-size:13px;font-weight:600;color:#1f2937}.primary .code{white-space:nowrap}.primary .muted{color:#9ca3af;font-weight:500}.secondary{font-size:12px;color:#6b7280}.entity-token.pill{padding:4px 8px}.entity-token.pill .token-content{display:none}.entity-token.compact .secondary{display:block}.entity-token.full{padding:10px 12px}.entity-token.full .primary{font-size:14px}.entity-token.full .secondary{font-size:13px}.entity-token-tooltip{min-width:220px;padding:8px 10px;background:#111827;color:#f9fafb;border-radius:8px;font-size:12px}.entity-token-tooltip .header{display:flex;justify-content:space-between;margin-bottom:6px}.entity-token-tooltip .header strong{font-weight:600}.entity-token-tooltip .header .entity-type{opacity:.7;font-size:11px}.entity-token-tooltip .snapshot{display:flex;flex-direction:column;gap:4px}.entity-token-tooltip .snapshot .row{display:flex;gap:6px}.entity-token-tooltip .snapshot .row .k{min-width:90px;color:#9ca3af;font-weight:500}.entity-token-tooltip .snapshot .row .v{color:#e5e7eb;word-break:break-word}\n"], dependencies: [{ kind: "directive", type: HtmlTooltipDirective, selector: "[htmlTooltip]", inputs: ["htmlTooltip", "tooltipContext", "maxWidthUnset", "color", "backgroundColor", "hold$"] }] }); }
|
|
28527
|
+
}
|
|
28528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomEntityTokenComponent, decorators: [{
|
|
28529
|
+
type: Component,
|
|
28530
|
+
args: [{ selector: 'dom-entity-token', imports: [
|
|
28531
|
+
HtmlTooltipDirective
|
|
28532
|
+
], template: "<div\r\n class=\"entity-token\"\r\n [class.compact]=\"$mode() === 'compact'\"\r\n [class.pill]=\"$mode() === 'pill'\"\r\n [class.full]=\"$mode() === 'full'\"\r\n [attr.data-entity]=\"$token().entityType\"\r\n [htmlTooltip]=\"tooltipTpl\"\r\n>\r\n <!-- TOKEN BADGE -->\r\n <span class=\"token-badge\">\r\n {{ $token().token }}\r\n </span>\r\n\r\n <!-- MAIN CONTENT -->\r\n <div class=\"token-content\">\r\n <!-- Primary line -->\r\n <div class=\"primary\">\r\n @if ($token().humanSnapshot.CODE) {\r\n <span class=\"code\">{{ $token().humanSnapshot.CODE }}</span>\r\n }\r\n @else if ($token().humanSnapshot.SHORT_CODE) {\r\n <span class=\"code\">{{ $token().humanSnapshot.SHORT_CODE }}</span>\r\n }\r\n @else if ($token().humanSnapshot.ROLE) {\r\n <span class=\"code\">{{ $token().humanSnapshot.ROLE }}</span>\r\n }\r\n @else {\r\n <span class=\"code muted\">Unnamed</span>\r\n }\r\n </div>\r\n\r\n <!-- Secondary line -->\r\n @if ($mode() !== 'pill') {\r\n <div class=\"secondary\">\r\n @if ($token().humanSnapshot.ORIGINAL_NAME) {\r\n <span>{{ $token().humanSnapshot.ORIGINAL_NAME }}</span>\r\n }\r\n @else if ($token().humanSnapshot.TREE_NAME) {\r\n <span>{{ $token().humanSnapshot.TREE_NAME }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<!-- TOOLTIP -->\r\n<ng-template #tooltipTpl>\r\n <div class=\"entity-token-tooltip\">\r\n <div class=\"header\">\r\n <strong>{{ $token().token }}</strong>\r\n <span class=\"entity-type\">{{ $token().entityType }}</span>\r\n </div>\r\n\r\n <div class=\"snapshot\">\r\n @for (key of Object.keys($token().humanSnapshot); track key) {\r\n <div class=\"row\">\r\n <span class=\"k\">{{ key }}</span>\r\n <span class=\"v\">{{ $token().humanSnapshot[key] }}</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:inline-block;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.entity-token{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;border:1px solid var(--token-border, #d0d7de);background:var(--token-bg, #f8f9fb);cursor:default;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease}.entity-token:hover{background:#eef3f8;border-color:#b6c2d2}.entity-token[data-entity=O]{--token-accent: #2563eb}.entity-token[data-entity=S]{--token-accent: #059669}.entity-token[data-entity=P]{--token-accent: #7c3aed}.token-badge{min-width:28px;height:22px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:600;line-height:22px;text-align:center;color:#fff;background:var(--token-accent)}.token-content{display:flex;flex-direction:column;line-height:1.2}.primary{font-size:13px;font-weight:600;color:#1f2937}.primary .code{white-space:nowrap}.primary .muted{color:#9ca3af;font-weight:500}.secondary{font-size:12px;color:#6b7280}.entity-token.pill{padding:4px 8px}.entity-token.pill .token-content{display:none}.entity-token.compact .secondary{display:block}.entity-token.full{padding:10px 12px}.entity-token.full .primary{font-size:14px}.entity-token.full .secondary{font-size:13px}.entity-token-tooltip{min-width:220px;padding:8px 10px;background:#111827;color:#f9fafb;border-radius:8px;font-size:12px}.entity-token-tooltip .header{display:flex;justify-content:space-between;margin-bottom:6px}.entity-token-tooltip .header strong{font-weight:600}.entity-token-tooltip .header .entity-type{opacity:.7;font-size:11px}.entity-token-tooltip .snapshot{display:flex;flex-direction:column;gap:4px}.entity-token-tooltip .snapshot .row{display:flex;gap:6px}.entity-token-tooltip .snapshot .row .k{min-width:90px;color:#9ca3af;font-weight:500}.entity-token-tooltip .snapshot .row .v{color:#e5e7eb;word-break:break-word}\n"] }]
|
|
28533
|
+
}] });
|
|
28534
|
+
|
|
28535
|
+
class DomOIdFactoryComponent extends CoreFormControlBaseComponent {
|
|
28536
|
+
constructor() {
|
|
28537
|
+
super(...arguments);
|
|
28538
|
+
// Context tokens (symbolic entities from previous seqs)
|
|
28539
|
+
this.$tokens = input([]);
|
|
28540
|
+
this.$loading = signal(false);
|
|
28541
|
+
this.$searchText = signal('');
|
|
28542
|
+
this.MOCK_DATA = MOCK_DATA;
|
|
28543
|
+
}
|
|
28544
|
+
onSearchTextChange(e) {
|
|
28545
|
+
this.$searchText.set(e);
|
|
28546
|
+
}
|
|
28547
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomOIdFactoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
28548
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DomOIdFactoryComponent, isStandalone: true, selector: "dom-oid-factory", inputs: { $tokens: { classPropertyName: "$tokens", publicName: "$tokens", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
28549
|
+
{
|
|
28550
|
+
provide: NG_VALUE_ACCESSOR,
|
|
28551
|
+
multi: true,
|
|
28552
|
+
useExisting: forwardRef(() => DomOIdFactoryComponent),
|
|
28553
|
+
},
|
|
28554
|
+
], usesInheritance: true, ngImport: i0, template: "@if ($loading()) {\r\n <core-rotating-text />\r\n} @else {\r\n\r\n <div class=\"dom-oid-factory-container\">\r\n\r\n <!-- TYPE / NAME -->\r\n <div class=\"oid-search\">\r\n <input\r\n type=\"text\"\r\n class=\"oid-search-input\"\r\n placeholder=\"G\u00F5 \u0111\u1EC3 \u0111\u1ECBnh danh th\u1EF1c th\u1EC3 (\u00FD \u0111\u1ECBnh)\u2026\"\r\n [value]=\"$searchText()\"\r\n (input)=\"onSearchTextChange($any($event.target).value)\"\r\n />\r\n </div>\r\n\r\n <!-- OPTIONAL TREE (contextual memory only) -->\r\n <div class=\"oid-tree\">\r\n <core-tree-reference [$data]=\"MOCK_DATA\" />\r\n </div>\r\n\r\n <!-- SYMBOLIC CONTEXT STRIP -->\r\n @if ($tokens().length > 0) {\r\n <div class=\"oid-token-strip\">\r\n @for (t of $tokens(); track t.uuid) {\r\n <dom-entity-token\r\n [$token]=\"t\"\r\n [$mode]=\"'pill'\"\r\n (click)=\"onTokenPicked(t)\">\r\n </dom-entity-token>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n}\r\n", styles: [".dom-oid-factory-container{display:flex;flex-direction:column;gap:8px}.oid-search-input{width:100%;padding:6px 10px;border-radius:6px;border:1px solid #ccc}.oid-tree{max-height:320px;overflow:auto}\n"], dependencies: [{ kind: "component", type: CoreRotatingTextComponent, selector: "core-rotating-text" }, { kind: "component", type: DomEntityTokenComponent, selector: "dom-entity-token", inputs: ["$token", "$mode"] }, { kind: "component", type: CoreTreeReferenceComponent, selector: "core-tree-reference", inputs: ["$data", "$itemTemplateRef"], outputs: ["selected"] }, { kind: "ngmodule", type: FormsModule }] }); }
|
|
28555
|
+
}
|
|
28556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomOIdFactoryComponent, decorators: [{
|
|
28557
|
+
type: Component,
|
|
28558
|
+
args: [{ selector: 'dom-oid-factory', imports: [
|
|
28559
|
+
CoreRotatingTextComponent,
|
|
28560
|
+
DomEntityTokenComponent,
|
|
28561
|
+
CoreTreeReferenceComponent,
|
|
28562
|
+
FormsModule
|
|
28563
|
+
], providers: [
|
|
28564
|
+
{
|
|
28565
|
+
provide: NG_VALUE_ACCESSOR,
|
|
28566
|
+
multi: true,
|
|
28567
|
+
useExisting: forwardRef(() => DomOIdFactoryComponent),
|
|
28568
|
+
},
|
|
28569
|
+
], template: "@if ($loading()) {\r\n <core-rotating-text />\r\n} @else {\r\n\r\n <div class=\"dom-oid-factory-container\">\r\n\r\n <!-- TYPE / NAME -->\r\n <div class=\"oid-search\">\r\n <input\r\n type=\"text\"\r\n class=\"oid-search-input\"\r\n placeholder=\"G\u00F5 \u0111\u1EC3 \u0111\u1ECBnh danh th\u1EF1c th\u1EC3 (\u00FD \u0111\u1ECBnh)\u2026\"\r\n [value]=\"$searchText()\"\r\n (input)=\"onSearchTextChange($any($event.target).value)\"\r\n />\r\n </div>\r\n\r\n <!-- OPTIONAL TREE (contextual memory only) -->\r\n <div class=\"oid-tree\">\r\n <core-tree-reference [$data]=\"MOCK_DATA\" />\r\n </div>\r\n\r\n <!-- SYMBOLIC CONTEXT STRIP -->\r\n @if ($tokens().length > 0) {\r\n <div class=\"oid-token-strip\">\r\n @for (t of $tokens(); track t.uuid) {\r\n <dom-entity-token\r\n [$token]=\"t\"\r\n [$mode]=\"'pill'\"\r\n (click)=\"onTokenPicked(t)\">\r\n </dom-entity-token>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n}\r\n", styles: [".dom-oid-factory-container{display:flex;flex-direction:column;gap:8px}.oid-search-input{width:100%;padding:6px 10px;border-radius:6px;border:1px solid #ccc}.oid-tree{max-height:320px;overflow:auto}\n"] }]
|
|
28570
|
+
}] });
|
|
28571
|
+
|
|
28520
28572
|
class IntentComposerComponent extends BaseComponent {
|
|
28521
28573
|
constructor(mls) {
|
|
28522
28574
|
super(mls);
|
|
@@ -28693,7 +28745,7 @@ class IntentComposerComponent extends BaseComponent {
|
|
|
28693
28745
|
return this.$errors().filter(e => e.fieldKey === fieldKey);
|
|
28694
28746
|
}
|
|
28695
28747
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IntentComposerComponent, deps: [{ token: MultiLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28696
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: IntentComposerComponent, isStandalone: true, selector: "intent-composer", inputs: { $descriptor: { classPropertyName: "$descriptor", publicName: "$descriptor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $intentComposed: "$intentComposed", $cancelled: "$cancelled" }, viewQueries: [{ propertyName: "$defaultOrgItemTpl", first: true, predicate: ["defaultOrgItemTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form\r\n class=\"intent-composer-container\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onConfirm()\"\r\n autocomplete=\"off\"\r\n>\r\n\r\n <!-- Header -->\r\n <h3>{{ $descriptor().label }}</h3>\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n
|
|
28748
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: IntentComposerComponent, isStandalone: true, selector: "intent-composer", inputs: { $descriptor: { classPropertyName: "$descriptor", publicName: "$descriptor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $intentComposed: "$intentComposed", $cancelled: "$cancelled" }, viewQueries: [{ propertyName: "$defaultOrgItemTpl", first: true, predicate: ["defaultOrgItemTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form\r\n class=\"intent-composer-container\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onConfirm()\"\r\n autocomplete=\"off\"\r\n>\r\n\r\n <!-- Header -->\r\n <h3>{{ $descriptor().label }}</h3>\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n @for (row of $rowableInputs(); track $index) {\r\n\r\n <div class=\"intent-row\">\r\n @for (input of row.inputs; track $index) {\r\n <div\r\n class=\"intent-cell\"\r\n [style.flex]=\"input.flexSize ?? 1\"\r\n [class.hidden]=\"input.hidden\"\r\n >\r\n\r\n <div class=\"intent-input\">\r\n\r\n <label [class.required]=\"input.validators?.required\">\r\n {{ input.label }}\r\n </label>\r\n\r\n @switch (input.kind) {\r\n\r\n @case ('string') {\r\n <input\r\n class=\"form-control\"\r\n [formControlName]=\"input.key\"\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" />\r\n }\r\n\r\n @case ('treeId') {\r\n <core-dropdown\r\n [options$]=\"treeIdOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('boolean') {\r\n <core-ios-switcher [formControlName]=\"input.key\" [showOnOffText]=\"false\" [width]=\"66\" />\r\n <!-- <input\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" /> -->\r\n }\r\n\r\n @case ('number') {\r\n <input\r\n [formControlName]=\"input.key\"\r\n type=\"number\"\r\n (input)=\"onInputChange(input.key, $event.target.valueAsNumber)\" />\r\n }\r\n\r\n @case ('date') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('dropdown') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('timezoneId') {\r\n <core-timezone \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('orgGardenReference') {\r\n <!-- <core-tree-reference \r\n [formControlName]=\"input.key\"\r\n [$data]=\"MOCK_DATA\"\r\n [$itemTemplateRef]=\"$defaultOrgItemTpl()\"\r\n /> -->\r\n <dom-oid-factory \r\n [formControlName]=\"input.key\"\r\n /> \r\n }\r\n\r\n @case ('rCode') {\r\n <core-dropdown\r\n [options$]=\"rCodeOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('role') {\r\n <core-dropdown\r\n [options$]=\"roleOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('reference') {\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-outline\"\r\n (click)=\"onInputChange(input.key, '__REF__')\">\r\n Ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng\u2026\r\n </button>\r\n }\r\n\r\n @case ('object') {\r\n <textarea\r\n [formControlName]=\"input.key\"\r\n rows=\"3\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\">\r\n </textarea>\r\n }\r\n\r\n @default {\r\n <em class=\"unsupported\">\r\n Ki\u1EC3u input ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3\r\n </em>\r\n }\r\n\r\n }\r\n\r\n <!-- START: ERROR SESSION -->\r\n @for (error of getErrorsOfField(input.key); track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n @if (!getErrorsOfField(input.key).length && !!$checkError()) {\r\n <div> </div>\r\n }\r\n <!-- END: ERROR SESSION -->\r\n\r\n </div> \r\n\r\n </div>\r\n }\r\n </div> \r\n\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"composer-actions\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"onCancel()\">\r\n Quay l\u1EA1i\r\n </button>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n >\r\n X\u00E1c nh\u1EADn\r\n </button>\r\n </div>\r\n\r\n</form>\r\n}\r\n\r\n<ng-template #defaultOrgItemTpl let-node=\"node\" let-level=\"level\">\r\n <div class=\"test-itemTemplateRef\">\r\n {{ node.label }}\r\n </div>\r\n</ng-template>", styles: [".intent-composer-container .intent-inputs .intent-row{display:flex;gap:12px}.intent-composer-container .intent-inputs .intent-row .intent-cell.hidden{display:none}.intent-composer-container .intent-inputs .intent-row .intent-input{display:flex;flex-direction:column;margin-top:15px;margin-bottom:15px}.intent-composer-container .intent-inputs .intent-row .intent-input label{color:#464646}.intent-composer-container .intent-inputs .intent-row .intent-input label.required:after{content:\"*\";color:#ff040b}.intent-composer-container .composer-actions{display:flex;justify-content:space-between}.test-itemTemplateRef{padding:15px;background-color:#6495ed;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CoreIosSwitcherComponent, selector: "core-ios-switcher", inputs: ["bgColor", "showOnOffText", "width", "height", "readonly"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "placeholder", "readonly", "disabled"] }, { 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"] }, { kind: "component", type: CoreTimezoneComponent, selector: "core-timezone" }, { kind: "component", type: DomOIdFactoryComponent, selector: "dom-oid-factory", inputs: ["$tokens"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
28697
28749
|
}
|
|
28698
28750
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IntentComposerComponent, decorators: [{
|
|
28699
28751
|
type: Component,
|
|
@@ -28704,11 +28756,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
28704
28756
|
CoreDatePickerComponent,
|
|
28705
28757
|
CoreDropdownComponent,
|
|
28706
28758
|
CoreTimezoneComponent,
|
|
28707
|
-
|
|
28759
|
+
DomOIdFactoryComponent,
|
|
28708
28760
|
TranslatePipe,
|
|
28709
|
-
], template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form\r\n class=\"intent-composer-container\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onConfirm()\"\r\n autocomplete=\"off\"\r\n>\r\n\r\n <!-- Header -->\r\n <h3>{{ $descriptor().label }}</h3>\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n
|
|
28761
|
+
], template: "<!--\r\n IntentComposerComponent\r\n Purpose:\r\n - Collect human input for a single OM intent\r\n - Emit IntentDraft only\r\n Must NOT:\r\n - Mutate Omega\r\n - Modify IntentChain\r\n-->\r\n@if (form) {\r\n<form\r\n class=\"intent-composer-container\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onConfirm()\"\r\n autocomplete=\"off\"\r\n>\r\n\r\n <!-- Header -->\r\n <h3>{{ $descriptor().label }}</h3>\r\n <p class=\"desc\">{{ $descriptor().quickEmoji }} | {{ $descriptor().description }}</p>\r\n\r\n <!-- Inputs -->\r\n <div class=\"intent-inputs\">\r\n\r\n @for (row of $rowableInputs(); track $index) {\r\n\r\n <div class=\"intent-row\">\r\n @for (input of row.inputs; track $index) {\r\n <div\r\n class=\"intent-cell\"\r\n [style.flex]=\"input.flexSize ?? 1\"\r\n [class.hidden]=\"input.hidden\"\r\n >\r\n\r\n <div class=\"intent-input\">\r\n\r\n <label [class.required]=\"input.validators?.required\">\r\n {{ input.label }}\r\n </label>\r\n\r\n @switch (input.kind) {\r\n\r\n @case ('string') {\r\n <input\r\n class=\"form-control\"\r\n [formControlName]=\"input.key\"\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" />\r\n }\r\n\r\n @case ('treeId') {\r\n <core-dropdown\r\n [options$]=\"treeIdOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('boolean') {\r\n <core-ios-switcher [formControlName]=\"input.key\" [showOnOffText]=\"false\" [width]=\"66\" />\r\n <!-- <input\r\n type=\"text\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\" /> -->\r\n }\r\n\r\n @case ('number') {\r\n <input\r\n [formControlName]=\"input.key\"\r\n type=\"number\"\r\n (input)=\"onInputChange(input.key, $event.target.valueAsNumber)\" />\r\n }\r\n\r\n @case ('date') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('dropdown') {\r\n <core-date-picker \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('timezoneId') {\r\n <core-timezone \r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('orgGardenReference') {\r\n <!-- <core-tree-reference \r\n [formControlName]=\"input.key\"\r\n [$data]=\"MOCK_DATA\"\r\n [$itemTemplateRef]=\"$defaultOrgItemTpl()\"\r\n /> -->\r\n <dom-oid-factory \r\n [formControlName]=\"input.key\"\r\n /> \r\n }\r\n\r\n @case ('rCode') {\r\n <core-dropdown\r\n [options$]=\"rCodeOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('role') {\r\n <core-dropdown\r\n [options$]=\"roleOptions$\"\r\n [warningDisable]=\"true\"\r\n [formControlName]=\"input.key\" \r\n />\r\n }\r\n\r\n @case ('reference') {\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-outline\"\r\n (click)=\"onInputChange(input.key, '__REF__')\">\r\n Ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng\u2026\r\n </button>\r\n }\r\n\r\n @case ('object') {\r\n <textarea\r\n [formControlName]=\"input.key\"\r\n rows=\"3\"\r\n (input)=\"onInputChange(input.key, $event.target.value)\">\r\n </textarea>\r\n }\r\n\r\n @default {\r\n <em class=\"unsupported\">\r\n Ki\u1EC3u input ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3\r\n </em>\r\n }\r\n\r\n }\r\n\r\n <!-- START: ERROR SESSION -->\r\n @for (error of getErrorsOfField(input.key); track $index) {\r\n <div class=\"form-control-error\">\r\n {{ error.errorMessage | translate: lang }}\r\n </div>\r\n }\r\n @if (!getErrorsOfField(input.key).length && !!$checkError()) {\r\n <div> </div>\r\n }\r\n <!-- END: ERROR SESSION -->\r\n\r\n </div> \r\n\r\n </div>\r\n }\r\n </div> \r\n\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"composer-actions\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"onCancel()\">\r\n Quay l\u1EA1i\r\n </button>\r\n\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n >\r\n X\u00E1c nh\u1EADn\r\n </button>\r\n </div>\r\n\r\n</form>\r\n}\r\n\r\n<ng-template #defaultOrgItemTpl let-node=\"node\" let-level=\"level\">\r\n <div class=\"test-itemTemplateRef\">\r\n {{ node.label }}\r\n </div>\r\n</ng-template>", styles: [".intent-composer-container .intent-inputs .intent-row{display:flex;gap:12px}.intent-composer-container .intent-inputs .intent-row .intent-cell.hidden{display:none}.intent-composer-container .intent-inputs .intent-row .intent-input{display:flex;flex-direction:column;margin-top:15px;margin-bottom:15px}.intent-composer-container .intent-inputs .intent-row .intent-input label{color:#464646}.intent-composer-container .intent-inputs .intent-row .intent-input label.required:after{content:\"*\";color:#ff040b}.intent-composer-container .composer-actions{display:flex;justify-content:space-between}.test-itemTemplateRef{padding:15px;background-color:#6495ed;color:#fff}\n"] }]
|
|
28710
28762
|
}], ctorParameters: () => [{ type: MultiLanguageService }] });
|
|
28711
28763
|
|
|
28764
|
+
class DomDecisionContextService {
|
|
28765
|
+
constructor() {
|
|
28766
|
+
// Omega được cấp từ Editor
|
|
28767
|
+
this.$omega = signal(null);
|
|
28768
|
+
// Derived – không lưu state
|
|
28769
|
+
this.$availableTokens = computed(() => {
|
|
28770
|
+
const omega = this.$omega();
|
|
28771
|
+
if (!omega)
|
|
28772
|
+
return [];
|
|
28773
|
+
const map = new Map();
|
|
28774
|
+
function isEntityToken(v) {
|
|
28775
|
+
return !!v
|
|
28776
|
+
&& typeof v === 'object'
|
|
28777
|
+
&& 'uuid' in v
|
|
28778
|
+
&& 'entityType' in v
|
|
28779
|
+
&& 'token' in v;
|
|
28780
|
+
}
|
|
28781
|
+
for (const intent of omega.inputChain) {
|
|
28782
|
+
for (const value of Object.values(intent.input ?? {})) {
|
|
28783
|
+
if (isEntityToken(value)) {
|
|
28784
|
+
if (!map.has(value.uuid)) {
|
|
28785
|
+
map.set(value.uuid, {
|
|
28786
|
+
...value,
|
|
28787
|
+
producedBySeq: intent.seq
|
|
28788
|
+
});
|
|
28789
|
+
}
|
|
28790
|
+
}
|
|
28791
|
+
}
|
|
28792
|
+
}
|
|
28793
|
+
return Array.from(map.values());
|
|
28794
|
+
});
|
|
28795
|
+
}
|
|
28796
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomDecisionContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28797
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomDecisionContextService }); }
|
|
28798
|
+
}
|
|
28799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DomDecisionContextService, decorators: [{
|
|
28800
|
+
type: Injectable
|
|
28801
|
+
}] });
|
|
28802
|
+
|
|
28712
28803
|
/**
|
|
28713
28804
|
* CoreDomDecisionEditor
|
|
28714
28805
|
*
|
|
@@ -28723,7 +28814,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
28723
28814
|
*/
|
|
28724
28815
|
class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
|
|
28725
28816
|
constructor() {
|
|
28726
|
-
super(
|
|
28817
|
+
super();
|
|
28818
|
+
this.ctx = inject(DomDecisionContextService);
|
|
28727
28819
|
this.$omega = signal({
|
|
28728
28820
|
omegaVersion: '1.0',
|
|
28729
28821
|
inputChain: []
|
|
@@ -28746,6 +28838,32 @@ class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
|
|
|
28746
28838
|
}
|
|
28747
28839
|
return this.rebuildProjectionFromOmega(omega);
|
|
28748
28840
|
});
|
|
28841
|
+
this.$availableTokens = computed(() => {
|
|
28842
|
+
const omega = this.$omega();
|
|
28843
|
+
const map = new Map();
|
|
28844
|
+
function isEntityToken(v) {
|
|
28845
|
+
return !!v
|
|
28846
|
+
&& typeof v === 'object'
|
|
28847
|
+
&& 'uuid' in v
|
|
28848
|
+
&& 'entityType' in v
|
|
28849
|
+
&& 'token' in v;
|
|
28850
|
+
}
|
|
28851
|
+
for (const intent of omega.inputChain) {
|
|
28852
|
+
for (const key of Object.keys(intent.input ?? {})) {
|
|
28853
|
+
const value = intent.input[key];
|
|
28854
|
+
// Chỉ quan tâm tới symbolic entity token
|
|
28855
|
+
if (isEntityToken(value)) {
|
|
28856
|
+
// dedupe theo uuid
|
|
28857
|
+
map.set(value.uuid, value);
|
|
28858
|
+
}
|
|
28859
|
+
}
|
|
28860
|
+
}
|
|
28861
|
+
return Array.from(map.values());
|
|
28862
|
+
});
|
|
28863
|
+
// Bind omega → context
|
|
28864
|
+
effect(() => {
|
|
28865
|
+
this.ctx.$omega.set(this.$omega());
|
|
28866
|
+
});
|
|
28749
28867
|
}
|
|
28750
28868
|
writeValue(omega) {
|
|
28751
28869
|
this.value = omega ?? '';
|
|
@@ -28807,8 +28925,14 @@ class CoreDomDecisionEditorComponent extends CoreFormControlBaseComponent {
|
|
|
28807
28925
|
});
|
|
28808
28926
|
this.$showIntentComposer.set(false);
|
|
28809
28927
|
}
|
|
28810
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreDomDecisionEditorComponent, deps:
|
|
28928
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CoreDomDecisionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28811
28929
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CoreDomDecisionEditorComponent, isStandalone: true, selector: "core-dom-decision-editor", providers: [
|
|
28930
|
+
// Provider scope (CỰC KỲ QUAN TRỌNG)
|
|
28931
|
+
// Service này chết cùng Editor
|
|
28932
|
+
// Không leak
|
|
28933
|
+
// Không share
|
|
28934
|
+
// Không nhớ sai
|
|
28935
|
+
DomDecisionContextService,
|
|
28812
28936
|
{
|
|
28813
28937
|
provide: NG_VALUE_ACCESSOR,
|
|
28814
28938
|
multi: true,
|
|
@@ -28822,13 +28946,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
28822
28946
|
IntentComposerComponent,
|
|
28823
28947
|
JsonPipe,
|
|
28824
28948
|
], providers: [
|
|
28949
|
+
// Provider scope (CỰC KỲ QUAN TRỌNG)
|
|
28950
|
+
// Service này chết cùng Editor
|
|
28951
|
+
// Không leak
|
|
28952
|
+
// Không share
|
|
28953
|
+
// Không nhớ sai
|
|
28954
|
+
DomDecisionContextService,
|
|
28825
28955
|
{
|
|
28826
28956
|
provide: NG_VALUE_ACCESSOR,
|
|
28827
28957
|
multi: true,
|
|
28828
28958
|
useExisting: forwardRef(() => CoreDomDecisionEditorComponent),
|
|
28829
28959
|
},
|
|
28830
28960
|
], template: "<div class=\"core-dom-decision-editor-container\">\r\n\r\n <!-- ========================= -->\r\n <!-- Decision Overview / Header -->\r\n <!-- ========================= -->\r\n <header class=\"editor-header\">\r\n <div class=\"editor-title\">\r\n <h2>Quy\u1EBFt \u0111\u1ECBnh t\u1ED5 ch\u1EE9c</h2>\r\n <p class=\"editor-subtitle\">\r\n So\u1EA1n th\u1EA3o m\u1ED9t quy\u1EBFt \u0111\u1ECBnh OM b\u1EA5t bi\u1EBFn (Omega)\r\n </p>\r\n </div>\r\n\r\n <div class=\"editor-meta\">\r\n <!-- read-only meta derived from Omega -->\r\n <span class=\"meta-item\">\r\n Intent count:\r\n <strong>{{ $projection().intentCount }}</strong>\r\n </span>\r\n\r\n <span class=\"meta-item\">\r\n Tr\u1EA1ng th\u00E1i:\r\n <strong>{{ $projection().validityLabel }}</strong>\r\n </span>\r\n </div>\r\n </header>\r\n\r\n <!-- ========================= -->\r\n <!-- Intent Chain Projection -->\r\n <!-- ========================= -->\r\n <section class=\"intent-chain\">\r\n\r\n <h3>Chu\u1ED7i \u00FD \u0111\u1ECBnh (Intent Chain)</h3>\r\n\r\n @if ($projection().intents.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 intent n\u00E0o trong quy\u1EBFt \u0111\u1ECBnh n\u00E0y.</p>\r\n <p class=\"hint\">\r\n B\u1EAFt \u0111\u1EA7u b\u1EB1ng c\u00E1ch th\u00EAm intent \u0111\u1EA7u ti\u00EAn.\r\n </p>\r\n </div>\r\n } @else {\r\n <ol class=\"intent-list\">\r\n @for (intent of $projection().intents; track $index) {\r\n <li class=\"intent-item\">\r\n <div class=\"intent-card\">\r\n\r\n <!-- Header -->\r\n <div class=\"intent-header\">\r\n <span class=\"intent-seq\">#{{ intent.seq }}</span>\r\n <span class=\"intent-label\">{{ intent.actionLabel }}</span>\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"intent-body\">\r\n @if (intent.summary) {\r\n <div class=\"intent-summary\">\r\n {{ intent.summary }}\r\n </div>\r\n } @else {\r\n <div class=\"intent-summary muted\">\r\n (Ch\u01B0a c\u00F3 di\u1EC5n gi\u1EA3i chi ti\u1EBFt)\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"intent-footer\">\r\n <button type=\"button\" class=\"btn btn-ghost\">\r\n Xem\r\n </button>\r\n <button type=\"button\" class=\"btn btn-danger-ghost\">\r\n G\u1EE1\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </li>\r\n }\r\n </ol>\r\n\r\n }\r\n\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Add Intent Entry Point -->\r\n <!-- ========================= -->\r\n <section class=\"intent-actions-panel\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onAddIntent()\">\r\n + Th\u00EAm Intent\r\n </button>\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Output Preview (Derived) -->\r\n <!-- ========================= -->\r\n <section class=\"output-preview\">\r\n <h3>K\u1EBFt qu\u1EA3 d\u1EF1 ki\u1EBFn (Preview)</h3>\r\n\r\n <p class=\"hint\">\r\n K\u1EBFt qu\u1EA3 n\u00E0y \u0111\u01B0\u1EE3c suy ra t\u1EEB Intent Chain, kh\u00F4ng th\u1EC3 ch\u1EC9nh s\u1EEDa.\r\n </p>\r\n\r\n @if ($projection().outputs.length === 0) {\r\n <div class=\"empty-state\">\r\n <p>Ch\u01B0a c\u00F3 output n\u00E0o \u0111\u01B0\u1EE3c sinh ra.</p>\r\n </div>\r\n } @else {\r\n <ul class=\"output-list\">\r\n @for (output of $projection().outputs; track $index) {\r\n <li class=\"output-item\">\r\n <span class=\"output-key\">{{ output.key }}</span>\r\n <span class=\"output-desc\">{{ output.description }}</span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </section>\r\n\r\n <!-- ========================= -->\r\n <!-- Raw Omega (Optional / Debug) -->\r\n <!-- ========================= -->\r\n <details class=\"omega-raw\">\r\n <summary>Xem Omega (raw)</summary>\r\n <pre>{{ $omega() | json }}</pre>\r\n </details>\r\n\r\n @if ($showIntentComposer()) {\r\n <!--\r\n Intent Composer Popup\r\n Purpose: Enter intent composition mode only.\r\n MUST NOT:\r\n - Mutate Omega\r\n - Mutate projection\r\n - Execute OM logic\r\n -->\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\">\r\n <div class=\"intent-composer-entry\">\r\n <p><strong>So\u1EA1n th\u1EA3o Intent m\u1EDBi</strong></p>\r\n\r\n @if ($selectedIntentDescriptor()) {\r\n\r\n <intent-composer\r\n [$descriptor]=\"$selectedIntentDescriptor()!\"\r\n ($intentComposed)=\"onIntentDrafted($event)\"\r\n ($cancelled)=\"onCancelIntentCompose()\">\r\n </intent-composer>\r\n\r\n } @else {\r\n\r\n <!-- N\u1ED9i dung composer s\u1EBD \u0111\u01B0\u1EE3c c\u1EAFm sau -->\r\n <ul class=\"intent-item-registry\">\r\n @for (intent of INTENT_DESCRIPTOR_REGISTRY; track $index) {\r\n <li class=\"intent-item-point\">\r\n <div class=\"intent-item\"\r\n (click)=\"onSelectIntent(intent)\">\r\n <object>{{ intent.actionCode }} | {{ intent.quickEmoji }}</object>\r\n <strong>{{ intent.label }}</strong>\r\n <p>{{ intent.description }}</p>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n\r\n }\r\n <hr />\r\n <div class=\"popup-actions\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"onCloseIntentComposer()\">\r\n H\u1EE7y\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".core-dom-decision-editor-container .modal-container{overflow:scroll}.core-dom-decision-editor-container .modal-container .modal-content-root{overflow:visible;max-height:unset}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry{padding-left:0;overflow-y:scroll;height:60vh}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point{cursor:pointer;padding:8px}.core-dom-decision-editor-container .modal-container .modal-content-root ul.intent-item-registry li.intent-item-point:hover{color:#fff;background-color:#09f}.core-dom-decision-editor-container .intent-chain .intent-list{list-style:none;padding:0;margin:0}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item{margin-bottom:12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card{border:1px solid #d0d7de;border-radius:4px;background:#fff;padding:10px 12px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-seq{background:#e6f0ff;color:#084298;border-radius:3px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-header .intent-label{color:#212529}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body{padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary{color:#495057}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-body .intent-summary.muted{color:#adb5bd;font-style:italic}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer{display:flex;gap:8px;margin-top:8px;padding-left:28px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn{border:none;background:none;cursor:pointer;font-size:13px;padding:2px 6px}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost{color:#0d6efd}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-ghost:hover{text-decoration:underline}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost{color:#dc3545}.core-dom-decision-editor-container .intent-chain .intent-list .intent-item .intent-card .intent-footer .btn-danger-ghost:hover{text-decoration:underline}\n"] }]
|
|
28831
|
-
}] });
|
|
28961
|
+
}], ctorParameters: () => [] });
|
|
28832
28962
|
|
|
28833
28963
|
class CoreControlComponent extends BaseComponent {
|
|
28834
28964
|
constructor(mls, alertService) {
|
|
@@ -33896,7 +34026,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
33896
34026
|
const hrmSchemaRoutes = [
|
|
33897
34027
|
{
|
|
33898
34028
|
path: '',
|
|
33899
|
-
loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-
|
|
34029
|
+
loadComponent: () => import('./ngx-histaff-alpha-hrm-schema.component-Bj_8dNBq.mjs').then(m => m.HrmSchemaComponent)
|
|
33900
34030
|
}
|
|
33901
34031
|
];
|
|
33902
34032
|
|
|
@@ -36069,7 +36199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
36069
36199
|
const simpleChatRoutes = [
|
|
36070
36200
|
{
|
|
36071
36201
|
path: '',
|
|
36072
|
-
loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-
|
|
36202
|
+
loadComponent: () => import('./ngx-histaff-alpha-simple-chat.component-BD9DxT2g.mjs').then(m => m.SimpleChatComponent)
|
|
36073
36203
|
}
|
|
36074
36204
|
];
|
|
36075
36205
|
|
|
@@ -36735,7 +36865,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
36735
36865
|
const coreSysActionRoutes = [
|
|
36736
36866
|
{
|
|
36737
36867
|
path: "",
|
|
36738
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-
|
|
36868
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-sys-action.component-BOkGm2xc.mjs').then(m => m.CoreSysActionComponent),
|
|
36739
36869
|
children: [
|
|
36740
36870
|
{
|
|
36741
36871
|
path: ":id",
|
|
@@ -38128,11 +38258,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
38128
38258
|
const sysSmtpClientRoutes = [
|
|
38129
38259
|
{
|
|
38130
38260
|
path: '',
|
|
38131
|
-
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client.component-
|
|
38261
|
+
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client.component-SlwM7_8a.mjs').then(m => m.SysSmtpClientComponent),
|
|
38132
38262
|
children: [
|
|
38133
38263
|
{
|
|
38134
38264
|
path: ':id',
|
|
38135
|
-
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client-edit.component-
|
|
38265
|
+
loadComponent: () => import('./ngx-histaff-alpha-sys-smtp-client-edit.component-CkhBQMpG.mjs').then(m => m.SysSmtpClientEditComponent),
|
|
38136
38266
|
outlet: 'corePageListAux'
|
|
38137
38267
|
}
|
|
38138
38268
|
]
|
|
@@ -39318,11 +39448,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
39318
39448
|
const coreDocGenRoutes = [
|
|
39319
39449
|
{
|
|
39320
39450
|
path: 'template-list',
|
|
39321
|
-
loadComponent: () => import('./ngx-histaff-alpha-template-list.component-
|
|
39451
|
+
loadComponent: () => import('./ngx-histaff-alpha-template-list.component-_YlHy5vX.mjs').then(m => m.TemplateListComponent),
|
|
39322
39452
|
},
|
|
39323
39453
|
{
|
|
39324
39454
|
path: ":id",
|
|
39325
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-
|
|
39455
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-template-editor.component-C1uiDbQ_.mjs').then(m => m.CoreTemplateEditorComponent),
|
|
39326
39456
|
canDeactivate: [CanDeactivateGuard]
|
|
39327
39457
|
},
|
|
39328
39458
|
{
|
|
@@ -39351,7 +39481,7 @@ const coreFormDesignRoutes = [
|
|
|
39351
39481
|
},
|
|
39352
39482
|
{
|
|
39353
39483
|
path: ':id',
|
|
39354
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-
|
|
39484
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-form-design.component-BachxUuk.mjs').then(m => m.CoreFormDesignComponent)
|
|
39355
39485
|
}
|
|
39356
39486
|
];
|
|
39357
39487
|
|
|
@@ -40262,7 +40392,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
40262
40392
|
const coreNavigationTrackerRoutes = [
|
|
40263
40393
|
{
|
|
40264
40394
|
path: '',
|
|
40265
|
-
loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-
|
|
40395
|
+
loadComponent: () => import('./ngx-histaff-alpha-tracker-studio.component-BBwt5xze.mjs').then(m => m.TrackerStudioComponent)
|
|
40266
40396
|
}
|
|
40267
40397
|
];
|
|
40268
40398
|
|
|
@@ -43365,33 +43495,33 @@ const coreWorkflowRoutes = [
|
|
|
43365
43495
|
{
|
|
43366
43496
|
path: 'form-assign/:id',
|
|
43367
43497
|
outlet: "formAssignAux",
|
|
43368
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-
|
|
43498
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-form-assign.component-CQxG5wsU.mjs').then(m => m.WfFormAssignComponent),
|
|
43369
43499
|
canDeactivate: [CanDeactivateGuard]
|
|
43370
43500
|
}
|
|
43371
43501
|
]
|
|
43372
43502
|
},
|
|
43373
43503
|
{
|
|
43374
43504
|
path: 'global-config',
|
|
43375
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-
|
|
43505
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-global-config.component-_3kEmn7n.mjs').then(m => m.WfGlobalConfigComponent)
|
|
43376
43506
|
},
|
|
43377
43507
|
{
|
|
43378
43508
|
path: 'db-settings',
|
|
43379
|
-
loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-
|
|
43509
|
+
loadComponent: () => import('./ngx-histaff-alpha-db-settings.component-B-lySQz9.mjs').then(m => m.DbSettingsComponent)
|
|
43380
43510
|
},
|
|
43381
43511
|
{
|
|
43382
43512
|
path: 'workflow-consume',
|
|
43383
|
-
loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-
|
|
43513
|
+
loadComponent: () => import('./ngx-histaff-alpha-core-workflow-consume.component-BoO4jaUz.mjs').then(m => m.CoreWorkflowConsumeComponent),
|
|
43384
43514
|
children: [
|
|
43385
43515
|
{
|
|
43386
43516
|
path: ':id',
|
|
43387
43517
|
outlet: "workflowConsume",
|
|
43388
|
-
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-
|
|
43518
|
+
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-DATYJbp2.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
|
|
43389
43519
|
}
|
|
43390
43520
|
]
|
|
43391
43521
|
},
|
|
43392
43522
|
{
|
|
43393
43523
|
path: 'workflow-consume/:id',
|
|
43394
|
-
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-
|
|
43524
|
+
loadComponent: () => import('./ngx-histaff-alpha-live-form.component-DATYJbp2.mjs').then(function (n) { return n.l; }).then(m => m.LiveFormComponent),
|
|
43395
43525
|
},
|
|
43396
43526
|
{
|
|
43397
43527
|
path: 'workflow-group-edit/:id',
|
|
@@ -43401,21 +43531,21 @@ const coreWorkflowRoutes = [
|
|
|
43401
43531
|
},
|
|
43402
43532
|
{
|
|
43403
43533
|
path: 'design/:id',
|
|
43404
|
-
loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-
|
|
43534
|
+
loadChildren: () => import('./ngx-histaff-alpha-design-wrapper.route-BF4ui2Ri.mjs').then(m => m.wfDesignWrapperRoutes),
|
|
43405
43535
|
},
|
|
43406
43536
|
]
|
|
43407
43537
|
},
|
|
43408
43538
|
{
|
|
43409
43539
|
path: 'react/:id',
|
|
43410
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-
|
|
43540
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-step-react.component-A5CgnJlF.mjs').then(m => m.WfInstanceStepReactComponent)
|
|
43411
43541
|
},
|
|
43412
43542
|
{
|
|
43413
43543
|
path: 'status/:id',
|
|
43414
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-
|
|
43544
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-instance-status.component-B4eEPgto.mjs').then(m => m.WfInstanceStatusComponent)
|
|
43415
43545
|
},
|
|
43416
43546
|
{
|
|
43417
43547
|
path: 'lab',
|
|
43418
|
-
loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-
|
|
43548
|
+
loadComponent: () => import('./ngx-histaff-alpha-wf-lab.component-ChYV1RAr.mjs').then(m => m.WfLabComponent)
|
|
43419
43549
|
}
|
|
43420
43550
|
];
|
|
43421
43551
|
|
|
@@ -46023,5 +46153,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
46023
46153
|
* Generated bundle index. Do not edit.
|
|
46024
46154
|
*/
|
|
46025
46155
|
|
|
46026
|
-
export { noneAutoClosedAlertOptions as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumFormBaseContolType as E, FullscreenModalLoaderComponent as F, DomService as G, EnumActorSourceType as H, ImageErrorResolverDirective as I, CoreParamControlComponent as J, CoreRadioGroupComponent as K, GptService as L, MultiLanguageService as M, CoreRuleTreeService as N, CoreRuleTreeComponent as O, CoreStickerCollectionComponent as P, ApplicationHelpService as Q, HotKeysDirective as R, StringHtmlPipe as S, TooltipDirective as T, CoreDatetimeService as U, EnumCorePageEditMode as V, CoreFormComponent as W, NavigatorService as X, JsonService as Y, EnumCoreButtonVNSCode as Z, READONLY_WORKFLOW_FIELDS as _, AppConfigService as a, CheckForUpdateService as a$, CoreButtonGroupVnsComponent as a0, CoreDropdownComponent as a1, EnumFilterOperator as a2, CoreDomDecisionEditorComponent as a3, HtmlTooltipDirective as a4, CoreControlNoFormArrayComponent as a5, EnumFormDesignMode as a6, CoreControlComponent as a7, JsonSafePipe as a8, CoreChecklistComponent as a9, EnumDragType as aA, EnumErrorType as aB, EnumIconClass as aC, EnumProfileInfoSector as aD, EnumSignalRType as aE, EnumSortDirection as aF, EnumStyleButtonClass as aG, CanActivateFunctionUrlMapperGuard as aH, InitializationCanActivateFn as aI, InitializationCanMatchFn as aJ, httpInterceptorProviders as aK, InterceptorSkipHeader as aL, appTypeInterceptor as aM, baseUrlInterceptor as aN, authInterceptor as aO, graphInterceptor as aP, tokenInterceptor as aQ, responseInterceptor as aR, timeZoneInterceptor as aS, cachingInterceptor as aT, langInterceptor as aU, OnlineUsersComponent as aV, ActionService as aW, AppInitializationService as aX, AuthService as aY, CacheService as aZ, EnumSwUpdateVersionUpdatesEventType as a_, CoreFormControlSeekerComponent as aa, CoreAttachmentComponent as ab, CoreDatePickerComponent as ac, CoreMonthSelectorComponent as ad, CoreCurrencyInputComponent as ae, EnumImageResolverType as af, NormalizeHumanNamePipe as ag, CoreIosSwitcherComponent as ah, SunnyRotatingComponent as ai, MapAppdemoToServerPipePipe as aj, MapAttachmentToServerPipe as ak, MapNewsfeedMediaToServerPipe as al, UploadedFilenameCutoffPipe as am, DialogStateComponent as an, FooterComponent as ao, RightchatComponent as ap, WaittingScreenComponent as aq, longAlertOptions as ar, attachmentOptions as as, CORE_VNS_BUTTONS as at, defaultPaging as au, DESKTOP_SCREEN_HEDER_HEIGHT as av, MOBILE_SCREEN_HEDER_HEIGHT as aw, themeBlue as ax, DATE_VALUE_ACCESSOR as ay, DateValueAccessor as az, AlertService as b, InMemoryComponent as b$, EnumDeviceType as b0, EnumBrowserType as b1, EnumOsType as b2, ClientService as b3, CommonHttpRequestService as b4, TLA_CONFIG as b5, ConfigService as b6, CoreLocalStorageService as b7, CoreTableService as b8, DndService as b9, EnumSsrsExpressExportFormat as bA, SsrsExpressService as bB, StatisticService as bC, StatisticAuthService as bD, SysMenuService as bE, TimeSheetService as bF, TopicPermissionService as bG, TopicTreeService as bH, UploadedFileService as bI, UrlService as bJ, UserActivityService as bK, EvaluateDialogService as bL, EnumWorkScheduleViewMode as bM, WorkShiftDndService as bN, AtShiftPatternComponent as bO, AtShiftPatternApplyComponent as bP, AtShiftPatternEditComponent as bQ, AtWorksignComponent as bR, AtWorksignService as bS, FunctionComponent as bT, IndividualScheduleApplyComponent as bU, FunctionEditComponent as bV, FunctionIgnoreComponent as bW, FunctionIgnoreEditComponent as bX, GroupFunctionComponent as bY, GroupFunctionEditComponent as bZ, hrmSchemaRoutes as b_, DocxMergeService as ba, FilterKitService as bb, GrpcService as bc, HeaderService as bd, HistoryService as be, HttpErrorHandler as bf, HubConnectionService as bg, IpServiceService as bh, LayoutService as bi, LiquidJsService as bj, MapService as bk, MenuService as bl, MessageService as bm, ModalService as bn, OrganizationService as bo, PkceService as bp, PositionTransferService as bq, EnumNotificationDir as br, NotificationActionType as bs, PushNotificationService as bt, RandomAvatarService as bu, RequestCache as bv, RequestCacheWithMap as bw, ResponseService as bx, RoutingService as by, EnumSsrsExpressFileExtension as bz, CoreTerminalSpinnerComponent as c, CoreTableComponent as c$, LanguageComponent as c0, LanguageEditComponent as c1, MenuComponent as c2, MenuEditComponent as c3, MutationLogComponent as c4, MutationViewComponent as c5, PaSalaryPolicyComponent as c6, PaSalaryPolicyEditComponent as c7, PortalRouteComponent as c8, ScheduleOverviewComponent as c9, ButtonGroupModule as cA, ButtonGroupService as cB, ButtonGroupComponent as cC, EnumButtonCaptionCode as cD, CoreButtonComponent as cE, CoreAccordionComponent as cF, CoreAccordionService as cG, CoreActiveUserCountComponent as cH, NewlyCreatedTokenService as cI, CoreApiProgressComponent as cJ, CoreButtonGroupComponent as cK, EnumCoreButtonCode as cL, ActionSvgEditComponent as cM, CoreButtonGroupService as cN, CoreButtonVnsComponent as cO, CoreCommonParamKitComponent as cP, CoreCompareDbPipelineComponent as cQ, CoreCompositionState as cR, CoreCompositionService as cS, CoreCompositionComponent as cT, CoreConfirmDialogComponent as cU, ConfirmDialogStateComponent as cV, CoreLazyMountComponent as cW, CoreRootMenuItemPickerComponent as cX, CoreRootMenuItemPickerService as cY, ECoreTableToolCode as cZ, ECoreTableToolClass as c_, simpleChatRoutes as ca, PortalRouteEditComponent as cb, SysOtherListComponent as cc, SysOtherListEditComponent as cd, SysOtherListTypeComponent as ce, SysOtherListTypeEditComponent as cf, coreSysActionRoutes as cg, SysActionComponent as ch, SysActionEditComponent as ci, SysFunctionActionComponent as cj, SysFunctionActionEditComponent as ck, SysFunctionActionMapperComponent as cl, SysFunctionUrlMapperComponent as cm, FunctionEditService as cn, SysModuleComponent as co, SysModuleEditComponent as cp, SysRouteAccessComponent as cq, sysSmtpClientRoutes as cr, liner_to_nested_array_script as cs, blob_to_base64_script as ct, AlertComponent as cu, EnumAlertType as cv, IAlertOptions as cw, AnimatedTextService as cx, AnimatedTextComponent as cy, BaseDropdownComponent as cz, CorePageHeaderComponent as d, CorePageListContentComponent as d$, CoreContractSeekerComponent as d0, CoreControlNoGridBufferComponent as d1, CoreControlNoSeekerComponent as d2, coreDocGenRoutes as d3, CoreDocgenToolbarComponent as d4, CoreEmployeeScheduleComponent as d5, CoreEmployeeSeekerComponent as d6, EnumCoreFileUploaderType as d7, CoreFileUploaderComponent as d8, CoreFilterHubComponent as d9, CoreListLazyComponent as dA, CoreLoadingSurfaceComponent as dB, CoreMccComponent as dC, CoreMonthPickerComponent as dD, CoreNavigationTrackerComponent as dE, coreNavigationTrackerRoutes as dF, CoreOauthCallbackComponent as dG, CoreOauthCallbackOffice365Component as dH, EnumCoreOrgTreeaAccessorMode as dI, EnumCoreOrgTreeaSearchMode as dJ, CoreOrgTreeComponent as dK, CoreOrgTreeState as dL, CoreOrgTreeService as dM, CoreOrgUnitSeekerComponent as dN, CoreOrgchartflexComponent as dO, CARD_COLORS as dP, CoreOrgchartflexWrapperComponent as dQ, coreOrgchartflexRoutes as dR, CoreOrgParamComponent as dS, EnumCorePageEditBootstrapClass as dT, EnumCorePageEditFieldType as dU, CorePageEditService as dV, CorePageEditLiteComponent as dW, CorePageEditTabComponent as dX, EnumExType as dY, CorePageListService as dZ, CorePageListState as d_, CoreFilterHubService as da, ControlBase as db, Textbox as dc, CoreControlService as dd, CustomValidators as de, URL_PATTERN as df, coreFormDesignRoutes as dg, CoreFormTabComponent as dh, CoreFormLiteComponent as di, CoreFormControlBaseComponent as dj, EnumCoreSeekerColumnJob as dk, EnumCoreSeekerColumnStaffProfile as dl, EnumCoreSeekerColumnContract as dm, EnumCoreSeekerColumnWorking as dn, EnumCoreSeekerColumnWage as dp, EnumCoreSeekerColumnPosition as dq, EnumCoreSeekerColumnPositionConcurrent as dr, EnumCoreSeekerColumnAutoForm as ds, SeekerService as dt, CoreGridBufferComponent as du, CoreHeaderParamsComponent as dv, CoreHelperComponent as dw, CoreLineComponent as dx, CoreLiquidWysiwygComponent as dy, CoreListComponent as dz, TranslatePipe as e, PageTitleComponent as e$, EnumCoreViewItemType as e0, CorePageViewComponent as e1, CorePaginationComponent as e2, CorePaginationFullComponent as e3, CorePaginationFullService as e4, CoreFileFormatPickerComponent as e5, CorePermissionService as e6, EnumPermissionObjectType as e7, CorePermissionComponent as e8, CorePermissionActionsComponent as e9, EnumCoreTreeGridEditMode as eA, CoreTreeGridComponent as eB, CoreTreeReferenceComponent as eC, CoreWageSeekerComponent as eD, CoreWorkingSeekerComponent as eE, coreWorkflowRoutes as eF, CoreWorkflowBuilderComponent as eG, CoreWorkflowGroupEditComponent as eH, CoreYearPickerComponent as eI, CoreYearSelectorComponent as eJ, EnumCoreD3ScaleType as eK, CoreD3Service as eL, CorePieComponent as eM, CoreScatterPlotComponent as eN, EnumHrComparisonCode as eO, EnumICoreStatisticWidgetDataType as eP, CoreStatisticWidgetComponent as eQ, DecisionComponent as eR, EvaluateDialogComponent as eS, HuconcurrentlyComponent as eT, JobComponent as eU, LanguageChangerComponent as eV, DEFAULT_SVG as eW, ItemComponent as eX, NavigatorComponent as eY, OtpInputComponent as eZ, OtpInputService as e_, CorePositionConcurrentSeekerComponent as ea, CorePositionSeekerComponent as eb, CoreQrcodeComponent as ec, EnumOparator as ed, CoreQueryBuilderComponent as ee, CoreReducerIconComponent as ef, CoreRotatingTextComponent as eg, CoreRouteAccumulatorComponent as eh, CoreRoutingHistoryComponent as ei, CoreSalaryPolicyPickerComponent as ej, CoreScrollComponent as ek, CoreScrollLazyComponent as el, CoreSeenByComponent as em, CoreShiftCardComponent as en, CoreShiftCellComponent as eo, CoreShiftCollectionComponent as ep, CoreShiftStickerComponent as eq, STICKER_COLOR_SCHEMA as er, CoreSubFormGroupComponent as es, CoreTabListComponent as et, CoreTagsComponent as eu, CoreTopicPickerComponent as ev, EnumCoreArticleCategoryTreeaAccessorMode as ew, CoreTopicTreeComponent as ex, CoreTimezoneComponent as ey, CoreTreeComponent as ez, CorePageListComponent as f, PaginationComponent as f0, FilterPipe as f1, normalizeHumanName as f2, PositionComponent as f3, PositionEditService as f4, FileService as f5, LongTaskService as f6, EnumRecursiveFields as f7, RecursiveService as f8, StringService as f9, UnicodeService as fa, StaffProfileComponent as fb, ThreedotsComponent as fc, TooltipComponent as fd, UserActivityComponent as fe, WageComponent as ff, tooltip_directive as fg, coreStickerCollection_component as fh, dragReorder_directive as fi, CoreStatusStickerComponent as g, BaseEditComponent as h, DialogService as i, CorePageEditComponent as j, EnumCoreTablePipeType as k, CoreCheckboxComponent as l, CoreTabsComponent as m, CoreWorkflowService as n, EnumCoreFormControlSeekerSourceType as o, CoreFormService as p, DbService as q, AiHintForColumnComponent as r, CoreWorkflowListComponent as s, CanDeactivateGuard as t, TableCellPipe as u, MapAvatarToServerPipe as v, alertOptions as w, SocketService as x, CoreFormDesignService as y, EnumWorkflowStepType as z };
|
|
46027
|
-
//# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-
|
|
46156
|
+
export { READONLY_WORKFLOW_FIELDS as $, AppService as A, BaseComponent as B, ChatService as C, DragReorderDirective as D, EnumFormBaseContolType as E, FullscreenModalLoaderComponent as F, DomService as G, HtmlTooltipDirective as H, ImageErrorResolverDirective as I, EnumActorSourceType as J, CoreParamControlComponent as K, CoreRadioGroupComponent as L, MultiLanguageService as M, GptService as N, CoreRuleTreeService as O, CoreRuleTreeComponent as P, CoreStickerCollectionComponent as Q, ApplicationHelpService as R, StringHtmlPipe as S, TooltipDirective as T, HotKeysDirective as U, CoreDatetimeService as V, EnumCorePageEditMode as W, CoreFormComponent as X, NavigatorService as Y, JsonService as Z, EnumCoreButtonVNSCode as _, AppConfigService as a, CheckForUpdateService as a$, noneAutoClosedAlertOptions as a0, CoreButtonGroupVnsComponent as a1, CoreDropdownComponent as a2, EnumFilterOperator as a3, CoreDomDecisionEditorComponent as a4, CoreControlNoFormArrayComponent as a5, EnumFormDesignMode as a6, CoreControlComponent as a7, JsonSafePipe as a8, CoreChecklistComponent as a9, EnumDragType as aA, EnumErrorType as aB, EnumIconClass as aC, EnumProfileInfoSector as aD, EnumSignalRType as aE, EnumSortDirection as aF, EnumStyleButtonClass as aG, CanActivateFunctionUrlMapperGuard as aH, InitializationCanActivateFn as aI, InitializationCanMatchFn as aJ, httpInterceptorProviders as aK, InterceptorSkipHeader as aL, appTypeInterceptor as aM, baseUrlInterceptor as aN, authInterceptor as aO, graphInterceptor as aP, tokenInterceptor as aQ, responseInterceptor as aR, timeZoneInterceptor as aS, cachingInterceptor as aT, langInterceptor as aU, OnlineUsersComponent as aV, ActionService as aW, AppInitializationService as aX, AuthService as aY, CacheService as aZ, EnumSwUpdateVersionUpdatesEventType as a_, CoreFormControlSeekerComponent as aa, CoreAttachmentComponent as ab, CoreDatePickerComponent as ac, CoreMonthSelectorComponent as ad, CoreCurrencyInputComponent as ae, EnumImageResolverType as af, NormalizeHumanNamePipe as ag, CoreIosSwitcherComponent as ah, SunnyRotatingComponent as ai, MapAppdemoToServerPipePipe as aj, MapAttachmentToServerPipe as ak, MapNewsfeedMediaToServerPipe as al, UploadedFilenameCutoffPipe as am, DialogStateComponent as an, FooterComponent as ao, RightchatComponent as ap, WaittingScreenComponent as aq, longAlertOptions as ar, attachmentOptions as as, CORE_VNS_BUTTONS as at, defaultPaging as au, DESKTOP_SCREEN_HEDER_HEIGHT as av, MOBILE_SCREEN_HEDER_HEIGHT as aw, themeBlue as ax, DATE_VALUE_ACCESSOR as ay, DateValueAccessor as az, AlertService as b, InMemoryComponent as b$, EnumDeviceType as b0, EnumBrowserType as b1, EnumOsType as b2, ClientService as b3, CommonHttpRequestService as b4, TLA_CONFIG as b5, ConfigService as b6, CoreLocalStorageService as b7, CoreTableService as b8, DndService as b9, EnumSsrsExpressExportFormat as bA, SsrsExpressService as bB, StatisticService as bC, StatisticAuthService as bD, SysMenuService as bE, TimeSheetService as bF, TopicPermissionService as bG, TopicTreeService as bH, UploadedFileService as bI, UrlService as bJ, UserActivityService as bK, EvaluateDialogService as bL, EnumWorkScheduleViewMode as bM, WorkShiftDndService as bN, AtShiftPatternComponent as bO, AtShiftPatternApplyComponent as bP, AtShiftPatternEditComponent as bQ, AtWorksignComponent as bR, AtWorksignService as bS, FunctionComponent as bT, IndividualScheduleApplyComponent as bU, FunctionEditComponent as bV, FunctionIgnoreComponent as bW, FunctionIgnoreEditComponent as bX, GroupFunctionComponent as bY, GroupFunctionEditComponent as bZ, hrmSchemaRoutes as b_, DocxMergeService as ba, FilterKitService as bb, GrpcService as bc, HeaderService as bd, HistoryService as be, HttpErrorHandler as bf, HubConnectionService as bg, IpServiceService as bh, LayoutService as bi, LiquidJsService as bj, MapService as bk, MenuService as bl, MessageService as bm, ModalService as bn, OrganizationService as bo, PkceService as bp, PositionTransferService as bq, EnumNotificationDir as br, NotificationActionType as bs, PushNotificationService as bt, RandomAvatarService as bu, RequestCache as bv, RequestCacheWithMap as bw, ResponseService as bx, RoutingService as by, EnumSsrsExpressFileExtension as bz, CoreTerminalSpinnerComponent as c, CoreTableComponent as c$, LanguageComponent as c0, LanguageEditComponent as c1, MenuComponent as c2, MenuEditComponent as c3, MutationLogComponent as c4, MutationViewComponent as c5, PaSalaryPolicyComponent as c6, PaSalaryPolicyEditComponent as c7, PortalRouteComponent as c8, ScheduleOverviewComponent as c9, ButtonGroupModule as cA, ButtonGroupService as cB, ButtonGroupComponent as cC, EnumButtonCaptionCode as cD, CoreButtonComponent as cE, CoreAccordionComponent as cF, CoreAccordionService as cG, CoreActiveUserCountComponent as cH, NewlyCreatedTokenService as cI, CoreApiProgressComponent as cJ, CoreButtonGroupComponent as cK, EnumCoreButtonCode as cL, ActionSvgEditComponent as cM, CoreButtonGroupService as cN, CoreButtonVnsComponent as cO, CoreCommonParamKitComponent as cP, CoreCompareDbPipelineComponent as cQ, CoreCompositionState as cR, CoreCompositionService as cS, CoreCompositionComponent as cT, CoreConfirmDialogComponent as cU, ConfirmDialogStateComponent as cV, CoreLazyMountComponent as cW, CoreRootMenuItemPickerComponent as cX, CoreRootMenuItemPickerService as cY, ECoreTableToolCode as cZ, ECoreTableToolClass as c_, simpleChatRoutes as ca, PortalRouteEditComponent as cb, SysOtherListComponent as cc, SysOtherListEditComponent as cd, SysOtherListTypeComponent as ce, SysOtherListTypeEditComponent as cf, coreSysActionRoutes as cg, SysActionComponent as ch, SysActionEditComponent as ci, SysFunctionActionComponent as cj, SysFunctionActionEditComponent as ck, SysFunctionActionMapperComponent as cl, SysFunctionUrlMapperComponent as cm, FunctionEditService as cn, SysModuleComponent as co, SysModuleEditComponent as cp, SysRouteAccessComponent as cq, sysSmtpClientRoutes as cr, liner_to_nested_array_script as cs, blob_to_base64_script as ct, AlertComponent as cu, EnumAlertType as cv, IAlertOptions as cw, AnimatedTextService as cx, AnimatedTextComponent as cy, BaseDropdownComponent as cz, CorePageHeaderComponent as d, CorePageListContentComponent as d$, CoreContractSeekerComponent as d0, CoreControlNoGridBufferComponent as d1, CoreControlNoSeekerComponent as d2, coreDocGenRoutes as d3, CoreDocgenToolbarComponent as d4, CoreEmployeeScheduleComponent as d5, CoreEmployeeSeekerComponent as d6, EnumCoreFileUploaderType as d7, CoreFileUploaderComponent as d8, CoreFilterHubComponent as d9, CoreListLazyComponent as dA, CoreLoadingSurfaceComponent as dB, CoreMccComponent as dC, CoreMonthPickerComponent as dD, CoreNavigationTrackerComponent as dE, coreNavigationTrackerRoutes as dF, CoreOauthCallbackComponent as dG, CoreOauthCallbackOffice365Component as dH, EnumCoreOrgTreeaAccessorMode as dI, EnumCoreOrgTreeaSearchMode as dJ, CoreOrgTreeComponent as dK, CoreOrgTreeState as dL, CoreOrgTreeService as dM, CoreOrgUnitSeekerComponent as dN, CoreOrgchartflexComponent as dO, CARD_COLORS as dP, CoreOrgchartflexWrapperComponent as dQ, coreOrgchartflexRoutes as dR, CoreOrgParamComponent as dS, EnumCorePageEditBootstrapClass as dT, EnumCorePageEditFieldType as dU, CorePageEditService as dV, CorePageEditLiteComponent as dW, CorePageEditTabComponent as dX, EnumExType as dY, CorePageListService as dZ, CorePageListState as d_, CoreFilterHubService as da, ControlBase as db, Textbox as dc, CoreControlService as dd, CustomValidators as de, URL_PATTERN as df, coreFormDesignRoutes as dg, CoreFormTabComponent as dh, CoreFormLiteComponent as di, CoreFormControlBaseComponent as dj, EnumCoreSeekerColumnJob as dk, EnumCoreSeekerColumnStaffProfile as dl, EnumCoreSeekerColumnContract as dm, EnumCoreSeekerColumnWorking as dn, EnumCoreSeekerColumnWage as dp, EnumCoreSeekerColumnPosition as dq, EnumCoreSeekerColumnPositionConcurrent as dr, EnumCoreSeekerColumnAutoForm as ds, SeekerService as dt, CoreGridBufferComponent as du, CoreHeaderParamsComponent as dv, CoreHelperComponent as dw, CoreLineComponent as dx, CoreLiquidWysiwygComponent as dy, CoreListComponent as dz, TranslatePipe as e, PageTitleComponent as e$, EnumCoreViewItemType as e0, CorePageViewComponent as e1, CorePaginationComponent as e2, CorePaginationFullComponent as e3, CorePaginationFullService as e4, CoreFileFormatPickerComponent as e5, CorePermissionService as e6, EnumPermissionObjectType as e7, CorePermissionComponent as e8, CorePermissionActionsComponent as e9, EnumCoreTreeGridEditMode as eA, CoreTreeGridComponent as eB, CoreTreeReferenceComponent as eC, CoreWageSeekerComponent as eD, CoreWorkingSeekerComponent as eE, coreWorkflowRoutes as eF, CoreWorkflowBuilderComponent as eG, CoreWorkflowGroupEditComponent as eH, CoreYearPickerComponent as eI, CoreYearSelectorComponent as eJ, EnumCoreD3ScaleType as eK, CoreD3Service as eL, CorePieComponent as eM, CoreScatterPlotComponent as eN, EnumHrComparisonCode as eO, EnumICoreStatisticWidgetDataType as eP, CoreStatisticWidgetComponent as eQ, DecisionComponent as eR, EvaluateDialogComponent as eS, HuconcurrentlyComponent as eT, JobComponent as eU, LanguageChangerComponent as eV, DEFAULT_SVG as eW, ItemComponent as eX, NavigatorComponent as eY, OtpInputComponent as eZ, OtpInputService as e_, CorePositionConcurrentSeekerComponent as ea, CorePositionSeekerComponent as eb, CoreQrcodeComponent as ec, EnumOparator as ed, CoreQueryBuilderComponent as ee, CoreReducerIconComponent as ef, CoreRotatingTextComponent as eg, CoreRouteAccumulatorComponent as eh, CoreRoutingHistoryComponent as ei, CoreSalaryPolicyPickerComponent as ej, CoreScrollComponent as ek, CoreScrollLazyComponent as el, CoreSeenByComponent as em, CoreShiftCardComponent as en, CoreShiftCellComponent as eo, CoreShiftCollectionComponent as ep, CoreShiftStickerComponent as eq, STICKER_COLOR_SCHEMA as er, CoreSubFormGroupComponent as es, CoreTabListComponent as et, CoreTagsComponent as eu, CoreTopicPickerComponent as ev, EnumCoreArticleCategoryTreeaAccessorMode as ew, CoreTopicTreeComponent as ex, CoreTimezoneComponent as ey, CoreTreeComponent as ez, CorePageListComponent as f, PaginationComponent as f0, FilterPipe as f1, normalizeHumanName as f2, PositionComponent as f3, PositionEditService as f4, FileService as f5, LongTaskService as f6, EnumRecursiveFields as f7, RecursiveService as f8, StringService as f9, UnicodeService as fa, StaffProfileComponent as fb, ThreedotsComponent as fc, TooltipComponent as fd, UserActivityComponent as fe, WageComponent as ff, tooltip_directive as fg, coreStickerCollection_component as fh, dragReorder_directive as fi, CoreStatusStickerComponent as g, BaseEditComponent as h, DialogService as i, CorePageEditComponent as j, EnumCoreTablePipeType as k, CoreCheckboxComponent as l, CoreTabsComponent as m, CoreWorkflowService as n, EnumCoreFormControlSeekerSourceType as o, CoreFormService as p, DbService as q, AiHintForColumnComponent as r, CoreWorkflowListComponent as s, CanDeactivateGuard as t, MapAvatarToServerPipe as u, TableCellPipe as v, alertOptions as w, SocketService as x, CoreFormDesignService as y, EnumWorkflowStepType as z };
|
|
46157
|
+
//# sourceMappingURL=ngx-histaff-alpha-ngx-histaff-alpha-B9FVtqsv.mjs.map
|