tuain-ng-forms-lib 15.0.28 → 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/classes/forms/form.mjs +7 -3
- 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 +31 -7
- package/fesm2015/tuain-ng-forms-lib.mjs.map +1 -1
- package/fesm2020/tuain-ng-forms-lib.mjs +31 -7
- package/fesm2020/tuain-ng-forms-lib.mjs.map +1 -1
- package/lib/classes/forms/form.d.ts +3 -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=
|
|
@@ -2160,6 +2160,7 @@ class FormStructureAndData {
|
|
|
2160
2160
|
this.stateFlow = {
|
|
2161
2161
|
defaultState: '',
|
|
2162
2162
|
states: [],
|
|
2163
|
+
stateDescriptions: [],
|
|
2163
2164
|
transitions: [],
|
|
2164
2165
|
};
|
|
2165
2166
|
}
|
|
@@ -2174,6 +2175,7 @@ class FormStructureAndData {
|
|
|
2174
2175
|
this.stateFlow = {
|
|
2175
2176
|
defaultState: '',
|
|
2176
2177
|
states: [],
|
|
2178
|
+
stateDescriptions: [],
|
|
2177
2179
|
transitions: [],
|
|
2178
2180
|
};
|
|
2179
2181
|
}
|
|
@@ -2187,7 +2189,7 @@ class FormStructureAndData {
|
|
|
2187
2189
|
this.name = (_a = this.name) !== null && _a !== void 0 ? _a : (_b = definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.form) === null || _b === void 0 ? void 0 : _b.formCode;
|
|
2188
2190
|
this.title = (definitionReceived.form && definitionReceived.form.formTitle)
|
|
2189
2191
|
? definitionReceived.form.formTitle : '';
|
|
2190
|
-
this.setStateFlow(definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.states, definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.transitions, definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.defaultState);
|
|
2192
|
+
this.setStateFlow(definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.states, definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.transitions, definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.defaultState, definitionReceived === null || definitionReceived === void 0 ? void 0 : definitionReceived.stateDescriptions);
|
|
2191
2193
|
this.immutableData = definitionReceived.immutableData;
|
|
2192
2194
|
this.extraInfo = definitionReceived.extraInfo;
|
|
2193
2195
|
this.customAttributes = {};
|
|
@@ -2282,6 +2284,7 @@ class FormStructureAndData {
|
|
|
2282
2284
|
// Estados
|
|
2283
2285
|
get defaultState() { return this.stateFlow.defaultState; }
|
|
2284
2286
|
get states() { return this.stateFlow.states; }
|
|
2287
|
+
get stateDescriptions() { return this.stateFlow.stateDescriptions; }
|
|
2285
2288
|
supportState(state = '') { var _a; return (!!state && ((_a = this.stateFlow.states) === null || _a === void 0 ? void 0 : _a.includes(state))); }
|
|
2286
2289
|
changeState(newState) {
|
|
2287
2290
|
const currentState = this.state;
|
|
@@ -2301,8 +2304,9 @@ class FormStructureAndData {
|
|
|
2301
2304
|
return (this.state === newState);
|
|
2302
2305
|
}
|
|
2303
2306
|
get stateChange() { return this._stateChange; }
|
|
2304
|
-
setStateFlow(states, transitions, defaultState) {
|
|
2307
|
+
setStateFlow(states, transitions, defaultState, stateDescriptions = []) {
|
|
2305
2308
|
this.stateFlow.states = states;
|
|
2309
|
+
this.stateFlow.stateDescriptions = stateDescriptions;
|
|
2306
2310
|
this.stateFlow.defaultState = defaultState || this.stateFlow.states[0];
|
|
2307
2311
|
this.stateFlow.transitions = transitions.map(transition => {
|
|
2308
2312
|
const name = transition.name;
|
|
@@ -2775,16 +2779,33 @@ class LibFormManagerService {
|
|
|
2775
2779
|
}
|
|
2776
2780
|
|
|
2777
2781
|
class LibEventManagerService {
|
|
2778
|
-
constructor(
|
|
2782
|
+
constructor(eventSet) {
|
|
2779
2783
|
this.eventSubjects = {};
|
|
2780
|
-
|
|
2784
|
+
this.eventSubjectParams = {};
|
|
2785
|
+
eventSet.forEach((event) => { this.addEventName(event); });
|
|
2781
2786
|
}
|
|
2782
|
-
addEventName(
|
|
2783
|
-
|
|
2784
|
-
|
|
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);
|
|
2785
2801
|
this.eventSubjects[name] = newEventSubject;
|
|
2802
|
+
this.eventSubjectParams[name] = { name, windowTime, timestampProvider };
|
|
2786
2803
|
}
|
|
2787
2804
|
}
|
|
2805
|
+
resetSubject(eventClassName) {
|
|
2806
|
+
const { name, windowTime, timestampProvider } = this.eventSubjectParams[eventClassName];
|
|
2807
|
+
return this.addEventName({ name, windowTime, timestampProvider });
|
|
2808
|
+
}
|
|
2788
2809
|
getEventNames() { return Object.keys(this.eventSubjects); }
|
|
2789
2810
|
getSubject(eventClassName) { return eventClassName ? this.eventSubjects[eventClassName] : null; }
|
|
2790
2811
|
subscribe(eventClassName, callback) { return this.getSubject(eventClassName).subscribe(callback); }
|
|
@@ -3109,6 +3130,9 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3109
3130
|
this.errorDetail = '';
|
|
3110
3131
|
this.busy = true;
|
|
3111
3132
|
const formActionResponse = yield this.formManagerService.execServerAction(actionDetail);
|
|
3133
|
+
if (!formActionResponse) {
|
|
3134
|
+
return null;
|
|
3135
|
+
}
|
|
3112
3136
|
this.busy = false;
|
|
3113
3137
|
if (formActionResponse.hasError()) {
|
|
3114
3138
|
const error = formActionResponse.error;
|