project-booster-vue 9.4.0 → 9.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-booster-vue",
3
- "version": "9.4.0",
3
+ "version": "9.5.0",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -432,14 +432,13 @@ export default defineComponent({
432
432
  const questionPossibleAnswer = this.questionPossibleAnswers.get(answerCode);
433
433
  if (
434
434
  questionPossibleAnswer &&
435
- (questionPossibleAnswer?.selected ||
436
- answerValues.findIndex(
437
- (answer: ScenarioStepAnswer | string) =>
438
- (typeof answer === 'string' && answer === answerCode) ||
439
- (typeof answer === 'object' &&
440
- (<ScenarioStepAnswer>answer)?.code === answerCode &&
441
- (<ScenarioStepAnswer>answer)?.selected),
442
- ) >= 0) &&
435
+ answerValues.findIndex(
436
+ (answer: ScenarioStepAnswer | string) =>
437
+ (typeof answer === 'string' && answer === answerCode) ||
438
+ (typeof answer === 'object' &&
439
+ (<ScenarioStepAnswer>answer)?.code === answerCode &&
440
+ (<ScenarioStepAnswer>answer)?.selected),
441
+ ) >= 0 &&
443
442
  areConditionsValid(questionPossibleAnswer.conditions!, this.answers, this.runtimeOptions)
444
443
  ) {
445
444
  this.selectedAnswers.set(answerCode, true);
@@ -499,10 +498,9 @@ export default defineComponent({
499
498
  if (!this.payload.multiSelect) {
500
499
  this.initAnswersSelectedState(this.payload.answers);
501
500
  }
502
- answer.selected = !answer.selected;
503
501
 
504
502
  if (this.payload.multiSelect) {
505
- this.selectedAnswers.set(answer.code, answer.selected);
503
+ this.selectedAnswers.set(answer.code, !this.selectedAnswers.get(answer.code) ?? true);
506
504
 
507
505
  const selected = Object.fromEntries(Object.entries(this.selectedAnswers).filter(([, value]) => value === true));
508
506
  /**
@@ -514,7 +512,7 @@ export default defineComponent({
514
512
  Object.keys(Object.fromEntries(this.selectedAnswers)).forEach((answerCode) => {
515
513
  this.selectedAnswers.set(answerCode, false);
516
514
  });
517
- this.selectedAnswers.set(answer.code, answer.selected);
515
+ this.selectedAnswers.set(answer.code, !this.selectedAnswers.get(answer.code) ?? true);
518
516
 
519
517
  /**
520
518
  * Emitted when step is completed
@@ -289,7 +289,12 @@ export default defineComponent({
289
289
  let stepIndex = state.value.history.stepIndex - 1;
290
290
 
291
291
  const steps = state.value.history.steps ?? [];
292
- while (stepIndex > 0 && steps[stepIndex - 1].step.type !== 'STEP') {
292
+ while (
293
+ stepIndex > 0 &&
294
+ steps[stepIndex - 1] &&
295
+ steps[stepIndex - 1].step &&
296
+ steps[stepIndex - 1].step.type !== 'STEP'
297
+ ) {
293
298
  stepIndex--;
294
299
  }
295
300
 
@@ -356,7 +361,13 @@ export default defineComponent({
356
361
  }
357
362
  };
358
363
  const goToStep = (stepIndex: number) => {
359
- let requestedStep = state.value.history?.steps?.[stepIndex - 1];
364
+ let requestedStep = state.value.history?.steps ? state.value.history.steps[stepIndex - 1] : undefined;
365
+
366
+ if (!requestedStep) {
367
+ requestedStep = state.value.history?.steps
368
+ ? state.value.history.steps[state.value.history.stepIndex - 1]
369
+ : undefined;
370
+ }
360
371
 
361
372
  if (requestedStep) {
362
373
  if (requestedStep.step.resetAnswersOnBack) {