tuain-ng-forms-lib 15.0.30 → 15.0.31
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/esm2020/lib/components/forms/basic-form.mjs +4 -1
- package/esm2020/lib/services/event-manager.service.mjs +23 -6
- package/fesm2015/tuain-ng-forms-lib.mjs +25 -5
- package/fesm2015/tuain-ng-forms-lib.mjs.map +1 -1
- package/fesm2020/tuain-ng-forms-lib.mjs +25 -5
- package/fesm2020/tuain-ng-forms-lib.mjs.map +1 -1
- package/lib/services/event-manager.service.d.ts +4 -2
- package/package.json +1 -1
|
@@ -1,18 +1,35 @@
|
|
|
1
1
|
import { ReplaySubject } from 'rxjs';
|
|
2
2
|
export class LibEventManagerService {
|
|
3
|
-
constructor(
|
|
3
|
+
constructor(eventSet) {
|
|
4
4
|
this.eventSubjects = {};
|
|
5
|
-
|
|
5
|
+
this.eventSubjectParams = {};
|
|
6
|
+
eventSet.forEach((event) => { this.addEventName(event); });
|
|
6
7
|
}
|
|
7
|
-
addEventName(
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
addEventName(event, rebuild = false) {
|
|
9
|
+
let name;
|
|
10
|
+
let windowTime;
|
|
11
|
+
let timestampProvider;
|
|
12
|
+
if (typeof event === 'string') {
|
|
13
|
+
name = event;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
name = event.name;
|
|
17
|
+
windowTime = event.windowTime;
|
|
18
|
+
timestampProvider = event.timestampProvider;
|
|
19
|
+
}
|
|
20
|
+
if (rebuild || !this.eventSubjects[name]) {
|
|
21
|
+
const newEventSubject = new ReplaySubject(1, windowTime, timestampProvider);
|
|
10
22
|
this.eventSubjects[name] = newEventSubject;
|
|
23
|
+
this.eventSubjectParams[name] = { name, windowTime, timestampProvider };
|
|
11
24
|
}
|
|
12
25
|
}
|
|
26
|
+
resetSubject(eventClassName) {
|
|
27
|
+
const { name, windowTime, timestampProvider } = this.eventSubjectParams[eventClassName];
|
|
28
|
+
return this.addEventName({ name, windowTime, timestampProvider });
|
|
29
|
+
}
|
|
13
30
|
getEventNames() { return Object.keys(this.eventSubjects); }
|
|
14
31
|
getSubject(eventClassName) { return eventClassName ? this.eventSubjects[eventClassName] : null; }
|
|
15
32
|
subscribe(eventClassName, callback) { return this.getSubject(eventClassName).subscribe(callback); }
|
|
16
33
|
next(eventClassName, data) { this.getSubject(eventClassName).next(data); }
|
|
17
34
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvc2VydmljZXMvZXZlbnQtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFZLFFBQWU7UUFIM0Isa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDeEIsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBRzNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVUsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUN0QyxJQUFJLElBQUksQ0FBQztRQUNULElBQUksVUFBVSxDQUFDO1FBQ2YsSUFBSSxpQkFBaUIsQ0FBQztRQUN0QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLEdBQUcsS0FBSyxDQUFDO1NBQ2Q7YUFBTTtZQUNMLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ2xCLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQzlCLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztTQUM3QztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QyxNQUFNLGVBQWUsR0FBdUIsSUFBSSxhQUFhLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsY0FBYztRQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYSxLQUFLLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELFVBQVUsQ0FBQyxjQUFjLElBQUksT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsU0FBUyxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkcsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQzNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgTGliRXZlbnRNYW5hZ2VyU2VydmljZSB7XG4gIGV2ZW50U3ViamVjdHM6IGFueSA9IHt9O1xuICBldmVudFN1YmplY3RQYXJhbXM6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKGV2ZW50U2V0OiBhbnlbXSkge1xuICAgIGV2ZW50U2V0LmZvckVhY2goKGV2ZW50KSA9PiB7IHRoaXMuYWRkRXZlbnROYW1lKGV2ZW50KTsgfSk7XG4gIH1cblxuICBhZGRFdmVudE5hbWUoZXZlbnQ6IGFueSwgcmVidWlsZCA9IGZhbHNlKSB7XG4gICAgbGV0IG5hbWU7XG4gICAgbGV0IHdpbmRvd1RpbWU7XG4gICAgbGV0IHRpbWVzdGFtcFByb3ZpZGVyO1xuICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBuYW1lID0gZXZlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBldmVudC5uYW1lO1xuICAgICAgd2luZG93VGltZSA9IGV2ZW50LndpbmRvd1RpbWU7XG4gICAgICB0aW1lc3RhbXBQcm92aWRlciA9IGV2ZW50LnRpbWVzdGFtcFByb3ZpZGVyO1xuICAgIH1cbiAgICBpZiAocmVidWlsZCB8fCAhdGhpcy5ldmVudFN1YmplY3RzW25hbWVdKSB7XG4gICAgICBjb25zdCBuZXdFdmVudFN1YmplY3Q6IFJlcGxheVN1YmplY3Q8YW55PiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEsIHdpbmRvd1RpbWUsIHRpbWVzdGFtcFByb3ZpZGVyKTtcbiAgICAgIHRoaXMuZXZlbnRTdWJqZWN0c1tuYW1lXSA9IG5ld0V2ZW50U3ViamVjdDtcbiAgICAgIHRoaXMuZXZlbnRTdWJqZWN0UGFyYW1zW25hbWVdID0geyBuYW1lLCB3aW5kb3dUaW1lLCB0aW1lc3RhbXBQcm92aWRlciB9O1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0U3ViamVjdChldmVudENsYXNzTmFtZSkge1xuICAgIGNvbnN0IHsgbmFtZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIgfSA9IHRoaXMuZXZlbnRTdWJqZWN0UGFyYW1zW2V2ZW50Q2xhc3NOYW1lXTtcbiAgICByZXR1cm4gdGhpcy5hZGRFdmVudE5hbWUoeyBuYW1lLCB3aW5kb3dUaW1lLCB0aW1lc3RhbXBQcm92aWRlciB9KTtcbiAgfVxuXG4gIGdldEV2ZW50TmFtZXMoKSB7IHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmV2ZW50U3ViamVjdHMpOyB9XG4gIGdldFN1YmplY3QoZXZlbnRDbGFzc05hbWUpIHsgcmV0dXJuIGV2ZW50Q2xhc3NOYW1lID8gdGhpcy5ldmVudFN1YmplY3RzW2V2ZW50Q2xhc3NOYW1lXSA6IG51bGw7IH1cbiAgc3Vic2NyaWJlKGV2ZW50Q2xhc3NOYW1lLCBjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5nZXRTdWJqZWN0KGV2ZW50Q2xhc3NOYW1lKS5zdWJzY3JpYmUoY2FsbGJhY2spOyB9XG4gIG5leHQoZXZlbnRDbGFzc05hbWUsIGRhdGEpIHsgdGhpcy5nZXRTdWJqZWN0KGV2ZW50Q2xhc3NOYW1lKS5uZXh0KGRhdGEpOyB9XG59XG4iXX0=
|
|
@@ -2779,16 +2779,33 @@ class LibFormManagerService {
|
|
|
2779
2779
|
}
|
|
2780
2780
|
|
|
2781
2781
|
class LibEventManagerService {
|
|
2782
|
-
constructor(
|
|
2782
|
+
constructor(eventSet) {
|
|
2783
2783
|
this.eventSubjects = {};
|
|
2784
|
-
|
|
2784
|
+
this.eventSubjectParams = {};
|
|
2785
|
+
eventSet.forEach((event) => { this.addEventName(event); });
|
|
2785
2786
|
}
|
|
2786
|
-
addEventName(
|
|
2787
|
-
|
|
2788
|
-
|
|
2787
|
+
addEventName(event, rebuild = false) {
|
|
2788
|
+
let name;
|
|
2789
|
+
let windowTime;
|
|
2790
|
+
let timestampProvider;
|
|
2791
|
+
if (typeof event === 'string') {
|
|
2792
|
+
name = event;
|
|
2793
|
+
}
|
|
2794
|
+
else {
|
|
2795
|
+
name = event.name;
|
|
2796
|
+
windowTime = event.windowTime;
|
|
2797
|
+
timestampProvider = event.timestampProvider;
|
|
2798
|
+
}
|
|
2799
|
+
if (rebuild || !this.eventSubjects[name]) {
|
|
2800
|
+
const newEventSubject = new ReplaySubject(1, windowTime, timestampProvider);
|
|
2789
2801
|
this.eventSubjects[name] = newEventSubject;
|
|
2802
|
+
this.eventSubjectParams[name] = { name, windowTime, timestampProvider };
|
|
2790
2803
|
}
|
|
2791
2804
|
}
|
|
2805
|
+
resetSubject(eventClassName) {
|
|
2806
|
+
const { name, windowTime, timestampProvider } = this.eventSubjectParams[eventClassName];
|
|
2807
|
+
return this.addEventName({ name, windowTime, timestampProvider });
|
|
2808
|
+
}
|
|
2792
2809
|
getEventNames() { return Object.keys(this.eventSubjects); }
|
|
2793
2810
|
getSubject(eventClassName) { return eventClassName ? this.eventSubjects[eventClassName] : null; }
|
|
2794
2811
|
subscribe(eventClassName, callback) { return this.getSubject(eventClassName).subscribe(callback); }
|
|
@@ -3113,6 +3130,9 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3113
3130
|
this.errorDetail = '';
|
|
3114
3131
|
this.busy = true;
|
|
3115
3132
|
const formActionResponse = yield this.formManagerService.execServerAction(actionDetail);
|
|
3133
|
+
if (!formActionResponse) {
|
|
3134
|
+
return null;
|
|
3135
|
+
}
|
|
3116
3136
|
this.busy = false;
|
|
3117
3137
|
if (formActionResponse.hasError()) {
|
|
3118
3138
|
const error = formActionResponse.error;
|