RemarksExtension
RemarksExtension – расширение, которое позволяет задать точки замечаний на документе. Замечания рисуются на отдельном слое. Также, каждая точка замечания имеет статус - опционально отображемую svg
иконку.
Расширение имеет имя PilotWeb2D.Remarks
.
Пример подключения в html
:
<script src="https://pilot.ascon.ru/componentkit/components/24.17.0/extensions/Remarks2D/Remarks.min.js"></script>
Пример подключения в javascript
:
const htmlDiv = document.getElementById('pilotViewer')
const configuration = new PilotWeb2D.Viewer2DConfiguration();
const viewer = PilotWeb2D.CreateViewer(htmlDiv, configuration);
await viewer.start();
// загружаем расширение и активируем его
const remarksExtension = await viewer.extensionsLoader.loadExtension("PilotWeb2D.Remarks");
remarksExtension.activate();
Свойства
get RemarksManager(): RemarksManager
Возвращает менеджер точек замечаний. Подробнее: RemarksManager.
get remarkManager(): RemarksManager;
Методы
activate()
Метод включает расширение.
activate(): boolean;
deactivate()
Метод выключает расширение.
deactivate(): boolean;
getClickPage()
Метод получает страницу, по которой был произведен клик мыши. Подробнее: IDocumentPage.
protected getClickPage(event: MouseEvent): PilotWeb2D.IDocumentPage | undefined
getClickPoint()
Метод получает координаты точки без учета масштаба страницы. Подробнее: Point2. Чтобы получить точки в масштабе страницы необходимо координаты точки умножить на масштаб страницы.
protected getClickPoint(event: MouseEvent, offsetX = 0, offsetY = 0): PilotWeb2D.Point2
RemarksManager
RemarksManager – менеджер замечаний, который предоставляет методы API для работы с точками замечаний.
class RemarksManager {
setActive(value: boolean): void;
getRemark(remarkId: string): Remark | undefined;
addRemark(remarkParams: RemarkParameters, status?: RemarkStatus): Promise<Remark>;
removeRemarks(ids: string[]): boolean;
select(remarkId: string): void;
deselect(remarkId: string): void;
setStatus(remarkIs: string, status: RemarkStatus): boolean;
setRemarksVisibility(visibility: boolean, remarkIds?: string[]): void;
}
Методы
setActive()
Метод активирует или деактивирует менеджер точек замечаний.
setActive(value: boolean): void;
getRemark()
Метод возвращает объект замечания с указанным идентификатором либо undefined
, если объект не найден. Подробнее Remark
getRemark(remarkId: string): Remark | undefined;
где:
remarkId
– идентификатор замечания.
addRemark()
Метод добавляет точку замечания на слой замечаний.
addRemark(remarkParams: RemarkParameters, status?: RemarkStatus): Promise<Remark>;
где:
remarkParams
– параметры точки замечания. Подробнее: RemarkParameters.
status
– параметры статуса замечания, опциональный параметр. Подробнее: RemarkStatus.
Возвращает добавленный на документ объект замечания. Подробнее: Remark.
removeRemarks()
Метод удаляет точки замечаний.
removeRemarks(ids: string[]): boolean;
где:
ids
– идентификаторы точек замечаний для удаления, опциональный параметр. Если не задан, то удаляются все добавленные на сцену точки замечаний.
select()
Метод управляет селектированием точек замечаний. Выбранное замечание может быть только одно.
При вызове метода select
выбирается замечание, идентификатор которого был передан как аргумент, а предыдущий выбор сбрасывается. Если замечание с нужным идентификатором не найдено, либо remarkId
неопределён, то ничего не происходит.
select(remarkId: string): void;
где:
remarkId
– идентификатор точки замечания для выбора.
deselect()
Метод снимает селект с заданого замечания.
deselect(remarkId: string): void;
где:
remarkId
– идентификатор точки замечания.
clearSelection()
Метод снимает селект с текущего выбранного замечания.
clearSelection(): void;
setStatus()
Метод задает параметры статуса точки замечания.
setStatus(remarkId: string, status: RemarkStatus): boolean
где:
remarkId
– идентификатор точки замечания для обновления статуса.
status
– параметры статуса замечания. Подробнее: RemarkStatus.
setRemarksVisibility()
Метод задает видимость точек замечаний.
setRemarksVisibility(visibility: boolean, remarkIds: string[]): void
где:
visibiliity
– параметр видимости замечаний.
remarkIds
– идентификаторы замечаний.
Remark
Объект представляющий точку замечания, добавляется на слой замечаний.
class Remark {
id: string;
pageNumber: number;
container: RemarkHtmlContainer;
positionX: number;
positionY: number;
type?: string;
}
id : string
Поле содержит идентификатор замечания
pageNumber: number
Поле содержит номер страницы, на которой размещено замечание.
container: RemarkHtmlContainer
Поле содержит объект с описанием HTML-элементов к замечанию. Подробнее: RemarkHtmlContainer.
positionX: number
Поле содержит позицию по оси x на документе.
positionY: number
Поле содержит позицию по оси y на документе.
type: string
Поле содержит дополнительные параметры для идентификации замечания.
RemarkHtmlContainer
Объект представляющий описание HTML-элементов к замечанию.
class RemarkHtmlContainer {
containerHtmlElement: HTMLElement;
remarkHtmlElement: HTMLElement;
statusHtmlElement: HTMLElement;
}
containerHtmlElement: HTMLElement
Поле содержит HTML-контейнер для всего замечания.
remarkHtmlElement: HTMLElement
Поле содержит HTML-контейнер для точки замечания.
statusHtmlElement: HTMLElement
Поле содержит HTML-контейнер для статуса замечания.
RemarkParameters
Параметры точки замечания.
interface RemarkParameters {
id: string;
positionX: number;
positionY: number;
htmlElement?: HTMLElement | string;
pageNumber?: number;
containerClass?: string;
mark?: string;
type?: string;
}
id: string
Идентификатор замечания.
positionX: number
Позиция по оси x на документе.
positionY: number
Позиция по оси y на документе.
htmlElement: HTMLElement | string
Описание замечания в виде HTML-элементов или строковое описание svg
. Параметр не обязательный. Если этот параметр не задан, то замечание будет отрисовываться стилем по умолчанию.
pageNumber: number
Номер страницы, на которой необходимо разместить замечание. Параметр не обязательный. Если этот параметр не задан, то замечание разместится на первой странице.
containerClass: string
Имя css
класса, который будет применен к общему контейнеру замечания. Параметр не обязательный.
mark: string
Метка на замечании. Параметр не обязательный.
type: string
Дополнительные параметры описания замечания. Параметр не обязательный.
RemarkStatus
Параметры статуса точки замечания.
interface RemarkStatus {
visible?: boolean;
statusOffsetX?: number;
statusOffsetY?: number;
htmlElement?: HTMLElement | string;
}
visible: boolean
Определяет видимость статуса замечания, опциональный параметр. Если не задан, то используется значение по умолчанию: false
.
statusOffsetX: number
Смещение статуса по оси x от центра точки замечания. Параметр не обязательный.
statusOffsetY: number
Смещение статуса по оси y от центра точки замечания. Параметр не обязательный.
htmlElement: HTMLElement | string
Описание замечания в виде HTML-элементов или строковое описание svg
. Параметр не обязательный.