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