UNPKG

devexpress-diagram

Version:

DevExpress Diagram Control

30 lines (27 loc) 1.56 kB
import { ToolboxDraggingObject, Toolbox } from "./Toolbox"; import { IShapeDescriptionManager } from "../../Model/Shapes/Descriptions/ShapeDescriptionManager"; export class TextToolbox extends Toolbox { constructor(parent: HTMLElement, readOnly: boolean, allowDragging: boolean, shapeDescriptionManager: IShapeDescriptionManager, shapeTypes: string[], getAllowedShapeTypes: (shapes: string[]) => string[]) { super(parent, readOnly, allowDragging, shapeDescriptionManager, shapeTypes, getAllowedShapeTypes); } createElements(element: HTMLElement, shapeTypes: string[]) { shapeTypes.forEach(shapeType => { const description = this.shapeDescriptionManager.get(shapeType); const itemEl = document.createElement("div"); itemEl.setAttribute("class", "toolbox-text-item"); itemEl.setAttribute("data-tb-type", shapeType); itemEl.textContent = description.getDefaultText() || description.getTitle(); element.appendChild(itemEl); }); } protected createDraggingElement(draggingObject: ToolboxDraggingObject): HTMLElement { const element = document.createElement("DIV"); element.setAttribute("class", "dxdi-toolbox-drag-text-item"); const shapeDescription = this.shapeDescriptionManager.get(draggingObject.evt.data); element.textContent = shapeDescription.getDefaultText() || shapeDescription.getTitle(); document.body.appendChild(element); return element; } }