Skip to content

Commit

Permalink
Updated schema and filter target component
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Dec 7, 2018
1 parent f78ab5a commit 3edaffa
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@
"description": "tooltip.search-criteria",
"type": "object",
"widget": {
"id": "filter-target"
"id": "filter-target",
"target": "entityAttributesFilterTargetType"
},
"properties": {
"entityAttributesFilterTargetType": {
Expand Down
11 changes: 6 additions & 5 deletions backend/src/main/resources/nameid-filter.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "group-lg",
"fields": [
"name",
"entityAttributesFilterTarget",
"nameIdFormatFilterTarget",
"filterEnabled",
"@type",
"resourceId",
Expand Down Expand Up @@ -36,15 +36,16 @@
"type": "boolean",
"default": false
},
"entityAttributesFilterTarget": {
"nameIdFormatFilterTarget": {
"title": "label.search-criteria",
"description": "tooltip.search-criteria",
"type": "object",
"widget": {
"id": "filter-target"
"id": "filter-target",
"target": "nameIdFormatFilterTargetType"
},
"properties": {
"entityAttributesFilterTargetType": {
"nameIdFormatFilterTargetType": {
"title": "",
"type": "string",
"default": "ENTITY",
Expand Down Expand Up @@ -87,7 +88,7 @@
},
"required": [
"value",
"entityAttributesFilterTargetType"
"nameIdFormatFilterTargetType"
]
},
"@type": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<fieldset>
<fieldset *ngIf="targetAttribute">
<div class="row">
<div class="col-lg-6">
<div>
Expand Down Expand Up @@ -39,14 +39,14 @@
</translate-i18n>&nbsp;&nbsp;
<i class="fa fa-asterisk text-danger"
aria-hidden="true"
*ngIf="entityAttributesFilterTargetType !== 'ENTITY'"></i>
*ngIf="targetType !== 'ENTITY'"></i>
</span>
<span>
<info-icon [description]="'label.search-criteria-by' | translate:{ displayType: (displayType | translate) }"></info-icon>
</span>
</label>
<div class="d-flex justify-content-between">
<div class="w-100" [ngSwitch]="this.entityAttributesFilterTargetType">
<div class="w-100" [ngSwitch]="this.targetType">
<ng-container *ngSwitchDefault>
<auto-complete
[fieldId]="'targetInput'"
Expand Down Expand Up @@ -77,7 +77,7 @@
</small>
</ng-container>
</div>
<div class="ml-2" *ngIf="entityAttributesFilterTargetType === 'ENTITY'">
<div class="ml-2" *ngIf="targetType === 'ENTITY'">
<button
class="btn btn-success"
[disabled]="search.invalid"
Expand All @@ -89,7 +89,7 @@
</div>
</div>
</div>
<div class="col-lg-6" *ngIf="entityAttributesFilterTargetType === 'ENTITY'">
<div class="col-lg-6" *ngIf="targetType === 'ENTITY'">
<label class="control-label" translate="label.entity-ids-added">Entity Ids Added</label>
<hr />
<ul class="list-group list-group-sm list-group-scroll">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export class FilterTargetComponent extends ObjectWidget implements OnDestroy, Af
.valueChanges
.pipe(
distinctUntilChanged(),
skipWhile(() => this.entityAttributesFilterTargetType === 'ENTITY')
skipWhile(() => this.targetType === 'ENTITY')
)
.subscribe(script => {
this.setTargetValue([script]);
Expand Down Expand Up @@ -92,24 +92,31 @@ export class FilterTargetComponent extends ObjectWidget implements OnDestroy, Af
return this.formProperty.getProperty('value').value;
}

get entityAttributesFilterTargetType(): string {
return this.formProperty.getProperty('entityAttributesFilterTargetType').value;
get targetType(): string {
return this.formProperty.getProperty(this.targetAttribute).value;
}

get displayType(): string {
return this.typeOptions.find(opt => opt.value === this.entityAttributesFilterTargetType).description;
if (!this.targetAttribute) {
return null;
}
return this.typeOptions.find(opt => opt.value === this.targetType).description;
}

get targetAttribute(): string {
return this.formProperty.schema.widget.target;
}

get typeOptions(): any[] {
return this.formProperty
.getProperty('entityAttributesFilterTargetType')
.getProperty(this.targetAttribute)
.schema
.oneOf
.map(option => ({ ...option, value: option.enum[0] }));
}

select(value: string): void {
this.formProperty.getProperty('entityAttributesFilterTargetType').setValue(value);
this.formProperty.getProperty(this.targetAttribute).setValue(value);
this.setTargetValue([]);
this.script.reset();
this.search.reset();
Expand Down
11 changes: 6 additions & 5 deletions ui/src/assets/schema/filter/nameid.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "group-lg",
"fields": [
"name",
"entityAttributesFilterTarget",
"nameIdFormatFilterTarget",
"filterEnabled",
"@type",
"resourceId",
Expand Down Expand Up @@ -36,15 +36,16 @@
"type": "boolean",
"default": false
},
"entityAttributesFilterTarget": {
"nameIdFormatFilterTarget": {
"title": "label.search-criteria",
"description": "tooltip.search-criteria",
"type": "object",
"widget": {
"id": "filter-target"
"id": "filter-target",
"target": "nameIdFormatFilterTargetType"
},
"properties": {
"entityAttributesFilterTargetType": {
"nameIdFormatFilterTargetType": {
"title": "",
"type": "string",
"default": "ENTITY",
Expand Down Expand Up @@ -87,7 +88,7 @@
},
"required": [
"value",
"entityAttributesFilterTargetType"
"nameIdFormatFilterTargetType"
]
},
"@type": {
Expand Down

0 comments on commit 3edaffa

Please sign in to comment.