@itwin/core-markup 5.1.1 → 5.1.3-experimental.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -1
- package/lib/cjs/Markup.js.map +1 -1
- package/lib/cjs/MarkupTool.js.map +1 -1
- package/lib/cjs/RedlineTool.js.map +1 -1
- package/lib/cjs/SelectTool.js.map +1 -1
- package/lib/cjs/SvgJsExt.js.map +1 -1
- package/lib/cjs/TextEdit.js.map +1 -1
- package/lib/cjs/Undo.js.map +1 -1
- package/lib/cjs/core-markup.js.map +1 -1
- package/lib/esm/Markup.js.map +1 -1
- package/lib/esm/MarkupTool.js.map +1 -1
- package/lib/esm/RedlineTool.js.map +1 -1
- package/lib/esm/SelectTool.js.map +1 -1
- package/lib/esm/SvgJsExt.js.map +1 -1
- package/lib/esm/TextEdit.js.map +1 -1
- package/lib/esm/Undo.js.map +1 -1
- package/lib/esm/core-markup.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkupTool.js","sourceRoot":"","sources":["../../src/MarkupTool.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"MarkupTool.js","sourceRoot":"","sources":["../../src/MarkupTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedlineTool.js","sourceRoot":"","sources":["../../src/RedlineTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MarkupTools\r\n */\r\n\r\n// cspell:ignore rtmp stmp\r\n\r\nimport { Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport {\r\n BeButtonEvent, CoordinateLockOverrides, CoreTools, EventHandled, IModelApp, QuantityType, ToolAssistance, ToolAssistanceImage,\r\n ToolAssistanceInputMethod, ToolAssistanceInstruction, ToolAssistanceSection,\r\n} from \"@itwin/core-frontend\";\r\nimport { G, Marker, Element as MarkupElement } from \"@svgdotjs/svg.js\";\r\nimport { MarkupApp } from \"./Markup\";\r\nimport { MarkupTool } from \"./MarkupTool\";\r\n\r\n/** Base class for tools that place new Markup elements\r\n * @public\r\n */\r\nexport abstract class RedlineTool extends MarkupTool {\r\n protected _minPoints = 1;\r\n protected _nRequiredPoints = 2;\r\n protected readonly _points: Point3d[] = [];\r\n\r\n protected onAdded(el: MarkupElement) {\r\n const markup = this.markup;\r\n const undo = markup.undo;\r\n undo.performOperation(this.keyin, () => undo.onAdded(el));\r\n markup.selected.restart(el);\r\n }\r\n protected isComplete(_ev: BeButtonEvent) { return this._points.length >= this._nRequiredPoints; }\r\n protected override setupAndPromptForNextAction(): void {\r\n super.setupAndPromptForNextAction();\r\n this.markup.disablePick();\r\n IModelApp.toolAdmin.setCursor(0 === this._points.length ? IModelApp.viewManager.crossHairCursor : IModelApp.viewManager.dynamicsCursor);\r\n }\r\n\r\n protected createMarkup(_svgMarkup: G, _ev: BeButtonEvent, _isDynamics: boolean): void { }\r\n protected clearDynamicsMarkup(_isDynamics: boolean): void { this.markup.svgDynamics!.clear(); }\r\n\r\n public override async onRestartTool() { return this.exitTool(); } // Default to single shot and return control to select tool...\r\n public override async onCleanup() { this.clearDynamicsMarkup(false); }\r\n\r\n public override async onReinitialize() {\r\n this.clearDynamicsMarkup(false);\r\n return super.onReinitialize();\r\n }\r\n\r\n public override async onUndoPreviousStep(): Promise<boolean> {\r\n return (0 === this._points.length) ? false : (this.onReinitialize(), true);\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n if (undefined === ev.viewport || this._points.length < this._minPoints)\r\n return;\r\n this.clearDynamicsMarkup(true);\r\n this.createMarkup(this.markup.svgDynamics!, ev, true);\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (undefined === ev.viewport)\r\n return EventHandled.No;\r\n\r\n this._points.push(MarkupApp.convertVpToVb(ev.viewPoint));\r\n if (!this.isComplete(ev)) {\r\n this.setupAndPromptForNextAction();\r\n return EventHandled.No;\r\n }\r\n\r\n this.createMarkup(this.markup.svgMarkup!, ev, false);\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n\r\n protected provideToolAssistance(mainInstrKey: string, singlePoint: boolean = false): void {\r\n const mainInstruction = ToolAssistance.createInstruction(this.iconSpec, IModelApp.localization.getLocalizedString(mainInstrKey));\r\n const mouseInstructions: ToolAssistanceInstruction[] = [];\r\n const touchInstructions: ToolAssistanceInstruction[] = [];\r\n\r\n const acceptMsg = CoreTools.translate(\"ElementSet.Inputs.AcceptPoint\");\r\n const rejectMsg = CoreTools.translate(\"ElementSet.Inputs.Exit\");\r\n if (!ToolAssistance.createTouchCursorInstructions(touchInstructions))\r\n touchInstructions.push(ToolAssistance.createInstruction(singlePoint ? ToolAssistanceImage.OneTouchTap : ToolAssistanceImage.OneTouchDrag, acceptMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistanceInputMethod.Mouse));\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.TwoTouchTap, rejectMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.RightClick, rejectMsg, false, ToolAssistanceInputMethod.Mouse));\r\n\r\n const sections: ToolAssistanceSection[] = [];\r\n sections.push(ToolAssistance.createSection(mouseInstructions, ToolAssistance.inputsLabel));\r\n sections.push(ToolAssistance.createSection(touchInstructions, ToolAssistance.inputsLabel));\r\n\r\n const instructions = ToolAssistance.createInstructions(mainInstruction, sections);\r\n IModelApp.notifications.setToolAssistance(instructions);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Lines\r\n * @public\r\n */\r\nexport class LineTool extends RedlineTool {\r\n public static override toolId = \"Markup.Line\";\r\n public static override iconSpec = \"icon-line\";\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartPoint\" : \"ElementSet.Prompts.EndPoint\")); }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const element = svgMarkup.line(start.x, start.y, end.x, end.y);\r\n this.setCurrentStyle(element, false);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Rectangles\r\n * @public\r\n */\r\nexport class RectangleTool extends RedlineTool {\r\n public static override toolId = \"Markup.Rectangle\";\r\n public static override iconSpec = \"icon-rectangle\";\r\n\r\n constructor(protected _cornerRadius?: number) { super(); } // Specify radius to create a rectangle with rounded corners.\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartCorner\" : \"ElementSet.Prompts.OppositeCorner\")); }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const vec = start.vectorTo(end);\r\n const width = Math.abs(vec.x);\r\n const height = Math.abs(vec.y);\r\n if (width < 1 || height < 1)\r\n return;\r\n const offset = Point3d.create(vec.x < 0 ? end.x : start.x, vec.y < 0 ? end.y : start.y); // define location by corner points...\r\n const element = svgMarkup.rect(width, height).move(offset.x, offset.y);\r\n this.setCurrentStyle(element, true);\r\n if (undefined !== this._cornerRadius)\r\n element.radius(this._cornerRadius);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Polygons\r\n * @public\r\n */\r\nexport class PolygonTool extends RedlineTool {\r\n public static override toolId = \"Markup.Polygon\";\r\n public static override iconSpec = \"icon-polygon\";\r\n\r\n constructor(protected _numSides?: number) { super(); } // Specify number of polygon sides. Default if undefined is 5.\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(MarkupTool.toolKey + (0 === this._points.length ? \"Polygon.Prompts.FirstPoint\" : \"Polygon.Prompts.NextPoint\")); }\r\n\r\n protected getPoints(points: number[], center: Point3d, edge: Point3d, numSides: number, inscribe: boolean): boolean {\r\n if (numSides < 3 || numSides > 100)\r\n return false;\r\n let radius = center.distanceXY(edge);\r\n if (radius < 1)\r\n return false;\r\n const delta = (Math.PI * 2.0) / numSides;\r\n const vec = center.vectorTo(edge);\r\n let angle = Vector3d.unitX().planarRadiansTo(vec, Vector3d.unitZ());\r\n if (!inscribe) {\r\n const theta = delta * 0.5;\r\n angle -= theta;\r\n radius /= Math.cos(theta);\r\n }\r\n\r\n const rtmp = Point3d.create();\r\n const stmp = Point3d.create();\r\n for (let i = 0; i < numSides; i++, angle += delta) {\r\n rtmp.x = radius * Math.cos(angle);\r\n rtmp.y = radius * Math.sin(angle);\r\n rtmp.z = 0.0;\r\n center.plus(rtmp, stmp);\r\n points.push(stmp.x);\r\n points.push(stmp.y);\r\n }\r\n return true;\r\n }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const center = this._points[0];\r\n const edge = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const pts: number[] = [];\r\n if (!this.getPoints(pts, center, edge, undefined !== this._numSides ? this._numSides : 5, true))\r\n return;\r\n const element = svgMarkup.polygon(pts);\r\n this.setCurrentStyle(element, true);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Clouds\r\n * @public\r\n */\r\nexport class CloudTool extends RedlineTool {\r\n public static override toolId = \"Markup.Cloud\";\r\n public static override iconSpec = \"icon-cloud\";\r\n protected _cloud?: MarkupElement;\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartCorner\" : \"ElementSet.Prompts.OppositeCorner\")); }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const vec = start.vectorTo(end);\r\n const width = Math.abs(vec.x);\r\n const height = Math.abs(vec.y);\r\n if (width < 10 || height < 10)\r\n return;\r\n if (undefined === this._cloud) {\r\n this._cloud = svgMarkup.path(MarkupApp.props.active.cloud.path);\r\n } else if (!isDynamics) {\r\n svgMarkup.add(this._cloud);\r\n }\r\n const offset = Point3d.create(vec.x < 0 ? end.x : start.x, vec.y < 0 ? end.y : start.y); // define location by corner points...\r\n this._cloud.move(offset.x, offset.y);\r\n this._cloud.width(width);\r\n this._cloud.height(height);\r\n this.setCurrentStyle(this._cloud, true);\r\n if (!isDynamics)\r\n this.onAdded(this._cloud);\r\n }\r\n\r\n protected override clearDynamicsMarkup(isDynamics: boolean): void {\r\n if (!isDynamics)\r\n super.clearDynamicsMarkup(isDynamics); // For dynamics we don't create a new cloud each frame, we just set the width/height...\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Circles\r\n * @public\r\n */\r\nexport class CircleTool extends RedlineTool {\r\n public static override toolId = \"Markup.Circle\";\r\n public static override iconSpec = \"icon-circle\";\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(MarkupTool.toolKey + (0 === this._points.length ? \"Circle.Prompts.FirstPoint\" : \"Circle.Prompts.NextPoint\")); }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const radius = start.distanceXY(end);\r\n if (radius < 1)\r\n return;\r\n const element = svgMarkup.circle(radius * 2.0).center(start.x, start.y);\r\n this.setCurrentStyle(element, true);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Ellipses\r\n * @public\r\n */\r\nexport class EllipseTool extends RedlineTool {\r\n public static override toolId = \"Markup.Ellipse\";\r\n public static override iconSpec = \"icon-ellipse\";\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartCorner\" : \"ElementSet.Prompts.OppositeCorner\")); }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const vec = start.vectorTo(end);\r\n const width = Math.abs(vec.x);\r\n const height = Math.abs(vec.y);\r\n if (width < 1 || height < 1)\r\n return;\r\n const offset = Point3d.create(vec.x < 0 ? end.x : start.x, vec.y < 0 ? end.y : start.y); // define location by corner points...\r\n const element = svgMarkup.ellipse(width, height).move(offset.x, offset.y);\r\n this.setCurrentStyle(element, true);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup Arrows\r\n * @public\r\n */\r\nexport class ArrowTool extends RedlineTool {\r\n public static override toolId = \"Markup.Arrow\";\r\n public static override iconSpec = \"icon-callout\";\r\n\r\n /** ctor for ArrowTool\r\n * @param _arrowPos \"start\", \"end\", or \"both\". If undefined = \"end\".\r\n */\r\n constructor(protected _arrowPos?: string) { super(); }\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartPoint\" : \"ElementSet.Prompts.EndPoint\")); }\r\n\r\n protected getOrCreateArrowMarker(color: string): Marker {\r\n const arrowProps = MarkupApp.props.active.arrow;\r\n return this.markup.createArrowMarker(color, arrowProps.length, arrowProps.width);\r\n }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const vec = start.vectorTo(end);\r\n if (!vec.normalizeInPlace())\r\n return;\r\n const element = svgMarkup.line(start.x, start.y, end.x, end.y);\r\n this.setCurrentStyle(element, false);\r\n const marker = this.getOrCreateArrowMarker(element.css(\"stroke\"));\r\n const addToStart = (\"start\" === this._arrowPos || \"both\" === this._arrowPos);\r\n const addToEnd = (\"end\" === this._arrowPos || \"both\" === this._arrowPos);\r\n if (addToStart)\r\n element.marker(\"start\", marker);\r\n if (addToEnd || !addToStart)\r\n element.marker(\"end\", marker);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n}\r\n\r\n/** Tool for measuring distances and placing Markups of them\r\n * @public\r\n */\r\nexport class DistanceTool extends ArrowTool {\r\n public static override toolId = \"Markup.Distance\";\r\n public static override iconSpec = \"icon-distance\";\r\n protected readonly _startPointWorld = new Point3d();\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartPoint\" : \"ElementSet.Prompts.EndPoint\")); }\r\n protected override setupAndPromptForNextAction(): void {\r\n IModelApp.accuSnap.enableSnap(true);\r\n IModelApp.toolAdmin.toolState.coordLockOvr = CoordinateLockOverrides.None;\r\n super.setupAndPromptForNextAction();\r\n }\r\n\r\n protected getFormattedDistance(distance: number): string | undefined {\r\n const formatterSpec = IModelApp.quantityFormatter.findFormatterSpecByQuantityType(QuantityType.Length);\r\n if (undefined === formatterSpec)\r\n return undefined;\r\n return IModelApp.quantityFormatter.formatQuantity(distance, formatterSpec);\r\n }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[1];\r\n const vec = start.vectorTo(end);\r\n if (!vec.normalizeInPlace())\r\n return;\r\n const formatterSpec = IModelApp.quantityFormatter.findFormatterSpecByQuantityType(QuantityType.Length);\r\n if (undefined === formatterSpec)\r\n return;\r\n\r\n const distanceLine = svgMarkup.line(start.x, start.y, end.x, end.y);\r\n this.setCurrentStyle(distanceLine, false);\r\n const marker = this.getOrCreateArrowMarker(distanceLine.css(\"stroke\"));\r\n distanceLine.marker(\"start\", marker);\r\n distanceLine.marker(\"end\", marker);\r\n\r\n const loc = start.interpolate(0.5, end);\r\n const distance = IModelApp.quantityFormatter.formatQuantity(this._startPointWorld.distance(ev.point), formatterSpec);\r\n const text = svgMarkup.plain(distance).addClass(MarkupApp.textClass).attr(\"text-anchor\", \"middle\").translate(loc.x, loc.y);\r\n this.setCurrentTextStyle(text);\r\n const textWithBg = this.createBoxedText(svgMarkup, text);\r\n\r\n if (!isDynamics) {\r\n const markup = this.markup;\r\n const undo = markup.undo;\r\n undo.performOperation(this.keyin, () => {\r\n undo.onAdded(distanceLine);\r\n undo.onAdded(textWithBg);\r\n });\r\n\r\n markup.selected.restart(textWithBg); // Select text+box so that user can freely position relative to distance line...\r\n }\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (undefined === await IModelApp.quantityFormatter.getFormatterSpecByQuantityType(QuantityType.Length)) {\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n if (0 === this._points.length)\r\n this._startPointWorld.setFrom(ev.point);\r\n return super.onDataButtonDown(ev);\r\n }\r\n}\r\n\r\n/** Tool for placing Markup freehand sketches\r\n * @public\r\n */\r\nexport class SketchTool extends RedlineTool {\r\n public static override toolId = \"Markup.Sketch\";\r\n public static override iconSpec = \"icon-draw\";\r\n protected _minDistSquared = 100;\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(CoreTools.tools + (0 === this._points.length ? \"ElementSet.Prompts.StartPoint\" : \"ElementSet.Prompts.EndPoint\")); }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (this._points.length < (isDynamics ? this._nRequiredPoints - 1 : this._nRequiredPoints))\r\n return;\r\n const pts: number[] = [];\r\n const evPt = MarkupApp.convertVpToVb(ev.viewPoint);\r\n this._points.forEach((pt) => {\r\n pts.push(pt.x);\r\n pts.push(pt.y);\r\n });\r\n\r\n if (isDynamics && !evPt.isAlmostEqualXY(this._points[this._points.length - 1])) {\r\n pts.push(evPt.x);\r\n pts.push(evPt.y);\r\n }\r\n\r\n const isClosed = (this._points.length > 2 && (this._points[0].distanceSquaredXY(isDynamics ? evPt : this._points[this._points.length - 1]) < this._minDistSquared * 2));\r\n const element = isClosed ? svgMarkup.polygon(pts) : svgMarkup.polyline(pts);\r\n this.setCurrentStyle(element, isClosed);\r\n if (!isDynamics)\r\n this.onAdded(element);\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n const evPt = MarkupApp.convertVpToVb(ev.viewPoint);\r\n if (undefined !== ev.viewport && this._points.length > 0 && evPt.distanceSquaredXY(this._points[this._points.length - 1]) > this._minDistSquared)\r\n this._points.push(evPt);\r\n\r\n return super.onMouseMotion(ev);\r\n }\r\n}\r\n\r\n/** Tool for placing SVG symbols on a Markup\r\n * @public\r\n */\r\nexport class SymbolTool extends RedlineTool {\r\n public static override toolId = \"Markup.Symbol\";\r\n public static override iconSpec = \"icon-symbol\";\r\n protected _symbol?: MarkupElement;\r\n\r\n constructor(protected _symbolData?: string, protected _applyCurrentStyle?: boolean) { super(); }\r\n\r\n public override async onInstall(): Promise<boolean> {\r\n if (undefined === this._symbolData)\r\n return false;\r\n return super.onInstall();\r\n }\r\n\r\n protected override showPrompt(): void {\r\n this.provideToolAssistance(0 === this._points.length ? (`${MarkupTool.toolKey}Symbol.Prompts.FirstPoint`) : `${CoreTools.tools}ElementSet.Prompts.OppositeCorner`, true);\r\n }\r\n\r\n protected override createMarkup(svgMarkup: G, ev: BeButtonEvent, isDynamics: boolean): void {\r\n if (undefined === this._symbolData)\r\n return;\r\n if (this._points.length < this._minPoints)\r\n return;\r\n const start = this._points[0];\r\n const end = isDynamics ? MarkupApp.convertVpToVb(ev.viewPoint) : this._points[this._points.length - 1];\r\n const vec = start.vectorTo(end);\r\n const width = Math.abs(vec.x);\r\n const height = Math.abs(vec.y);\r\n if ((width < 10 || height < 10) && (isDynamics || this._points.length !== this._minPoints))\r\n return;\r\n if (undefined === this._symbol) {\r\n const symbol = svgMarkup.group().svg(this._symbolData); // creating group instead of using symbol because of inability to flash/hilite multi-color symbol instance...\r\n if (0 === symbol.children().length) {\r\n symbol.remove();\r\n this._symbolData = undefined;\r\n }\r\n try {\r\n symbol.flatten(symbol);\r\n } catch { }\r\n\r\n this._symbol = symbol;\r\n } else if (!isDynamics) {\r\n svgMarkup.add(this._symbol);\r\n }\r\n const offset = Point3d.create(vec.x < 0 ? end.x : start.x, vec.y < 0 ? end.y : start.y); // define location by corner points...\r\n if (!isDynamics && this._points.length === this._minPoints)\r\n this._symbol.size(ev.viewport!.viewRect.width * 0.1).center(offset.x, offset.y);\r\n else if (!ev.isShiftKey)\r\n this._symbol.size(width).move(offset.x, offset.y);\r\n else\r\n this._symbol.size(width, height).move(offset.x, offset.y);\r\n if (this._applyCurrentStyle) {\r\n const active = MarkupApp.props.active; // Apply color and transparency only; using active stroke-width, etc. for pre-defined symbols is likely undesirable...\r\n this._symbol.forElementsOfGroup((child) => {\r\n const css = window.getComputedStyle(child.node);\r\n const toValue = (val: string | null, newVal: string) => (!val || val === \"none\") ? \"none\" : newVal;\r\n child.css({ \"fill\": toValue(css.fill, active.element.fill), \"stroke\": toValue(css.stroke, active.element.stroke), \"fill-opacity\": active.element[\"fill-opacity\"], \"stroke-opacity\": active.element[\"stroke-opacity\"] });\r\n });\r\n }\r\n if (!isDynamics)\r\n this.onAdded(this._symbol);\r\n }\r\n\r\n public override async onDataButtonUp(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (undefined === ev.viewport || this._points.length !== this._minPoints)\r\n return EventHandled.No;\r\n\r\n this.createMarkup(this.markup.svgMarkup!, ev, false);\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n\r\n protected override clearDynamicsMarkup(isDynamics: boolean): void {\r\n if (!isDynamics)\r\n super.clearDynamicsMarkup(isDynamics); // For dynamics we don't create a new symbol each frame, we just set the width/height...\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RedlineTool.js","sourceRoot":"","sources":["../../src/RedlineTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTool.js","sourceRoot":"","sources":["../../src/SelectTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MarkupTools\r\n */\r\n\r\nimport { assert, BeEvent } from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d, Transform, Vector2d, XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n BeButton, BeButtonEvent, BeModifierKeys, BeTouchEvent, CoreTools, EventHandled, IModelApp, InputSource, ToolAssistance, ToolAssistanceImage,\r\n ToolAssistanceInputMethod, ToolAssistanceInstruction, ToolAssistanceSection,\r\n} from \"@itwin/core-frontend\";\r\nimport { ArrayXY, Box, Container, G, Line, Element as MarkupElement, Text as MarkupText, Matrix, Point, Polygon } from \"@svgdotjs/svg.js\";\r\nimport { MarkupApp } from \"./Markup\";\r\nimport { MarkupTool } from \"./MarkupTool\";\r\nimport { EditTextTool } from \"./TextEdit\";\r\nimport { UndoManager } from \"./Undo\";\r\n\r\n// cspell:ignore lmultiply untransform unFlash multiselect\r\n\r\n/** Classes added to HTMLElements so they can be customized in CSS by applications.\r\n * A \"modify handle\" is a visible position on the screen that provides UI to modify a MarkupElement.\r\n * @public\r\n */\r\nexport abstract class ModifyHandle {\r\n public vbToStartTrn!: Transform;\r\n\r\n constructor(public handles: Handles) { }\r\n /** perform the modification given a current mouse position. */\r\n public abstract modify(ev: BeButtonEvent): void;\r\n public async onClick(_ev: BeButtonEvent): Promise<void> { }\r\n\r\n /** set the position for this handle on the screen given the current state of the element */\r\n public abstract setPosition(): void;\r\n /** the mouse just went down on this handle, begin modification. */\r\n public startDrag(_ev: BeButtonEvent, makeCopy = false): void {\r\n this.vbToStartTrn = this.handles.vbToBoxTrn.clone(); // save the starting vp -> element box transform\r\n this.startModify(makeCopy);\r\n }\r\n public startModify(makeCopy: boolean) {\r\n const handles = this.handles;\r\n const el = handles.el;\r\n const cloned = handles.el = el.cloneMarkup(); // make a clone of this element\r\n if (makeCopy) {\r\n el.after(cloned);\r\n } else {\r\n cloned.originalEl = el; // save original for undo\r\n el.replace(cloned); // put it into the DOM in place of the original\r\n }\r\n }\r\n public setMouseHandler(target: MarkupElement) {\r\n const node = target.node;\r\n node.addEventListener(\"mousedown\", (event) => {\r\n const ev = event as MouseEvent;\r\n if (0 === ev.button && undefined === this.handles.active)\r\n this.handles.active = this;\r\n });\r\n node.addEventListener(\"touchstart\", () => {\r\n if (undefined === this.handles.active)\r\n this.handles.active = this;\r\n });\r\n }\r\n public addTouchPadding(visible: MarkupElement, handles: Handles): MarkupElement {\r\n if (InputSource.Touch !== IModelApp.toolAdmin.currentInputState.inputSource)\r\n return visible;\r\n const padding = visible.cloneMarkup().scale(3).attr(\"opacity\", 0);\r\n const g = handles.group.group();\r\n padding.addTo(g);\r\n visible.addTo(g);\r\n return g;\r\n }\r\n}\r\n\r\n/** A ModifyHandle that changes the size of the element\r\n * @public\r\n */\r\nclass StretchHandle extends ModifyHandle {\r\n private readonly _circle: MarkupElement;\r\n public posNpc: Point2d;\r\n public startPos!: Point2d;\r\n public opposite!: Point2d;\r\n public startBox!: Box;\r\n public startCtm!: Matrix;\r\n constructor(handles: Handles, xy: ArrayXY, cursor: string) {\r\n super(handles);\r\n this.posNpc = new Point2d(xy[0], xy[1]);\r\n const props = MarkupApp.props.handles;\r\n this._circle = handles.group.circle(props.size).addClass(MarkupApp.stretchHandleClass).attr(props.stretch).attr(\"cursor\", `${cursor}-resize`); // the visible \"circle\" for this handle\r\n this._circle = this.addTouchPadding(this._circle, handles);\r\n this.setMouseHandler(this._circle);\r\n }\r\n public setPosition() {\r\n const pt = this.handles.npcToVb(this.posNpc); // convert to viewbox coords\r\n this._circle.center(pt.x, pt.y);\r\n }\r\n\r\n public override startDrag(_ev: BeButtonEvent) {\r\n const handles = this.handles;\r\n this.startCtm = handles.el.screenCTM().lmultiplyO(MarkupApp.screenToVbMtx());\r\n this.startBox = handles.el.bbox(); // save starting size so we can preserve aspect ratio\r\n this.startPos = handles.npcToBox(this.posNpc);\r\n this.opposite = handles.npcToBox({ x: 1 - this.posNpc.x, y: 1 - this.posNpc.y });\r\n super.startDrag(_ev);\r\n }\r\n\r\n /** perform the stretch. Always stretch element with anchor at the opposite corner of the one being moved. */\r\n public modify(ev: BeButtonEvent): void {\r\n const evPt = MarkupApp.convertVpToVb(ev.viewPoint); // get cursor location in viewbox coords\r\n const diff = this.startPos.vectorTo(this.vbToStartTrn.multiplyPoint2d(evPt)); // movement of cursor from start, in viewbox coords\r\n const diag = this.startPos.vectorTo(this.opposite).normalize()!; // vector from opposite corner to this handle\r\n let diagVec = diag.scaleToLength(diff.dotProduct(diag)); // projected distance along diagonal\r\n if (diagVec === undefined)\r\n diagVec = Vector2d.createZero();\r\n // if the shift key is down, don't preserve aspect ratio\r\n const adjusted = ev.isShiftKey ? { x: diff.x, y: diff.y } : { x: diagVec.x, y: diagVec.y };\r\n let { x, y, h, w } = this.startBox;\r\n if (this.posNpc.x === 0) {\r\n x += adjusted.x; // left edge\r\n w -= adjusted.x;\r\n } else if (this.posNpc.x === 1) {\r\n w += adjusted.x; // right edge\r\n }\r\n if (this.posNpc.y === 0) {\r\n y += adjusted.y; // top edge\r\n h -= adjusted.y;\r\n } else if (this.posNpc.y === 1) {\r\n h += adjusted.y; // bottom edge\r\n }\r\n const mtx = this.startCtm.inverse().scaleO(this.startBox.w / w, this.startBox.h / h, this.opposite.x, this.opposite.y).inverseO();\r\n const minSize = 10;\r\n if (w > minSize && h > minSize) // don't let element get too small\r\n this.handles.el.markupStretch(w, h, x, y, mtx);\r\n }\r\n}\r\n\r\n/** A ModifyHandle to rotate an element\r\n * @public\r\n */\r\nclass RotateHandle extends ModifyHandle {\r\n private readonly _line: Line;\r\n private readonly _circle: MarkupElement;\r\n public location!: Point2d;\r\n\r\n constructor(public override handles: Handles) {\r\n super(handles);\r\n const props = MarkupApp.props.handles;\r\n\r\n this._line = handles.group.line(0, 0, 1, 1).attr(props.rotateLine).addClass(MarkupApp.rotateLineClass);\r\n this._circle = handles.group.circle(props.size * 1.25).attr(props.rotate).addClass(MarkupApp.rotateHandleClass);\r\n this._circle = this.addTouchPadding(this._circle, handles);\r\n this.setMouseHandler(this._circle);\r\n }\r\n public get centerVb() { return this.handles.npcToVb({ x: .5, y: .5 }); }\r\n public get anchorVb() { return this.handles.npcToVb({ x: .5, y: 0 }); }\r\n public setPosition(): void {\r\n const anchor = this.anchorVb;\r\n const dir = this.centerVb.vectorTo(anchor).normalize()!;\r\n const loc = this.location = anchor.plusScaled(dir, MarkupApp.props.handles.size * 3);\r\n this._line.plot(anchor.x, anchor.y, loc.x, loc.y);\r\n this._circle.center(loc.x, loc.y);\r\n }\r\n public modify(ev: BeButtonEvent): void {\r\n const centerVp = this.centerVb;\r\n const currDir = centerVp.vectorTo(MarkupApp.convertVpToVb(ev.viewPoint));\r\n const dir = centerVp.vectorTo(this.location);\r\n this.handles.el.rotate(dir.angleTo(currDir).degrees);\r\n }\r\n}\r\n\r\n/** A VertexHandle to move a point on a line\r\n * @public\r\n */\r\nclass VertexHandle extends ModifyHandle {\r\n private readonly _circle: MarkupElement;\r\n private readonly _x: string;\r\n private readonly _y: string;\r\n\r\n constructor(public override handles: Handles, index: number) {\r\n super(handles);\r\n const props = MarkupApp.props.handles;\r\n this._circle = handles.group.circle(props.size).attr(props.vertex).addClass(MarkupApp.vertexHandleClass);\r\n this._x = `x${index + 1}`;\r\n this._y = `y${index + 1}`;\r\n this._circle = this.addTouchPadding(this._circle, handles);\r\n this.setMouseHandler(this._circle);\r\n }\r\n public setPosition(): void {\r\n let point = new Point(this.handles.el.attr(this._x), this.handles.el.attr(this._y));\r\n const matrix = this.handles.el.screenCTM().lmultiplyO(MarkupApp.screenToVbMtx());\r\n point = point.transform(matrix);\r\n this._circle.center(point.x, point.y);\r\n }\r\n public modify(ev: BeButtonEvent): void {\r\n let point = new Point(ev.viewPoint.x, ev.viewPoint.y);\r\n const matrix = this.handles.el.screenCTM().inverseO().multiplyO(MarkupApp.getVpToScreenMtx());\r\n point = point.transform(matrix);\r\n const el = this.handles.el;\r\n el.attr(this._x, point.x);\r\n el.attr(this._y, point.y);\r\n }\r\n}\r\n\r\n/** A handle that moves (translates) an element.\r\n * @public\r\n */\r\nclass MoveHandle extends ModifyHandle {\r\n private readonly _shape: MarkupElement;\r\n private readonly _outline?: Polygon;\r\n private _lastPos?: Point3d;\r\n constructor(public override handles: Handles, showBBox: boolean) {\r\n super(handles);\r\n const props = MarkupApp.props.handles;\r\n const clone = this.handles.el.cloneMarkup();\r\n clone.css(props.move);\r\n clone.forElementsOfGroup((child) => child.css(props.move));\r\n\r\n if (showBBox) {\r\n this._outline = handles.group.polygon().attr(props.moveOutline);\r\n const rect = this.handles.el.getOutline().attr(props.move).attr({ fill: \"none\" });\r\n\r\n const group = handles.group.group();\r\n group.add(this._outline);\r\n group.add(rect);\r\n group.add(clone);\r\n this._shape = group;\r\n } else {\r\n clone.addTo(handles.group);\r\n this._shape = clone;\r\n }\r\n\r\n this._shape.addClass(MarkupApp.moveHandleClass);\r\n this.setMouseHandler(this._shape);\r\n }\r\n public override async onClick(_ev: BeButtonEvent): Promise<void> {\r\n const el = this.handles.el;\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n if (el instanceof MarkupText || (el instanceof G && el.node.className.baseVal === MarkupApp.boxedTextClass)) // if they click on the move handle of a text element, start the text editor\r\n await new EditTextTool(el).run();\r\n }\r\n /** draw the outline of the element's bbox (in viewbox coordinates) */\r\n public setPosition() {\r\n if (undefined !== this._outline) {\r\n const pts = [new Point2d(0, 0), new Point2d(0, 1), new Point2d(1, 1), new Point2d(1, 0)];\r\n this._outline.plot(this.handles.npcToVbArray(pts).map((pt) => [pt.x, pt.y] as ArrayXY));\r\n }\r\n }\r\n public override startDrag(ev: BeButtonEvent) {\r\n super.startDrag(ev, ev.isShiftKey);\r\n this._lastPos = MarkupApp.convertVpToVb(ev.viewPoint); // save stating position in viewbox coordinates\r\n }\r\n public modify(ev: BeButtonEvent): void {\r\n const evPt = MarkupApp.convertVpToVb(ev.viewPoint);\r\n assert(this._lastPos !== undefined);\r\n const dist = evPt.minus(this._lastPos);\r\n this._lastPos = evPt;\r\n this.handles.el.translate(dist.x, dist.y); // move the element\r\n }\r\n}\r\n\r\n/** The set of ModifyHandles active. Only applies if there is a single element selected.\r\n * @public\r\n */\r\nexport class Handles {\r\n public readonly handles: ModifyHandle[] = [];\r\n public active?: ModifyHandle;\r\n public dragging = false;\r\n public group: G;\r\n public npcToVbTrn!: Transform;\r\n public vbToBoxTrn!: Transform;\r\n\r\n constructor(public ss: MarkupSelected, public el: MarkupElement) {\r\n this.group = ss.svg.group();\r\n\r\n if (el instanceof Line) {\r\n this.handles.push(new MoveHandle(this, false));\r\n this.handles.push(new VertexHandle(this, 0));\r\n this.handles.push(new VertexHandle(this, 1));\r\n this.draw(); // show starting state\r\n return;\r\n }\r\n\r\n // move box is in the back\r\n this.handles.push(new MoveHandle(this, true));\r\n // then rotate handle\r\n this.handles.push(new RotateHandle(this));\r\n\r\n // then add all the stretch handles\r\n const pts = [[0, 0], [0, .5], [0, 1], [.5, 1], [1, 1], [1, .5], [1, 0], [.5, 0]];\r\n const cursors = [\"nw\", \"w\", \"sw\", \"s\", \"se\", \"e\", \"ne\", \"n\"];\r\n const order = [7, 3, 1, 5, 2, 6, 0, 4];\r\n const angle = el.screenCTM().decompose().rotate || 0;\r\n const start = Math.round(-angle / 45); // so that we rotate the cursors for rotated elements\r\n order.forEach((index) => this.handles.push(new StretchHandle(this, pts[index] as ArrayXY, cursors[(index + start + 8) % 8])));\r\n this.draw(); // show starting state\r\n }\r\n\r\n public npcToBox(p: XAndY) {\r\n const pt = this.npcToVb(p);\r\n return this.vbToBox(pt, pt);\r\n }\r\n\r\n public npcToVb(p: XAndY, result?: Point2d): Point2d { return this.npcToVbTrn.multiplyPoint2d(p, result); }\r\n public vbToBox(p: XAndY, result?: Point2d): Point2d { return this.vbToBoxTrn.multiplyPoint2d(p, result); }\r\n public npcToVbArray(pts: Point2d[]): Point2d[] {\r\n pts.forEach((pt) => this.npcToVb(pt, pt));\r\n return pts;\r\n }\r\n\r\n public draw() {\r\n const el = this.el;\r\n const bb = el.bbox();\r\n const ctm = el.screenCTM().lmultiplyO(MarkupApp.screenToVbMtx());\r\n this.vbToBoxTrn = ctm.inverse().toIModelTransform();\r\n this.npcToVbTrn = new Matrix().scaleO(bb.w, bb.h).translateO(bb.x, bb.y).lmultiplyO(ctm).toIModelTransform();\r\n this.handles.forEach((h) => h.setPosition());\r\n }\r\n\r\n public remove() {\r\n if (this.dragging)\r\n this.cancelDrag();\r\n this.group.remove();\r\n }\r\n\r\n public startDrag(ev: BeButtonEvent): EventHandled {\r\n if (this.active) {\r\n this.active.startDrag(ev);\r\n this.dragging = true;\r\n MarkupApp.markup!.disablePick();\r\n IModelApp.toolAdmin.setCursor(IModelApp.viewManager.dynamicsCursor);\r\n }\r\n return EventHandled.Yes;\r\n }\r\n public drag(ev: BeButtonEvent) {\r\n if (this.dragging) {\r\n this.active!.modify(ev);\r\n this.draw();\r\n }\r\n }\r\n /** complete the modification for the active handle. */\r\n public endDrag(undo: UndoManager): EventHandled {\r\n undo.performOperation(MarkupApp.getActionName(\"modify\"), () => {\r\n const el = this.el;\r\n const original = el.originalEl!; // save original element\r\n if (original === undefined) {\r\n this.ss.emptyAll();\r\n this.ss.add(el);\r\n undo.onAdded(el);\r\n } else {\r\n el.originalEl = undefined; // clear original element\r\n undo.onModified(el, original);\r\n }\r\n });\r\n this.draw();\r\n this.dragging = false;\r\n this.active = undefined;\r\n MarkupApp.markup!.enablePick();\r\n return EventHandled.Yes;\r\n }\r\n\r\n /** called when the reset button is pressed. */\r\n public cancelDrag() {\r\n if (!this.dragging)\r\n return;\r\n const el = this.el;\r\n const original = el.originalEl!;\r\n if (original) {\r\n el.replace(original);\r\n this.el = original;\r\n }\r\n this.draw();\r\n this.active = undefined;\r\n MarkupApp.markup!.enablePick();\r\n }\r\n}\r\n\r\n/** The set of currently selected SVG elements. When elements are added to the set, they are hilited.\r\n * @public\r\n */\r\nexport class MarkupSelected {\r\n public readonly elements = new Set<MarkupElement>();\r\n public handles?: Handles;\r\n\r\n /** Called whenever elements are added or removed from this SelectionSet */\r\n public readonly onChanged = new BeEvent<(selected: MarkupSelected) => void>();\r\n\r\n public get size() { return this.elements.size; }\r\n public get isEmpty() { return this.size === 0; }\r\n public has(el: MarkupElement) { return this.elements.has(el); }\r\n public emptyAll(): void {\r\n this.clearEditors();\r\n if (this.isEmpty)\r\n return; // Don't send onChanged if already empty.\r\n this.elements.forEach((el) => el.unHilite());\r\n this.elements.clear();\r\n this.onChanged.raiseEvent(this);\r\n }\r\n public restart(el?: MarkupElement) {\r\n this.emptyAll();\r\n if (el)\r\n this.add(el);\r\n }\r\n public constructor(public svg: G) { }\r\n public clearEditors() {\r\n if (this.handles) {\r\n this.handles.remove();\r\n this.handles = undefined;\r\n }\r\n }\r\n public sizeChanged() {\r\n this.clearEditors();\r\n if (this.elements.size === 1)\r\n this.handles = new Handles(this, this.elements.values().next().value!);\r\n this.onChanged.raiseEvent(this);\r\n }\r\n /** Add a new element to the SS */\r\n public add(el: MarkupElement) {\r\n this.elements.add(el);\r\n el.hilite();\r\n this.sizeChanged();\r\n }\r\n /** Remove an element from the selection set and unhilite it.\r\n * @returns true if the element was in the SS and was removed.\r\n */\r\n public drop(el: MarkupElement): boolean {\r\n el.unHilite();\r\n return this.elements.delete(el) ? (this.sizeChanged(), true) : false;\r\n }\r\n\r\n /** Replace an entry in the selection set with a different element. */\r\n public replace(oldEl: MarkupElement, newEl: MarkupElement) {\r\n if (this.drop(oldEl))\r\n this.add(newEl);\r\n }\r\n\r\n public deleteAll(undo: UndoManager) {\r\n undo.performOperation(MarkupApp.getActionName(\"delete\"), () => this.elements.forEach((el) => {\r\n undo.onDelete(el);\r\n el.remove();\r\n }));\r\n\r\n this.emptyAll();\r\n }\r\n\r\n public groupAll(undo: UndoManager) {\r\n if (this.size < 2)\r\n return;\r\n const first = this.elements.values().next().value!;\r\n const parent = first.parent() as Container;\r\n const group = parent.group();\r\n\r\n const ordered: MarkupElement[] = [];\r\n this.elements.forEach((el) => ordered.push(el));\r\n ordered.sort((lhs, rhs) => parent.index(lhs) - parent.index(rhs)); // Preserve relative z ordering\r\n\r\n undo.performOperation(MarkupApp.getActionName(\"group\"), () => {\r\n ordered.forEach((el) => {\r\n const oldParent = el.parent() as MarkupElement;\r\n const oldPos = el.position();\r\n el.unHilite();\r\n undo.onRepositioned(el.addTo(group), oldPos, oldParent);\r\n }), undo.onAdded(group);\r\n });\r\n this.restart(group);\r\n }\r\n\r\n public ungroupAll(undo: UndoManager) {\r\n const groups = new Set<MarkupElement>();\r\n this.elements.forEach((el) => {\r\n if (el instanceof G)\r\n groups.add(el);\r\n });\r\n\r\n if (0 === groups.size)\r\n return;\r\n\r\n undo.performOperation(MarkupApp.getActionName(\"ungroup\"), () => {\r\n groups.forEach((g) => {\r\n g.unHilite();\r\n this.elements.delete(g);\r\n undo.onDelete(g);\r\n g.each((index, children) => {\r\n const child = children[index];\r\n const oldPos = child.position();\r\n child.toParent(g.parent());\r\n undo.onRepositioned(child, oldPos, g);\r\n }, false);\r\n\r\n g.untransform(); // Don't want undo of ungroup to push the current group transform...\r\n g.remove();\r\n });\r\n });\r\n this.sizeChanged();\r\n }\r\n\r\n /** Move all of the entries to a new position in the DOM via a callback. */\r\n public reposition(cmdName: string, undo: UndoManager, fn: (el: MarkupElement) => void) {\r\n undo.performOperation(cmdName, () => this.elements.forEach((el) => {\r\n const oldParent = el.parent() as MarkupElement;\r\n const oldPos = el.position();\r\n fn(el);\r\n undo.onRepositioned(el, oldPos, oldParent);\r\n }));\r\n this.sizeChanged();\r\n }\r\n}\r\n\r\n/** Provides UI for selection, delete, move, copy, bring-to-front, send-to-back, etc. for Markup SVG elements\r\n * @public\r\n */\r\nexport class SelectTool extends MarkupTool {\r\n public static override toolId = \"Markup.Select\";\r\n public static override iconSpec = \"icon-cursor\";\r\n private _flashedElement?: MarkupElement;\r\n private readonly _dragging: MarkupElement[] = [];\r\n private _anchorPt!: Point3d;\r\n private _isBoxSelect = false;\r\n\r\n public get flashedElement(): MarkupElement | undefined { return this._flashedElement; }\r\n public set flashedElement(el: MarkupElement | undefined) {\r\n if (el === this._flashedElement)\r\n return;\r\n\r\n if (undefined !== this._flashedElement)\r\n this._flashedElement.unFlash();\r\n\r\n if (undefined !== el)\r\n el.flash();\r\n\r\n this._flashedElement = el;\r\n }\r\n protected unflashSelected(): void {\r\n if (undefined !== this._flashedElement && this.markup.selected.has(this._flashedElement))\r\n this.flashedElement = undefined;\r\n }\r\n private initSelect() {\r\n this.markup.setCursor(\"default\");\r\n this.markup.enablePick();\r\n this.flashedElement = undefined;\r\n this.boxSelectInit();\r\n }\r\n private clearSelect() {\r\n this.cancelDrag();\r\n this.markup.selected.emptyAll();\r\n }\r\n public override async onCleanup() { this.clearSelect(); }\r\n public override async onPostInstall() {\r\n this.initSelect();\r\n return super.onPostInstall();\r\n }\r\n\r\n public override async onRestartTool() { this.initSelect(); }\r\n\r\n protected override showPrompt(): void {\r\n const mainInstruction = ToolAssistance.createInstruction(this.iconSpec, IModelApp.localization.getLocalizedString(`${MarkupTool.toolKey}Select.Prompts.IdentifyMarkup`));\r\n const mouseInstructions: ToolAssistanceInstruction[] = [];\r\n const touchInstructions: ToolAssistanceInstruction[] = [];\r\n\r\n const acceptMsg = IModelApp.localization.getLocalizedString(`${MarkupTool.toolKey}Select.Prompts.AcceptMarkup`);\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.OneTouchTap, acceptMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistanceInputMethod.Mouse));\r\n\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.OneTouchDrag, CoreTools.translate(\"ElementSet.Inputs.BoxCorners\"), false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClickDrag, CoreTools.translate(\"ElementSet.Inputs.BoxCorners\"), false, ToolAssistanceInputMethod.Mouse));\r\n\r\n mouseInstructions.push(ToolAssistance.createModifierKeyInstruction(ToolAssistance.shiftKey, ToolAssistanceImage.LeftClickDrag, CoreTools.translate(\"ElementSet.Inputs.OverlapSelection\"), false, ToolAssistanceInputMethod.Mouse));\r\n mouseInstructions.push(ToolAssistance.createModifierKeyInstruction(ToolAssistance.ctrlKey, ToolAssistanceImage.LeftClick, CoreTools.translate(\"ElementSet.Inputs.InvertSelection\"), false, ToolAssistanceInputMethod.Mouse));\r\n\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.CursorClick, CoreTools.translate(\"ElementSet.Inputs.ClearSelection\"), false, ToolAssistanceInputMethod.Mouse));\r\n\r\n const sections: ToolAssistanceSection[] = [];\r\n sections.push(ToolAssistance.createSection(mouseInstructions, ToolAssistance.inputsLabel));\r\n sections.push(ToolAssistance.createSection(touchInstructions, ToolAssistance.inputsLabel));\r\n\r\n const instructions = ToolAssistance.createInstructions(mainInstruction, sections);\r\n IModelApp.notifications.setToolAssistance(instructions);\r\n }\r\n\r\n /** When we start a drag operation, we add a new set of elements to the DOM and start modifying them.\r\n * If we cancel the operation, we need remove them from the DOM.\r\n */\r\n private cancelDrag() {\r\n this._dragging.forEach((el) => el.remove()); // remove temporary elements from DOM\r\n this._dragging.length = 0;\r\n this.boxSelectInit();\r\n }\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n const selected = this.markup.selected;\r\n const handles = selected.handles;\r\n if (handles && handles.dragging)\r\n handles.cancelDrag();\r\n\r\n this.cancelDrag();\r\n selected.sizeChanged();\r\n return EventHandled.Yes;\r\n }\r\n\r\n /** Called when there is a mouse \"click\" (down+up without any motion) */\r\n public override async onDataButtonUp(ev: BeButtonEvent): Promise<EventHandled> {\r\n const markup = this.markup;\r\n const selected = markup.selected;\r\n const handles = selected.handles;\r\n if (handles) {\r\n if (handles.dragging)\r\n return handles.endDrag(markup.undo);\r\n if (handles.active) { // clicked on a handle\r\n if (ev.isControlKey)\r\n selected.drop(handles.el);\r\n else\r\n await handles.active.onClick(ev);\r\n handles.active = undefined;\r\n return EventHandled.Yes;\r\n }\r\n }\r\n\r\n const el = this.flashedElement = this.pickElement(ev.viewPoint);\r\n if (ev.isControlKey) {\r\n if (el && selected.drop(el))\r\n return EventHandled.Yes;\r\n } else {\r\n selected.emptyAll();\r\n }\r\n\r\n if (el !== undefined)\r\n selected.add(el);\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onTouchTap(ev: BeTouchEvent): Promise<EventHandled> {\r\n // Allow tap with a second touch point to multiselect (similar functionality to control being held with mouse click).\r\n if (ev.isSingleTap && 2 === ev.touchEvent.touches.length) {\r\n const el = this.flashedElement = this.pickElement(ev.viewPoint);\r\n if (el) {\r\n const selected = this.markup.selected;\r\n if (!selected.drop(el))\r\n selected.add(el);\r\n return EventHandled.Yes;\r\n }\r\n }\r\n return super.onTouchTap(ev);\r\n }\r\n\r\n protected boxSelectInit(): void {\r\n this._isBoxSelect = false;\r\n this.markup.svgDynamics!.clear();\r\n }\r\n\r\n protected boxSelectStart(ev: BeButtonEvent): boolean {\r\n if (!ev.isControlKey)\r\n this.markup.selected.emptyAll();\r\n this._anchorPt = MarkupApp.convertVpToVb(ev.viewPoint);\r\n this._isBoxSelect = true;\r\n return true;\r\n }\r\n\r\n protected boxSelect(ev: BeButtonEvent, isDynamics: boolean): boolean {\r\n if (!this._isBoxSelect)\r\n return false;\r\n const start = this._anchorPt;\r\n const end = MarkupApp.convertVpToVb(ev.viewPoint);\r\n const vec = start.vectorTo(end);\r\n const width = Math.abs(vec.x);\r\n const height = Math.abs(vec.y);\r\n if (width < 1 || height < 1)\r\n return true;\r\n const rightToLeft = (start.x > end.x);\r\n const overlapMode = (ev.isShiftKey ? !rightToLeft : rightToLeft); // Shift inverts inside/overlap selection...\r\n const offset = Point3d.create(vec.x < 0 ? end.x : start.x, vec.y < 0 ? end.y : start.y); // define location by corner points...\r\n this.markup.svgDynamics!.clear();\r\n this.markup.svgDynamics!.rect(width, height).move(offset.x, offset.y).css({ \"stroke-width\": 1, \"stroke\": \"black\", \"stroke-opacity\": 0.5, \"fill\": \"lightBlue\", \"fill-opacity\": 0.2 });\r\n const selectBox = this.markup.svgDynamics!.rect(width, height).move(offset.x, offset.y).css({ \"stroke-width\": 1, \"stroke\": \"white\", \"stroke-opacity\": 1.0, \"stroke-dasharray\": overlapMode ? \"5\" : \"2\", \"fill\": \"none\" });\r\n const outlinesG = isDynamics ? this.markup.svgDynamics!.group() : undefined;\r\n const selectRect = selectBox.node.getBoundingClientRect();\r\n this.markup.svgMarkup!.forElementsOfGroup((child) => {\r\n const childRect = child.node.getBoundingClientRect();\r\n const inside = (childRect.left >= selectRect.left && childRect.top >= selectRect.top && childRect.right <= selectRect.right && childRect.bottom <= selectRect.bottom);\r\n const overlap = !inside && (childRect.left < selectRect.right && childRect.right > selectRect.left && childRect.bottom > selectRect.top && childRect.top < selectRect.bottom);\r\n const accept = inside || (overlap && overlapMode);\r\n if (undefined !== outlinesG) {\r\n if (inside || overlap) {\r\n const outline = child.getOutline().attr(MarkupApp.props.handles.moveOutline).addTo(outlinesG);\r\n if (accept)\r\n outline.attr({ \"fill\": MarkupApp.props.hilite.flash, \"fill-opacity\": 0.2 });\r\n }\r\n } else if (accept) {\r\n this.markup.selected.add(child);\r\n }\r\n });\r\n if (!isDynamics)\r\n this.boxSelectInit();\r\n return true;\r\n }\r\n\r\n /** called when the mouse moves while the data button is down. */\r\n public override async onMouseStartDrag(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (BeButton.Data !== ev.button)\r\n return EventHandled.No;\r\n\r\n const markup = this.markup;\r\n const selected = markup.selected;\r\n const handles = selected.handles;\r\n if (handles && handles.active) {\r\n this.flashedElement = undefined; // make sure there are no elements flashed while dragging\r\n return handles.startDrag(ev);\r\n }\r\n\r\n const flashed = this.flashedElement = this.pickElement(ev.viewPoint);\r\n if (undefined === flashed)\r\n return this.boxSelectStart(ev) ? EventHandled.Yes : EventHandled.No;\r\n\r\n if (!selected.has(flashed))\r\n selected.restart(flashed); // we clicked on an element not in the selection set, replace current selection with just this element\r\n\r\n selected.clearEditors();\r\n this._anchorPt = MarkupApp.convertVpToVb(ev.viewPoint); // save the starting point. This is the point where the \"down\" occurred.\r\n this.cancelDrag();\r\n\r\n selected.elements.forEach((el) => { // add all selected elements to the \"dragging\" set\r\n const cloned = el.cloneMarkup(); // make a clone of this element\r\n el.after(cloned); // put it into the DOM after its original\r\n cloned.originalEl = el; // save original element so we can remove it if this is a \"move\" command\r\n this._dragging.push(cloned); // add to dragging set\r\n });\r\n return EventHandled.Yes;\r\n }\r\n\r\n /** Called whenever the mouse moves while this tool is active. */\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n const markup = this.markup;\r\n const handles = markup.selected.handles;\r\n if (handles && handles.dragging) {\r\n this.receivedDownEvent = true; // necessary to tell ToolAdmin to send us the button up event\r\n return handles.drag(ev); // drag the handle\r\n }\r\n\r\n if (this._dragging.length === 0) {\r\n if (this.boxSelect(ev, true))\r\n return;\r\n if (InputSource.Touch !== ev.inputSource)\r\n this.flashedElement = this.pickElement(ev.viewPoint); // if we're not dragging, try to find an element under the cursor\r\n return;\r\n }\r\n\r\n // we have a set of elements being dragged. NOTE: coordinates are viewbox\r\n const vbPt = MarkupApp.convertVpToVb(ev.viewPoint);\r\n const delta = vbPt.minus(this._anchorPt);\r\n this._dragging.forEach((el) => el.translate(delta.x, delta.y));\r\n this._anchorPt = vbPt; // translate moves from last mouse location\r\n }\r\n\r\n /** Called when the mouse goes up after dragging. */\r\n public override async onMouseEndDrag(ev: BeButtonEvent): Promise<EventHandled> {\r\n const markup = this.markup;\r\n const selected = markup.selected;\r\n const handles = selected.handles;\r\n if (handles && handles.dragging) // if we have handles up, and if they're in the \"dragging\" state, send the event to them\r\n return handles.endDrag(markup.undo);\r\n\r\n if (this._dragging.length === 0)\r\n return this.boxSelect(ev, false) ? EventHandled.Yes : EventHandled.No;\r\n\r\n // NOTE: all units should be in viewbox coordinates\r\n const delta = MarkupApp.convertVpToVb(ev.viewPoint).minus(this._anchorPt);\r\n const undo = markup.undo;\r\n if (ev.isShiftKey) // shift key means \"add to existing,\" otherwise new selection replaces old\r\n selected.emptyAll();\r\n\r\n // move or copy all of the elements in dragged set\r\n undo.performOperation(MarkupApp.getActionName(\"copy\"), () => this._dragging.forEach((el) => {\r\n el.translate(delta.x, delta.y); // move to final location\r\n const original = el.originalEl!; // save original element\r\n el.originalEl = undefined; // clear original element\r\n if (ev.isShiftKey) {\r\n selected.add(el);\r\n undo.onAdded(el); // shift key means copy element\r\n } else {\r\n original.replace(el);\r\n undo.onModified(el, original);\r\n }\r\n }));\r\n\r\n this._dragging.length = 0; // empty dragging set\r\n selected.sizeChanged(); // notify that size of selection set changed\r\n return EventHandled.Yes;\r\n }\r\n\r\n /** called when a modifier key is pressed or released. Updates stretch handles, if present */\r\n public override async onModifierKeyTransition(_wentDown: boolean, modifier: BeModifierKeys, _event: KeyboardEvent): Promise<EventHandled> {\r\n if (modifier !== BeModifierKeys.Shift) // we only care about the shift key\r\n return EventHandled.No;\r\n const selected = this.markup.selected;\r\n const handles = selected.handles;\r\n if (undefined === handles || !handles.dragging) // and only if we're currently dragging\r\n return EventHandled.No;\r\n const ev = new BeButtonEvent(); // we need to simulate a mouse motion by sending a drag event at the last cursor position\r\n IModelApp.toolAdmin.fillEventFromCursorLocation(ev);\r\n return (undefined === ev.viewport) ? EventHandled.No : (handles.drag(ev), EventHandled.Yes);\r\n }\r\n\r\n /** called whenever a key is pressed while this tool is active. */\r\n public override async onKeyTransition(wentDown: boolean, key: KeyboardEvent): Promise<EventHandled> {\r\n if (!wentDown)\r\n return EventHandled.No;\r\n const markup = this.markup;\r\n switch (key.key.toLowerCase()) {\r\n case \"delete\": // delete key or backspace = delete current selection set\r\n case \"backspace\":\r\n this.unflashSelected();\r\n markup.deleteSelected();\r\n return EventHandled.Yes;\r\n case \"escape\": // esc = cancel current operation\r\n await this.exitTool();\r\n return EventHandled.Yes;\r\n case \"b\": // alt-shift-b = send to back\r\n return (key.altKey && key.shiftKey) ? (markup.sendToBack(), EventHandled.Yes) : EventHandled.No;\r\n case \"f\": // alt-shift-f = bring to front\r\n return (key.altKey && key.shiftKey) ? (markup.bringToFront(), EventHandled.Yes) : EventHandled.No;\r\n case \"g\": // ctrl-g = create group\r\n return (key.ctrlKey) ? (this.unflashSelected(), markup.groupSelected(), EventHandled.Yes) : EventHandled.No;\r\n case \"u\": // ctrl-u = ungroup\r\n return (key.ctrlKey) ? (this.unflashSelected(), markup.ungroupSelected(), EventHandled.Yes) : EventHandled.No;\r\n }\r\n return EventHandled.No;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"SelectTool.js","sourceRoot":"","sources":["../../src/SelectTool.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/SvgJsExt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgJsExt.js","sourceRoot":"","sources":["../../src/SvgJsExt.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MarkupApp\r\n */\r\n\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { Box, extend, G, Element as MarkupElement, Matrix, nodeOrNew, Rect, register, Svg, Text } from \"@svgdotjs/svg.js\";\r\nimport { MarkupApp } from \"./Markup\";\r\n\r\n// cspell:ignore lmultiply matrixify dmove\r\n\r\n/** @public */\r\nexport interface MarkupColor {\r\n fill: any;\r\n stroke: any;\r\n}\r\n\r\n/** Add methods and classes to svg.js library for Markup.\r\n * @public\r\n */\r\ndeclare module \"@svgdotjs/svg.js\" {\r\n function register(subclass: typeof MarkupElement, name?: string): void; // eslint-disable-line @typescript-eslint/no-shadow\r\n function nodeOrNew(name: string, node: any): any; // eslint-disable-line @typescript-eslint/no-shadow\r\n\r\n interface Dom {\r\n css(val: object): this;\r\n }\r\n /** @public */\r\n interface Element {\r\n inSelection?: boolean;\r\n originalEl?: Element;\r\n\r\n /** make a copy of this Element, set its `isMarkup` flag, and reset its color if it was hilited. */\r\n cloneMarkup(): this;\r\n /** if this element is currently hilited or flashed, reset to its original color */\r\n resetColor(): void;\r\n /** override the color of this element to a new color, saving original */\r\n overrideColor(color: string): void;\r\n /** turn on `inSelection` and set its color to hilite */\r\n hilite(): void;\r\n /** turn off hilite, turn off `inSelection` flag */\r\n unHilite(): void;\r\n /** set this element to the flash color */\r\n flash(): void;\r\n /** turn off flash color */\r\n unFlash(): void;\r\n /** reposition and resize this element */\r\n markupStretch(x: number, y: number, w: number, h: number, mtx: Matrix): void;\r\n /** return true if this element is a child of the supplied Svg. */\r\n isChildOf(svg: Svg): boolean;\r\n /** return selectable element or the outermost group containing this element if it's a child of the supplied Svg. */\r\n getChildOrGroupOf(svg: G): MarkupElement | undefined;\r\n\r\n /** @internal */\r\n forElementsOfGroup(fn: (child: MarkupElement) => void): void;\r\n /** @internal */\r\n getNpcToVp(): Matrix;\r\n /** @internal */\r\n getOutline(expand?: number): Rect;\r\n }\r\n /** @public */\r\n interface Text {\r\n getMarkup(): string;\r\n createMarkup(val: string, spacing: number): void;\r\n getFontSize(): number;\r\n }\r\n\r\n /** @public */\r\n interface Matrix {\r\n /** convert this SVG.Matrix into an iModel Transform */\r\n toIModelTransform(): Transform;\r\n fromIModelTransform(t: Transform): this;\r\n }\r\n\r\n /** @internal */\r\n interface Container {\r\n foreignObject(width: number, height: number): ForeignObject;\r\n }\r\n class ForeignObject extends Container {\r\n }\r\n}\r\n\r\nconst OLDCOLOR = \"Color\";\r\n\r\n/** this is the SVG.js way of adding methods to classes */\r\nextend(MarkupElement, {\r\n forElementsOfGroup(fn: (child: MarkupElement) => void): void {\r\n const me = this as MarkupElement;\r\n if (me instanceof G)\r\n me.each((i, children) => { const child = children[i]; if (child instanceof MarkupElement) fn(child); }, false);\r\n },\r\n cloneMarkup(): MarkupElement {\r\n const me = this as MarkupElement;\r\n const cloned = me.clone();\r\n cloned.node.removeAttribute(\"id\");\r\n cloned.resetColor();\r\n return cloned;\r\n },\r\n overrideColor(color: string) {\r\n const me = this as MarkupElement;\r\n me.forElementsOfGroup((child) => child.overrideColor(color)); // Do children first, getComputedStyle will inherit from group for unspecified values...\r\n let oldColor = me.data(OLDCOLOR) as MarkupColor | undefined;\r\n if (undefined === oldColor) {\r\n const css = window.getComputedStyle(me.node);\r\n const colorOrNone = (c: string | null) => (c && c !== \"none\") ? c : \"none\";\r\n oldColor = { fill: colorOrNone(css.fill), stroke: colorOrNone(css.stroke) };\r\n me.data(OLDCOLOR, oldColor);\r\n }\r\n const toColor = (val: string | null) => (!val || val === \"none\") ? \"none\" : color;\r\n me.css({ fill: toColor(oldColor.fill), stroke: toColor(oldColor.stroke) });\r\n },\r\n resetColor() {\r\n const me = this as MarkupElement;\r\n const oldColor = me.data(OLDCOLOR) as MarkupColor;\r\n if (undefined !== oldColor)\r\n me.css(oldColor).data(OLDCOLOR, null); // change to old color and remove data object\r\n me.forElementsOfGroup((child) => child.resetColor());\r\n },\r\n hilite() { const me = this as MarkupElement; if (!me.inSelection) { me.overrideColor(MarkupApp.props.hilite.color); me.inSelection = true; } },\r\n unHilite() { const me = this as MarkupElement; if (me.inSelection) { me.resetColor(); me.inSelection = undefined; } },\r\n flash() { const me = this as MarkupElement; if (!me.inSelection) me.overrideColor(MarkupApp.props.hilite.flash); },\r\n unFlash() { const me = this as MarkupElement; if (!me.inSelection) me.resetColor(); },\r\n markupStretch(w: number, h: number, x: number, y: number, _mtx: Matrix) { const me = this as MarkupElement; me.size(w, h).move(x, y); },\r\n isChildOf(svg: Svg) {\r\n const parent = (this as MarkupElement).parent();\r\n return (parent === svg) ? true : (parent instanceof MarkupElement) ? parent.isChildOf(svg) : false;\r\n },\r\n getChildOrGroupOf(svg: G): MarkupElement | undefined {\r\n const me = this as MarkupElement;\r\n const parents = me.parents(svg.parent());\r\n if (0 === parents.length || parents[parents.length - 1].node !== svg.node)\r\n return undefined;\r\n if (parents.length > 1) {\r\n for (let index = parents.length - 2; index >= 0; --index)\r\n if (parents[index] instanceof G || parents[index] instanceof Text)\r\n return parents[index];\r\n }\r\n return me;\r\n },\r\n getNpcToVp(): Matrix {\r\n const me = this as MarkupElement;\r\n const bb = me.bbox();\r\n return new Matrix().scaleO(bb.w, bb.h).translateO(bb.x, bb.y).lmultiplyO(me.matrixify());\r\n },\r\n getOutline(expand?: number): Rect {\r\n const me = this as MarkupElement;\r\n const box = me.bbox();\r\n if (expand === undefined) expand = 0;\r\n return new Rect().move(box.x - expand, box.y - expand).size(box.w + (expand * 2), box.h + (expand * 2)).transform(me.matrixify());\r\n },\r\n});\r\n\r\nextend(G, {\r\n markupStretch(_w: number, _h: number, _x: number, _y: number, mtx: Matrix) { (this as G).attr(\"transform\", mtx); },\r\n});\r\nextend(Text, {\r\n getFontSize(): number { const me = this as Text; return parseFloat(window.getComputedStyle(me.node).fontSize); },\r\n markupStretch(_w: number, _h: number, _x: number, _y: number, mtx: Matrix) { (this as Text).attr(\"transform\", mtx); },\r\n getMarkup() {\r\n const node = (this as Text).node;\r\n let text = \"\";\r\n node.childNodes.forEach((child) => {\r\n if (child.nodeName === \"tspan\" || child.nodeName === \"#text\") {\r\n if (text.length !== 0) text += \"\\n\";\r\n text += child.textContent;\r\n }\r\n });\r\n return text;\r\n },\r\n createMarkup(val: string, spacing: number) {\r\n spacing = spacing ? spacing : 1;\r\n const me = this as Text;\r\n me.clear();\r\n if (val === \"\")\r\n return;\r\n const lines = val.split(\"\\n\");\r\n me.plain(lines[0]);\r\n const x = me.attr(\"x\");\r\n me.build(true);\r\n for (let i = 1; i < lines.length; ++i) {\r\n const tspan = me.tspan(lines[i]);\r\n tspan.dy(spacing);\r\n tspan.x(x);\r\n }\r\n me.build(false);\r\n me.dom = {};\r\n },\r\n // override for Text so that empty text will return a size\r\n getOutline(expand?: number): Rect {\r\n const me = this as Text;\r\n const node = me.node;\r\n const content = node.textContent;\r\n if (content !== null && content.length > 0)\r\n return MarkupElement.prototype.getOutline.call(me, expand);\r\n node.textContent = \"M\";\r\n const outline = MarkupElement.prototype.getOutline.call(me, expand);\r\n node.textContent = content;\r\n return outline;\r\n },\r\n writeDataToDom() {\r\n const me = this as Text;\r\n const dom = me.dom; // strip off useless \"leading\" data\r\n me.dom = {};\r\n MarkupElement.prototype.writeDataToDom.call(me);\r\n me.dom = dom;\r\n return me;\r\n },\r\n});\r\n\r\nextend(Matrix, {\r\n toIModelTransform() {\r\n const m = this as Matrix;\r\n return Transform.createRowValues(m.a, m.c, 0, m.e, m.b, m.d, 0, m.f, 0, 0, 1, 0);\r\n },\r\n fromIModelTransform(t: Transform) {\r\n const m = this as Matrix;\r\n const o = t.origin;\r\n const mtx = t.matrix;\r\n m.a = mtx.coffs[0];\r\n m.b = mtx.coffs[3];\r\n m.c = mtx.coffs[1];\r\n m.d = mtx.coffs[4];\r\n m.e = o.x;\r\n m.f = o.y;\r\n return this;\r\n },\r\n});\r\n\r\n/** Dummy class so a <title> inside a <g> will work.\r\n * @internal\r\n */\r\nexport class Title extends MarkupElement {\r\n constructor(node: any) { super(nodeOrNew(\"title\", node)); }\r\n public override scale() { return this; }\r\n public override size() { return this; }\r\n public override move() { return this; }\r\n public override dmove() { return this; }\r\n public override bbox() { return new Box(); }\r\n public override screenCTM() { return new Matrix(); }\r\n\r\n}\r\nregister(Title, \"Title\");\r\n\r\n/** only for tests\r\n * @internal\r\n */\r\nexport function initSvgExt() { }\r\n"]}
|
|
1
|
+
{"version":3,"file":"SvgJsExt.js","sourceRoot":"","sources":["../../src/SvgJsExt.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/TextEdit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEdit.js","sourceRoot":"","sources":["../../src/TextEdit.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MarkupTools\r\n */\r\n\r\nimport {\r\n BeButtonEvent, CoreTools, EventHandled, IModelApp, InputSource, ToolAssistance, ToolAssistanceImage, ToolAssistanceInputMethod,\r\n ToolAssistanceInstruction, ToolAssistanceSection,\r\n} from \"@itwin/core-frontend\";\r\nimport { G, Text as MarkupText } from \"@svgdotjs/svg.js\";\r\nimport { MarkupApp } from \"./Markup\";\r\nimport { MarkupTool } from \"./MarkupTool\";\r\nimport { RedlineTool } from \"./RedlineTool\";\r\n\r\n// cspell:ignore rbox\r\n\r\n/** Tool to place new text notes on a Markup.\r\n * @public\r\n */\r\nexport class PlaceTextTool extends RedlineTool {\r\n public static override toolId = \"Markup.Text.Place\";\r\n public static override iconSpec = \"icon-text-medium\";\r\n protected override _nRequiredPoints = 1;\r\n protected override _minPoints = 0;\r\n protected _value!: string;\r\n\r\n public override async onPostInstall() {\r\n this._value = MarkupApp.props.text.startValue; // so applications can put a default string (e.g. user's initials) in the note. Can be empty\r\n return super.onPostInstall();\r\n }\r\n\r\n protected override showPrompt(): void { this.provideToolAssistance(`${MarkupTool.toolKey}Text.Place.Prompts.FirstPoint`, true); }\r\n\r\n protected override async createMarkup(svg: G, ev: BeButtonEvent, isDynamics: boolean): Promise<void> {\r\n if (isDynamics && InputSource.Touch === ev.inputSource)\r\n return;\r\n const start = MarkupApp.convertVpToVb(ev.viewPoint); // starting point in viewbox coordinates\r\n const text = new MarkupText().plain(this._value); // create a plain text element\r\n svg.put(text); // add it to the supplied container\r\n this.setCurrentTextStyle(text); // apply active text style\r\n text.translate(start.x, start.y); // and position it relative to the cursor\r\n if (isDynamics) {\r\n svg.add(text.getOutline().attr(MarkupApp.props.text.edit.textBox).addClass(MarkupApp.textOutlineClass)); // in dynamics, draw the box around the text\r\n } else {\r\n await new EditTextTool(text, true).run(); // text is now positioned, open text editor\r\n }\r\n }\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.exitTool();\r\n return EventHandled.Yes;\r\n }\r\n}\r\n\r\n/** Tool for editing text. Started automatically by the place text tool and by clicking on text from the SelectTool\r\n * @public\r\n */\r\nexport class EditTextTool extends MarkupTool {\r\n public static override toolId = \"Markup.Text.Edit\";\r\n public static override iconSpec = \"icon-text-medium\";\r\n public editor?: HTMLTextAreaElement;\r\n public editDiv?: HTMLDivElement;\r\n public boxed?: G;\r\n constructor(public text?: MarkupText | G, private _fromPlaceTool = false) { super(); }\r\n\r\n protected override showPrompt(): void {\r\n const mainInstruction = ToolAssistance.createInstruction(this.iconSpec, IModelApp.localization.getLocalizedString(`${MarkupTool.toolKey}Text.Edit.Prompts.FirstPoint`));\r\n const mouseInstructions: ToolAssistanceInstruction[] = [];\r\n const touchInstructions: ToolAssistanceInstruction[] = [];\r\n\r\n const acceptMsg = CoreTools.translate(\"ElementSet.Inputs.Accept\");\r\n const rejectMsg = CoreTools.translate(\"ElementSet.Inputs.Exit\");\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.OneTouchTap, acceptMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.LeftClick, acceptMsg, false, ToolAssistanceInputMethod.Mouse));\r\n touchInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.TwoTouchTap, rejectMsg, false, ToolAssistanceInputMethod.Touch));\r\n mouseInstructions.push(ToolAssistance.createInstruction(ToolAssistanceImage.RightClick, rejectMsg, false, ToolAssistanceInputMethod.Mouse));\r\n\r\n const sections: ToolAssistanceSection[] = [];\r\n sections.push(ToolAssistance.createSection(mouseInstructions, ToolAssistance.inputsLabel));\r\n sections.push(ToolAssistance.createSection(touchInstructions, ToolAssistance.inputsLabel));\r\n\r\n const instructions = ToolAssistance.createInstructions(mainInstruction, sections);\r\n IModelApp.notifications.setToolAssistance(instructions);\r\n }\r\n\r\n /** Open the text editor */\r\n public startEditor() {\r\n let text = this.text;\r\n if (text === undefined)\r\n return;\r\n\r\n if (text instanceof G) {\r\n this.boxed = text;\r\n text = text.children()[1] as MarkupText;\r\n if (!(text instanceof MarkupText))\r\n return;\r\n this.text = text;\r\n }\r\n const markupDiv = this.markup.markupDiv;\r\n const editDiv = this.editDiv = document.createElement(\"div\"); // create a new DIV to hold the text editor\r\n const editProps = MarkupApp.props.text.edit;\r\n let style = editDiv.style;\r\n style.backgroundColor = editProps.background;\r\n style.top = style.left = \"0\";\r\n style.right = style.bottom = \"100%\";\r\n\r\n markupDiv.appendChild(editDiv); // add textEditor div to markup div\r\n\r\n const divRect = markupDiv.getBoundingClientRect();\r\n const outline = text.getOutline(); // use the outline rather than the text in case it's blank.\r\n text.after(outline); // we have to add it to the DOM or the rbox call doesn't work.\r\n const rbox = outline.rbox();\r\n const bbox = outline.bbox();\r\n outline.remove(); // take it out again.\r\n const editor = this.editor = document.createElement(\"textarea\");\r\n editDiv.appendChild(editor);\r\n editor.className = MarkupApp.textEditorClass;\r\n editor.contentEditable = \"true\";\r\n editor.spellcheck = true;\r\n editor.wrap = \"off\";\r\n // so we don't send these events to the ToolAdmin and process them by tools. We want default handling\r\n const mouseListener = (ev: Event) => (ev.stopPropagation(), true);\r\n (editor as any).onselectstart = editor.oncontextmenu = editor.onmousedown = editor.onmouseup = mouseListener; // enable default handling for these events\r\n\r\n // Tab, Escape, ctrl-enter, or shift-enter all end the editor\r\n editor.onkeydown = async (ev: KeyboardEvent) => {\r\n if (ev.key === \"Tab\" || ev.key === \"Escape\" || (ev.key === \"Enter\" && (ev.shiftKey || ev.ctrlKey)))\r\n this.exitTool(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n ev.stopPropagation();\r\n\r\n };\r\n const textElStyle = window.getComputedStyle(text.node);\r\n\r\n style = editor.style;\r\n style.pointerEvents = \"auto\";\r\n style.position = \"absolute\";\r\n style.top = `${(rbox.cy - (bbox.h / 2)) - divRect.top}px`; // put the editor over the middle of the text element\r\n style.left = `${(rbox.cx - (bbox.w / 2)) - divRect.left}px`;\r\n style.height = editProps.size.height;\r\n style.width = editProps.size.width;\r\n style.resize = \"both\";\r\n style.fontFamily = textElStyle.fontFamily; // set the font family and anchor to the same as the text element\r\n style.textAnchor = textElStyle.textAnchor;\r\n style.fontSize = editProps.fontSize; // from app.props\r\n\r\n const parentZ = parseInt(window.getComputedStyle(markupDiv).zIndex || \"0\", 10);\r\n style.zIndex = (parentZ + 200).toString();\r\n\r\n editor.innerHTML = text.getMarkup(); // start with existing text\r\n this.editor.focus(); // give the editor focus\r\n\r\n // if we're started from the place text tool, select the entire current value, otherwise place the cursor at the end.\r\n this.editor.setSelectionRange(this._fromPlaceTool ? 0 : editor.value.length, editor.value.length);\r\n }\r\n\r\n /** Called when EditText exits, saves the edited value into the text element */\r\n public override async onCleanup() {\r\n if (!this.editDiv)\r\n return;\r\n\r\n const text = this.text! as MarkupText;\r\n const original = this.boxed ? this.boxed : text;\r\n const undo = this.markup.undo;\r\n undo.performOperation(this.keyin, () => {\r\n const newVal = this.editor!.value;\r\n if (newVal.trim() === \"\") { // if the result of the editing is blank, just delete the text element\r\n if (!this._fromPlaceTool)\r\n undo.onDelete(original);\r\n original.remove(); // must do this *after* we call undo.onDelete\r\n return;\r\n }\r\n\r\n let newText: G | MarkupText = text.clone();\r\n const fontSize = text.getFontSize();\r\n newText.createMarkup(newVal, fontSize);\r\n if (this.boxed) {\r\n newText = this.createBoxedText((original as G).parent() as G, newText);\r\n newText.matrix(original.matrix());\r\n }\r\n original.replace(newText);\r\n if (this._fromPlaceTool)\r\n undo.onAdded(newText);\r\n else\r\n undo.onModified(newText, original);\r\n });\r\n\r\n const editSize = MarkupApp.props.text.edit.size;\r\n const style = this.editor!.style;\r\n editSize.height = style.height;\r\n editSize.width = style.width;\r\n this.editDiv.remove();\r\n this.editDiv = undefined;\r\n this.editor = undefined;\r\n }\r\n\r\n public override async onInstall() {\r\n if (!await super.onInstall())\r\n return false;\r\n this.startEditor();\r\n return true;\r\n }\r\n\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.exitTool();\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onDataButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.exitTool();\r\n return EventHandled.Yes;\r\n }\r\n\r\n public override async onMouseStartDrag(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.exitTool();\r\n return EventHandled.Yes;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"TextEdit.js","sourceRoot":"","sources":["../../src/TextEdit.ts"],"names":[],"mappings":"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"}
|