@plait/core 0.2.0 → 0.2.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/esm2020/board/board.component.mjs +3 -2
- package/esm2020/core/element/element.component.mjs +2 -2
- package/esm2020/utils/dom/common.mjs +21 -1
- package/fesm2015/plait-core.mjs +23 -3
- package/fesm2015/plait-core.mjs.map +1 -1
- package/fesm2020/plait-core.mjs +23 -3
- package/fesm2020/plait-core.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/dom/common.d.ts +9 -0
package/fesm2020/plait-core.mjs
CHANGED
|
@@ -666,6 +666,26 @@ function createText(x, y, fill, textContent) {
|
|
|
666
666
|
text.textContent = textContent;
|
|
667
667
|
return text;
|
|
668
668
|
}
|
|
669
|
+
/**
|
|
670
|
+
* Check if a DOM node is an element node.
|
|
671
|
+
*/
|
|
672
|
+
const isDOMElement = (value) => {
|
|
673
|
+
return isDOMNode(value) && value.nodeType === 1;
|
|
674
|
+
};
|
|
675
|
+
/**
|
|
676
|
+
* Check if a value is a DOM node.
|
|
677
|
+
*/
|
|
678
|
+
const isDOMNode = (value) => {
|
|
679
|
+
return value instanceof window.Node;
|
|
680
|
+
};
|
|
681
|
+
const hasInputOrTextareaTarget = (target) => {
|
|
682
|
+
if (isDOMElement(target)) {
|
|
683
|
+
if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {
|
|
684
|
+
return true;
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
return false;
|
|
688
|
+
};
|
|
669
689
|
|
|
670
690
|
function createForeignObject(x, y, width, height) {
|
|
671
691
|
var newForeignObject = document.createElementNS(NS, 'foreignObject');
|
|
@@ -2033,7 +2053,7 @@ class PlaitElementComponent {
|
|
|
2033
2053
|
}
|
|
2034
2054
|
insertG(g) {
|
|
2035
2055
|
if (PlaitBoard.isBoard(this.parent)) {
|
|
2036
|
-
this.parentG.
|
|
2056
|
+
this.parentG.append(g);
|
|
2037
2057
|
}
|
|
2038
2058
|
else {
|
|
2039
2059
|
let siblingG = PlaitElement.getComponent(this.parent).g;
|
|
@@ -2337,7 +2357,7 @@ class PlaitBoardComponent {
|
|
|
2337
2357
|
this.board.dblclick(event);
|
|
2338
2358
|
});
|
|
2339
2359
|
fromEvent(document, 'keydown')
|
|
2340
|
-
.pipe(takeUntil(this.destroy$), filter(
|
|
2360
|
+
.pipe(takeUntil(this.destroy$), filter(event => this.isFocused && !PlaitBoard.hasBeenTextEditing(this.board) && !hasInputOrTextareaTarget(event.target)))
|
|
2341
2361
|
.subscribe((event) => {
|
|
2342
2362
|
if (isHotkey(['mod+=', 'mod++'], { byKey: true })(event)) {
|
|
2343
2363
|
event.preventDefault();
|
|
@@ -2528,5 +2548,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
2528
2548
|
* Generated bundle index. Do not edit.
|
|
2529
2549
|
*/
|
|
2530
2550
|
|
|
2531
|
-
export { BOARD_TO_COMPONENT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, CLIP_BOARD_FORMAT_KEY, ELEMENT_TO_COMPONENT, FLUSHING, IS_APPLE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_SAFARI, IS_TEXT_EDITABLE, MAX_RADIUS, MERGING, NODE_TO_INDEX, NODE_TO_PARENT, NS, Path, PlaitBoard, PlaitBoardComponent, PlaitChildrenElement, PlaitElement, PlaitElementComponent, PlaitHistoryBoard, PlaitModule, PlaitNode, PlaitOperation, PlaitPluginElementComponent, PlaitPointerType, PlaitToolbarComponent, Point, RectangleClient, SAVING, SCROLL_BAR_WIDTH, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, Selection, Transforms, Viewport, addMovingElements, addSelectedElement, arrowPoints, cacheMovingElements, cacheSelectedElements, changeZoom, clampZoomLevel, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createForeignObject, createG, createSVG, createSelectionOuterG, createText, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, drawAbstractRoundRectangle, drawArrow, drawCircle, drawLine, drawRoundRectangle, fitViewport, getBoardRectangle, getElementHostBBox, getHitElements, getMovingElements, getRectangleByElements, getSelectedElements, getTemporaryElements, getViewBox, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isFromScrolling, isFromViewportChange, isInPlaitBoard, isIntersectionElements, isNullOrUndefined, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setIsFromScrolling, setIsFromViewportChange, setSVGViewBox, setSelectionMoving, setViewport, shouldClear, shouldMerge, shouldSave, throttleRAF, toPoint, transformPoint, transformPoints, updateForeignObject, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withSelection };
|
|
2551
|
+
export { BOARD_TO_COMPONENT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, CLIP_BOARD_FORMAT_KEY, ELEMENT_TO_COMPONENT, FLUSHING, IS_APPLE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_SAFARI, IS_TEXT_EDITABLE, MAX_RADIUS, MERGING, NODE_TO_INDEX, NODE_TO_PARENT, NS, Path, PlaitBoard, PlaitBoardComponent, PlaitChildrenElement, PlaitElement, PlaitElementComponent, PlaitHistoryBoard, PlaitModule, PlaitNode, PlaitOperation, PlaitPluginElementComponent, PlaitPointerType, PlaitToolbarComponent, Point, RectangleClient, SAVING, SCROLL_BAR_WIDTH, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, Selection, Transforms, Viewport, addMovingElements, addSelectedElement, arrowPoints, cacheMovingElements, cacheSelectedElements, changeZoom, clampZoomLevel, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createForeignObject, createG, createSVG, createSelectionOuterG, createText, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, drawAbstractRoundRectangle, drawArrow, drawCircle, drawLine, drawRoundRectangle, fitViewport, getBoardRectangle, getElementHostBBox, getHitElements, getMovingElements, getRectangleByElements, getSelectedElements, getTemporaryElements, getViewBox, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isDOMElement, isDOMNode, isFromScrolling, isFromViewportChange, isInPlaitBoard, isIntersectionElements, isNullOrUndefined, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setIsFromScrolling, setIsFromViewportChange, setSVGViewBox, setSelectionMoving, setViewport, shouldClear, shouldMerge, shouldSave, throttleRAF, toPoint, transformPoint, transformPoints, updateForeignObject, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withSelection };
|
|
2532
2552
|
//# sourceMappingURL=plait-core.mjs.map
|