Como ajudar o vendedor a determinar se existe um produto com as características certas?
ExemploDepois de frequentar a loja de sapatos e escolher o modelo que você gosta, esperamos até que os vendedores determinem se existe um tamanho adequado
Dado
Lista de
variações . Cada variação, por sua vez, contém uma lista de atributos e seus valores.
exemplo-data.json[ { "Size": 37, "Color": "Brown", "Lock": "Zipper" }, { "Size": 37, "Color": "Black", "Lock": "Zipper" }, { "Size": 38, "Color": "Blue", "Lock": "Laces" }, { "Size": 39, "Color": "Blue", "Lock": "Laces" }, { "Size": 39, "Color": "Brown", "Lock": "Zipper" }, { "Size": 39, "Color": "Brown", "Lock": "Laces" }, { "Size": 40, "Color": "Brown", "Lock": "Laces" } ]
É necessário criar uma interface pela qual o vendedor, após selecionar as propriedades necessárias, possa determinar se as mercadorias estão em estoque ou não.
Termos:
- Uma variação contém uma lista completa de atributos (não pode haver variação com valores desconhecidos, se o atributo estiver presente em uma variação, estará em todos)
- O comprimento da lista de opções para valores de atributo varia de atributo para atributo (um atributo pode assumir um de dois valores, o outro de quatro, etc.)
- Um atributo pode ter apenas um valor.
Funcionalidade:
A interface é uma lista de listas, onde no primeiro nível é o tipo de atributo, no segundo é o seu valor.
Cada elemento pode estar em 3 estados:
- Disponível para seleção - Branco
- Ativo - Azul
- Disponível em outras combinações - Cinza
No início, todos os itens são selecionáveis

Depois de selecionar um dos atributos, todo o restante é revisado.

Escolhemos 37 (poderia começar com marrom, a lógica é a mesma). Todos os outros tamanhos são brancos (porque são por condição). Não há cor azul. Torna-se cinza, o resto é branco. 37 está apenas no Lightning. Então o raio é selecionado automaticamente.
E aqui, atenção! 40 não há tamanho de raio, então 40 fica cinza.
Se de repente precisamos de uma cor azul, o tamanho é redefinido (já que 37 não existe azul) e a trava (porque não há 37 raios, se fosse, ele permaneceria selecionado), os cadarços são selecionados automaticamente (porque azul somente com atacadores) e os tamanhos ficam disponíveis 38, 39.

A tarefa é aplicável como:
- Prática para estudantes de programação
- Tarefa de teste para a seleção de candidatos
- Apenas um passatempo interessante para desenvolvedores experientes
Solicitação: não faça o upload da solução para o problema nos comentários.