RemarksExtension

RemarksExtension – расширение, которое позволяет задать точки замечаний на документе. Замечания рисуются на отдельном слое. Также, каждая точка замечания имеет статус - опционально отображемую svg иконку.

Расширение имеет имя PilotWeb2D.Remarks.

Пример подключения в html:

<script src="https://pilot.ascon.ru/componentkit/components/24.10.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. Параметр не обязательный.