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.
@@ -2720,16 +2720,33 @@ class LibFormManagerService {
2720
2720
  }
2721
2721
 
2722
2722
  class LibEventManagerService {
2723
- constructor(eventNames) {
2723
+ constructor(eventSet) {
2724
2724
  this.eventSubjects = {};
2725
- eventNames.forEach((name) => { this.addEventName(name); });
2725
+ this.eventSubjectParams = {};
2726
+ eventSet.forEach((event) => { this.addEventName(event); });
2726
2727
  }
2727
- addEventName(name) {
2728
- if (!this.eventSubjects[name]) {
2729
- const newEventSubject = new ReplaySubject(1);
2728
+ addEventName(event, rebuild = false) {
2729
+ let name;
2730
+ let windowTime;
2731
+ let timestampProvider;
2732
+ if (typeof event === 'string') {
2733
+ name = event;
2734
+ }
2735
+ else {
2736
+ name = event.name;
2737
+ windowTime = event.windowTime;
2738
+ timestampProvider = event.timestampProvider;
2739
+ }
2740
+ if (rebuild || !this.eventSubjects[name]) {
2741
+ const newEventSubject = new ReplaySubject(1, windowTime, timestampProvider);
2730
2742
  this.eventSubjects[name] = newEventSubject;
2743
+ this.eventSubjectParams[name] = { name, windowTime, timestampProvider };
2731
2744
  }
2732
2745
  }
2746
+ resetSubject(eventClassName) {
2747
+ const { name, windowTime, timestampProvider } = this.eventSubjectParams[eventClassName];
2748
+ return this.addEventName({ name, windowTime, timestampProvider });
2749
+ }
2733
2750
  getEventNames() { return Object.keys(this.eventSubjects); }
2734
2751
  getSubject(eventClassName) { return eventClassName ? this.eventSubjects[eventClassName] : null; }
2735
2752
  subscribe(eventClassName, callback) { return this.getSubject(eventClassName).subscribe(callback); }
@@ -3046,6 +3063,9 @@ class BasicFormComponent extends FormStructureAndData {
3046
3063
  this.errorDetail = '';
3047
3064
  this.busy = true;
3048
3065
  const formActionResponse = await this.formManagerService.execServerAction(actionDetail);
3066
+ if (!formActionResponse) {
3067
+ return null;
3068
+ }
3049
3069
  this.busy = false;
3050
3070
  if (formActionResponse.hasError()) {
3051
3071
  const error = formActionResponse.error;