Skip to content

Commit b8f61bf

Browse files
committed
rename useName to useTilde and allow string and number as input and add dataChange and dataChangeId for string and number
1 parent c25158f commit b8f61bf

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

projects/fusio-sdk/src/lib/component/form/autocomplete/form-autocomplete.component.ts

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, EventEmitter, Input, OnChanges, OnInit, Output} from '@angular/core';
1+
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
22
import {IdAndName, Service} from "../../../abstract/service";
33
import {catchError, debounceTime, distinctUntilChanged, map, merge, Observable, of, OperatorFunction, Subject, switchMap, tap} from "rxjs";
44
import {fromPromise} from "rxjs/internal/observable/innerFrom";
@@ -12,10 +12,11 @@ export class FormAutocompleteComponent implements OnInit {
1212

1313
@Input() name!: string;
1414
@Input() disabled: boolean = false;
15-
@Input() data?: string = undefined;
15+
@Input() data?: string|number = undefined;
1616
@Input() service!: Service<any>;
17-
@Input() useName: boolean = false;
17+
@Input() useTilde: boolean = false;
1818
@Output() dataChange = new EventEmitter<string>();
19+
@Output() dataChangeId = new EventEmitter<number>();
1920
@Output() enter = new EventEmitter<void>();
2021

2122
focus$ = new Subject<string>();
@@ -53,7 +54,7 @@ export class FormAutocompleteComponent implements OnInit {
5354

5455
async ngOnInit(): Promise<void> {
5556
if (this.data) {
56-
this.selected = await this.service.getWithIdAndName((this.useName ? '~' : '') + this.data);
57+
this.selected = await this.service.getWithIdAndName((this.useTilde ? '~' : '') + this.data);
5758
}
5859
}
5960

@@ -62,12 +63,15 @@ export class FormAutocompleteComponent implements OnInit {
6263
return;
6364
}
6465

65-
const value = this.useName ? this.selected.name : this.selected.id;
66-
if (!value) {
67-
return;
66+
if (this.dataChange.observed) {
67+
if (this.selected.name) {
68+
this.dataChange.emit(this.selected.name);
69+
}
70+
} else if (this.dataChangeId.observed) {
71+
if (this.selected.id) {
72+
this.dataChangeId.emit(parseInt(this.selected.id));
73+
}
6874
}
69-
70-
this.dataChange.emit(value);
7175
}
7276

7377
}

projects/fusio-sdk/src/lib/component/form/list/form-list.component.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</div>
99
</ng-container>
1010
<ng-container *ngIf="type === 'autocomplete' && service">
11-
<fusio-form-autocomplete id="{{name}}-{{i}}" name="{{name}}-{{i}}" [service]="service" [useName]="useName" [data]="property.value" (dataChange)="doChange(i, $event)" [disabled]="disabled">
11+
<fusio-form-autocomplete id="{{name}}-{{i}}" name="{{name}}-{{i}}" [service]="service" [useTilde]="useTilde" [data]="property.value" (dataChange)="doChange(i, $event)" [disabled]="disabled">
1212
<button class="btn btn-danger" type="button" (click)="doRemove(i)"><i class="bi bi-x"></i></button>
1313
</fusio-form-autocomplete>
1414
</ng-container>
@@ -23,7 +23,7 @@
2323
</div>
2424
</ng-container>
2525
<ng-container *ngIf="type === 'autocomplete' && service">
26-
<fusio-form-autocomplete id="{{name}}-newValue" name="{{name}}-newValue" [service]="service" [useName]="useName" [data]="newValue" (dataChange)="newValue = $event; doAdd()" (enter)="doAdd()" [disabled]="disabled">
26+
<fusio-form-autocomplete id="{{name}}-newValue" name="{{name}}-newValue" [service]="service" [useTilde]="useTilde" [data]="newValue" (dataChange)="newValue = $event; doAdd()" (enter)="doAdd()" [disabled]="disabled">
2727
<button class="btn btn-success" type="button" (click)="doAdd()"><i class="bi bi-plus"></i></button>
2828
</fusio-form-autocomplete>
2929
</ng-container>

projects/fusio-sdk/src/lib/component/form/list/form-list.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export class FormListComponent implements OnInit {
1313
@Input() type: string = 'text';
1414
@Input() data: Array<string> = [];
1515
@Input() service?: Service<any>;
16-
@Input() useName: boolean = false;
16+
@Input() useTilde: boolean = false;
1717
@Output() dataChange = new EventEmitter<Array<string>>();
1818

1919
local: Array<any> = [];

projects/fusio-sdk/src/lib/component/form/map/form-map.component.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</div>
99
</ng-container>
1010
<ng-container *ngIf="type === 'autocomplete' && service">
11-
<fusio-form-autocomplete id="{{name}}-{{property.key}}" name="{{name}}-{{property.key}}" [service]="service" [useName]="useName" [data]="property.value" (dataChange)="doChange(i, $event)">
11+
<fusio-form-autocomplete id="{{name}}-{{property.key}}" name="{{name}}-{{property.key}}" [service]="service" [useTilde]="useTilde" [data]="property.value" (dataChange)="doChange(i, $event)">
1212
<button class="btn btn-danger" type="button" (click)="doRemove(i)"><i class="bi bi-x"></i></button>
1313
</fusio-form-autocomplete>
1414
</ng-container>
@@ -26,7 +26,7 @@
2626
</div>
2727
</ng-container>
2828
<ng-container *ngIf="type === 'autocomplete' && service">
29-
<fusio-form-autocomplete id="{{name}}-newValue" name="{{name}}-newValue" [service]="service" [useName]="useName" [data]="newValue" (dataChange)="newValue = $event" (enter)="doAdd()" [disabled]="disabled">
29+
<fusio-form-autocomplete id="{{name}}-newValue" name="{{name}}-newValue" [service]="service" [useTilde]="useTilde" [data]="newValue" (dataChange)="newValue = $event" (enter)="doAdd()" [disabled]="disabled">
3030
<button class="btn btn-success" type="button" (click)="doAdd()"><i class="bi bi-plus"></i></button>
3131
</fusio-form-autocomplete>
3232
</ng-container>

projects/fusio-sdk/src/lib/component/form/map/form-map.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export class FormMapComponent implements OnInit {
1313
@Input() type: string = 'text';
1414
@Input() data: Record<string, string> = {};
1515
@Input() service?: Service<any>;
16-
@Input() useName: boolean = false;
16+
@Input() useTilde: boolean = false;
1717
@Output() dataChange = new EventEmitter<Record<string, string>>();
1818

1919
local: Array<Entry> = [];

projects/fusio-sdk/src/lib/component/webhook/form/webhook-form.component.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<div class="mb-3 row">
2121
<label for="event" class="col-sm-2 col-form-label fw-bold">Event</label>
2222
<div class="col-sm-10">
23-
<fusio-form-autocomplete id="event" name="event" [service]="event" [useName]="true" [data]="entity.event" (dataChange)="entity.event = $event" [disabled]="mode === 3">
23+
<fusio-form-autocomplete id="event" name="event" [service]="event" [useTilde]="true" [data]="entity.event" (dataChange)="entity.event = $event" [disabled]="mode === 3">
2424
<button class="btn btn-outline-secondary" type="button" [ngbPopover]="eventHelp"><i class="bi bi-question"></i></button>
2525
<ng-template #eventHelp>The target event</ng-template>
2626
</fusio-form-autocomplete>

projects/fusio-sdk/src/lib/component/webhook/list/webhook-list.component.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<div class="btn-group" role="group">
2626
<a [routerLink]="getDetailLink(entry.id)" class="btn btn-primary"><i class="bi bi-search"></i></a>
2727
<a [routerLink]="getEditLink(entry.id)" class="btn btn-secondary"><i class="bi bi-pen"></i></a>
28-
<a [routerLink]="getDeleteLink(entry.id)" class="btn btn-secondary"><i class="bi bi-x"></i></a>
28+
<a [routerLink]="getDeleteLink(entry.id)" class="btn btn-danger"><i class="bi bi-x"></i></a>
2929
</div>
3030
</td>
3131
</tr>

0 commit comments

Comments
 (0)