Получить данные из древовидного материала в оригинальном формате - PullRequest
0 голосов
/ 17 сентября 2018

В моем приложении есть редактируемый угловой материал в виде дерева, но я не могу понять, как преобразовать массив FileNode в исходный формат. случайно кто-то уже прошел через это?

Оригинальный формат:

{
  Groceries: {
    'Almond Meal flour': null,
    'Organic eggs': null,
    'Protein Powder': null,
    Fruits: {
      Apple: null,
      Berries: ['Blueberry', 'Raspberry'],
      Orange: null
    }
  },
  Reminders: [
    'Cook dinner',
    'Read the Material Design spec',
    'Upgrade Application to Angular'
  ]
};

Формат FileNode:

[
    {
        "item":"Groceries",
        "children":[
            {"item":"Almond Meal flour"},
            {"item":"Organic eggs"},
            {"item":"Protein Powder"},
            {
                "item":"Fruits",
                "children":[
                    {"item":"Apple"},
                    {
                        "item":"Berries",
                        "children":[
                            {"item":"Blueberry"},
                            {"item":"Raspberry"}
                        ]
                    },
                    {"item":"Orange"}
                ]
            }
        ]
    },
    {
        "item":"Reminders",
        "children":[
            {"item":"Cook dinner"},
            {"item":"Read the Material Design spec"},
            {"item":"Upgrade Application to Angular"}
        ]
    }
]

Вот пример стекаблика: https://stackblitz.com/angular/gabkadkvybq?file=app%2Ftree-checklist-example.ts

...