1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhuzhaofeng-UNTree

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

UNTree

Описание

Позволяет создавать вертикальное дерево с использованием TypeScript. Проект собран через webpack с sourcemap размером 31 кБ, без sourcemap — 12 кБ. Подходит для отображения организационной структуры компании, распределения задач и других целей. Можно передать JSON массив или уже преобразованное JSON дерево. Поддерживает как вертикальное, так и горизонтальное направление.

Примеры

https://zhuzhaofeng.gitee.io/untree/

Установка

Включите dist/un-tree.min.js

<script src="./un-tree.min.js" type="text/javascript" charset="utf-8"></script>

Инициализация дерева

let tree = new UNTree(options);
tree.render();

Описание параметров| Параметр | Описание | По умолчанию | Допустимые значения | | ----------- | ---------------------------------------------------- | ------------ | -------------------| | el | Элемент загрузки | | | | jsonArr | Данные | [] | | | selfIdField | Поле уникального идентификатора для каждого элемента | id | | | parentIdField | Поле родительского идентификатора | parent | | | parentid | ID первого уровня данных | "" | | | text | Поле для отображаемого текста | text | | | mode(новый) | Направление отображения | vertical | vertical | horizontal | | type | Тип данных | list | list | tree | | viewClass | Кастомный класс для всего представления | | | | itemClass | Кастомный класс для каждого элемента | | | | click | Обработчик события клика (возвращает три параметра itemId, itemData, itemNode) | | |

Положение "parentld" заменено на "parentid".#### Пример использования

  • Загрузка массива JSON ```html
    ``````javascript

let listData = [ { id: "99d78438-1f14-4552-ba77-039bff75e4bc", text: "Комитет директоров компании", parent: "root", }, { id: "d2eb4680-4cee-4549-8a0f-171fd9888f4b", text: "Генеральный директор", parent: "99d78438-1f14-4552-ba77-039bff75e4bc", }, { id: "18c9f830-e699-4fe1-b79c-71a6b34b7e8f", text: "Заместитель генерального директора №1", parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b", }, { id: "b05991b4-8944-4dd8-92c4-ffd7848e7112", text: "Заместитель генерального директора №2", parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b", }, { id: "f135c05b-ffde-4d82-895f-a6daf052c178", text: "Заместитель генерального директора №3", parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b", }, { id: "234e9d2e-676b-4601-9820-e9b064761ff4", text: "Директор по технологиям", parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b", }, { id: "7937421a-ee31-4988-934d-7e6469f0f37f", text: "Центр данных", parent: "18c9f830-e699-4fe1-b79c-71a6b34b7e8f", }, { id: "11c1b052-89f8-4873-a876-6de6130385e5", text: "Методический центр", parent: "18c9f830-e699-4fe1-b79c-71a6b34b7e8f", }, { id: "e9c44ca7-5302-4ae7-836a-2adc93e0f5d4", text: "Финансовый отдел", parent: "b05991b4-8944-4dd8-92c4-ffd7848e7112", }, { id: "e9c44ca7-5302-4ae7-836a-2adc93e0f5d4", text: "Офис", parent: "b05991b4-8944-4dd8-92c4-ffd7848e7112", }, { id: "bc407b45-56ef-4bdc-ab31-325d4cad5243", text: "Отдел проектов", parent: "f135c05b-ffde-4d82-895f-a6daf052c178", }, { id: "71fc1ee3-5f31-49a8-8cdc-086c92bff785", text: "Первый отдел оценки", parent: "f135c05b-ffde-4d82-895f-a6daf052c178", }, { id: "9a0214ba-4afc-43ce-9851-fbc79dd48f25", text: "Отдел технологий", parent: "234e9d2e-676b-4601-9820-e9b064761ff4", } ];```markdown [ { "id": "71fc1ee3-5f31-49a8-8cdc-086c92bff785", "text": "Второй отдел оценки", "parent": "234e9d2e-676b-4601-9820-e9b064761ff4" } ]

    console.log(itemId);
    console.log(itemData);
    console.log(itemNode);
}
let el = document.getElementById("un-tree--wrapper");
let tree = new UNTree({
    el: el,
    jsonArr: listData,
    parentid: "root",
    type: "list",
    viewClass: "view-demo",
    itemClass: "item-demo",
    click: handleClick,
});
tree.render();
```- Загрузка преобразованного JSON-дерева``````html
<div id="un-tree--wrapper2"></div>
let treeData = [
    {
        id: "99d78438-1f14-4552-ba77-039bff75e4bc",
        text: "Комитет директоров компании",
        parent: "root",
        children: [
            {
                id: "d2eb4680-4cee-4549-8a0f-171fd9888f4b",
                text: "Генеральный директор",
                parent: "99d78438-1f14-4552-ba77-039bff75e4bc",
                children: [
                    {
                        id: "18c9f830-e699-4fe1-b79c-71a6b34b7e8f",
                        text: "Заместитель генерального директора №1",
                        parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b",
                        children: [
                            {
                                id: "7937421a-ee31-4988-934d-7e6469f0f37f",
                                text: "Данные центра",
                                parent: "18c9f830-e699-4fe1-b79c-71a6b34b7e8f"
                            },
                            {
                                id: "11c1b052-89f8-4873-a876-6de6130385e5",
                                text: "Методический центр",
                                parent: "18c9f830-e699-4fe1-b79c-71a6b34b7e8f"
                            }
                        ]
                    },
                    {
                        id: "b05991b4-8944-4dd8-92c4-ffd7848e7112",
                        text: "Заместитель генерального директора №2",
                        parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b",
                        children: [
                            {
                                id: "e9c44ca7-5302-4ae7-836a-2adc93e0f5d4",
                                text: "Финансовый отдел",
                                parent: "b05991b4-8944-4dd8-92c4-ffd7848e7112"
                            },
                            {
                                id: "e9c44ca7-5302-4ae7-836a-2adc93e0f5d4",
                                text: "Офис",
                                parent: "b05991b4-8944-4dd8-92c4-ffd7848e7112"
                            }
                        ]
                    },
                    {
                        id: "f135c05b-ffde-4d82-895f-a6daf052c178",
``````json
[
    {
        id: "d2eb4680-4cee-4549-8a0f-171fd9888f4b",
        text: "Заместитель генерального директора №3",
        parent: null,
        children: [
            {
                id: "bc407b45-56ef-4bdc-ab31-325d4cad5243",
                text: "Отдел проектов",
                parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b"
            },
            {
                id: "71fc1ee3-5f31-49a8-8cdc-086c92bff785",
                text: "Отдел оценки №1",
                parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b"
            }
        ]
    },
    {
        id: "234e9d2e-676b-4601-9820-e9b064761ff4",
        text: "Технический директор",
        parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b",
        children: [
            {
                id: "9a0214ba-4afc-43ce-9851-fbc79dd48f25",
                text: "Отдел техники",
                parent: "234e9d2e-676b-4601-9820-e9b064761ff4"
            },
            {
                id: "71fc1ee3-5f31-49a8-8cdc-086c92bff785",
                text: "Оценочная группа 2",
                parent: "234e9d2e-676b-4601-9820-e9b064761ff4"
            }
        ]
    }
];
],
},
{
    id: "234e9d2e-676b-4601-9820-e9b064761ff4",
    text: "Технический директор",
    parent: "d2eb4680-4cee-4549-8a0f-171fd9888f4b",
    children: [
        {
            id: "9a0214ba-4afc-43ce-9851-fbc79dd48f25",
            text: "Отдел техники",
            parent: "234e9d2e-676b-4601-9820-e9b064761ff4"
        },
        {
            id: "71fc1ee3-5f31-49a8-8cdc-086c92bff785",
            text: "Оценочная группа 2",
            parent: "234e9d2e-676b-4601-9820-e9b064761ff4"
        }
    ]
}
]
function handleClick(itemId, itemData, itemNode) {
    console.log(itemId);
    console.log(itemData);
    console.log(itemNode);
}
let el2 = document.getElementById("un-tree--wrapper2");
let tree2 = new UNTree({
    el: el2,
    jsonArr: treeData,
    parentId: "root",
    type: "tree",
    viewClass: "view-demo",
    itemClass: "item-demo",
    click: handleClick
});
tree2.render();
  • Измените направление на "горизонтальное".
let tree2 = new UNTree({
    el: el2,
    jsonArr: treeData,
    parentId: "root",
    type: "tree",
    direction: "horizontal", // Изменено на "horizontal"
    viewClass: "view-demo",
    itemClass: "item-demo",
    click: handleClick
});
```> Для этого достаточно изменить значение параметра `mode` на `горизонтальное`

```markdown
let tree2 = new UNTree({
    el: el2,
    jsonArr: treeData,
    parentid: "root",
    mode: "горизонтальное",
    type: "tree",
    viewClass: "view-demo",
    itemClass: "item-demo",
    click: handleClick,
});
tree2.render();

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Вертикальный древовидный элемент управления, написанный на нативном JavaScript, код простой и может быть изменён в любое время в соответствии с требованиями. Может использоваться как дерево организационной структуры отдела, дерево демонстрации распределения задач и т. д. Можно передать массив JSON или преобразованное дерево JSON. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhuzhaofeng-UNTree.git
git@api.gitlife.ru:oschina-mirror/zhuzhaofeng-UNTree.git
oschina-mirror
zhuzhaofeng-UNTree
zhuzhaofeng-UNTree
master