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

OSCHINA-MIRROR/dabeng-OrgChart

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.zh-tw.md 44 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.06.2025 12:50 3cbcd1d

OrgChart

Читайте это на других языках: Китайский (упр.), Английский

ES6 версия

Web Components версия

Vue.js версия

Angular версия -- Самая компактная реализация

React версия## Вступление

Благодарю wesnolte за его замечательную работу -- jOrgChart. Использование вложенных таблиц для построения древовидной структуры и границ ячеек для соединения узлов очень креативно. Это естественно снижает трудозатраты и сложность для фронтенд-разработчиков при создании древовидных структур. Даже если вы хорошо знакомы с svg, canvas и другими продвинутыми API для рисования, когда ваша древовидная структура вызывает у HR-девушки различные фантазии, вы признаете, что svg или canvas замедляют вашу способность быстро решать небольшие проблемы. В сравнении, решение на основе HTML5 + CSS3 напоминает "小米 + 步枪" легкой пехоты, что естественно снижает сложность создания древовидной структуры, при этом предоставляя больше пространства для кастомизации, чтобы удовлетворить различные мелкие требования. Если ваши требования достаточно многообразны, вы можете создать полную HR-систему на основе этой древовидной структуры. В действительности, многие коммерческие программы OrgChart на интернете строятся вокруг этой древовидной структуры.

Перевод фразы "小米 + 步枪" как "маленький пистолет + винтовка" не имеет смысла в контексте, поэтому оставлю её без перевода.## Основные функции

  • Поддержка локальных и удаленных источников данных.
  • Возможность разворачивания/сворачивания узлов или поддеревьев для удобного просмотра локальной структуры.
  • Размещение в четырёх направлениях: верх, низ, лево, право.
  • Возможность изменения формы организационной структуры путём перетаскивания узлов или поддеревьев.
  • Возможность редактирования иерархии организационной структуры и сохранения конечного результата в виде JSON-объекта.
  • Поддержка экспорта организационной структуры в формате png или pdf.
  • Поддержка масштабирования и перемещения организационной структуры.
  • Возможность кастомизации внутренней структуры узлов, например, вставка фотографий сотрудников в узлы.
  • Возможность создания многоуровневой организационной структуры с использованием различных источников данных (см. примеры многоуровневой организационной структуры и смешанной разметки).
  • Поддержка мультитач-управления на мобильных устройствах.

CDN

Ресурсы для данного плагина можно найти на CDN.

cdnjs https://cdnjs.com/libraries/orgchart

Установка

Bower

# С версии 1.0.2 пользователи могут установить orgchart и добавить его в зависимости bower.json
$ bower install orgchart

npm

# С версии 1.0.4 пользователи могут установить orgchart с помощью npm
$ npm install orgchart

require('orgchart') добавляет плагин orgchart к объекту jQuery. Сам модуль orgchart ничего не экспортирует.## Примеры на GitHub Pages

Примеры на основе вложенных ul

Примеры на основе вложенных таблиц (устарели)

Креативные требования

ondemand-loading-data- Я хочу настраивать структуру узлов в организационной структуре

Внимание:

(1) Если вы хотите экспортировать в IE или Edge, сначала добавьте es6-promise.auto.js в проект.

(2) Если ваша операционная система Windows, сначала проверьте "установки масштабирования", необходимо установить "Изменить размер текста, приложений и других элементов" на 100% (спасибо sayamkrai за исследование).

(3) Кроме того, если вы хотите экспортировать в PDF, сначала добавьте jspdf в проект, а затем установите опцию "exportFileextension" на "pdf".

Здесь нам потребуется OpenLayers.

В этом плагине доступны несколько методов -- addParent(), addSiblings(), addChildren(), removeNodes(), которые помогут разработчикам легко реализовать эти требования.

У нас есть метод getHierarchy(), который предназначен для этой задачи.

Нам нужно только связать стили CSS с полем id или классом CSS в источнике данных.- Я хочу создать организационную структуру с гибким расположением (горизонтальное + вертикальное)Этот функционал вдохновлен обсуждениями этих двух тем — Выравнивание детей вертикально, Гибридная (горизонтальная + вертикальная) организация. Благодарю mfahadi и Destructrix за конструктивные обсуждения:blush: Особая благодарность tedliang за предоставленное отличное решение для гибридной структуры.

Мы предоставляем метод init(), который поможет вам выполнить эти задачи. Просто передайте новые опции в метод init().

Нет ничего сложного. Мы рекомендуем использовать шаблоны строк на основе ES6.

Запуск orgchart локально

  • Необходимо установить node.js версии 6+ из-за использования jsdom версии 11 для наших юнит-тестов.
  • Необходимо использовать современный браузер (исключая IE).
  • Выполните команду npm install, чтобы установить необходимые зависимости.
  • Выполните команду npm test, чтобы запустить все тесты (юнит-тесты, интеграционные тесты, тесты end-to-end и тесты визуального восстановления).
  • Выполните команду npm run build, чтобы создать файлы js и css для продакшена.
  • Выполните команду npm start, чтобы запустить локальный веб-сервер. Вы можете просмотреть демо, соответствующие различным сценариям, по адресу http://localhost:3000.## Использование### Инициализация организационной структуры
var oc = $('#chartContainerId').orgchart(options);

Пример данных источника

{
  'id': 'rootNode', // Необязательное свойство. В будущем плагины будут использовать его для создания идентификатора узла, свойства data-parent (идентификатор родительского узла) и т. д.
  'collapsed': true, // По умолчанию при инициализации текущий узел находится в свернутом состоянии, и его дочерние узлы не отображаются
  'className': 'top-level', // Необязательное свойство. В будущем компоненты будут добавлять его значение к CSS-классам узла
  'nodeTitle': 'name', // Необязательное свойство. Плагины будут использовать это свойство для поиска данных источника и отображения верхней части узла с помощью стандартного стиля
  'nodeContent': 'title', // Необязательное свойство. Плагины будут использовать это свойство для поиска данных источника и отображения нижней части узла с помощью стандартного стиля
  'relationship': relationshipValue, // Обратите внимание: когда вы активируете функцию загрузки узлов по требованию, вы должны использовать JSON-источник данных (локальный или удаленный) и установить это свойство. Значение relationshipValue состоит из трех символов "0" или "1", где:
  // 1-й символ указывает, имеет ли текущий узел родительский узел
  // 2-й символ указывает, имеет ли текущий узел братский узел
  // 3-й символ указывает, имеет ли текущий узел дочерние узлы
  'children': [ // Это свойство представляет вложенные узлы.
}    { 'name': 'Bo Miao', 'title': 'department manager', 'relationship': '110' },
     { 'name': 'Su Miao', 'title': 'department manager', 'relationship': '111',
       'children': [
         { 'name': 'Tie Hua', 'title': 'senior engineer', 'relationship': '110' },
         { 'name': 'Hei Hei', 'title': 'senior engineer', 'relationship': '110' }
       ]
     },
     { 'name': 'Yu Jie', 'title': 'department manager', 'relationship': '110' }
   ],
   'otherPro': anyValue // В исходных данных можно добавить любые другие поля, если вы считаете, что они могут быть полезны при последующем рендеринге и манипуляциях с организационной структурой
 };
 ```### Опции
  <table>
    <thead>
      <tr>
        <th>Название</th>
        <th>Тип</th>
        <th>Обязательное</th>
        <th>Значение по умолчанию</th>
        <th>Описание</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>data</td>
        <td>json / jquery object</td>
        <td>Да</td>
        <td></td>
        <td>Используется для создания данных для организационной структуры. Значение может быть JSON или ul элемент, который предоставляет данные.</td>
      </tr>
      <tr>
        <td>pan</td>
        <td>boolean</td>
        <td>Нет</td>
        <td>false</td>
        <td>Включение этого параметра позволяет пользователю перемещать организационную структуру с помощью мыши.</td>
      </tr>
      <tr>
        <td>zoom</td>
        <td>boolean</td>
        <td>Нет</td>
        <td>false</td>
        <td>Включение этого параметра позволяет пользователю масштабировать организационную структуру с помощью колеса мыши или сенсорной панели.</td>
      </tr>
      <tr>
        <td>zoominLimit</td>
        <td>число</td>
        <td>Нет</td>
        <td>7</td>
        <td>Максимальное значение увеличения масштаба.</td>
      </tr>
      <tr>
        <td>zoomoutLimit</td>
        <td>число</td>
        <td>Нет</td>
        <td>0.5</td>
        <td>Минимальное значение уменьшения масштаба.</td>
      </tr>
    </tbody>
  </table>
       <td>0.5</td>
        <td>Минимальное значение уменьшения масштаба.</td>
      </tr>
      <tr>
        <td>direction</td>
        <td>строка</td>
        <td>Нет</td>
        <td>"t2b"</td>
        <td>Этот параметр используется для установки направления размещения. "t2b" означает от верхнего к нижнему, это значение по умолчанию. "b2t" означает от нижнего к верхнему. "l2r" означает от левого к правому. "r2l" означает от правого к левому.</td>
      </tr>
      <tr>
        <td>verticalLevel</td>
        <td>целое число (>=2)</td>
        <td>Нет</td>
        <td></td>
        <td>Указывает, с какого уровня начинается организационная структура, где горизонтальное расположение узлов переходит в вертикальное.</td>
      </tr>
      <tr>
        <td>toggleSiblingsResp</td>
        <td>boolean</td>
        <td>Нет</td>
        <td>false</td>
        <td>Включение этого параметра позволяет пользователю разворачивать/складывать братьев узлов по одной стороне при нажатии на кнопки стрелок; по умолчанию при нажатии на любую из стрелок узлов, все братья узлов складываются, не учитывая стороны.</td>
      </tr>
      <tr>
        <td>visibleLevel</td>
        <td>положительное целое число</td>
        <td>Нет</td>
        <td>999</td>
        <td>Этот параметр указывает, на каком уровне будут видны узлы при инициализации организационной структуры.</td>
      </tr>
      <tr>
        <td>nodeTitle</td>
        <td>строка</td>
        <td>Нет</td>
        <td>"name"</td>
        <td>Связывает заголовок узла по умолчанию с атрибутом данных источника.</td>
      </tr>
      <tr>
        <td>parentNodeSymbol</td>
        <td>строка</td>
        <td>нет</td>
        <td>"oci-leader"</td>
      </tr>       <td>Устанавливает CSS-класс для иконки всех родительских узлов</td>
      </tr>
      <tr>
        <td>nodeContent</td>
        <td>string</td>
        <td>нет</td>
        <td></td>
        <td>Связывает часть содержимого по умолчанию в структуре узлов с атрибутом источника данных</td>
      </tr>
      <tr>
        <td>nodeId</td>
        <td>string</td>
        <td>нет</td>
        <td>"id"</td>
        <td>Выбирает поле источника данных в качестве уникального идентификатора для каждого узла в структуре</td>
      </tr>
      <tr>
        <td>nodeTemplate</td>
        <td>function</td>
        <td>нет</td>
        <td></td>
        <td>Должен предоставить функцию для создания шаблона структуры узлов, которая принимает только один параметр — фрагмент источника данных, содержащий поддерево для рендеринга</td>
      </tr>
      <tr>
        <td>createNode</td>
        <td>function</td>
        <td>нет</td>
        <td></td>
        <td>Функция, которая вызывается после завершения создания структуры узлов по умолчанию. Использует два переданных параметра — "$node" и "data", чтобы помочь разработчику настроить или изменить существующую структуру узлов</td>
      </tr>
      <tr>
        <td>exportButton</td>
        <td>boolean</td>
        <td>нет</td>
        <td>false</td>
        <td>Активирует этот параметр, добавляя кнопку "Экспорт" в контейнер DIV структуры</td>
      </tr>
      <tr>
        <td>exportButtonName</td>
        <td>string</td>
        <td>нет</td>
        <td>"Export"</td>
        <td>Имя кнопки экспорта</td>
      </tr>
      <tr>
        <td>exportFilename</td>
        <td>string</td>
        <td>нет</td>
        <td>"Orgchart"</td>
        <td>Имя файла экспорта</td>
      </tr>
      <tr>
        <td>exportFileextension</td>
        <td>string</td>
        <td>нет</td>
        <td></td>
      </tr>       <td>"png"</td>
        <td>Расширение файла экспорта</td>
      </tr>
      <tr>
        <td>chartClass</td>
        <td>string</td>
        <td>нет</td>
        <td>""</td>
        <td>Добавляет пользовательский CSS-класс к структуре для добавления дополнительного стиля, особенно важно, если структура должна содержать лидерскую диаграмму</td>
      </tr>
      <tr>
        <td>draggable</td>
        <td>boolean</td>
        <td>нет</td>
        <td>false</td>
        <td>Активирует этот параметр, позволяя пользователю изменять структуру путем перетаскивания узлов. **Внимание:** Перетаскивание родительского узла в его подузел недопустимо</td>
      </tr>```markdown
 <table>
   <tbody>
     <tr>
       <td>изолирующий подграф</td>
       <td>из-за того, что если плагин подчинится такой операции, это приведет к образованию изолированного подграфа; данная опция недоступна в браузере Internet Explorer.</td>
     </tr>
     <tr>
       <td>dropCriteria</td>
       <td>функция</td>
       <td>нет</td>
       <td></td>
       <td>пользователи могут настроить более детальные критерии для ограничения перемещения узлов с помощью данной опции. Вам необходимо предоставить функцию, которая возвращает значение типа boolean, и которая используется для проверки, разрешено ли извлечение текущего перемещаемого узла из области перетаскивания и вставка его в область назначения после завершения операции перетаскивания. Функция принимает три параметра: draggedNode, dragZone, dropZone.</td>
     </tr>
     <tr>
       <td>initCompleted</td>
       <td>функция</td>
       <td>нет</td>
       <td></td>
       <td>вызывается после завершения инициализации структуры. Эта функция может быть использована для выполнения дополнительных действий после инициализации, например, для выполнения проверки или для выполнения дополнительных настроек.</td>
     </tr>
   </tbody>
 </table>      <td>после завершения инициализации организационной структуры, вызывается указанный в данной опции обратный вызов. Функция принимает один параметр: "$chart", то есть объект jQuery инициализированной организационной структуры.</td>
     </tr>
   </tbody>
 </table>
 ```### Методы
 Мы верим, что после изучения [edit orgchart](http://dabeng.github.io/OrgChart/edit-orgchart/) этого демо вы будете знать основные методы плагина orgchart.```#### var oc = $container.orgchart(options)
Встраивает организационную структуру в указанный контейнерный элемент. Подробности параметров options можно найти в разделе "Параметры". Здесь oc является экземпляром класса OrgChart.

#### init(newOptions)
Этот метод используется для обновления организационной структуры на основе новых параметров или источника данных.

#### addAncestors(data, parentId)
Добавляет предков узлов текущей организационной структуры, может быть более одного уровня.
<table>
  <thead>
    <tr>
      <th>Название</th>
      <th>Тип</th>
      <th>Обязательный</th>
      <th>Значение по умолчанию</th>
      <th>Описание</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>data</td>
      <td>json</td>
      <td>да</td>
      <td></td>
      <td>Источник данных для построения предков узлов</td>
    </tr>
    <tr>
      <td>parentId</td>
      <td>string</td>
      <td>да</td>
      <td></td>
      <td>ID узла, к которому добавляются предки</td>
    </tr>
  </tbody>
</table>

#### addDescendants(data, $parent)
Добавляет потомков узлов к указанному родительскому узлу.
<table>
  <thead>
    <tr>
      <th>Название</th>
      <th>Тип</th>
      <th>Обязательный</th>
      <th>Значение по умолчанию</th>
      <th>Описание</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>data</td>
      <td>массив</td>
      <td>да</td>
      <td></td>
      <td>Источник данных для построения потомков узлов</td>
    </tr>
    <tr>
      <td>$parent</td>
      <td>объект jQuery</td>
      <td>да</td>
      <td></td>
      <td>Объект родительского узла, к которому добавляются потомки</td>
    </tr>
  </tbody>
</table>#### addParent(data)
Добавляет родительский узел к текущей организационной структуре.
<table>
  <thead>
    <tr>
      <th>Название</th>
      <th>Тип</th>
      <th>Обязательный</th>
      <th>Значение по умолчанию</th>
      <th>Описание</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>data</td>
      <td>объект JSON</td>
      <td>да</td>
      <td></td>
      <td>Источник данных для построения родительского узла</td>
    </tr>
  </tbody>
</table>

#### addSiblings($node, data)
Добавляет братьев для указанного узла.
<table>
  <thead>
    <tr>
      <th>Название</th>
      <th>Тип</th>
      <th>Обязательный</th>
      <th>Значение по умолчанию</th>
      <th>Описание</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>$node</td>
      <td>jQuery object</td>
      <td>да</td>
      <td></td>
      <td>Добавляет братьев для этого узла</td>
    </tr>
    <tr>
      <td>data</td>
      <td>массив</td>
      <td>да</td>
      <td></td>
      <td>Источник данных для создания братьев узла</td>
    </tr>
  </tbody>
</table>

#### addChildren($node, data)
Добавляет дочерние узлы для указанного узла.
<table>
  <thead>
    <tr>
      <th>Название</th>
      <th>Тип</th>
      <th>Обязательный</th>
      <th>Значение по умолчанию</th>
      <th>Описание</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>$node</td>
      <td>jQuery object</td>
      <td>да</td>
      <td></td>
      <td>Узел, для которого добавляются дочерние узлы.</td>
    </tr>
    <tr>
      <td>data</td>
      <td>массив</td>
      <td>да</td>
      <td></td>
      <td>Источник данных для создания дочерних узлов.</td>
    </tr>
  </tbody>
</table>#### removeNodes($node)
Удаляет указанный узел и его потомков.
<table>
  <thead>
    <tr>
      <th>Название</th>
      <th>Тип</th>
      <th>Обязательный</th>
      <th>Значение по умолчанию</th>
      <th>Описание</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>$node</td>
      <td>jquery object</td>
      <td>Да</td>
      <td></td>
      <td>Узел, который необходимо удалить.</td>
    </tr>
  </tbody>
</table>#### getHierarchy()
Этот метод предназначен для предоставления иерархической структуры организации. Например, после изменения структуры организации можно использовать этот метод для получения обновленной структуры и сохранения её в фоновом режиме.

<table>
  <tr>
    <th>Название</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>includeNodeData</td>
    <td>Boolean</td>
    <td>Нет</td>
    <td>false</td>
    <td>Если значение этого параметра равно true, то в иерархической структуре будут включены данные узлов (nodeData).</td>
  </tr>
</table>

#### hideParent($node)
Скрывает родительский узел для указанного узла. Также скрываются братские узлы и предки.

<table>
  <tr>
    <th>Название</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>$node</td>
    <td>JQuery Object</td>
    <td>Да</td>
    <td>Нет</td>
    <td>Указанный узел в виде объекта jQuery.</td>
  </tr>
</table>

#### showParent($node)
Показывает родительский узел для указанного узла. Однако предки не показываются.

<table>
  <tr>
    <th>Название</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>$node</td>
    <td>JQuery Object</td>
    <td>Да</td>
    <td></td>
    <td>Указанный узел в виде объекта jQuery.</td>
  </tr>
</table>

#### hideChildren($node)
Скрывает дочерние узлы указанного узла, включая всех его потомков.<table>
  <tr>
    <th>Имя</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>$node</td>
    <td>JQuery Object</td>
    <td>Да</td>
    <td></td>
    <td>jQuery объект указанного узла.</td>
  </tr>
</table>#### showChildren($node)
Отображает дочерние узлы указанного узла. По умолчанию отображаются только непосредственные дочерние узлы, не включая всех его потомков.

<table>
  <tr>
    <th>Имя</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>$node</td>
    <td>JQuery Object</td>
    <td>Да</td>
    <td></td>
    <td>jQuery объект указанного узла.</td>
  </tr>
</table>

#### hideSiblings($node, direction)
Скрывает братские узлы указанного узла.

<table>
  <tr>
    <th>Имя</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>$node</td>
    <td>JQuery Object</td>
    <td>Да</td>
    <td></td>
    <td>jQuery объект указанного узла.</td>
  </tr>
  <tr>
    <td>direction</td>
    <td>string</td>
    <td>Нет</td>
    <td></td>
    <td>Доступные значения: "left" и "right". Если указано направление, скрываются только братские узлы в указанном направлении. Если параметр не указан, скрываются все братские узлы.</td>
  </tr>
</table>

#### showSiblings($node, direction)
Отображает братские узлы указанного узла.

<table>
  <tr>
    <th>Имя</th>
    <th>Тип</th>
    <th>Обязательный</th>
    <th>Значение по умолчанию</th>
    <th>Описание</th>
  </tr>
  <tr>
    <td>$node</td>
    <td>JQuery Object</td>
    <td>Да</td>
    <td></td>
    <td>jQuery объект указанного узла.</td>
  </tr>
  <tr>
    <td>direction</td>
    <td>string</td>
    <td>Нет</td>
    <td></td>
    <td>Доступные значения: "left" и "right". Если указано направление, отображаются только братские узлы в указанном направлении. Если параметр не указан, отображаются все братские узлы.</td>
  </tr>
</table>#### getNodeState($node, relation)
Метод для определения состояния отображения связанных узлов указанного узла.

| Название | Тип | Обязательное | Значение по умолчанию | Описание |
| --- | --- | --- | --- | --- |
| $node | JQuery Object | Да | | jQuery-объект, указывающий на определенный узел. |
| relation | String | Да | | Допустимые значения: "parent", "children" и "siblings". Указывает конкретное отношение и возвращает состояние отображения связанного узла. |

Возвращаемый объект метода имеет следующую структуру:
```js
{
  "exist": true|false, // указывает, существует ли родительский, дочерний или братский узел
  "visible": true|false // указывает, видим ли соответствующий узел
}

getRelatedNodes($node, relation)

Получает связанные узлы для указанного узла.

Название Тип Обязательное Значение по умолчанию Описание
$node JQuery Object Да Указанный узел в виде объекта jQuery.
relation String Да Допустимые значения: "parent", "children" и "siblings". Указывает конкретное отношение.

setChartScale($chart, newScale)

Используйте этот метод для установки нового коэффициента масштабирования для указанной организационной диаграммы.| Название | Тип | Обязательный | Значение по умолчанию | Описание | | --- | --- | --- | --- | --- | | $chart | JQuery Object | Да | None | Указанный узел организационной диаграммы. | | newScale | Float | Да | None | Коэффициент масштабирования для масштабирования организационной диаграммы. |#### export(exportFilename, exportFileextension) Экспортирует текущую организационную диаграмму в изображение формата PNG или документ формата PDF.

Название Тип Обязательный Значение по умолчанию Описание
exportFilename String Нет 'OrgChart' Имя файла экспорта.
exportFileextension String Нет 'pdf' Расширение файла экспорта.
Тип Параметры Описание
nodedrop.orgchart draggedNode, dragZone, dropZone Когда вы перетаскиваете узел и отпускаете его в текущей области, срабатывает это событие. См. пример перетаскивания и отпускания.
init.orgchart chart Когда инициализация организационной структуры завершена, срабатывает это событие. В обработчике события вы можете получить доступ к любому узлу, отрендеренному на странице.
show-[relation].orgchart Когда отображаются связанные узлы для указанного узла, срабатывает это событие.
hide-[relation].orgchart Когда скрываются связанные узлы для указанного узла, срабатывает это событие.

Советы

Как отключить функцию разворачивания/сворачивания узлов по умолчанию?

Обсуждение этого вопроса можно найти здесь. Благодарим der-robert и ActiveScottShaw за конструктивный вклад:blush:Мы предоставили CSS-класс "noncollapsable", который позволяет легко отключить эту функцию.

$('.orgchart').addClass('noncollapsable'); // Отключение разворачивания/сворачивания

$('.orgchart').removeClass('noncollapsable'); // Включение разворачивания/сворачивания

Почему исчезает корневой узел?

Например, если вы рендерите очень большую организационную структуру и включите функцию "перемещения", скрытие большого количества потомков узлов может привести к исчезновению некоторых верхних узлов из текущего видимого окна. Дополнительные детали можно найти в обсуждении этого вопроса. Благодарим manuel-84 за постановку вопроса:blush:

Проверка совместимости браузеров

  • Chrome 19+
  • Firefox 4+
  • Safari 6+
  • Opera 15+
  • IE 10+

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/dabeng-OrgChart.git
git@api.gitlife.ru:oschina-mirror/dabeng-OrgChart.git
oschina-mirror
dabeng-OrgChart
dabeng-OrgChart
master