Skip to content

Апи для отображения дерева#1

Open
vadimpain wants to merge 7 commits intomainfrom
dev-rx
Open

Апи для отображения дерева#1
vadimpain wants to merge 7 commits intomainfrom
dev-rx

Conversation

@vadimpain
Copy link
Copy Markdown
Collaborator

No description provided.

@ozr-dev ozr-dev assigned ozr-dev and unassigned ozr-dev Feb 13, 2026
@vadimpain vadimpain self-assigned this Feb 13, 2026

while (nodes.Count > 0)
{
var childrensNode = new List<DirRX.Tree.Structures.Module.ITask>();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут наверно лучше childrenNodes назвать? и ниже просто children, т.к это уже множественное число, s лишняя

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

поправил

/// Метод возвращает структуру для формирования дерева отображения задач на исполнение поручения.
/// </summary>
/// <param name="id">Ид задачи на исполнение поручения.</param>
/// <returns>Возвращает структуру для формирования дерева.</returns>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут и в методах ниже: вроде обычно пишется конкретно, что возвращается, типа "Структура для формирования дерева.", потому что в подсказке уже будет слово Returns (Возврат)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

поправил

private DirRX.Tree.Structures.Module.ITask CreateTreeNode(DirRX.TreeViewer.IActionItemExecutionTask task)
{
var node = DirRX.Tree.Structures.Module.Task.Create();
node.name = Sungero.Docflow.PublicFunctions.Module.CutText(task.Subject, 65);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай число сразу в константы уберем и назовем информативно, а то непонятно, что за магическое 65

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вынес в константы

Comment thread README.md Outdated
1. Сокращенная тема задачи. Оформлена в виде ссылки для удобного перехода в карточку задачи.
2. ФИО исполнителя.
3. Срок задачи.
4. Обводка узла:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может вместо "обводка" - "рамка" / "граница" / "контур"? в ворде/экселе слова граница и контур используются

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

поменял на контур

Comment thread README.md Outdated
<img width="1022" height="799" alt="image" src="https://github.com/user-attachments/assets/cfa7f6f1-4e8d-42b5-a11f-b9f55e6fbe5a" />


Перед началом работы с деревом, необходимо настроить представление формы для Задачи на исполнение поручения. Для этого необходимо добавить в карточку новую вкладку и разместить на ней специальный контрол "Дерево". Пример ниже на скриншоте:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Опечатка: запятая лишняя, "Перед началом работы с деревом необходимо настроить представление формы"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

убрал

Comment thread README.md Outdated
3. Установите пакеты проекта, для этого в командную строку среды разработки введите команду "**npm I**". Это также можно сделать и через обычную командную строку системы, перейдя в каталог с проектом.
4. Для отладки стороннего контрола используйте команду "**npm run start:dev:standalone**". После этого перейдите по адресу http://localhost:3001/.
> [!NOTE]
> При отладке, потребуются данные для построения дерева. Вариант временной доработки для получения данных:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лишняя запятая после "При отладке"

Comment thread README.md Outdated
> При отладке, потребуются данные для построения дерева. Вариант временной доработки для получения данных:
> - В методе **ExecuteGetRequestAsync** добавить в headers способ авторизации;
> - В методе **GetAllActionItemExecutionTaskForLeadTaskAsync** указать ид конкретной задачи.
> - В config.yml у Directum RX укажите в разделе сервиса интеграции адрес http://localhost:3001/ в **CORS_ALLOWED_ORIGINS_LIST**, чтобы не возникали проблемы с CORS политиками. Подробности в [справке](https://club.directum.ru/webhelp/directumrx/web/index.html?admin_config_integrationservice_linux.htm).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше "в параметре (или переменной) CORS_ALLOWED_ORIGINS_LIST"

Comment thread README.md
4. Для отладки стороннего контрола используйте команду "**npm run start:dev:standalone**". После этого перейдите по адресу http://localhost:3001/.
> [!NOTE]
> При отладке, потребуются данные для построения дерева. Вариант временной доработки для получения данных:
> - В методе **ExecuteGetRequestAsync** добавить в headers способ авторизации;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. А получится тут пример дописать?
  2. Может в явную указать, что методы искать в js-коде?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Привел пример
  2. Выше идет раздел Компоненты для сборки и разработки стороннего контрола, он уже подразумевает, что речь идет про js/ts код

Comment thread README.md Outdated
@@ -1 +1,117 @@
# rx-template-actionitem-tree-view
# Отображение задач на исполнение поручения в виде дерева
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай назовем "Пример разработки контрола: дерево задач на исполнение поручения"
Потому что к ШР переходят с разводящей страницы, из названия кейса неочевидно, что ШР можно использовать как пример, хотелось бы в заголовке и то, что это пример, отразить, и сам кейс, если нужен именно он

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

переименовал

Comment thread README.md
>
> Внимание! Изменения будут вноситься только в новые версии.

## Описание
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А можем в явном виде как-то сформулировать (может быть в виде примечания), что решение можно использовать в качестве примера для разработки своих контролов?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добавил примечание

Comment thread README.md Outdated
@@ -1 +1,136 @@
# rx-template-actionitem-tree-view
# Пример разработки контрола: дерево задач на исполнение поручения
Репозиторий с шаблоном разработки "Отображение задач на исполнение поручения в виде дерева".
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут осталось старое название репоза

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

поправил

Comment thread README.md Outdated
Репозиторий с шаблоном разработки "Отображение задач на исполнение поручения в виде дерева".
> [!NOTE]
> Замечания и пожелания по развитию шаблона разработки фиксируйте через [Issues](https://github.com/DirectumCompany/rx-template-actionitem-tree-view/issues).
При оформлении ошибки, опишите сценарий для воспроизведения. Для пожеланий приведите обоснование для описываемых изменений - частоту использования, бизнес-ценность, риски и/или эффект от реализации.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"При оформлении ошибки, опишите" - тут лишняя запятая

Comment thread README.md Outdated
В состав решения входит:
1. Перекрытие задачи на исполнение поручения (**ActionItemExecutionTask**).
2. В задачу добавлено новое свойство **SuperiorTaskDirRX**. В нем заполняется ссылка на родительскую задачу на исполнение поручения.
3. Добавлен новый модуль **Tree**. В нем реализован API **GetTreeStructureActionItemExecutionTask**, которое передает данные для постороения дерева в стороннем контроле.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут осталась нестыковка "API реализован", но "api, которое"
по идее дальше идет название функции, может быть переформулировать как-то "В нем реализована функция интеграции, которая возвращает данные для построения дерева в стороннем контроле."?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

поправил + дописал название функции

Comment thread README.md Outdated

В состав решения входит:
1. Перекрытие задачи на исполнение поручения (**ActionItemExecutionTask**).
2. В задачу добавлено новое свойство **SuperiorTaskDirRX**. В нем заполняется ссылка на родительскую задачу на исполнение поручения.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SuperiorTaskDirRX - у нас теперь SuperiorTask

Comment thread README.md
>```
> - В методе **GetAllActionItemExecutionTaskForLeadTaskAsync** указать ид конкретной задачи.
> - В config.yml у Directum RX укажите в разделе сервиса интеграции адрес http://localhost:3001/ в параметре **CORS_ALLOWED_ORIGINS_LIST**, чтобы не возникали проблемы с CORS политиками. Подробности в [справке](https://club.directum.ru/webhelp/directumrx/web/index.html?admin_config_integrationservice_linux.htm).
5. Для сборки стороннего контрола используйте команду "**npm run build:release**". В результате в папке dist будет создан ряд файлов для загрузки в DDS.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"в DDS." - лучше написать "среде разработки Directum RX", если еще где-то есть, то тоже

Comment thread README.md
> async function ExecuteGetRequestAsync(url: string) {
> const response = await fetch(url, {
> headers: {
> 'Authorization': 'Basic ' + btoa('Administrator:11111')
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

примере лучше вместо "11111" написать

Comment thread README.md

Ниже представлен пример отображения задач на исполнение поручения в виде дерева.

<img width="1022" height="799" alt="image" src="https://github.com/user-attachments/assets/cfa7f6f1-4e8d-42b5-a11f-b9f55e6fbe5a" />
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А получится сделать более ветвистое дерево для скрина? Если нет, то давай выровняем, чтобы дерево по центру скрина было

Comment thread README.md
5. Для сборки стороннего контрола используйте команду "**npm run build:release**". В результате в папке dist будет создан ряд файлов для загрузки в DDS.

## Варианты расширения функциональности на проектах
1. Расширение структуры для передачи дополнительных данных в сторонний контрол.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут получится прописать, что за структура имеется в виду? Может быть сразу с примером типа "например, добавить передачу свойств таких-то"

Comment thread README.md

В состав решения входит:
1. Перекрытие задачи на исполнение поручения (**ActionItemExecutionTask**).
2. В задачу добавлено новое свойство **SuperiorTask**. В нем заполняется ссылка на родительскую задачу на исполнение поручения.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут можно подсветить, почему именно новое св-во, а не mainTask

Comment thread README.md
## Варианты расширения функциональности на проектах
1. Расширение структуры для передачи дополнительных данных в сторонний контрол.
2. Доработка узла **NodeContent** для отображения дополнительной информации по задаче или изменения дизайна.
3. Реализация логики с вертикальным отображением. JSX объект **Tree** принимает в качестве параметра ориентацию дерева (**orientation**).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вот тут еще подробнее бы сформулировать

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants