diff --git a/ui-ngx/src/app/core/http/entity.service.ts b/ui-ngx/src/app/core/http/entity.service.ts
index b5b2b0e796..35bcc1a614 100644
--- a/ui-ngx/src/app/core/http/entity.service.ts
+++ b/ui-ngx/src/app/core/http/entity.service.ts
@@ -756,6 +756,9 @@ export class EntityService {
}
}
if (allowedEntityTypes && allowedEntityTypes.length) {
+ if (allowedEntityTypes.includes(AliasEntityType.CURRENT_RULE_NODE)) {
+ entityTypes.push(AliasEntityType.CURRENT_RULE_NODE);
+ }
for (let index = entityTypes.length - 1; index >= 0; index--) {
if (allowedEntityTypes.indexOf(entityTypes[index]) === -1) {
entityTypes.splice(index, 1);
diff --git a/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts b/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts
index b55f01a7ae..071559f234 100644
--- a/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts
+++ b/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts
@@ -414,6 +414,8 @@ export class EntityAutocompleteComponent implements ControlValueAccessor, OnInit
} else {
return EntityType.CUSTOMER;
}
+ } else if (entityType === AliasEntityType.CURRENT_RULE_NODE) {
+ return EntityType.RULE_NODE;
}
return entityType;
}
diff --git a/ui-ngx/src/app/shared/components/entity/entity-select.component.html b/ui-ngx/src/app/shared/components/entity/entity-select.component.html
index 783febec7e..b3d68a5610 100644
--- a/ui-ngx/src/app/shared/components/entity/entity-select.component.html
+++ b/ui-ngx/src/app/shared/components/entity/entity-select.component.html
@@ -15,7 +15,7 @@
limitations under the License.
-->
-
+
diff --git a/ui-ngx/src/app/shared/components/entity/entity-select.component.ts b/ui-ngx/src/app/shared/components/entity/entity-select.component.ts
index 5c63f81cb4..06212236a7 100644
--- a/ui-ngx/src/app/shared/components/entity/entity-select.component.ts
+++ b/ui-ngx/src/app/shared/components/entity/entity-select.component.ts
@@ -15,7 +15,7 @@
///
import { AfterViewInit, Component, forwardRef, Input, OnInit } from '@angular/core';
-import { ControlValueAccessor, UntypedFormBuilder, UntypedFormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state';
import { TranslateService } from '@ngx-translate/core';
@@ -145,7 +145,8 @@ export class EntitySelectComponent implements ControlValueAccessor, OnInit, Afte
if (this.modelValue.entityType === AliasEntityType.CURRENT_TENANT
|| this.modelValue.entityType === AliasEntityType.CURRENT_USER
- || this.modelValue.entityType === AliasEntityType.CURRENT_USER_OWNER) {
+ || this.modelValue.entityType === AliasEntityType.CURRENT_USER_OWNER
+ || this.modelValue.entityType === AliasEntityType.CURRENT_RULE_NODE) {
this.modelValue.id = NULL_UUID;
} else if (this.modelValue.entityType === AliasEntityType.CURRENT_CUSTOMER && !this.modelValue.id) {
this.modelValue.id = NULL_UUID;
diff --git a/ui-ngx/src/app/shared/components/js-func.component.html b/ui-ngx/src/app/shared/components/js-func.component.html
index 66bced8adf..5bea273153 100644
--- a/ui-ngx/src/app/shared/components/js-func.component.html
+++ b/ui-ngx/src/app/shared/components/js-func.component.html
@@ -24,6 +24,7 @@
{{ functionLabel }}
+
diff --git a/ui-ngx/src/app/shared/components/script-lang.component.html b/ui-ngx/src/app/shared/components/script-lang.component.html
index 8887f9d7c3..dfe313bbfc 100644
--- a/ui-ngx/src/app/shared/components/script-lang.component.html
+++ b/ui-ngx/src/app/shared/components/script-lang.component.html
@@ -16,10 +16,11 @@
-->
-
{{ 'rulenode.script-lang-tbel' | translate }}
- {{ 'rulenode.script-lang-java-script' | translate }}
+
+ {{ (shortLang ? 'rulenode.script-lang-java-script-short' : 'rulenode.script-lang-java-script') | translate }}
+
diff --git a/ui-ngx/src/app/shared/components/script-lang.component.scss b/ui-ngx/src/app/shared/components/script-lang.component.scss
index b36f22c95e..f92f63a53b 100644
--- a/ui-ngx/src/app/shared/components/script-lang.component.scss
+++ b/ui-ngx/src/app/shared/components/script-lang.component.scss
@@ -14,6 +14,7 @@
* limitations under the License.
*/
.mat-button-toggle-group.tb-script-lang-toggle-group {
+ width: 320px;
&.mat-button-toggle-group-appearance-standard {
border: none;
border-radius: 18px;
@@ -57,3 +58,13 @@
opacity: .01;
}
}
+.mat-button-toggle-group.tb-script-lang-toggle-group-short {
+ width: 120px;
+ .mat-button-toggle {
+ height: 24px;
+ }
+ .mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
+ line-height: 20px;
+ font-size: 12px;
+ }
+}
diff --git a/ui-ngx/src/app/shared/components/script-lang.component.ts b/ui-ngx/src/app/shared/components/script-lang.component.ts
index dd9d995bcc..62658a9412 100644
--- a/ui-ngx/src/app/shared/components/script-lang.component.ts
+++ b/ui-ngx/src/app/shared/components/script-lang.component.ts
@@ -20,6 +20,7 @@ import { PageComponent } from '@shared/components/page.component';
import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state';
import { ScriptLanguage } from '@shared/models/rule-node.models';
+import { coerceBoolean } from '@shared/decorators/coercion';
@Component({
selector: 'tb-script-lang',
@@ -43,6 +44,10 @@ export class TbScriptLangComponent extends PageComponent implements ControlValue
@Input()
disabled: boolean;
+ @Input()
+ @coerceBoolean()
+ shortLang = true;
+
private propagateChange = null;
constructor(protected store: Store,
diff --git a/ui-ngx/src/app/shared/models/entity-type.models.ts b/ui-ngx/src/app/shared/models/entity-type.models.ts
index 045e95983c..c9740d9ba4 100644
--- a/ui-ngx/src/app/shared/models/entity-type.models.ts
+++ b/ui-ngx/src/app/shared/models/entity-type.models.ts
@@ -51,7 +51,8 @@ export enum AliasEntityType {
CURRENT_CUSTOMER = 'CURRENT_CUSTOMER',
CURRENT_TENANT = 'CURRENT_TENANT',
CURRENT_USER = 'CURRENT_USER',
- CURRENT_USER_OWNER = 'CURRENT_USER_OWNER'
+ CURRENT_USER_OWNER = 'CURRENT_USER_OWNER',
+ CURRENT_RULE_NODE = 'CURRENT_RULE_NODE'
}
export interface EntityTypeTranslation {
@@ -323,6 +324,13 @@ export const entityTypeTranslations = new Map