formatCsvData()

in frontend/src/app/scenario-list/scenario-list.component.ts [60:97]


  formatCsvData() {
    this.scenarioData = [];
    let result: any = [];
    this.csvData.forEach((current: any) => {
      let desiredObj: any = result?.find((ele: any) => {
        if (ele.user_grouping == current.user_grouping &&
          ele.scenario == current.scenario) {
          return ele
        }
      });

      if (desiredObj === undefined) {
        result.push(
          {
            user_grouping: current.user_grouping,
            scenario: current.scenario,
            question: [current.question]
          });
      }
      else {
        desiredObj.question.push(current.question);
      }
    });
    result?.map((ele: any) => {
      if (ele.user_grouping) {
        var nestedQues: any = this.constructNestedTree(ele.question);
        let dataSource = new MatTreeNestedDataSource<Question>();
        dataSource.data = [nestedQues];
        this.scenarioData.push({
          dataSource: dataSource,
          questions: [nestedQues],
          name: ele.scenario,
          userGrouping: ele.user_grouping
        })
      }
    })
    this.treeControl = new NestedTreeControl<Question>(node => node.child)
  }