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