@api-client/ui 0.2.2 → 0.2.3
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/package.json +7 -2
- package/test/env.ts +15 -0
- package/test/tsconfig.json +1 -7
- package/web-test-runner.config.js +5 -1
- package/build/src/visualization/elements/VizAssociationElement.d.ts +0 -4
- package/build/src/visualization/elements/VizAssociationElement.d.ts.map +0 -1
- package/build/src/visualization/elements/VizAssociationElement.js +0 -4
- package/build/src/visualization/elements/VizAssociationElement.js.map +0 -1
- package/build/src/visualization/elements/VizWorkspaceElement.d.ts +0 -110
- package/build/src/visualization/elements/VizWorkspaceElement.d.ts.map +0 -1
- package/build/src/visualization/elements/VizWorkspaceElement.js +0 -321
- package/build/src/visualization/elements/VizWorkspaceElement.js.map +0 -1
- package/build/src/visualization/elements/WorkspaceStyles.d.ts +0 -3
- package/build/src/visualization/elements/WorkspaceStyles.d.ts.map +0 -1
- package/build/src/visualization/elements/WorkspaceStyles.js +0 -168
- package/build/src/visualization/elements/WorkspaceStyles.js.map +0 -1
- package/build/src/visualization/lib/AnchorFinder.d.ts +0 -64
- package/build/src/visualization/lib/AnchorFinder.d.ts.map +0 -1
- package/build/src/visualization/lib/AnchorFinder.js +0 -107
- package/build/src/visualization/lib/AnchorFinder.js.map +0 -1
- package/build/src/visualization/lib/AnchorUtils.d.ts +0 -10
- package/build/src/visualization/lib/AnchorUtils.d.ts.map +0 -1
- package/build/src/visualization/lib/AnchorUtils.js +0 -44
- package/build/src/visualization/lib/AnchorUtils.js.map +0 -1
- package/build/src/visualization/lib/AssociationAnchors.d.ts +0 -134
- package/build/src/visualization/lib/AssociationAnchors.d.ts.map +0 -1
- package/build/src/visualization/lib/AssociationAnchors.js +0 -351
- package/build/src/visualization/lib/AssociationAnchors.js.map +0 -1
- package/build/src/visualization/lib/LabelSketch.d.ts +0 -16
- package/build/src/visualization/lib/LabelSketch.d.ts.map +0 -1
- package/build/src/visualization/lib/LabelSketch.js +0 -53
- package/build/src/visualization/lib/LabelSketch.js.map +0 -1
- package/build/src/visualization/lib/LineSketch.d.ts +0 -26
- package/build/src/visualization/lib/LineSketch.d.ts.map +0 -1
- package/build/src/visualization/lib/LineSketch.js +0 -55
- package/build/src/visualization/lib/LineSketch.js.map +0 -1
- package/build/src/visualization/lib/Point.d.ts +0 -74
- package/build/src/visualization/lib/Point.d.ts.map +0 -1
- package/build/src/visualization/lib/Point.js +0 -121
- package/build/src/visualization/lib/Point.js.map +0 -1
- package/build/src/visualization/lib/PositionUtils.d.ts +0 -65
- package/build/src/visualization/lib/PositionUtils.d.ts.map +0 -1
- package/build/src/visualization/lib/PositionUtils.js +0 -205
- package/build/src/visualization/lib/PositionUtils.js.map +0 -1
- package/build/src/visualization/lib/SelectionManager.d.ts +0 -183
- package/build/src/visualization/lib/SelectionManager.d.ts.map +0 -1
- package/build/src/visualization/lib/SelectionManager.js +0 -481
- package/build/src/visualization/lib/SelectionManager.js.map +0 -1
- package/build/src/visualization/lib/ShapeArtist.d.ts +0 -45
- package/build/src/visualization/lib/ShapeArtist.d.ts.map +0 -1
- package/build/src/visualization/lib/ShapeArtist.js +0 -209
- package/build/src/visualization/lib/ShapeArtist.js.map +0 -1
- package/build/src/visualization/lib/SvgMarkers.d.ts +0 -14
- package/build/src/visualization/lib/SvgMarkers.d.ts.map +0 -1
- package/build/src/visualization/lib/SvgMarkers.js +0 -77
- package/build/src/visualization/lib/SvgMarkers.js.map +0 -1
- package/build/src/visualization/lib/TipSketch.d.ts +0 -26
- package/build/src/visualization/lib/TipSketch.d.ts.map +0 -1
- package/build/src/visualization/lib/TipSketch.js +0 -77
- package/build/src/visualization/lib/TipSketch.js.map +0 -1
- package/build/src/visualization/lib/TouchSupport.d.ts +0 -14
- package/build/src/visualization/lib/TouchSupport.d.ts.map +0 -1
- package/build/src/visualization/lib/TouchSupport.js +0 -55
- package/build/src/visualization/lib/TouchSupport.js.map +0 -1
- package/build/src/visualization/lib/Utils.d.ts +0 -25
- package/build/src/visualization/lib/Utils.d.ts.map +0 -1
- package/build/src/visualization/lib/Utils.js +0 -59
- package/build/src/visualization/lib/Utils.js.map +0 -1
- package/build/src/visualization/lib/VisualizationTypes.d.ts +0 -216
- package/build/src/visualization/lib/VisualizationTypes.d.ts.map +0 -1
- package/build/src/visualization/lib/VisualizationTypes.js +0 -3
- package/build/src/visualization/lib/VisualizationTypes.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceAlignment.d.ts +0 -51
- package/build/src/visualization/lib/WorkspaceAlignment.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceAlignment.js +0 -243
- package/build/src/visualization/lib/WorkspaceAlignment.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceDebugging.d.ts +0 -104
- package/build/src/visualization/lib/WorkspaceDebugging.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceDebugging.js +0 -286
- package/build/src/visualization/lib/WorkspaceDebugging.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceEdges.d.ts +0 -293
- package/build/src/visualization/lib/WorkspaceEdges.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceEdges.js +0 -1073
- package/build/src/visualization/lib/WorkspaceEdges.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceGestures.d.ts +0 -119
- package/build/src/visualization/lib/WorkspaceGestures.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceGestures.js +0 -376
- package/build/src/visualization/lib/WorkspaceGestures.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceSizing.d.ts +0 -66
- package/build/src/visualization/lib/WorkspaceSizing.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceSizing.js +0 -168
- package/build/src/visualization/lib/WorkspaceSizing.js.map +0 -1
- package/build/src/visualization/lib/lines/RectilinearLine.d.ts +0 -114
- package/build/src/visualization/lib/lines/RectilinearLine.d.ts.map +0 -1
- package/build/src/visualization/lib/lines/RectilinearLine.js +0 -605
- package/build/src/visualization/lib/lines/RectilinearLine.js.map +0 -1
- package/build/src/visualization/lib/tips/RectilinearTip.d.ts +0 -26
- package/build/src/visualization/lib/tips/RectilinearTip.d.ts.map +0 -1
- package/build/src/visualization/lib/tips/RectilinearTip.js +0 -149
- package/build/src/visualization/lib/tips/RectilinearTip.js.map +0 -1
- package/build/src/visualization/lib/tips/TipArtist.d.ts +0 -22
- package/build/src/visualization/lib/tips/TipArtist.d.ts.map +0 -1
- package/build/src/visualization/lib/tips/TipArtist.js +0 -31
- package/build/src/visualization/lib/tips/TipArtist.js.map +0 -1
- package/build/src/visualization/lib/types.d.ts +0 -164
- package/build/src/visualization/lib/types.d.ts.map +0 -1
- package/build/src/visualization/lib/types.js +0 -2
- package/build/src/visualization/lib/types.js.map +0 -1
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.d.ts +0 -126
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.d.ts.map +0 -1
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.js +0 -260
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.js.map +0 -1
- package/build/src/visualization/plugin/group-selection/GroupSelection.d.ts +0 -93
- package/build/src/visualization/plugin/group-selection/GroupSelection.d.ts.map +0 -1
- package/build/src/visualization/plugin/group-selection/GroupSelection.js +0 -250
- package/build/src/visualization/plugin/group-selection/GroupSelection.js.map +0 -1
- package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts +0 -10
- package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts.map +0 -1
- package/build/src/visualization/plugin/positioning/DataModelLayout.js +0 -105
- package/build/src/visualization/plugin/positioning/DataModelLayout.js.map +0 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts +0 -93
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts.map +0 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.js +0 -96
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.js.map +0 -1
- package/build/src/visualization/viz-association.d.ts +0 -7
- package/build/src/visualization/viz-association.d.ts.map +0 -1
- package/build/src/visualization/viz-association.js +0 -3
- package/build/src/visualization/viz-association.js.map +0 -1
- package/build/src/visualization/viz-workspace.d.ts +0 -7
- package/build/src/visualization/viz-workspace.d.ts.map +0 -1
- package/build/src/visualization/viz-workspace.js +0 -3
- package/build/src/visualization/viz-workspace.js.map +0 -1
- package/src/visualization/elements/VizAssociationElement.ts +0 -3
- package/src/visualization/elements/VizWorkspaceElement.ts +0 -302
- package/src/visualization/elements/WorkspaceStyles.ts +0 -168
- package/src/visualization/lib/AnchorFinder.ts +0 -112
- package/src/visualization/lib/AnchorUtils.ts +0 -53
- package/src/visualization/lib/AssociationAnchors.ts +0 -418
- package/src/visualization/lib/LabelSketch.ts +0 -67
- package/src/visualization/lib/LineSketch.ts +0 -62
- package/src/visualization/lib/Point.ts +0 -134
- package/src/visualization/lib/PositionUtils.ts +0 -218
- package/src/visualization/lib/SelectionManager.ts +0 -513
- package/src/visualization/lib/ShapeArtist.ts +0 -222
- package/src/visualization/lib/SvgMarkers.ts +0 -80
- package/src/visualization/lib/TipSketch.ts +0 -91
- package/src/visualization/lib/TouchSupport.ts +0 -72
- package/src/visualization/lib/Utils.ts +0 -63
- package/src/visualization/lib/VisualizationTypes.ts +0 -232
- package/src/visualization/lib/WorkspaceAlignment.ts +0 -261
- package/src/visualization/lib/WorkspaceDebugging.ts +0 -313
- package/src/visualization/lib/WorkspaceEdges.ts +0 -1153
- package/src/visualization/lib/WorkspaceGestures.ts +0 -400
- package/src/visualization/lib/WorkspaceSizing.ts +0 -181
- package/src/visualization/lib/lines/RectilinearLine.ts +0 -589
- package/src/visualization/lib/tips/RectilinearTip.ts +0 -156
- package/src/visualization/lib/tips/TipArtist.ts +0 -34
- package/src/visualization/lib/types.ts +0 -173
- package/src/visualization/plugin/dnd/DragAndDropPlugin.ts +0 -294
- package/src/visualization/plugin/group-selection/GroupSelection.ts +0 -271
- package/src/visualization/plugin/positioning/DataModelLayout.ts +0 -114
- package/src/visualization/plugin/positioning/WorkspaceLayout.ts +0 -149
- package/src/visualization/viz-association.ts +0 -9
- package/src/visualization/viz-workspace.ts +0 -9
- package/test/env.d.ts +0 -9
- package/test/env.js +0 -7
- package/test/visualization/lib/AnchorFinder.test.ts +0 -313
- package/test/visualization/lib/AnchorUtils.test.ts +0 -178
- package/test/visualization/lib/PositionUtils.test.ts +0 -406
- package/test/visualization/lib/test-styles.css +0 -80
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
-
import VizWorkspaceElement from '../elements/VizWorkspaceElement.js'
|
|
3
|
-
import { Point } from './Point.js'
|
|
4
|
-
import { IEdgeDirections, GeoDirection } from './types.js'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Computes a point from the `x` and `y` coordinates of the viewport and applies
|
|
8
|
-
* the current scale to it to correctly position the click coordinates.
|
|
9
|
-
*
|
|
10
|
-
* @param wrapper The relatively positioned wrapper
|
|
11
|
-
* @param container The absolutely positioned container
|
|
12
|
-
* @param scale The current scale applied to the container
|
|
13
|
-
* @returns A point with x and y scaled coordinates.
|
|
14
|
-
*/
|
|
15
|
-
export function clickPoint(x: number, y: number, wrapper: HTMLElement, container: HTMLElement, scale: number): Point {
|
|
16
|
-
const { left: vLeft, top: vTop } = wrapper.getBoundingClientRect()
|
|
17
|
-
const { left: cLeft, top: cTop } = container.getBoundingClientRect()
|
|
18
|
-
const workspaceRelativeX = cLeft - vLeft
|
|
19
|
-
const workspaceRelativeY = cTop - vTop
|
|
20
|
-
const viewportRelativeXClick = x - vLeft
|
|
21
|
-
const viewportRelativeYClick = y - vTop
|
|
22
|
-
const realWorkspaceXClick = viewportRelativeXClick - workspaceRelativeX
|
|
23
|
-
const realWorkspaceYClick = viewportRelativeYClick - workspaceRelativeY
|
|
24
|
-
const relativeXClick = realWorkspaceXClick / scale
|
|
25
|
-
const relativeYClick = realWorkspaceYClick / scale
|
|
26
|
-
return new Point(relativeXClick, relativeYClick)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Computes a point from the `x` and `y` coordinates of the viewport and applies
|
|
31
|
-
* the current scale to it to correctly position the click coordinates.
|
|
32
|
-
*
|
|
33
|
-
* @param workspace The workspace element
|
|
34
|
-
* @returns A point with x and y scaled coordinates.
|
|
35
|
-
*/
|
|
36
|
-
export function getRelativeClickPoint(x: number, y: number, workspace: VizWorkspaceElement): Point {
|
|
37
|
-
const { scale, canvas } = workspace
|
|
38
|
-
return clickPoint(x, y, workspace, canvas!, scale)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Computes the direction for both start and end points relative to their
|
|
43
|
-
* shapes.
|
|
44
|
-
* The `end` property describes the direction of an abstract arrow would be pointing to.
|
|
45
|
-
* The `start` is the direction facing the beginning of the path.
|
|
46
|
-
*
|
|
47
|
-
* @param sp The start point to calculate the direction from
|
|
48
|
-
* @param ep The end point to calculate the direction to
|
|
49
|
-
* @param sBox DOM rectangle of the source
|
|
50
|
-
* @param eBox DOM rectangle of the target
|
|
51
|
-
*/
|
|
52
|
-
export function findDirection(sp: Point, ep: Point, sBox: DOMRect, eBox: DOMRect): IEdgeDirections {
|
|
53
|
-
const padding = 10
|
|
54
|
-
let end: GeoDirection
|
|
55
|
-
let start: GeoDirection
|
|
56
|
-
if (Math.abs(eBox.left - ep.x) < padding) {
|
|
57
|
-
end = 'east'
|
|
58
|
-
} else if (Math.abs(eBox.right - ep.x) < padding) {
|
|
59
|
-
end = 'west'
|
|
60
|
-
} else if (Math.abs(eBox.bottom - ep.y) < padding) {
|
|
61
|
-
end = 'south'
|
|
62
|
-
} else {
|
|
63
|
-
end = 'north'
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (Math.abs(sBox.left - sp.x) < padding) {
|
|
67
|
-
start = 'west'
|
|
68
|
-
} else if (Math.abs(sBox.right - sp.x) < padding) {
|
|
69
|
-
start = 'east'
|
|
70
|
-
} else if (Math.abs(sBox.top - sp.y) < padding) {
|
|
71
|
-
start = 'north'
|
|
72
|
-
} else {
|
|
73
|
-
start = 'south'
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return {
|
|
77
|
-
end,
|
|
78
|
-
start,
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// /**
|
|
83
|
-
// * @param {Point} p1
|
|
84
|
-
// * @param {Point} p2
|
|
85
|
-
// * @param {Point} p3
|
|
86
|
-
// * @param {Point} p4
|
|
87
|
-
// * @returns {boolean} True when the pair of points (p1, p2) and (p3, p4) are the same on any order.
|
|
88
|
-
// */
|
|
89
|
-
// export function theSamePair(p1, p2, p3, p4) {
|
|
90
|
-
// if (p1.x === p3.x && p1.y === p3.y && p2.x === p4.x && p2.y === p4.y) {
|
|
91
|
-
// return true;
|
|
92
|
-
// }
|
|
93
|
-
// if (p1.x === p4.x && p1.y === p4.y && p2.x === p3.x && p2.y === p3.y) {
|
|
94
|
-
// return true;
|
|
95
|
-
// }
|
|
96
|
-
// return false;
|
|
97
|
-
// }
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Finds a pair of points closest to each other but from both sets.
|
|
101
|
-
*
|
|
102
|
-
* @param s1 First set.
|
|
103
|
-
* @param s2 Second set.
|
|
104
|
-
* @param avoid1 Avoid these points (when possible) from the set1
|
|
105
|
-
* @param avoid2 Avoid these points (when possible) from the set2
|
|
106
|
-
* @returns A list of two points closest to each other or null if there were no points in the set.
|
|
107
|
-
*/
|
|
108
|
-
export function closetsPair(s1: Point[], s2: Point[], avoid1: Point[] = [], avoid2: Point[] = []): Point[] | null {
|
|
109
|
-
const avoidSet1 = new Set(avoid1.map((p) => `${p.x},${p.y}`))
|
|
110
|
-
const avoidSet2 = new Set(avoid2.map((p) => `${p.x},${p.y}`))
|
|
111
|
-
|
|
112
|
-
const filteredS1 = s1.filter((p) => !avoidSet1.has(`${p.x},${p.y}`))
|
|
113
|
-
const filteredS2 = s2.filter((p) => !avoidSet2.has(`${p.x},${p.y}`))
|
|
114
|
-
|
|
115
|
-
if (filteredS1.length === 0 || filteredS2.length === 0) {
|
|
116
|
-
return null
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
let minSquaredDistance = Number.MAX_SAFE_INTEGER
|
|
120
|
-
let p: Point | undefined
|
|
121
|
-
let q: Point | undefined
|
|
122
|
-
|
|
123
|
-
filteredS1.forEach((sp) => {
|
|
124
|
-
filteredS2.forEach((sq) => {
|
|
125
|
-
const squaredDistance = (sp.x - sq.x) ** 2 + (sp.y - sq.y) ** 2
|
|
126
|
-
if (squaredDistance < minSquaredDistance) {
|
|
127
|
-
minSquaredDistance = squaredDistance
|
|
128
|
-
p = sp
|
|
129
|
-
q = sq
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
})
|
|
133
|
-
|
|
134
|
-
if (p && q) {
|
|
135
|
-
return [p, q]
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return null // Return null if no pair is found.
|
|
139
|
-
}
|
|
140
|
-
// export function closetsPair(s1: Point[], s2: Point[], avoid1: Point[] = [], avoid2: Point[] = []): Point[] | null {
|
|
141
|
-
// let distance = Number.MAX_SAFE_INTEGER
|
|
142
|
-
// let p: Point | undefined
|
|
143
|
-
// let q: Point | undefined
|
|
144
|
-
// s1.forEach((sp) => {
|
|
145
|
-
// if (avoid1.some((i) => i.x === sp.x && i.y === sp.y)) {
|
|
146
|
-
// return
|
|
147
|
-
// }
|
|
148
|
-
// s2.forEach((sq) => {
|
|
149
|
-
// if (avoid2.some((i) => i.x === sq.x && i.y === sq.y)) {
|
|
150
|
-
// return
|
|
151
|
-
// }
|
|
152
|
-
// const d = sp.distance(sq)
|
|
153
|
-
// if (d < distance) {
|
|
154
|
-
// distance = d
|
|
155
|
-
// p = sp
|
|
156
|
-
// q = sq
|
|
157
|
-
// }
|
|
158
|
-
// })
|
|
159
|
-
// })
|
|
160
|
-
// if (!p && !!(avoid1.length || avoid2.length)) {
|
|
161
|
-
// return closetsPair(s1, s2)
|
|
162
|
-
// }
|
|
163
|
-
// if (!p) {
|
|
164
|
-
// return null
|
|
165
|
-
// }
|
|
166
|
-
// if (q) {
|
|
167
|
-
// return [p, q]
|
|
168
|
-
// }
|
|
169
|
-
// return [p]
|
|
170
|
-
// }
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Filters out invalid points
|
|
174
|
-
*/
|
|
175
|
-
export function filterPoints(points: Point[]): Point[] {
|
|
176
|
-
return points.filter((v) => v.validate())
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Computes a point of the click inside the workspace element (not the content wrapper).
|
|
181
|
-
* This then can be used to position elements that are not inside the visualization
|
|
182
|
-
* workspace.
|
|
183
|
-
*
|
|
184
|
-
* @param workspace The workspace element
|
|
185
|
-
* @returns A point with x and y scaled coordinates.
|
|
186
|
-
*/
|
|
187
|
-
export function getWorkspaceClick(x: number, y: number, workspace: VizWorkspaceElement): Point {
|
|
188
|
-
const { left, top } = workspace.getBoundingClientRect()
|
|
189
|
-
const workspaceX = x - left
|
|
190
|
-
const workspaceY = y - top
|
|
191
|
-
return new Point(workspaceX, workspaceY)
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export function getObjectBoundingClientRect(element: Element, workspace: VizWorkspaceElement): DOMRect {
|
|
195
|
-
const box = element.getBoundingClientRect()
|
|
196
|
-
const { x, y } = getRelativeClickPoint(box.x, box.y, workspace)
|
|
197
|
-
const { scale } = workspace
|
|
198
|
-
return new DOMRect(x, y, box.width / scale, box.height / scale)
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Dispatches the `positionchange` custom event on an element that has been positioned.
|
|
203
|
-
*
|
|
204
|
-
* @param dx The difference in the `x` position in relation to the object position before the move
|
|
205
|
-
* @param dy The difference in the `y` position in relation to the object position before the move
|
|
206
|
-
*/
|
|
207
|
-
export function notifyMoved(element: EventTarget, dx: number, dy: number): void {
|
|
208
|
-
const e = new CustomEvent('positionchange', {
|
|
209
|
-
composed: true,
|
|
210
|
-
cancelable: true,
|
|
211
|
-
bubbles: true,
|
|
212
|
-
detail: {
|
|
213
|
-
dx,
|
|
214
|
-
dy,
|
|
215
|
-
},
|
|
216
|
-
})
|
|
217
|
-
element.dispatchEvent(e)
|
|
218
|
-
}
|