Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/teplostanski/services-tree--test-task
https://github.com/teplostanski/services-tree--test-task
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/teplostanski/services-tree--test-task
- Owner: teplostanski
- Created: 2024-02-10T19:56:19.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-10T20:22:07.000Z (11 months ago)
- Last Synced: 2024-02-11T20:38:34.308Z (11 months ago)
- Language: JavaScript
- Homepage: https://teplostanski.github.io/services-tree--test-task/
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
***Демо*** https://teplostanski.github.io/services-tree--test-task/
**Тестовое задание (Js разработчик):**
Построить и вывести в виде web-страницы дерева n-ой вложенности. Референс дерева подобно дереву директорий проводника Windows (каждый следующий слой смещать вправо)
![img](./img.png)
Состав строк: название (стоимость)
Данные: Приходит по rest api стек данных в формате json.
Описание состава данных:
```json
{
"services": [
{
"id": int,"head": int,
"name": str,
"node": int,
"price": float,
"sorthead": int
}
]
}
```
head = id вышележащего узла (null означает, что услуга находится в корневом узле)node = флаг "узел дерева" (1-узел, 0-лист)
В рамках одного слоя нужно выводить строки в порядке возрастания показателя sorthead.
Для проверки использовать пример ответа api:
```json
{
"services": [
{
"id": 1,
"head": null,
"name": "Проф.осмотр",
"node": 0,
"price": 100.0,
"sorthead": 20
},
{
"id": 2,
"head": null,
"name": "Хирургия",
"node": 1,
"price": 0.0,
"sorthead": 10
},
{
"id": 3,
"head": 2,
"name": "Удаление зубов",
"node": 1,
"price": 0.0,
"sorthead": 10
},
{
"id": 4,
"head": 3,
"name": "Удаление зуба",
"node": 0,
"price": 800.0,
"sorthead": 10
},
{
"id": 5,
"head": 3,
"name": "Удаление 8ого зуба",
"node": 0,
"price": 1000.0,
"sorthead": 30
},
{
"id": 6,
"head": 3,
"name": "Удаление осколка зуба",
"node": 0,
"price": 2000.0,
"sorthead": 20
},
{
"id": 7,
"head": 2,
"name": "Хирургические вмешательство",
"node": 0,
"price": 200.0,
"sorthead": 10
},
{
"id": 8,
"head": 2,
"name": "Имплантация зубов",
"node": 1,
"price": 0.0,
"sorthead": 20
},
{
"id": 9,
"head": 8,
"name": "Коронка",
"node": 0,
"price": 3000.0,
"sorthead": 10
},
{
"id": 10,
"head": 8,
"name": "Слепок челюсти",
"node": 0,
"price": 500.0,
"sorthead": 20
}
]
}```