@o3r/rules-engine 11.7.0-prerelease.41 → 11.7.0-prerelease.43
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/components/rules-engine/facts-snapshot/facts-snapshot.component.d.ts +25 -0
- package/components/rules-engine/facts-snapshot/facts-snapshot.component.d.ts.map +1 -0
- package/components/rules-engine/index.d.ts +1 -0
- package/components/rules-engine/index.d.ts.map +1 -1
- package/components/rules-engine/rule-actions/rule-actions-pres.component.d.ts +6 -1
- package/components/rules-engine/rule-actions/rule-actions-pres.component.d.ts.map +1 -1
- package/engine/debug/engine.debug.d.ts +9 -3
- package/engine/debug/engine.debug.d.ts.map +1 -1
- package/engine/engine.d.ts.map +1 -1
- package/engine/engine.interface.d.ts +15 -5
- package/engine/engine.interface.d.ts.map +1 -1
- package/esm2022/components/rules-engine/facts-snapshot/facts-snapshot.component.mjs +45 -0
- package/esm2022/components/rules-engine/index.mjs +2 -1
- package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +13 -6
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +3 -3
- package/esm2022/engine/debug/engine.debug.mjs +21 -5
- package/esm2022/engine/engine.interface.mjs +1 -1
- package/esm2022/engine/engine.mjs +5 -2
- package/fesm2022/o3r-rules-engine.mjs +187 -119
- package/fesm2022/o3r-rules-engine.mjs.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Facts } from '../../../engine';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FactsSnapshotComponent {
|
|
4
|
+
/**
|
|
5
|
+
* Full list of available facts with their current value
|
|
6
|
+
*/
|
|
7
|
+
readonly facts: import("@angular/core").InputSignal<{
|
|
8
|
+
factName: string;
|
|
9
|
+
value: Facts;
|
|
10
|
+
}[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Search terms
|
|
13
|
+
*/
|
|
14
|
+
readonly search: import("@angular/core").WritableSignal<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Filtered list of facts using search terms
|
|
17
|
+
*/
|
|
18
|
+
readonly filteredFacts: import("@angular/core").Signal<{
|
|
19
|
+
factName: string;
|
|
20
|
+
value: Facts;
|
|
21
|
+
}[]>;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FactsSnapshotComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FactsSnapshotComponent, "o3r-facts-snapshot", never, { "facts": { "alias": "facts"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=facts-snapshot.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facts-snapshot.component.d.ts","sourceRoot":"","sources":["../../../../src/components/rules-engine/facts-snapshot/facts-snapshot.component.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,KAAK,EACN,MAAM,iBAAiB,CAAC;;AAKzB,qBAaa,sBAAsB;IACjC;;OAEG;IACH,SAAgB,KAAK;kBAA8B,MAAM;eAAS,KAAK;SAAQ;IAE/E;;OAEG;IACH,SAAgB,MAAM,iDAAc;IAEpC;;OAEG;IACH,SAAgB,aAAa;kBAVsB,MAAM;eAAS,KAAK;SAwBpE;yCA5BQ,sBAAsB;2CAAtB,sBAAsB;CA6BlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/rules-engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/rules-engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AllBlock, Facts } from '../../../engine';
|
|
1
|
+
import type { ActionBlock, AllBlock, Facts } from '../../../engine';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class RuleActionsPresComponent {
|
|
4
4
|
/**
|
|
@@ -14,6 +14,11 @@ export declare class RuleActionsPresComponent {
|
|
|
14
14
|
* List of temporary facts that will be modified by the ruleset or the rule.
|
|
15
15
|
*/
|
|
16
16
|
runtimeOutputs: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Check if a given block is of type ActionBlock
|
|
19
|
+
* @param block
|
|
20
|
+
*/
|
|
21
|
+
isActionBlock(block: AllBlock): block is ActionBlock;
|
|
17
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<RuleActionsPresComponent, never>;
|
|
18
23
|
static ɵcmp: i0.ɵɵComponentDeclaration<RuleActionsPresComponent, "o3r-rule-actions-pres", never, { "actions": { "alias": "actions"; "required": false; }; "temporaryFacts": { "alias": "temporaryFacts"; "required": false; }; "runtimeOutputs": { "alias": "runtimeOutputs"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-actions-pres.component.d.ts","sourceRoot":"","sources":["../../../../src/components/rules-engine/rule-actions/rule-actions-pres.component.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACN,MAAM,iBAAiB,CAAC;;AAEzB,qBAOa,wBAAwB;IACnC;;OAEG;IAEI,OAAO,EAAE,QAAQ,EAAE,CAAM;IAEhC;;;OAGG;IAEI,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAM;IAElD;;OAEG;IAEI,cAAc,EAAE,MAAM,EAAE,CAAM;
|
|
1
|
+
{"version":3,"file":"rule-actions-pres.component.d.ts","sourceRoot":"","sources":["../../../../src/components/rules-engine/rule-actions/rule-actions-pres.component.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,KAAK,EACN,MAAM,iBAAiB,CAAC;;AAEzB,qBAOa,wBAAwB;IACnC;;OAEG;IAEI,OAAO,EAAE,QAAQ,EAAE,CAAM;IAEhC;;;OAGG;IAEI,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAM;IAElD;;OAEG;IAEI,cAAc,EAAE,MAAM,EAAE,CAAM;IAErC;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,WAAW;yCAxBhD,wBAAwB;2CAAxB,wBAAwB;CA2BpC"}
|
|
@@ -66,11 +66,11 @@ export declare class EngineDebugger {
|
|
|
66
66
|
activeRulesetsChange(ruleSetExecutorMap: Record<string, RulesetExecutor>, restrictiveRuleSets?: string[]): void;
|
|
67
67
|
/**
|
|
68
68
|
* Emits an 'AllActions' debug event each time the rules engine outputs the list of actions
|
|
69
|
-
* @param actions list of
|
|
69
|
+
* @param actions list of outputted actions
|
|
70
70
|
*/
|
|
71
71
|
allActionsChange(actions: ActionBlock[]): void;
|
|
72
72
|
/**
|
|
73
|
-
* Emits a 'RulesetExecution' debug event at the
|
|
73
|
+
* Emits a 'RulesetExecution' debug event at the output of a successful ruleset execution
|
|
74
74
|
* @param ruleset
|
|
75
75
|
* @param executionCounter
|
|
76
76
|
* @param rulesetInputFacts
|
|
@@ -81,7 +81,7 @@ export declare class EngineDebugger {
|
|
|
81
81
|
*/
|
|
82
82
|
addRulesetExecutionEvent(ruleset: Ruleset, executionCounter: number, rulesetInputFacts: string[], allOutputActions: ActionBlock[], runtimeFactValues: Record<string, Facts>, rulesetTriggers: Record<string, Record<string, EvaluationReason>>, rulesExecutions: RuleEvaluation[]): void;
|
|
83
83
|
/**
|
|
84
|
-
* Emits a 'RulesetExecutionError' debug event at the
|
|
84
|
+
* Emits a 'RulesetExecutionError' debug event at the output of a failing ruleset execution
|
|
85
85
|
* @param ruleset
|
|
86
86
|
* @param rulesetInputFacts
|
|
87
87
|
* @param executionCounter
|
|
@@ -90,6 +90,12 @@ export declare class EngineDebugger {
|
|
|
90
90
|
* @param rulesExecutions
|
|
91
91
|
*/
|
|
92
92
|
addRulesetExecutionErrorEvent(ruleset: Ruleset, rulesetInputFacts: string[], executionCounter: number, runtimeFactValues: Record<string, Facts>, rulesetTriggers: Record<string, Record<string, EvaluationReason>>, rulesExecutions: RuleEvaluation[]): void;
|
|
93
|
+
/**
|
|
94
|
+
* Emits a 'AvailableFactsSnapshot' debug event when a fact value is updated
|
|
95
|
+
* @param _id
|
|
96
|
+
* @param factValue$
|
|
97
|
+
*/
|
|
98
|
+
addAvailableFactsSnapshotEvent(_id: string, factValue$: Observable<any>): void;
|
|
93
99
|
/**
|
|
94
100
|
* Returns a list of fact name and value pairs
|
|
95
101
|
* @param factsNames List of facts names to get the value for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.debug.d.ts","sourceRoot":"","sources":["../../../src/engine/debug/engine.debug.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEX,MAAM,MAAM,CAAC;AASd,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EAGrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACR,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAE3C,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0D;IAE9F,OAAO,CAAC,oBAAoB,CAAoC;IAEhE,oEAAoE;IACpE,SAAgB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAErD,yDAAyD;IACzD,IAAW,WAAW,IAAI,WAAW,GAAG,SAAS,CAEhD;IAED;;;OAGG;gBACS,OAAO,CAAC,EAAE,qBAAqB;IA+B3C,OAAO,CAAC,6BAA6B;YAUvB,+BAA+B;YAkB/B,gBAAgB;YAqBhB,qBAAqB;IAsBnC;;;OAGG;IACI,kBAAkB,CAAC,WAAW,EAAE,WAAW;IAIlD;;;;;;;;;OASG;IACI,+BAA+B,CACpC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAC3C,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,OAAO;;;;;;IAgBlB;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE;IAU/C;;;;OAIG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE;IAc/G;;;OAGG;IACI,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE;IAK9C;;;;;;;;;OASG;IACI,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EACxE,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE;IAMtG;;;;;;;;OAQG;IACI,6BAA6B,CAClC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EACjE,eAAe,EAAE,cAAc,EAAE;IAMnC;;;OAGG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE;kBACvB,MAAM;eAAS,GAAG;;CAS9C"}
|
|
1
|
+
{"version":3,"file":"engine.debug.d.ts","sourceRoot":"","sources":["../../../src/engine/debug/engine.debug.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEX,MAAM,MAAM,CAAC;AASd,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EAGrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACR,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAE3C,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0D;IAE9F,OAAO,CAAC,oBAAoB,CAAoC;IAEhE,oEAAoE;IACpE,SAAgB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAErD,yDAAyD;IACzD,IAAW,WAAW,IAAI,WAAW,GAAG,SAAS,CAEhD;IAED;;;OAGG;gBACS,OAAO,CAAC,EAAE,qBAAqB;IA+B3C,OAAO,CAAC,6BAA6B;YAUvB,+BAA+B;YAkB/B,gBAAgB;YAqBhB,qBAAqB;IAsBnC;;;OAGG;IACI,kBAAkB,CAAC,WAAW,EAAE,WAAW;IAIlD;;;;;;;;;OASG;IACI,+BAA+B,CACpC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAC3C,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,OAAO;;;;;;IAgBlB;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE;IAU/C;;;;OAIG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE;IAc/G;;;OAGG;IACI,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE;IAK9C;;;;;;;;;OASG;IACI,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EACxE,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE;IAMtG;;;;;;;;OAQG;IACI,6BAA6B,CAClC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EACjE,eAAe,EAAE,cAAc,EAAE;IAMnC;;;;OAIG;IACI,8BAA8B,CACnC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;IAa7B;;;OAGG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE;kBACvB,MAAM;eAAS,GAAG;;CAS9C"}
|
package/engine/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,UAAU,EAEX,MAAM,MAAM,CAAC;AASd,OAAO,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACN,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,QAAQ,EAER,aAAa,EACd,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,WAAW,EACX,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,qBAAa,WAAW;IACtB,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAE/D,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAE9F,iCAAiC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7D,+DAA+D;IAC/D,SAAgB,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnD,gDAAgD;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,cAAc,CAAC;IAE7C,wCAAwC;IACxC,SAAgB,uBAAuB,EAAE,MAAM,CAAC;IAEhD;;;OAGG;IACH,SAAgB,WAAW,oEAAC;IAE5B;;OAEG;IACH,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;OAGG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IA2BxC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACI,0BAA0B,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IA4B/G;;;;OAIG;IACI,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS;IAIrF;;;OAGG;IACI,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,UAAU,EAEX,MAAM,MAAM,CAAC;AASd,OAAO,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACN,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,QAAQ,EAER,aAAa,EACd,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,WAAW,EACX,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,qBAAa,WAAW;IACtB,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAE/D,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAE9F,iCAAiC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7D,+DAA+D;IAC/D,SAAgB,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnD,gDAAgD;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,cAAc,CAAC;IAE7C,wCAAwC;IACxC,SAAgB,uBAAuB,EAAE,MAAM,CAAC;IAEhD;;;OAGG;IACH,SAAgB,WAAW,oEAAC;IAE5B;;OAEG;IACH,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;OAGG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IA2BxC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACI,0BAA0B,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IA4B/G;;;;OAIG;IACI,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS;IAIrF;;;OAGG;IACI,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;IAO1D;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAWzC;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;IAO7E;;;OAGG;IACI,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC;IAQjI,6CAA6C;IACtC,uBAAuB;CAG/B"}
|
|
@@ -30,7 +30,7 @@ export interface RulesEngineOptions {
|
|
|
30
30
|
factDefaultDelay?: number;
|
|
31
31
|
/**
|
|
32
32
|
* Skip the rule and fact circular dependency checks
|
|
33
|
-
* Turn to true to increase the speed of the
|
|
33
|
+
* Turn to true to increase the speed of the upsert of a rule
|
|
34
34
|
*/
|
|
35
35
|
skipCircularDependencyChecks?: boolean;
|
|
36
36
|
/**
|
|
@@ -104,7 +104,7 @@ export interface RuleEvaluation extends TimedEvent {
|
|
|
104
104
|
id: string;
|
|
105
105
|
/** Evaluated rule identifier */
|
|
106
106
|
rule: Pick<Rule, 'id' | 'name'>;
|
|
107
|
-
/** Actions
|
|
107
|
+
/** Actions outputted by the rule evaluation */
|
|
108
108
|
outputActions: ActionBlock[] | undefined;
|
|
109
109
|
/** Map containing the facts changes triggering the rule evaluation */
|
|
110
110
|
triggers: Record<string, Record<string, EvaluationReason>>;
|
|
@@ -124,7 +124,7 @@ export interface RuleEvaluationOutput {
|
|
|
124
124
|
/** Error object emitted at the end of rule evaluation, if any */
|
|
125
125
|
error?: any;
|
|
126
126
|
}
|
|
127
|
-
/** Base
|
|
127
|
+
/** Base object resulted at the end of a ruleset execution */
|
|
128
128
|
export interface BaseRulesetExecution {
|
|
129
129
|
/** Id of the ruleset execution */
|
|
130
130
|
executionId: string;
|
|
@@ -183,6 +183,16 @@ export interface AvailableRulesets extends TimedEvent {
|
|
|
183
183
|
/** Registered rulesets list */
|
|
184
184
|
availableRulesets: Pick<Ruleset, 'name' | 'id'>[];
|
|
185
185
|
}
|
|
186
|
-
/**
|
|
187
|
-
export
|
|
186
|
+
/** Debug event emitted when facts are updated */
|
|
187
|
+
export interface AvailableFactsSnapshot extends TimedEvent {
|
|
188
|
+
/** Event type */
|
|
189
|
+
type: 'AvailableFactsSnapshot';
|
|
190
|
+
/** List of all facts */
|
|
191
|
+
facts: {
|
|
192
|
+
factName: string;
|
|
193
|
+
value: Facts;
|
|
194
|
+
}[];
|
|
195
|
+
}
|
|
196
|
+
/** Type of possible debug events emitted by Rules Engine */
|
|
197
|
+
export type DebugEvent = RulesetExecutionEvent | RulesetExecutionErrorEvent | ActiveRulesetsEvent | AllActionsEvent | AvailableRulesets | AvailableFactsSnapshot;
|
|
188
198
|
//# sourceMappingURL=engine.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.interface.d.ts","sourceRoot":"","sources":["../../src/engine/engine.interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine.interface.d.ts","sourceRoot":"","sources":["../../src/engine/engine.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACP,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACN,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,QAAQ,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,sFAAsF;AACtF,MAAM,MAAM,wBAAwB,GAAG;IACrC,4BAA4B;IAC5B,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IACxF,+BAA+B;IAC/B,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;CAC/H,CAAC;AAEF,yDAAyD;AACzD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,6BAA6B;IAC7B,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpD,+BAA+B;IAC/B,MAAM,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACnC;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAEtB,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAElB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAEjC,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAEvC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAW,SAAQ,IAAI;IACtC,2CAA2C;IAC3C,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;CACzC;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,8JAA8J;IAC9J,aAAa,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE;QAAE,EAAE,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,oBAAoB,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;CACjD;AACD,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IAChC,+CAA+C;IAC/C,aAAa,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IACzC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3D,sDAAsD;IACtD,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IACnC,oCAAoC;IACpC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,iEAAiE;IACjE,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,CAAC;IACjD,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3D,uDAAuD;IACvD,gBAAgB,EAAE,cAAc,EAAE,CAAC;CACpC;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB,EAAE,UAAU;IAC7E,iBAAiB;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,kEAAkE;IAClE,aAAa,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,+DAA+D;AAC/D,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB,EAAE,UAAU;IAClF,iBAAiB;IACjB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,+CAA+C;IAC/C,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAClD,+BAA+B;IAC/B,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,iBAAiB;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CAC1C;AAED,+EAA+E;AAC/E,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,iBAAiB;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,8BAA8B;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,iBAAiB;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,+BAA+B;IAC/B,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CACnD;AAED,kDAAkD;AAClD,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACxD,iBAAiB;IACjB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,wBAAwB;IACxB,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,CAAC;CAC7C;AAED,4DAA4D;AAC5D,MAAM,MAAM,UAAU,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input, signal, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { FormsModule, ReactiveFormsModule, } from '@angular/forms';
|
|
3
|
+
import { O3rJsonOrStringPipe, } from '../shared/index';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
export class FactsSnapshotComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Full list of available facts with their current value
|
|
10
|
+
*/
|
|
11
|
+
this.facts = input.required();
|
|
12
|
+
/**
|
|
13
|
+
* Search terms
|
|
14
|
+
*/
|
|
15
|
+
this.search = signal('');
|
|
16
|
+
/**
|
|
17
|
+
* Filtered list of facts using search terms
|
|
18
|
+
*/
|
|
19
|
+
this.filteredFacts = computed(() => {
|
|
20
|
+
const search = this.search();
|
|
21
|
+
const facts = this.facts();
|
|
22
|
+
if (search) {
|
|
23
|
+
const matchString = new RegExp(search.replace(/[\s#$()*+,.?[\\\]^{|}-]/g, '\\$&'), 'i');
|
|
24
|
+
return facts.filter(({ factName, value }) => matchString.test(factName)
|
|
25
|
+
|| (typeof value === 'object'
|
|
26
|
+
? matchString.test(JSON.stringify(value))
|
|
27
|
+
: matchString.test(String(value))));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return facts;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FactsSnapshotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FactsSnapshotComponent, isStandalone: true, selector: "o3r-facts-snapshot", inputs: { facts: { classPropertyName: "facts", publicName: "facts", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<section>\n @if (facts().length < 1) {\n <div class=\"m-2\">\n No facts are registered.\n </div>\n } @else {\n <div class=\"input-group\">\n <label class=\"input-group-text\" for=\"search-fact\">\n <span class=\"mx-1 fa-search\" aria-label=\"Search\"></span>\n </label>\n <input class=\"form-control\" [(ngModel)]=\"search\" type=\"text\" id=\"search-fact\" placeholder=\"Search for fact name or value\" />\n </div>\n <div class=\"mt-3\">\n List of <b>{{facts().length}}</b> registered facts\n @if (facts().length > filteredFacts().length) { (<b>{{filteredFacts().length}}</b> matching the search) }\n </div>\n <ul>\n @for (fact of filteredFacts(); track fact.factName) {\n <li>\n <span class=\"fact-name\">{{fact.factName}}: </span>\n <span class=\"fact-value\">{{fact.value | o3rJsonOrString}}</span>\n </li>\n }\n </ul>\n }\n</section>\n", styles: ["o3r-facts-snapshot .fact-name{color:#26c}o3r-facts-snapshot .fact-value{color:#c29}o3r-facts-snapshot .fact-name,o3r-facts-snapshot .fact-value{font-family:monospace}\n"], dependencies: [{ kind: "pipe", type: O3rJsonOrStringPipe, name: "o3rJsonOrString" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FactsSnapshotComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'o3r-facts-snapshot', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
40
|
+
O3rJsonOrStringPipe,
|
|
41
|
+
FormsModule,
|
|
42
|
+
ReactiveFormsModule
|
|
43
|
+
], encapsulation: ViewEncapsulation.None, template: "<section>\n @if (facts().length < 1) {\n <div class=\"m-2\">\n No facts are registered.\n </div>\n } @else {\n <div class=\"input-group\">\n <label class=\"input-group-text\" for=\"search-fact\">\n <span class=\"mx-1 fa-search\" aria-label=\"Search\"></span>\n </label>\n <input class=\"form-control\" [(ngModel)]=\"search\" type=\"text\" id=\"search-fact\" placeholder=\"Search for fact name or value\" />\n </div>\n <div class=\"mt-3\">\n List of <b>{{facts().length}}</b> registered facts\n @if (facts().length > filteredFacts().length) { (<b>{{filteredFacts().length}}</b> matching the search) }\n </div>\n <ul>\n @for (fact of filteredFacts(); track fact.factName) {\n <li>\n <span class=\"fact-name\">{{fact.factName}}: </span>\n <span class=\"fact-value\">{{fact.value | o3rJsonOrString}}</span>\n </li>\n }\n </ul>\n }\n</section>\n", styles: ["o3r-facts-snapshot .fact-name{color:#26c}o3r-facts-snapshot .fact-value{color:#c29}o3r-facts-snapshot .fact-name,o3r-facts-snapshot .fact-value{font-family:monospace}\n"] }]
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdHMtc25hcHNob3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVsZXMtZW5naW5lL2ZhY3RzLXNuYXBzaG90L2ZhY3RzLXNuYXBzaG90LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3J1bGVzLWVuZ2luZS9mYWN0cy1zbmFwc2hvdC9mYWN0cy1zbmFwc2hvdC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFDTCxtQkFBbUIsR0FDcEIsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBZXpCLE1BQU0sT0FBTyxzQkFBc0I7SUFibkM7UUFjRTs7V0FFRztRQUNhLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF3QyxDQUFDO1FBRS9FOztXQUVHO1FBQ2EsV0FBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwQzs7V0FFRztRQUNhLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDeEYsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUMxQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzt1QkFDdkIsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRO3dCQUMzQixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN6QyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNyQyxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7a0lBN0JZLHNCQUFzQjtzSEFBdEIsc0JBQXNCLGlOQ2hDbkMsdzZCQTBCQSw2TkRBSSxtQkFBbUIsdURBQ25CLFdBQVcsOG1CQUNYLG1CQUFtQjs7NEZBSVYsc0JBQXNCO2tCQWJsQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEZhY3RzLFxufSBmcm9tICcuLi8uLi8uLi9lbmdpbmUnO1xuaW1wb3J0IHtcbiAgTzNySnNvbk9yU3RyaW5nUGlwZSxcbn0gZnJvbSAnLi4vc2hhcmVkL2luZGV4JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbzNyLWZhY3RzLXNuYXBzaG90JyxcbiAgc3R5bGVVcmxzOiBbJy4vZmFjdHMtc25hcHNob3Quc3R5bGUuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFjdHMtc25hcHNob3QudGVtcGxhdGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTzNySnNvbk9yU3RyaW5nUGlwZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRmFjdHNTbmFwc2hvdENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBGdWxsIGxpc3Qgb2YgYXZhaWxhYmxlIGZhY3RzIHdpdGggdGhlaXIgY3VycmVudCB2YWx1ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZhY3RzID0gaW5wdXQucmVxdWlyZWQ8eyBmYWN0TmFtZTogc3RyaW5nOyB2YWx1ZTogRmFjdHMgfVtdPigpO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2ggPSBzaWduYWwoJycpO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXJlZCBsaXN0IG9mIGZhY3RzIHVzaW5nIHNlYXJjaCB0ZXJtc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlcmVkRmFjdHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2goKTtcbiAgICBjb25zdCBmYWN0cyA9IHRoaXMuZmFjdHMoKTtcbiAgICBpZiAoc2VhcmNoKSB7XG4gICAgICBjb25zdCBtYXRjaFN0cmluZyA9IG5ldyBSZWdFeHAoc2VhcmNoLnJlcGxhY2UoL1tcXHMjJCgpKissLj9bXFxcXFxcXV57fH0tXS9nLCAnXFxcXCQmJyksICdpJyk7XG4gICAgICByZXR1cm4gZmFjdHMuZmlsdGVyKCh7IGZhY3ROYW1lLCB2YWx1ZSB9KSA9PlxuICAgICAgICBtYXRjaFN0cmluZy50ZXN0KGZhY3ROYW1lKVxuICAgICAgICB8fCAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgICAgID8gbWF0Y2hTdHJpbmcudGVzdChKU09OLnN0cmluZ2lmeSh2YWx1ZSkpXG4gICAgICAgICAgOiBtYXRjaFN0cmluZy50ZXN0KFN0cmluZyh2YWx1ZSkpKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhY3RzO1xuICAgIH1cbiAgfSk7XG59XG4iLCI8c2VjdGlvbj5cbiAgQGlmIChmYWN0cygpLmxlbmd0aCA8IDEpIHtcbiAgICA8ZGl2IGNsYXNzPVwibS0yXCI+XG4gICAgICBObyBmYWN0cyBhcmUgcmVnaXN0ZXJlZC5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCIgZm9yPVwic2VhcmNoLWZhY3RcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xIGZhLXNlYXJjaFwiIGFyaWEtbGFiZWw9XCJTZWFyY2hcIj48L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiB0eXBlPVwidGV4dFwiIGlkPVwic2VhcmNoLWZhY3RcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBmb3IgZmFjdCBuYW1lIG9yIHZhbHVlXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxuICAgICAgTGlzdCBvZiA8Yj57e2ZhY3RzKCkubGVuZ3RofX08L2I+IHJlZ2lzdGVyZWQgZmFjdHNcbiAgICAgIEBpZiAoZmFjdHMoKS5sZW5ndGggPiBmaWx0ZXJlZEZhY3RzKCkubGVuZ3RoKSB7ICg8Yj57e2ZpbHRlcmVkRmFjdHMoKS5sZW5ndGh9fTwvYj4gbWF0Y2hpbmcgdGhlIHNlYXJjaCkgfVxuICAgIDwvZGl2PlxuICAgIDx1bD5cbiAgICBAZm9yIChmYWN0IG9mIGZpbHRlcmVkRmFjdHMoKTsgdHJhY2sgZmFjdC5mYWN0TmFtZSkge1xuICAgICAgPGxpPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZhY3QtbmFtZVwiPnt7ZmFjdC5mYWN0TmFtZX19OiA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmFjdC12YWx1ZVwiPnt7ZmFjdC52YWx1ZSB8IG8zckpzb25PclN0cmluZ319PC9zcGFuPlxuICAgICAgPC9saT5cbiAgICB9XG4gICAgPC91bD5cbiAgfVxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
export * from './facts-snapshot/facts-snapshot.component';
|
|
1
2
|
export * from './ruleset-history/ruleset-history-pres.component';
|
|
2
3
|
export * from './ruleset-history/ruleset-history-pres.module';
|
|
3
4
|
export * from './shared/index';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ydWxlcy1lbmdpbmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmFjdHMtc25hcHNob3QvZmFjdHMtc25hcHNob3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZXNldC1oaXN0b3J5L3J1bGVzZXQtaGlzdG9yeS1wcmVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGVzZXQtaGlzdG9yeS9ydWxlc2V0LWhpc3RvcnktcHJlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvaW5kZXgnO1xuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "../
|
|
5
|
-
import * as i3 from "
|
|
3
|
+
import * as i1 from "../rule-key-value/rule-key-value-pres.component";
|
|
4
|
+
import * as i2 from "../shared/fallback-to.pipe";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
6
|
export class RuleActionsPresComponent {
|
|
7
7
|
constructor() {
|
|
8
8
|
/**
|
|
@@ -19,12 +19,19 @@ export class RuleActionsPresComponent {
|
|
|
19
19
|
*/
|
|
20
20
|
this.runtimeOutputs = [];
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given block is of type ActionBlock
|
|
24
|
+
* @param block
|
|
25
|
+
*/
|
|
26
|
+
isActionBlock(block) {
|
|
27
|
+
return !!block.actionType;
|
|
28
|
+
}
|
|
22
29
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RuleActionsPresComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
30
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RuleActionsPresComponent, selector: "o3r-rule-actions-pres", inputs: { actions: "actions", temporaryFacts: "temporaryFacts", runtimeOutputs: "runtimeOutputs" }, ngImport: i0, template: "<div class=\"ruleset-panel-category-title\">Output Actions</div>\n@if (actions?.length === 0 && runtimeOutputs.length === 0) {\n <div class=\"ruleset-panel-category-body empty\">\n No action\n </div>\n} @else {\n <ul class=\"ruleset-panel-category-body\">\n @for (action of actions; track $index) {\n <li>\n @if (isActionBlock(action)) {\n @switch (action.actionType) {\n @case ('SET_FACT') {\n <div>\n <div>Set Fact</div>\n <div>\n <o3r-rule-key-value-pres\n [key]=\"action.fact | o3rFallbackTo: 'Missing \\'fact\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'assignment'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_CONFIG') {\n <div>\n <div>Update Config {{action.component}} {{action.library}}</div>\n <div>\n <o3r-rule-key-value-pres\n [key]=\"action.property | o3rFallbackTo: 'Missing \\'property\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'assignment'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_ASSET') {\n <div>\n <div>Update Asset:</div>\n <div>\n <o3r-rule-key-value-pres\n [oldValue]=\"action.asset | o3rFallbackTo: 'Missing \\'asset\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'state'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_LOCALISATION') {\n <div>\n <div>Update localization:</div>\n <div>\n <o3r-rule-key-value-pres\n [oldValue]=\"action.key | o3rFallbackTo: 'Missing \\'key\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'state'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_PLACEHOLDER') {\n <div [class.error]=\"!action.placeholderId\">\n <div>Update placeholder in {{action.component}} {{action.library}}</div>\n <div>\n <o3r-rule-key-value-pres\n [oldValue]=\"action.placeholderId | o3rFallbackTo: 'Missing \\'placeholderId\\''\"\n [value]=\"action.value\"\n [type]=\"'state'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @default {\n <div class=\"error\">\n <div>Unrecognized action</div>\n <div>{{action | json}}</div>\n </div>\n }\n }\n }\n </li>\n }\n @for (runtimeOutput of runtimeOutputs; track $index) {\n <li>\n <div>Set temporary fact</div>\n <div>\n <o3r-rule-key-value-pres\n [key]=\"runtimeOutput | o3rFallbackTo: 'Missing \\'fact\\''\"\n [value]=\"temporaryFacts[runtimeOutput] | o3rFallbackTo\"\n [type]=\"'assignment'\"></o3r-rule-key-value-pres>\n </div>\n </li>\n }\n </ul>\n}\n", styles: ["o3r-rule-actions-pres .ruleset-panel-title,o3r-rule-actions-pres .ruleset-panel-category-title{display:flex;justify-content:space-between;align-items:center}o3r-rule-actions-pres .ruleset-panel-title{font-size:1rem;padding:.5rem 0 .1rem}o3r-rule-actions-pres .ruleset-expansion-action,o3r-rule-actions-pres .icon-caret-down,o3r-rule-actions-pres .icon-caret-up{cursor:pointer}o3r-rule-actions-pres .ruleset-panel-subtitle{font-size:.75rem}o3r-rule-actions-pres .ruleset-panel-title-aside{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:fit-content}o3r-rule-actions-pres .ruleset-panel-category-title{font-size:.95rem;background:#eee;padding:.5rem;margin-bottom:.5rem;margin-top:1rem}o3r-rule-actions-pres .rule-description .ruleset-panel-category-title{font-size:.893rem;cursor:default}o3r-rule-actions-pres .rule-description .ruleset-panel-title{font-size:.94rem}o3r-rule-actions-pres .rule-description .ruleset-panel-category-body{padding-bottom:.5rem;padding-left:1.5rem}o3r-rule-actions-pres .rule-description .ruleset-panel-category-body:empty{margin:0;padding:0 0 0 1.5rem}\n"], dependencies: [{ kind: "component", type: i1.RuleKeyValuePresComponent, selector: "o3r-rule-key-value-pres", inputs: ["key", "value", "oldValue", "type"] }, { kind: "pipe", type: i2.O3rFallbackToPipe, name: "o3rFallbackTo" }, { kind: "pipe", type: i3.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
24
31
|
}
|
|
25
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RuleActionsPresComponent, decorators: [{
|
|
26
33
|
type: Component,
|
|
27
|
-
args: [{ selector: 'o3r-rule-actions-pres', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ruleset-panel-category-title\">Output Actions</div>\n
|
|
34
|
+
args: [{ selector: 'o3r-rule-actions-pres', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ruleset-panel-category-title\">Output Actions</div>\n@if (actions?.length === 0 && runtimeOutputs.length === 0) {\n <div class=\"ruleset-panel-category-body empty\">\n No action\n </div>\n} @else {\n <ul class=\"ruleset-panel-category-body\">\n @for (action of actions; track $index) {\n <li>\n @if (isActionBlock(action)) {\n @switch (action.actionType) {\n @case ('SET_FACT') {\n <div>\n <div>Set Fact</div>\n <div>\n <o3r-rule-key-value-pres\n [key]=\"action.fact | o3rFallbackTo: 'Missing \\'fact\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'assignment'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_CONFIG') {\n <div>\n <div>Update Config {{action.component}} {{action.library}}</div>\n <div>\n <o3r-rule-key-value-pres\n [key]=\"action.property | o3rFallbackTo: 'Missing \\'property\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'assignment'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_ASSET') {\n <div>\n <div>Update Asset:</div>\n <div>\n <o3r-rule-key-value-pres\n [oldValue]=\"action.asset | o3rFallbackTo: 'Missing \\'asset\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'state'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_LOCALISATION') {\n <div>\n <div>Update localization:</div>\n <div>\n <o3r-rule-key-value-pres\n [oldValue]=\"action.key | o3rFallbackTo: 'Missing \\'key\\''\"\n [value]=\"action.value | o3rFallbackTo\"\n [type]=\"'state'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @case ('UPDATE_PLACEHOLDER') {\n <div [class.error]=\"!action.placeholderId\">\n <div>Update placeholder in {{action.component}} {{action.library}}</div>\n <div>\n <o3r-rule-key-value-pres\n [oldValue]=\"action.placeholderId | o3rFallbackTo: 'Missing \\'placeholderId\\''\"\n [value]=\"action.value\"\n [type]=\"'state'\"></o3r-rule-key-value-pres>\n </div>\n </div>\n }\n @default {\n <div class=\"error\">\n <div>Unrecognized action</div>\n <div>{{action | json}}</div>\n </div>\n }\n }\n }\n </li>\n }\n @for (runtimeOutput of runtimeOutputs; track $index) {\n <li>\n <div>Set temporary fact</div>\n <div>\n <o3r-rule-key-value-pres\n [key]=\"runtimeOutput | o3rFallbackTo: 'Missing \\'fact\\''\"\n [value]=\"temporaryFacts[runtimeOutput] | o3rFallbackTo\"\n [type]=\"'assignment'\"></o3r-rule-key-value-pres>\n </div>\n </li>\n }\n </ul>\n}\n", styles: ["o3r-rule-actions-pres .ruleset-panel-title,o3r-rule-actions-pres .ruleset-panel-category-title{display:flex;justify-content:space-between;align-items:center}o3r-rule-actions-pres .ruleset-panel-title{font-size:1rem;padding:.5rem 0 .1rem}o3r-rule-actions-pres .ruleset-expansion-action,o3r-rule-actions-pres .icon-caret-down,o3r-rule-actions-pres .icon-caret-up{cursor:pointer}o3r-rule-actions-pres .ruleset-panel-subtitle{font-size:.75rem}o3r-rule-actions-pres .ruleset-panel-title-aside{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:fit-content}o3r-rule-actions-pres .ruleset-panel-category-title{font-size:.95rem;background:#eee;padding:.5rem;margin-bottom:.5rem;margin-top:1rem}o3r-rule-actions-pres .rule-description .ruleset-panel-category-title{font-size:.893rem;cursor:default}o3r-rule-actions-pres .rule-description .ruleset-panel-title{font-size:.94rem}o3r-rule-actions-pres .rule-description .ruleset-panel-category-body{padding-bottom:.5rem;padding-left:1.5rem}o3r-rule-actions-pres .rule-description .ruleset-panel-category-body:empty{margin:0;padding:0 0 0 1.5rem}\n"] }]
|
|
28
35
|
}], propDecorators: { actions: [{
|
|
29
36
|
type: Input
|
|
30
37
|
}], temporaryFacts: [{
|
|
@@ -32,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
32
39
|
}], runtimeOutputs: [{
|
|
33
40
|
type: Input
|
|
34
41
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1hY3Rpb25zLXByZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVsZXMtZW5naW5lL3J1bGUtYWN0aW9ucy9ydWxlLWFjdGlvbnMtcHJlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ydWxlcy1lbmdpbmUvcnVsZS1hY3Rpb25zL3J1bGUtYWN0aW9ucy1wcmVzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFjdkIsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFFOztXQUVHO1FBRUksWUFBTyxHQUFlLEVBQUUsQ0FBQztRQUVoQzs7O1dBR0c7UUFFSSxtQkFBYyxHQUEwQixFQUFFLENBQUM7UUFFbEQ7O1dBRUc7UUFFSSxtQkFBYyxHQUFhLEVBQUUsQ0FBQztLQVN0QztJQVBDOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxLQUFlO1FBQ2xDLE9BQU8sQ0FBQyxDQUFFLEtBQXFCLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7a0lBMUJVLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlLQ25CckMscTJHQXlGQTs7NEZEdEVhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBTzlCLE9BQU87c0JBRGIsS0FBSztnQkFRQyxjQUFjO3NCQURwQixLQUFLO2dCQU9DLGNBQWM7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBBY3Rpb25CbG9jayxcbiAgQWxsQmxvY2ssXG4gIEZhY3RzLFxufSBmcm9tICcuLi8uLi8uLi9lbmdpbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvM3ItcnVsZS1hY3Rpb25zLXByZXMnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLWFjdGlvbnMtcHJlcy5zdHlsZS5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLWFjdGlvbnMtcHJlcy50ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUnVsZUFjdGlvbnNQcmVzQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgYWxsIHRoZSBvdXRwdXQgYWN0aW9ucyBvZiBhIHJ1bGVzIG9yIHJ1bGVzZXQgZXhlY3V0aW9uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aW9uczogQWxsQmxvY2tbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiB0ZW1wb3JhcnkgZmFjdHMgdXNlZCBhbmQvb3IgbW9kaWZpZWQgd2l0aGluIHRoZSBydWxlIG9yIHRoZSBydWxlc2V0LlxuICAgKiBUaGV5IGFyZSBzY29wZWQgdG8gdGhlIHJ1bGVzZXQgYW5kIHRoZWlyIHZhbHVlIGlzIHRoZSBvbmUgYWZ0ZXIgdGhlIHJ1bGUgb3IgcnVsZXNldCBleGVjdXRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGVtcG9yYXJ5RmFjdHM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPiA9IHt9O1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHRlbXBvcmFyeSBmYWN0cyB0aGF0IHdpbGwgYmUgbW9kaWZpZWQgYnkgdGhlIHJ1bGVzZXQgb3IgdGhlIHJ1bGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcnVudGltZU91dHB1dHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgZ2l2ZW4gYmxvY2sgaXMgb2YgdHlwZSBBY3Rpb25CbG9ja1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICovXG4gIHB1YmxpYyBpc0FjdGlvbkJsb2NrKGJsb2NrOiBBbGxCbG9jayk6IGJsb2NrIGlzIEFjdGlvbkJsb2NrIHtcbiAgICByZXR1cm4gISEoYmxvY2sgYXMgQWN0aW9uQmxvY2spLmFjdGlvblR5cGU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydWxlc2V0LXBhbmVsLWNhdGVnb3J5LXRpdGxlXCI+T3V0cHV0IEFjdGlvbnM8L2Rpdj5cbkBpZiAoYWN0aW9ucz8ubGVuZ3RoID09PSAwICYmIHJ1bnRpbWVPdXRwdXRzLmxlbmd0aCA9PT0gMCkge1xuICA8ZGl2IGNsYXNzPVwicnVsZXNldC1wYW5lbC1jYXRlZ29yeS1ib2R5IGVtcHR5XCI+XG4gICAgTm8gYWN0aW9uXG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDx1bCBjbGFzcz1cInJ1bGVzZXQtcGFuZWwtY2F0ZWdvcnktYm9keVwiPlxuICAgIEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxsaT5cbiAgICAgICAgQGlmIChpc0FjdGlvbkJsb2NrKGFjdGlvbikpIHtcbiAgICAgICAgICBAc3dpdGNoIChhY3Rpb24uYWN0aW9uVHlwZSkge1xuICAgICAgICAgICAgQGNhc2UgKCdTRVRfRkFDVCcpIHtcbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlNldCBGYWN0PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxvM3ItcnVsZS1rZXktdmFsdWUtcHJlc1xuICAgICAgICAgICAgICAgICAgICBba2V5XT1cImFjdGlvbi5mYWN0IHwgbzNyRmFsbGJhY2tUbzogJ01pc3NpbmcgXFwnZmFjdFxcJydcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYWN0aW9uLnZhbHVlIHwgbzNyRmFsbGJhY2tUb1wiXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidhc3NpZ25tZW50J1wiPjwvbzNyLXJ1bGUta2V5LXZhbHVlLXByZXM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKCdVUERBVEVfQ09ORklHJykge1xuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+VXBkYXRlIENvbmZpZyB7e2FjdGlvbi5jb21wb25lbnR9fSB7e2FjdGlvbi5saWJyYXJ5fX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPG8zci1ydWxlLWtleS12YWx1ZS1wcmVzXG4gICAgICAgICAgICAgICAgICAgIFtrZXldPVwiYWN0aW9uLnByb3BlcnR5IHwgbzNyRmFsbGJhY2tUbzogJ01pc3NpbmcgXFwncHJvcGVydHlcXCcnXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImFjdGlvbi52YWx1ZSB8IG8zckZhbGxiYWNrVG9cIlxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCInYXNzaWdubWVudCdcIj48L28zci1ydWxlLWtleS12YWx1ZS1wcmVzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnVVBEQVRFX0FTU0VUJykge1xuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+VXBkYXRlIEFzc2V0OjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8bzNyLXJ1bGUta2V5LXZhbHVlLXByZXNcbiAgICAgICAgICAgICAgICAgICAgW29sZFZhbHVlXT1cImFjdGlvbi5hc3NldCB8IG8zckZhbGxiYWNrVG86ICdNaXNzaW5nIFxcJ2Fzc2V0XFwnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhY3Rpb24udmFsdWUgfCBvM3JGYWxsYmFja1RvXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ3N0YXRlJ1wiPjwvbzNyLXJ1bGUta2V5LXZhbHVlLXByZXM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKCdVUERBVEVfTE9DQUxJU0FUSU9OJykge1xuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+VXBkYXRlIGxvY2FsaXphdGlvbjo8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPG8zci1ydWxlLWtleS12YWx1ZS1wcmVzXG4gICAgICAgICAgICAgICAgICAgIFtvbGRWYWx1ZV09XCJhY3Rpb24ua2V5IHwgbzNyRmFsbGJhY2tUbzogJ01pc3NpbmcgXFwna2V5XFwnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhY3Rpb24udmFsdWUgfCBvM3JGYWxsYmFja1RvXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ3N0YXRlJ1wiPjwvbzNyLXJ1bGUta2V5LXZhbHVlLXByZXM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKCdVUERBVEVfUExBQ0VIT0xERVInKSB7XG4gICAgICAgICAgICAgIDxkaXYgW2NsYXNzLmVycm9yXT1cIiFhY3Rpb24ucGxhY2Vob2xkZXJJZFwiPlxuICAgICAgICAgICAgICAgIDxkaXY+VXBkYXRlIHBsYWNlaG9sZGVyIGluIHt7YWN0aW9uLmNvbXBvbmVudH19IHt7YWN0aW9uLmxpYnJhcnl9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8bzNyLXJ1bGUta2V5LXZhbHVlLXByZXNcbiAgICAgICAgICAgICAgICAgICAgW29sZFZhbHVlXT1cImFjdGlvbi5wbGFjZWhvbGRlcklkIHwgbzNyRmFsbGJhY2tUbzogJ01pc3NpbmcgXFwncGxhY2Vob2xkZXJJZFxcJydcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYWN0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ3N0YXRlJ1wiPjwvbzNyLXJ1bGUta2V5LXZhbHVlLXByZXM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlVucmVjb2duaXplZCBhY3Rpb248L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7YWN0aW9uIHwganNvbn19PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gICAgQGZvciAocnVudGltZU91dHB1dCBvZiBydW50aW1lT3V0cHV0czsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8bGk+XG4gICAgICAgIDxkaXY+U2V0IHRlbXBvcmFyeSBmYWN0PC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG8zci1ydWxlLWtleS12YWx1ZS1wcmVzXG4gICAgICAgICAgICBba2V5XT1cInJ1bnRpbWVPdXRwdXQgfCBvM3JGYWxsYmFja1RvOiAnTWlzc2luZyBcXCdmYWN0XFwnJ1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwidGVtcG9yYXJ5RmFjdHNbcnVudGltZU91dHB1dF0gfCBvM3JGYWxsYmFja1RvXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIidhc3NpZ25tZW50J1wiPjwvbzNyLXJ1bGUta2V5LXZhbHVlLXByZXM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvdWw+XG59XG4iXX0=
|