Подключение библиотеки Комментарии
Описание библиотеки
Библиотека Комментарии предоставляет функциональность работы с комментариями в вашем приложении:
- добавление комментария к объекту,
- просмотр комментария,
- редактирование комментария,
- удаление комментария,
- установка признака решения комментария.
Библиотека поставляется в виде двух компонентов:
qpuidcomments— библиотека для подключения к бэкенд-сервису. Содержит серверную логику, модель данных и миграции базы данных.qpuid-comments— библиотека для подключения к UI-сервису. Содержит пользовательские компоненты и клиентскую логику для работы с комментариями.
Для использования функциональности комментариев необходимо подключить и настроить обе библиотеки в соответствующих сервисах.
Подключение qpuidcomments к бэкенд-сервису
Чтобы подключить библиотеку qpuidcomments, выполните следующие шаги:
- Подключите библиотеку в
service/pom.xml
<dependency>
<groupId>ru.diasoft.micro</groupId>
<artifactId>qpuidcomments</artifactId>
<version>25100721</version>
<classifier>archlib</classifier>
</dependency>- Добавьте в конфигурацию
application-production.ymlпараметр, описывающий путь к сервисуmdpemployee
Например:
qpuidcomments:
mdpemployee:
url: ${MDP_EMPLOYEE_URL:https://mdpemployee.qwork.qrunner.diasoft.ru}- Настройте плагин
libraries-db-extractor-pluginвdatabase/pom.xml, указав библиотекуqpuidcommentsв секцииdbArtifactsConfigдля извлечения ее миграций базы данных.
Например:
<plugin>
<groupId>ru.diasoft.micro.plugin</groupId>
<artifactId>libraries-db-extractor-plugin</artifactId>
<version>25082201</version>
<executions>
<execution>
<id>libraries-db-extractor</id>
<phase>generate-resources</phase>
<goals>
<goal>extract</goal>
</goals>
<configuration>
<sourcePomFile>${project.parent.basedir}/service/pom.xml</sourcePomFile>
<dbArtifactsConfig>
<qpuidcomments/>
</dbArtifactsConfig>
</configuration>
</execution>
</executions>
</plugin>- Добавьте в файл
database/src/main/resources/rootChangeLog.xmlконфигурациюincludeAllдля подключения changelog'ов
<includeAll
path="classpath:qpuidcomments/1.00.01"
relativeToChangelogFile="true"/>Подключение qpuid-comments к UI-сервису
Для подключения qpuid-comments в ваш ui-сервис выполните действия:
- Установите совместимую версию библиотеки:
- для проектов на QPalette 7:
{
"dependencies": {
"@diasoft/qpuid-comments": "0.0.46"
}
}- для проектов на QPalette 8:
{
"dependencies": {
"@diasoft/qpuid-comments": "latest"
}
}После изменения зависимостей выполните:
npm install- Импортируйте standalone-компоненты библиотеки
import {
CommentModeBtnComponent,
CommentOverlayComponent
} from '@diasoft/qpuid-comments';Добавьте их в imports компонента:
@Component({
standalone: true,
imports: [
CommentModeBtnComponent,
CommentOverlayComponent
],
// ...
})
export class ExampleComponent {
}Для NgModule standalone-компоненты также добавляются в
imports.
- Объявите состояние комментариев
import { signal } from '@angular/core';
public readonly isCommentMode = signal(false);
public readonly isShowComments = signal(true);Здесь:
isCommentModeопределяет включение/выключение режима комментированияisShowCommentsопределяет видимость уже существующих комментариев
- Подключите переключатель режима комментариев
<qpuid-comments-comment-mode-btn
[objectId]="objectId" // id объекта, к которому относится комментарий
[(isCommentMode)]="isCommentMode"
[serviceName]="commentsServiceName" // имя бэкенд-сервиса
[urlName]="commentsUrlName"
></qpuid-comments-comment-mode-btn>- Подключите overlay-panel комментариев
@if (isCommentMode() || isShowComments()) {
<qpuid-comments-comment-overlay
[objectId]="objectId"
[isCommentMode]="isCommentMode()"
[(isShowComment)]="isShowComments"
[serviceName]="commentsServiceName"
[urlName]="commentsUrlName"
></qpuid-comments-comment-overlay>
}Контейнер, внутри которого размещён overlay, должен иметь подходящее позиционирование и размеры, поскольку overlay библиотеки использует абсолютное позиционирование.