@plait/mind 0.29.0 → 0.31.0
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/constants/default.d.ts +0 -1
- package/esm2022/constants/default.mjs +1 -2
- package/esm2022/drawer/node-active.generator.mjs +6 -5
- package/esm2022/plugins/with-mind.mjs +19 -5
- package/esm2022/plugins/with-node-dnd.mjs +10 -11
- package/esm2022/plugins/with-node-image-resize.mjs +6 -5
- package/esm2022/plugins/with-node-image.mjs +26 -25
- package/esm2022/plugins/with-node-resize.mjs +3 -3
- package/esm2022/transforms/image.mjs +3 -3
- package/esm2022/utils/node/image.mjs +10 -18
- package/esm2022/utils/position/image.mjs +3 -3
- package/fesm2022/plait-mind.mjs +71 -65
- package/fesm2022/plait-mind.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/styles.scss +16 -0
- package/utils/node/image.d.ts +2 -4
- package/utils/position/image.d.ts +2 -2
- package/utils/space/node-space.d.ts +1 -1
|
@@ -73,10 +73,10 @@ export const withNodeResize = (board) => {
|
|
|
73
73
|
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
74
74
|
const newTargetElement = getSelectedTarget(board, point);
|
|
75
75
|
if (newTargetElement) {
|
|
76
|
-
PlaitBoard.getBoardContainer(board).classList.add(ResizeCursorClass['ew-resize']);
|
|
76
|
+
PlaitBoard.getBoardContainer(board).classList.add(`mind-${ResizeCursorClass['ew-resize']}`);
|
|
77
77
|
}
|
|
78
78
|
else {
|
|
79
|
-
PlaitBoard.getBoardContainer(board).classList.remove(ResizeCursorClass['ew-resize']);
|
|
79
|
+
PlaitBoard.getBoardContainer(board).classList.remove(`mind-${ResizeCursorClass['ew-resize']}`);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -130,4 +130,4 @@ export const getResizeActiveRectangle = (board, element) => {
|
|
|
130
130
|
const rectangle = getRectangleByNode(node);
|
|
131
131
|
return { x: rectangle.x + rectangle.width - EXTEND_OFFSET, y: rectangle.y, width: EXTEND_OFFSET * 2, height: rectangle.height };
|
|
132
132
|
};
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUNQLHFCQUFxQixFQUVyQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFHVCxpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVNqRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQzVELElBQUksYUFBYSxHQUF1QixJQUFJLENBQUM7SUFDN0MsSUFBSSxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBQ3JELElBQUksVUFBVSxHQUFpQixJQUFJLENBQUM7SUFFcEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxL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QUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFrQixDQUFDO0lBQzlILElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUM3QixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELE9BQU8sZ0NBQWdDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7S0FDakM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBbUIsRUFBRTtJQUNqRyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLGFBQWEsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3BJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgTUVSR0lORyxcbiAgICBQUkVTU19BTkRfTU9WRV9CVUZGRVIsXG4gICAgUGF0aCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBQbGFpdE5vZGUsXG4gICAgUG9pbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFJlc2l6ZUN1cnNvckNsYXNzLFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQsXG4gICAgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBwcmV2ZW50VG91Y2hNb3ZlLFxuICAgIHRocm90dGxlUkFGLFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi9taW5kLW5vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRVhURU5EX09GRlNFVCB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IGlzRHJhZ2dpbmcgfSBmcm9tICcuLi91dGlscy9kbmQvY29tbW9uJztcblxuaW50ZXJmYWNlIFRhcmdldEVsZW1lbnRSZWYge1xuICAgIG1pbldpZHRoOiBudW1iZXI7XG4gICAgY3VycmVudFdpZHRoOiBudW1iZXI7XG4gICAgcGF0aDogUGF0aDtcbiAgICB0ZXh0TWFuYWdlOiBUZXh0TWFuYWdlO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aE5vZGVSZXNpemUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgZ2xvYmFsUG9pbnRlclVwIH0gPSBib2FyZDtcbiAgICBsZXQgdGFyZ2V0RWxlbWVudDogTWluZEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdGFyZ2V0RWxlbWVudFJlZjogVGFyZ2V0RWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludCB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcblxuICAgICAgICBjb25zdCBuZXdUYXJnZXRFbGVtZW50ID0gZ2V0U2VsZWN0ZWRUYXJnZXQoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHBvaW50KTtcbiAgICAgICAgaWYgKG5ld1RhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoUmVzaXplQ3Vyc29yQ2xhc3NbJ2V3LXJlc2l6ZSddKTtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnQgPSBuZXdUYXJnZXRFbGVtZW50O1xuICAgICAgICAgICAgc3RhcnRQb2ludCA9IFtldmVudC54LCBldmVudC55XTtcbiAgICAgICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSB8fCBQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkpIHtcbiAgICAgICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGFydFBvaW50ICYmIHRhcmdldEVsZW1lbnQgJiYgIWlzTWluZE5vZGVSZXNpemluZyhib2FyZCkpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgdGV4dCBmcm9tIGJlaW5nIHNlbGVjdGVkXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoc3RhcnRQb2ludFswXSwgc3RhcnRQb2ludFsxXSwgZW5kUG9pbnRbMF0sIGVuZFBvaW50WzFdKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IFBSRVNTX0FORF9NT1ZFX0JVRkZFUikge1xuICAgICAgICAgICAgICAgIGFkZFJlc2l6aW5nKGJvYXJkLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50UmVmID0ge1xuICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogTm9kZVNwYWNlLmdldE5vZGVSZXNpemFibGVNaW5XaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgdGFyZ2V0RWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRXaWR0aDogTm9kZVNwYWNlLmdldE5vZGVEeW5hbWljV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHRhcmdldEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCB0YXJnZXRFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZTogTWluZEVsZW1lbnQuZ2V0VGV4dE1hbmFnZSh0YXJnZXRFbGVtZW50KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTWluZE5vZGVSZXNpemluZyhib2FyZCkgJiYgc3RhcnRQb2ludCAmJiB0YXJnZXRFbGVtZW50UmVmKSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50IHRleHQgZnJvbSBiZWluZyBzZWxlY3RlZFxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIHRocm90dGxlUkFGKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFBvaW50ID0gW2V2ZW50LngsIGV2ZW50LnldO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFggPSBlbmRQb2ludFswXSAtIHN0YXJ0UG9pbnQhWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGxldCByZXNpemVkV2lkdGggPSB0YXJnZXRFbGVtZW50UmVmIS5jdXJyZW50V2lkdGggKyBvZmZzZXRYIC8gem9vbTtcbiAgICAgICAgICAgICAgICBpZiAocmVzaXplZFdpZHRoIDw9IHRhcmdldEVsZW1lbnRSZWYhLm1pbldpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZWRXaWR0aCA9IHRhcmdldEVsZW1lbnRSZWYhLm1pbldpZHRoO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1RhcmdldCA9IFBsYWl0Tm9kZS5nZXQ8TWluZEVsZW1lbnQ+KGJvYXJkLCB0YXJnZXRFbGVtZW50UmVmIS5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV3VGFyZ2V0ICYmIE5vZGVTcGFjZS5nZXROb2RlVG9waWNNaW5XaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgbmV3VGFyZ2V0KSAhPT0gcmVzaXplZFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnRSZWYhLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlV2lkdGgocmVzaXplZFdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBoZWlnaHQgfSA9IHRhcmdldEVsZW1lbnRSZWYhLnRleHRNYW5hZ2UuZ2V0U2l6ZSgpO1xuICAgICAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXROb2RlTWFudWFsV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIG5ld1RhcmdldCwgcmVzaXplZFdpZHRoICogem9vbSwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHByZXNzIGFuZCBzdGFydCBkcmFnIHdoZW4gbm9kZSBpcyBub24gc2VsZWN0ZWRcbiAgICAgICAgICAgIGlmICghaXNEcmFnZ2luZyhib2FyZCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdUYXJnZXRFbGVtZW50ID0gZ2V0U2VsZWN0ZWRUYXJnZXQoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHBvaW50KTtcbiAgICAgICAgICAgICAgICBpZiAobmV3VGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QuYWRkKFJlc2l6ZUN1cnNvckNsYXNzWydldy1yZXNpemUnXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZShSZXNpemVDdXJzb3JDbGFzc1snZXctcmVzaXplJ10pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsUG9pbnRlclVwID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgZ2xvYmFsUG9pbnRlclVwKGV2ZW50KTtcblxuICAgICAgICBpZiAoaXNNaW5kTm9kZVJlc2l6aW5nKGJvYXJkKSB8fCB0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ICYmIHJlbW92ZVJlc2l6aW5nKGJvYXJkLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnRSZWYgPSBudWxsO1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IG51bGw7XG4gICAgICAgICAgICBzdGFydFBvaW50ID0gbnVsbDtcbiAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBJU19NSU5EX05PREVfUkVTSVpJTkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5leHBvcnQgY29uc3QgaXNNaW5kTm9kZVJlc2l6aW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuICEhSVNfTUlORF9OT0RFX1JFU0laSU5HLmdldChib2FyZCk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkUmVzaXppbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZCgnbWluZC1ub2RlLXJlc2l6aW5nJyk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KTtcbiAgICBjb21wb25lbnQuZy5jbGFzc0xpc3QuYWRkKCdyZXNpemluZycpO1xuICAgIElTX01JTkRfTk9ERV9SRVNJWklORy5zZXQoYm9hcmQsIHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVJlc2l6aW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoJ21pbmQtbm9kZS1yZXNpemluZycpO1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoUmVzaXplQ3Vyc29yQ2xhc3NbJ2V3LXJlc2l6ZSddKTtcbiAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpO1xuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50LmcpIHtcbiAgICAgICAgY29tcG9uZW50LmcuY2xhc3NMaXN0LnJlbW92ZSgncmVzaXppbmcnKTtcbiAgICB9XG4gICAgSVNfTUlORF9OT0RFX1JFU0laSU5HLnNldChib2FyZCwgZmFsc2UpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkVGFyZ2V0ID0gKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmZpbHRlcih2YWx1ZSA9PiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCB2YWx1ZSkpIGFzIE1pbmRFbGVtZW50W107XG4gICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbmQodmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVzaXplQWN0aXZlUmVjdGFuZ2xlKGJvYXJkLCB2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUocG9pbnRbMF0sIHBvaW50WzFdLCByZWN0YW5nbGUpIDw9IDA7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGFyZ2V0ID8gdGFyZ2V0IDogbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZXNpemVBY3RpdmVSZWN0YW5nbGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KTogUmVjdGFuZ2xlQ2xpZW50ID0+IHtcbiAgICBjb25zdCBub2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgcmV0dXJuIHsgeDogcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLSBFWFRFTkRfT0ZGU0VULCB5OiByZWN0YW5nbGUueSwgd2lkdGg6IEVYVEVORF9PRkZTRVQgKiAyLCBoZWlnaHQ6IHJlY3RhbmdsZS5oZWlnaHQgfTtcbn07XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUNQLHFCQUFxQixFQUVyQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFHVCxpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVNqRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQzVELElBQUksYUFBYSxHQUF1QixJQUFJLENBQUM7SUFDN0MsSUFBSSxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBQ3JELElBQUksVUFBVSxHQUFpQixJQUFJLENBQUM7SUFFcEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxL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QUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQWtCLENBQUM7SUFDOUgsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QyxNQUFNLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsT0FBTyxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUNqQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFtQixFQUFFO0lBQ2pHLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDcEksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBNRVJHSU5HLFxuICAgIFBSRVNTX0FORF9NT1ZFX0JVRkZFUixcbiAgICBQYXRoLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIFBsYWl0Tm9kZSxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgUmVzaXplQ3Vyc29yQ2xhc3MsXG4gICAgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludCxcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZSxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIHByZXZlbnRUb3VjaE1vdmUsXG4gICAgdGhyb3R0bGVSQUYsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9ub2RlJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IFRleHRNYW5hZ2UgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBFWFRFTkRfT0ZGU0VUIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuaW1wb3J0IHsgaXNEcmFnZ2luZyB9IGZyb20gJy4uL3V0aWxzL2RuZC9jb21tb24nO1xuXG5pbnRlcmZhY2UgVGFyZ2V0RWxlbWVudFJlZiB7XG4gICAgbWluV2lkdGg6IG51bWJlcjtcbiAgICBjdXJyZW50V2lkdGg6IG51bWJlcjtcbiAgICBwYXRoOiBQYXRoO1xuICAgIHRleHRNYW5hZ2U6IFRleHRNYW5hZ2U7XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZVJlc2l6ZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBnbG9iYWxQb2ludGVyVXAgfSA9IGJvYXJkO1xuICAgIGxldCB0YXJnZXRFbGVtZW50OiBNaW5kRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGxldCB0YXJnZXRFbGVtZW50UmVmOiBUYXJnZXRFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHN0YXJ0UG9pbnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBib2FyZC5wb2ludGVyRG93biA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuXG4gICAgICAgIGNvbnN0IG5ld1RhcmdldEVsZW1lbnQgPSBnZXRTZWxlY3RlZFRhcmdldChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgcG9pbnQpO1xuICAgICAgICBpZiAobmV3VGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZChSZXNpemVDdXJzb3JDbGFzc1snZXctcmVzaXplJ10pO1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IG5ld1RhcmdldEVsZW1lbnQ7XG4gICAgICAgICAgICBzdGFydFBvaW50ID0gW2V2ZW50LngsIGV2ZW50LnldO1xuICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpIHx8IFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQgJiYgdGFyZ2V0RWxlbWVudCAmJiAhaXNNaW5kTm9kZVJlc2l6aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgLy8gcHJldmVudCB0ZXh0IGZyb20gYmVpbmcgc2VsZWN0ZWRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBlbmRQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludChzdGFydFBvaW50WzBdLCBzdGFydFBvaW50WzFdLCBlbmRQb2ludFswXSwgZW5kUG9pbnRbMV0pO1xuICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gUFJFU1NfQU5EX01PVkVfQlVGRkVSKSB7XG4gICAgICAgICAgICAgICAgYWRkUmVzaXppbmcoYm9hcmQsIHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnRSZWYgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbldpZHRoOiBOb2RlU3BhY2UuZ2V0Tm9kZVJlc2l6YWJsZU1pbldpZHRoKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCB0YXJnZXRFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFdpZHRoOiBOb2RlU3BhY2UuZ2V0Tm9kZUR5bmFtaWNXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgdGFyZ2V0RWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIHRhcmdldEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlOiBNaW5kRWxlbWVudC5nZXRUZXh0TWFuYWdlKHRhcmdldEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNNaW5kTm9kZVJlc2l6aW5nKGJvYXJkKSAmJiBzdGFydFBvaW50ICYmIHRhcmdldEVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgdGV4dCBmcm9tIGJlaW5nIHNlbGVjdGVkXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghc3RhcnRQb2ludCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSBbZXZlbnQueCwgZXZlbnQueV07XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludCFbMF07XG4gICAgICAgICAgICAgICAgY29uc3Qgem9vbSA9IGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgbGV0IHJlc2l6ZWRXaWR0aCA9IHRhcmdldEVsZW1lbnRSZWYhLmN1cnJlbnRXaWR0aCArIG9mZnNldFggLyB6b29tO1xuICAgICAgICAgICAgICAgIGlmIChyZXNpemVkV2lkdGggPD0gdGFyZ2V0RWxlbWVudFJlZiEubWluV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplZFdpZHRoID0gdGFyZ2V0RWxlbWVudFJlZiEubWluV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gUGxhaXROb2RlLmdldDxNaW5kRWxlbWVudD4oYm9hcmQsIHRhcmdldEVsZW1lbnRSZWYhLnBhdGgpO1xuICAgICAgICAgICAgICAgIGlmIChuZXdUYXJnZXQgJiYgTm9kZVNwYWNlLmdldE5vZGVUb3BpY01pbldpZHRoKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBuZXdUYXJnZXQpICE9PSByZXNpemVkV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudFJlZiEudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGVXaWR0aChyZXNpemVkV2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGhlaWdodCB9ID0gdGFyZ2V0RWxlbWVudFJlZiEudGV4dE1hbmFnZS5nZXRTaXplKCk7XG4gICAgICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldE5vZGVNYW51YWxXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgbmV3VGFyZ2V0LCByZXNpemVkV2lkdGggKiB6b29tLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcHJlc3MgYW5kIHN0YXJ0IGRyYWcgd2hlbiBub2RlIGlzIG5vbiBzZWxlY3RlZFxuICAgICAgICAgICAgaWYgKCFpc0RyYWdnaW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1RhcmdldEVsZW1lbnQgPSBnZXRTZWxlY3RlZFRhcmdldChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgIGlmIChuZXdUYXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoYG1pbmQtJHtSZXNpemVDdXJzb3JDbGFzc1snZXctcmVzaXplJ119YCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZShgbWluZC0ke1Jlc2l6ZUN1cnNvckNsYXNzWydldy1yZXNpemUnXX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbFBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG5cbiAgICAgICAgaWYgKGlzTWluZE5vZGVSZXNpemluZyhib2FyZCkgfHwgdGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCAmJiByZW1vdmVSZXNpemluZyhib2FyZCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50UmVmID0gbnVsbDtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3QgSVNfTUlORF9OT0RFX1JFU0laSU5HID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuZXhwb3J0IGNvbnN0IGlzTWluZE5vZGVSZXNpemluZyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIHJldHVybiAhIUlTX01JTkRfTk9ERV9SRVNJWklORy5nZXQoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZFJlc2l6aW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ21pbmQtbm9kZS1yZXNpemluZycpO1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCk7XG4gICAgY29tcG9uZW50LmcuY2xhc3NMaXN0LmFkZCgncmVzaXppbmcnKTtcbiAgICBJU19NSU5EX05PREVfUkVTSVpJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVSZXNpemluZyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QucmVtb3ZlKCdtaW5kLW5vZGUtcmVzaXppbmcnKTtcbiAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QucmVtb3ZlKFJlc2l6ZUN1cnNvckNsYXNzWydldy1yZXNpemUnXSk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KTtcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudC5nKSB7XG4gICAgICAgIGNvbXBvbmVudC5nLmNsYXNzTGlzdC5yZW1vdmUoJ3Jlc2l6aW5nJyk7XG4gICAgfVxuICAgIElTX01JTkRfTk9ERV9SRVNJWklORy5zZXQoYm9hcmQsIGZhbHNlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZFRhcmdldCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKS5maWx0ZXIodmFsdWUgPT4gTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgdmFsdWUpKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gc2VsZWN0ZWRFbGVtZW50cy5maW5kKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlc2l6ZUFjdGl2ZVJlY3RhbmdsZShib2FyZCwgdmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlKHBvaW50WzBdLCBwb2ludFsxXSwgcmVjdGFuZ2xlKSA8PSAwO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRhcmdldCA/IHRhcmdldCA6IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVzaXplQWN0aXZlUmVjdGFuZ2xlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCk6IFJlY3RhbmdsZUNsaWVudCA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCk7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKG5vZGUpO1xuICAgIHJldHVybiB7IHg6IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC0gRVhURU5EX09GRlNFVCwgeTogcmVjdGFuZ2xlLnksIHdpZHRoOiBFWFRFTkRfT0ZGU0VUICogMiwgaGVpZ2h0OiByZWN0YW5nbGUuaGVpZ2h0IH07XG59O1xuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PlaitBoard, Transforms } from '@plait/core';
|
|
2
|
-
import {
|
|
2
|
+
import { removeImageFocus } from '../utils/node/image';
|
|
3
3
|
import { NodeSpace } from '../utils/space/node-space';
|
|
4
4
|
import { getNewNodeHeight } from '../utils/node/dynamic-width';
|
|
5
5
|
export const removeImage = (board, element) => {
|
|
6
|
-
|
|
6
|
+
removeImageFocus(board, element);
|
|
7
7
|
const newElement = {
|
|
8
8
|
data: { ...element.data }
|
|
9
9
|
};
|
|
@@ -28,4 +28,4 @@ export const setImage = (board, element, imageItem) => {
|
|
|
28
28
|
const path = PlaitBoard.findPath(board, element);
|
|
29
29
|
Transforms.setNode(board, newElement, path);
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcvRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsRUFBRTtJQUM5RSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7S0FDYixDQUFDO0lBQ2pCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFakQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksU0FBUyxFQUFFO1FBQ1gsVUFBVSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7S0FDdkQ7SUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLFNBQTBCLEVBQUUsRUFBRTtJQUM1RixNQUFNLFVBQVUsR0FBRztRQUNmLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0tBQzlDLENBQUM7SUFFRixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBdUIsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVHLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksU0FBUyxFQUFFO1FBQ1YsVUFBMEIsQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0tBQ3hFO0lBRUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBJbWFnZURhdGEsIE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyByZW1vdmVJbWFnZUZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9pbWFnZSc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgZ2V0TmV3Tm9kZUhlaWdodCB9IGZyb20gJy4uL3V0aWxzL25vZGUvZHluYW1pYy13aWR0aCc7XG5pbXBvcnQgeyBDb21tb25JbWFnZUl0ZW0gfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+KSA9PiB7XG4gICAgcmVtb3ZlSW1hZ2VGb2N1cyhib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEgfVxuICAgIH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgZGVsZXRlIG5ld0VsZW1lbnQuZGF0YS5pbWFnZTtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG5cbiAgICBjb25zdCBuZXdEeW5hbWljV2lkdGggPSBOb2RlU3BhY2UuZ2V0Tm9kZU5ld0R5bmFtaWNXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgMCk7XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gZ2V0TmV3Tm9kZUhlaWdodChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgbmV3RHluYW1pY1dpZHRoKTtcbiAgICBpZiAobmV3SGVpZ2h0KSB7XG4gICAgICAgIG5ld0VsZW1lbnQuaGVpZ2h0ID0gbmV3SGVpZ2h0IC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICB9XG5cbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgaW1hZ2VJdGVtOiBDb21tb25JbWFnZUl0ZW0pID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgaW1hZ2U6IGltYWdlSXRlbSB9XG4gICAgfTtcblxuICAgIGNvbnN0IG5ld0R5bmFtaWNXaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlTmV3RHluYW1pY1dpZHRoKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50LCBpbWFnZUl0ZW0ud2lkdGgpO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IGdldE5ld05vZGVIZWlnaHQoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQsIG5ld0R5bmFtaWNXaWR0aCk7XG4gICAgaWYgKG5ld0hlaWdodCkge1xuICAgICAgICAobmV3RWxlbWVudCBhcyBNaW5kRWxlbWVudCkuaGVpZ2h0ID0gbmV3SGVpZ2h0IC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG4iXX0=
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { PlaitElement } from '@plait/core';
|
|
2
|
-
|
|
3
|
-
export const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
export const removeSelectedImageElement = (board) => {
|
|
10
|
-
BOARD_TO_SELECTED_IMAGE_ELEMENT.delete(board);
|
|
2
|
+
import { addElementOfFocusedImage, removeElementOfFocusedImage } from '@plait/common';
|
|
3
|
+
export const addImageFocus = (board, element) => {
|
|
4
|
+
addElementOfFocusedImage(board, element);
|
|
5
|
+
const elementComponent = PlaitElement.getComponent(element);
|
|
6
|
+
elementComponent.imageGenerator.componentRef.instance.isFocus = true;
|
|
7
|
+
elementComponent.imageGenerator.componentRef.instance.cdr.markForCheck();
|
|
11
8
|
};
|
|
12
|
-
export const
|
|
13
|
-
|
|
14
|
-
addSelectedImageElement(board, element);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
removeSelectedImageElement(board);
|
|
18
|
-
}
|
|
9
|
+
export const removeImageFocus = (board, element) => {
|
|
10
|
+
removeElementOfFocusedImage(board);
|
|
19
11
|
const elementComponent = PlaitElement.getComponent(element);
|
|
20
|
-
elementComponent.imageGenerator.componentRef.instance.isFocus =
|
|
12
|
+
elementComponent.imageGenerator.componentRef.instance.isFocus = false;
|
|
21
13
|
elementComponent.imageGenerator.componentRef.instance.cdr.markForCheck();
|
|
22
14
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBK0IsRUFBRSxFQUFFO0lBQ2hGLHdCQUF3QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFzQixDQUFDO0lBQ2pGLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEUsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFlBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0FBQzlFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLEVBQUU7SUFDbkYsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztJQUNqRixnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsWUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZFLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUM5RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgSW1hZ2VEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgYWRkRWxlbWVudE9mRm9jdXNlZEltYWdlLCByZW1vdmVFbGVtZW50T2ZGb2N1c2VkSW1hZ2UgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IGFkZEltYWdlRm9jdXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pID0+IHtcbiAgICBhZGRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IGVsZW1lbnRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGVsZW1lbnRDb21wb25lbnQuaW1hZ2VHZW5lcmF0b3IuY29tcG9uZW50UmVmIS5pbnN0YW5jZS5pc0ZvY3VzID0gdHJ1ZTtcbiAgICBlbGVtZW50Q29tcG9uZW50LmltYWdlR2VuZXJhdG9yLmNvbXBvbmVudFJlZiEuaW5zdGFuY2UuY2RyLm1hcmtGb3JDaGVjaygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUltYWdlRm9jdXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pID0+IHtcbiAgICByZW1vdmVFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpO1xuICAgIGNvbnN0IGVsZW1lbnRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGVsZW1lbnRDb21wb25lbnQuaW1hZ2VHZW5lcmF0b3IuY29tcG9uZW50UmVmIS5pbnN0YW5jZS5pc0ZvY3VzID0gZmFsc2U7XG4gICAgZWxlbWVudENvbXBvbmVudC5pbWFnZUdlbmVyYXRvci5jb21wb25lbnRSZWYhLmluc3RhbmNlLmNkci5tYXJrRm9yQ2hlY2soKTtcbn07XG4iXX0=
|
|
@@ -20,10 +20,10 @@ export function getImageForeignRectangle(board, element) {
|
|
|
20
20
|
};
|
|
21
21
|
return rectangle;
|
|
22
22
|
}
|
|
23
|
-
export const isHitImage = (board, element,
|
|
23
|
+
export const isHitImage = (board, element, point) => {
|
|
24
24
|
const imageRectangle = getImageForeignRectangle(board, element);
|
|
25
25
|
const imageOutlineRectangle = RectangleClient.getOutlineRectangle(imageRectangle, -RESIZE_HANDLE_DIAMETER / 2);
|
|
26
|
-
return RectangleClient.
|
|
26
|
+
return RectangleClient.isPointInRectangle(imageOutlineRectangle, point);
|
|
27
27
|
};
|
|
28
28
|
export const getHitImageResizeHandleDirection = (board, element, point) => {
|
|
29
29
|
const imageRectangle = getImageForeignRectangle(board, element);
|
|
@@ -33,4 +33,4 @@ export const getHitImageResizeHandleDirection = (board, element, point) => {
|
|
|
33
33
|
});
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQXFCLEVBQUUsT0FBK0I7SUFDM0YsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRTFELENBQUM7UUFDRyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUNuQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNoRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUM7SUFDOUMsTUFBTSxTQUFTLEdBQUc7UUFDZCxDQUFDO1FBQ0QsQ0FBQztRQUNELEtBQUs7UUFDTCxNQUFNO0tBQ1QsQ0FBQztJQUNGLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDM0YsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUMsS0FBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRyxPQUFPLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBK0IsRUFBRSxLQUFZLEVBQUUsRUFBRTtJQUNqSCxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQyxLQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sZ0JBQWdCLEdBQUcsNEJBQTRCLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDOUYsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ25ELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0csQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgSW1hZ2VEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBSRVNJWkVfSEFORExFX0RJQU1FVEVSLCBnZXRSZWN0YW5nbGVSZXNpemVIYW5kbGVSZWZzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+KTogUmVjdGFuZ2xlQ2xpZW50IHtcbiAgICBsZXQgeyB4LCB5IH0gPSBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudC5tYW51YWxXaWR0aCB8fCBlbGVtZW50LndpZHRoO1xuXG4gICAgeCA9XG4gICAgICAgIGVsZW1lbnRXaWR0aCA+IGVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aFxuICAgICAgICAgICAgPyB4ICsgTm9kZVNwYWNlLmdldFRleHRMZWZ0U3BhY2UoYm9hcmQsIGVsZW1lbnQpICsgKGVsZW1lbnRXaWR0aCAtIGVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aCkgLyAyXG4gICAgICAgICAgICA6IHggKyBOb2RlU3BhY2UuZ2V0VGV4dExlZnRTcGFjZShib2FyZCwgZWxlbWVudCk7XG4gICAgeSA9IE5vZGVTcGFjZS5nZXRJbWFnZVRvcFNwYWNlKGJvYXJkLCBlbGVtZW50KSArIHk7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBlbGVtZW50LmRhdGEuaW1hZ2UhO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IHtcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgIH07XG4gICAgcmV0dXJuIHJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzSGl0SW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4sIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IGltYWdlUmVjdGFuZ2xlID0gZ2V0SW1hZ2VGb3JlaWduUmVjdGFuZ2xlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBpbWFnZU91dGxpbmVSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0T3V0bGluZVJlY3RhbmdsZShpbWFnZVJlY3RhbmdsZSwgLVJFU0laRV9IQU5ETEVfRElBTUVURVIgLyAyKTtcbiAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzUG9pbnRJblJlY3RhbmdsZShpbWFnZU91dGxpbmVSZWN0YW5nbGUsIHBvaW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIaXRJbWFnZVJlc2l6ZUhhbmRsZURpcmVjdGlvbiA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPiwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgY29uc3QgaW1hZ2VSZWN0YW5nbGUgPSBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZVJlZnMgPSBnZXRSZWN0YW5nbGVSZXNpemVIYW5kbGVSZWZzKGltYWdlUmVjdGFuZ2xlLCBSRVNJWkVfSEFORExFX0RJQU1FVEVSKTtcbiAgICBjb25zdCByZXN1bHQgPSByZXNpemVIYW5kbGVSZWZzLmZpbmQocmVzaXplSGFuZGxlUmVmID0+IHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3BvaW50LCBwb2ludF0pLCByZXNpemVIYW5kbGVSZWYucmVjdGFuZ2xlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbiJdfQ==
|
package/fesm2022/plait-mind.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, ChangeDetectionStrategy, NgZone, Directive, Input, HostListener } from '@angular/core';
|
|
3
|
-
import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, PlaitElement, PlaitNode, Path, isNullOrUndefined, PlaitBoard, distanceBetweenPointAndRectangle, RectangleClient, PlaitPluginKey, getSelectedElements, idCreator, Transforms, clearSelectedElement, addSelectedElement, depthFirstRecursion, getIsRecursionFunc, drawRoundRectangle, drawLinearPath, drawBezierPath, createG, updateForeignObject, getRectangleByElements, NODE_TO_PARENT, createForeignObject, setStrokeLinecap, ACTIVE_STROKE_WIDTH, createText, PlaitPointerType, NODE_TO_INDEX, PlaitChildrenElementComponent, isMainPointer, transformPoint, toPoint,
|
|
3
|
+
import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, PlaitElement, PlaitNode, Path, isNullOrUndefined, PlaitBoard, distanceBetweenPointAndRectangle, RectangleClient, PlaitPluginKey, getSelectedElements, idCreator, Transforms, clearSelectedElement, addSelectedElement, depthFirstRecursion, getIsRecursionFunc, drawRoundRectangle, drawLinearPath, drawBezierPath, createG, updateForeignObject, getRectangleByElements, NODE_TO_PARENT, createForeignObject, setStrokeLinecap, ACTIVE_STROKE_WIDTH, createText, PlaitPointerType, NODE_TO_INDEX, PlaitChildrenElementComponent, isMainPointer, transformPoint, toPoint, getHitElementByPoint, distanceBetweenPointAndPoint, CoreTransforms, BOARD_TO_HOST, BoardTransforms, throttleRAF, removeSelectedElement, PlaitHistoryBoard, hotkeys, setClipboardDataByMedia, getClipboardDataByMedia, ResizeCursorClass, preventTouchMove, PRESS_AND_MOVE_BUFFER, MERGING, setClipboardData, setClipboardDataByText, getDataFromClipboard } from '@plait/core';
|
|
4
4
|
import { MindLayoutType, AbstractNode, isIndentedLayout, isHorizontalLayout, isHorizontalLogicLayout, ConnectingPosition, getNonAbstractChildren, isStandardLayout, isLeftLayout, isRightLayout, isVerticalLogicLayout, isTopLayout, isBottomLayout, getCorrectStartEnd, getAbstractLayout, GlobalLayout } from '@plait/layouts';
|
|
5
5
|
import { PlaitMarkEditor, MarkTypes, DEFAULT_FONT_SIZE, TEXT_DEFAULT_HEIGHT, buildText, getTextSize, TextManage, ExitOrigin, getTextFromClipboard } from '@plait/text';
|
|
6
6
|
import { fromEvent, Subject } from 'rxjs';
|
|
7
|
-
import { RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs, Generator, CommonPluginElement, ImageGenerator, WithTextPluginKey, isDrawingMode, isDndMode, setCreationMode, BoardCreationMode, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, isSpaceHotkey, MediaKeys, acceptImageTypes, buildImage, ResizeHandle, withResize } from '@plait/common';
|
|
7
|
+
import { RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs, addElementOfFocusedImage, removeElementOfFocusedImage, Generator, CommonPluginElement, ImageGenerator, WithTextPluginKey, isDrawingMode, isDndMode, setCreationMode, BoardCreationMode, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, isSpaceHotkey, getElementOfFocusedImage, MediaKeys, acceptImageTypes, buildImage, ResizeHandle, withResize } from '@plait/common';
|
|
8
8
|
import { Node as Node$1, Path as Path$1 } from 'slate';
|
|
9
9
|
import { pointsOnBezierCurves } from 'points-on-curve';
|
|
10
10
|
import { take, filter } from 'rxjs/operators';
|
|
@@ -180,7 +180,6 @@ const MindThemeColor = {
|
|
|
180
180
|
const WithMindPluginKey = 'plait-mind-plugin-key';
|
|
181
181
|
const BASE = 4;
|
|
182
182
|
const PRIMARY_COLOR = '#6698FF';
|
|
183
|
-
const TRANSPARENT = 'transparent';
|
|
184
183
|
const GRAY_COLOR = '#AAAAAA';
|
|
185
184
|
const STROKE_WIDTH = 3;
|
|
186
185
|
const BRANCH_WIDTH = 3;
|
|
@@ -712,10 +711,10 @@ function getImageForeignRectangle(board, element) {
|
|
|
712
711
|
};
|
|
713
712
|
return rectangle;
|
|
714
713
|
}
|
|
715
|
-
const isHitImage = (board, element,
|
|
714
|
+
const isHitImage = (board, element, point) => {
|
|
716
715
|
const imageRectangle = getImageForeignRectangle(board, element);
|
|
717
716
|
const imageOutlineRectangle = RectangleClient.getOutlineRectangle(imageRectangle, -RESIZE_HANDLE_DIAMETER / 2);
|
|
718
|
-
return RectangleClient.
|
|
717
|
+
return RectangleClient.isPointInRectangle(imageOutlineRectangle, point);
|
|
719
718
|
};
|
|
720
719
|
const getHitImageResizeHandleDirection = (board, element, point) => {
|
|
721
720
|
const imageRectangle = getImageForeignRectangle(board, element);
|
|
@@ -1095,25 +1094,16 @@ const adjustNodeToRoot = (board, node) => {
|
|
|
1095
1094
|
};
|
|
1096
1095
|
};
|
|
1097
1096
|
|
|
1098
|
-
const
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
BOARD_TO_SELECTED_IMAGE_ELEMENT.set(board, element);
|
|
1104
|
-
};
|
|
1105
|
-
const removeSelectedImageElement = (board) => {
|
|
1106
|
-
BOARD_TO_SELECTED_IMAGE_ELEMENT.delete(board);
|
|
1097
|
+
const addImageFocus = (board, element) => {
|
|
1098
|
+
addElementOfFocusedImage(board, element);
|
|
1099
|
+
const elementComponent = PlaitElement.getComponent(element);
|
|
1100
|
+
elementComponent.imageGenerator.componentRef.instance.isFocus = true;
|
|
1101
|
+
elementComponent.imageGenerator.componentRef.instance.cdr.markForCheck();
|
|
1107
1102
|
};
|
|
1108
|
-
const
|
|
1109
|
-
|
|
1110
|
-
addSelectedImageElement(board, element);
|
|
1111
|
-
}
|
|
1112
|
-
else {
|
|
1113
|
-
removeSelectedImageElement(board);
|
|
1114
|
-
}
|
|
1103
|
+
const removeImageFocus = (board, element) => {
|
|
1104
|
+
removeElementOfFocusedImage(board);
|
|
1115
1105
|
const elementComponent = PlaitElement.getComponent(element);
|
|
1116
|
-
elementComponent.imageGenerator.componentRef.instance.isFocus =
|
|
1106
|
+
elementComponent.imageGenerator.componentRef.instance.isFocus = false;
|
|
1117
1107
|
elementComponent.imageGenerator.componentRef.instance.cdr.markForCheck();
|
|
1118
1108
|
};
|
|
1119
1109
|
|
|
@@ -2531,7 +2521,7 @@ const replaceEmoji = (board, element, oldEmoji, newEmoji) => {
|
|
|
2531
2521
|
};
|
|
2532
2522
|
|
|
2533
2523
|
const removeImage = (board, element) => {
|
|
2534
|
-
|
|
2524
|
+
removeImageFocus(board, element);
|
|
2535
2525
|
const newElement = {
|
|
2536
2526
|
data: { ...element.data }
|
|
2537
2527
|
};
|
|
@@ -2814,16 +2804,17 @@ class NodeActiveGenerator extends Generator {
|
|
|
2814
2804
|
}
|
|
2815
2805
|
baseDraw(element, data) {
|
|
2816
2806
|
const activeG = createG();
|
|
2817
|
-
if (AbstractNode.isAbstract(element)) {
|
|
2818
|
-
this.abstractOutlineG = drawAbstractIncludedOutline(this.board, PlaitBoard.getRoughSVG(this.board), element);
|
|
2819
|
-
activeG.append(this.abstractOutlineG);
|
|
2820
|
-
}
|
|
2821
2807
|
const node = MindElement.getNode(element);
|
|
2822
2808
|
const rectangle = getRectangleByNode(node);
|
|
2823
2809
|
const strokeWidth = getStrokeWidthByElement(this.board, element);
|
|
2824
2810
|
const activeStrokeWidth = ACTIVE_STROKE_WIDTH;
|
|
2825
2811
|
const activeRectangle = RectangleClient.inflate(rectangle, activeStrokeWidth);
|
|
2826
2812
|
const strokeG = drawRoundRectangle(PlaitBoard.getRoughSVG(this.board), activeRectangle.x, activeRectangle.y, activeRectangle.x + activeRectangle.width, activeRectangle.y + activeRectangle.height, { stroke: PRIMARY_COLOR, strokeWidth: activeStrokeWidth, fill: '' }, true, DefaultNodeStyle.shape.rectangleRadius + (activeStrokeWidth + strokeWidth) / 2);
|
|
2813
|
+
if (AbstractNode.isAbstract(element)) {
|
|
2814
|
+
this.abstractOutlineG = drawAbstractIncludedOutline(this.board, PlaitBoard.getRoughSVG(this.board), element);
|
|
2815
|
+
activeG.append(this.abstractOutlineG);
|
|
2816
|
+
strokeG.classList.add('abstract-element');
|
|
2817
|
+
}
|
|
2827
2818
|
activeG.appendChild(strokeG);
|
|
2828
2819
|
return activeG;
|
|
2829
2820
|
}
|
|
@@ -3220,20 +3211,19 @@ const withNodeDnd = (board) => {
|
|
|
3220
3211
|
}
|
|
3221
3212
|
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
3222
3213
|
const selectedElements = getSelectedElements(board);
|
|
3223
|
-
const
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
!
|
|
3228
|
-
!AbstractNode.isAbstract(targetElement)) {
|
|
3214
|
+
const hitElement = getHitElementByPoint(board, point);
|
|
3215
|
+
if (hitElement &&
|
|
3216
|
+
MindElement.isMindElement(board, hitElement) &&
|
|
3217
|
+
!PlaitMind.isMind(hitElement) &&
|
|
3218
|
+
!AbstractNode.isAbstract(hitElement)) {
|
|
3229
3219
|
const targetElements = selectedElements.filter(element => MindElement.isMindElement(board, element) && !element.isRoot && !AbstractNode.isAbstract(element));
|
|
3230
|
-
const isMultiple = selectedElements.length > 0 && selectedElements.includes(
|
|
3220
|
+
const isMultiple = selectedElements.length > 0 && selectedElements.includes(hitElement);
|
|
3231
3221
|
if (isMultiple) {
|
|
3232
3222
|
activeElements = targetElements;
|
|
3233
3223
|
startPoint = point;
|
|
3234
3224
|
}
|
|
3235
3225
|
else {
|
|
3236
|
-
activeElements = [
|
|
3226
|
+
activeElements = [hitElement];
|
|
3237
3227
|
startPoint = point;
|
|
3238
3228
|
}
|
|
3239
3229
|
}
|
|
@@ -3714,35 +3704,36 @@ const withNodeHoverDetect = (board) => {
|
|
|
3714
3704
|
const withNodeImage = (board) => {
|
|
3715
3705
|
const { keydown, pointerDown, globalPointerUp, setFragment, insertFragment, deleteFragment } = board;
|
|
3716
3706
|
board.pointerDown = (event) => {
|
|
3717
|
-
const
|
|
3707
|
+
const elementOfFocusedImage = getElementOfFocusedImage(board);
|
|
3718
3708
|
if (PlaitBoard.isReadonly(board) || !isMainPointer(event) || !PlaitBoard.isPointer(board, PlaitPointerType.selection)) {
|
|
3719
|
-
if (
|
|
3720
|
-
|
|
3709
|
+
if (elementOfFocusedImage && MindElement.isMindElement(board, elementOfFocusedImage)) {
|
|
3710
|
+
removeImageFocus(board, elementOfFocusedImage);
|
|
3721
3711
|
}
|
|
3722
3712
|
pointerDown(event);
|
|
3723
3713
|
return;
|
|
3724
3714
|
}
|
|
3725
3715
|
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
3726
|
-
const
|
|
3727
|
-
const
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3716
|
+
const hitElement = getHitElementByPoint(board, point);
|
|
3717
|
+
const isHitImageResult = hitElement &&
|
|
3718
|
+
MindElement.isMindElement(board, hitElement) &&
|
|
3719
|
+
MindElement.hasImage(hitElement) &&
|
|
3720
|
+
isHitImage(board, hitElement, point);
|
|
3721
|
+
if (isHitImageResult && elementOfFocusedImage && hitElement === elementOfFocusedImage) {
|
|
3731
3722
|
temporaryDisableSelection(board);
|
|
3732
3723
|
pointerDown(event);
|
|
3733
3724
|
return;
|
|
3734
3725
|
}
|
|
3735
|
-
if (
|
|
3736
|
-
|
|
3726
|
+
if (elementOfFocusedImage && MindElement.isMindElement(board, elementOfFocusedImage)) {
|
|
3727
|
+
removeImageFocus(board, elementOfFocusedImage);
|
|
3737
3728
|
}
|
|
3738
|
-
if (
|
|
3729
|
+
if (isHitImageResult && hitElement) {
|
|
3739
3730
|
temporaryDisableSelection(board);
|
|
3740
|
-
|
|
3731
|
+
addImageFocus(board, hitElement);
|
|
3741
3732
|
}
|
|
3742
3733
|
pointerDown(event);
|
|
3743
3734
|
};
|
|
3744
3735
|
board.keydown = (event) => {
|
|
3745
|
-
const selectedImageElement =
|
|
3736
|
+
const selectedImageElement = getElementOfFocusedImage(board);
|
|
3746
3737
|
if (!PlaitBoard.isReadonly(board) && selectedImageElement && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
|
|
3747
3738
|
addSelectedElement(board, selectedImageElement);
|
|
3748
3739
|
MindTransforms.removeImage(board, selectedImageElement);
|
|
@@ -3753,16 +3744,16 @@ const withNodeImage = (board) => {
|
|
|
3753
3744
|
board.globalPointerUp = (event) => {
|
|
3754
3745
|
if (PlaitBoard.isFocus(board)) {
|
|
3755
3746
|
const isInBoard = event.target instanceof Node && PlaitBoard.getBoardContainer(board).contains(event.target);
|
|
3756
|
-
const selectedImageElement =
|
|
3747
|
+
const selectedImageElement = getElementOfFocusedImage(board);
|
|
3757
3748
|
// Clear image selection when mouse board outside area
|
|
3758
|
-
if (selectedImageElement && !isInBoard) {
|
|
3759
|
-
|
|
3749
|
+
if (selectedImageElement && MindElement.isMindElement(board, selectedImageElement) && !isInBoard) {
|
|
3750
|
+
removeImageFocus(board, selectedImageElement);
|
|
3760
3751
|
}
|
|
3761
3752
|
}
|
|
3762
3753
|
globalPointerUp(event);
|
|
3763
3754
|
};
|
|
3764
3755
|
board.setFragment = (data, rectangle, type) => {
|
|
3765
|
-
const selectedImageElement =
|
|
3756
|
+
const selectedImageElement = getElementOfFocusedImage(board);
|
|
3766
3757
|
if (selectedImageElement) {
|
|
3767
3758
|
setClipboardDataByMedia(data, selectedImageElement.data.image, MediaKeys.image);
|
|
3768
3759
|
return;
|
|
@@ -3770,7 +3761,7 @@ const withNodeImage = (board) => {
|
|
|
3770
3761
|
setFragment(data, rectangle, type);
|
|
3771
3762
|
};
|
|
3772
3763
|
board.deleteFragment = (data) => {
|
|
3773
|
-
const selectedImageElement =
|
|
3764
|
+
const selectedImageElement = getElementOfFocusedImage(board);
|
|
3774
3765
|
if (selectedImageElement) {
|
|
3775
3766
|
MindTransforms.removeImage(board, selectedImageElement);
|
|
3776
3767
|
}
|
|
@@ -3778,11 +3769,11 @@ const withNodeImage = (board) => {
|
|
|
3778
3769
|
};
|
|
3779
3770
|
board.insertFragment = (data, targetPoint) => {
|
|
3780
3771
|
const selectedElements = getSelectedElements(board);
|
|
3781
|
-
const isSelectedImage = !!
|
|
3772
|
+
const isSelectedImage = !!getElementOfFocusedImage(board);
|
|
3782
3773
|
const isSingleSelection = selectedElements.length === 1 && MindElement.isMindElement(board, selectedElements[0]);
|
|
3783
3774
|
if (data?.files.length && (isSingleSelection || isSelectedImage)) {
|
|
3784
3775
|
const acceptImageArray = acceptImageTypes.map(type => 'image/' + type);
|
|
3785
|
-
const selectedElement = (selectedElements[0] ||
|
|
3776
|
+
const selectedElement = (selectedElements[0] || getElementOfFocusedImage(board));
|
|
3786
3777
|
if (acceptImageArray.includes(data?.files[0].type)) {
|
|
3787
3778
|
const imageFile = data.files[0];
|
|
3788
3779
|
buildImage(board, imageFile, DEFAULT_MIND_IMAGE_WIDTH, imageItem => {
|
|
@@ -3793,7 +3784,7 @@ const withNodeImage = (board) => {
|
|
|
3793
3784
|
}
|
|
3794
3785
|
const imageItem = getClipboardDataByMedia(data, MediaKeys.image);
|
|
3795
3786
|
if (imageItem && (isSingleSelection || isSelectedImage)) {
|
|
3796
|
-
const selectedElement = (selectedElements[0] ||
|
|
3787
|
+
const selectedElement = (selectedElements[0] || getElementOfFocusedImage(board));
|
|
3797
3788
|
MindTransforms.setImage(board, selectedElement, imageItem);
|
|
3798
3789
|
return;
|
|
3799
3790
|
}
|
|
@@ -3870,10 +3861,10 @@ const withNodeResize = (board) => {
|
|
|
3870
3861
|
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
3871
3862
|
const newTargetElement = getSelectedTarget(board, point);
|
|
3872
3863
|
if (newTargetElement) {
|
|
3873
|
-
PlaitBoard.getBoardContainer(board).classList.add(ResizeCursorClass['ew-resize']);
|
|
3864
|
+
PlaitBoard.getBoardContainer(board).classList.add(`mind-${ResizeCursorClass['ew-resize']}`);
|
|
3874
3865
|
}
|
|
3875
3866
|
else {
|
|
3876
|
-
PlaitBoard.getBoardContainer(board).classList.remove(ResizeCursorClass['ew-resize']);
|
|
3867
|
+
PlaitBoard.getBoardContainer(board).classList.remove(`mind-${ResizeCursorClass['ew-resize']}`);
|
|
3877
3868
|
}
|
|
3878
3869
|
}
|
|
3879
3870
|
}
|
|
@@ -3935,7 +3926,8 @@ const withNodeImageResize = (board) => {
|
|
|
3935
3926
|
return true;
|
|
3936
3927
|
},
|
|
3937
3928
|
detect: (point) => {
|
|
3938
|
-
const
|
|
3929
|
+
const elementOfFocusedImage = getElementOfFocusedImage(board);
|
|
3930
|
+
const selectedMindElement = elementOfFocusedImage && MindElement.isMindElement(board, elementOfFocusedImage) ? elementOfFocusedImage : undefined;
|
|
3939
3931
|
if (selectedMindElement) {
|
|
3940
3932
|
const result = getHitImageResizeHandleDirection(board, selectedMindElement, point);
|
|
3941
3933
|
if (result) {
|
|
@@ -3964,7 +3956,7 @@ const withNodeImageResize = (board) => {
|
|
|
3964
3956
|
const height = originHeight / ratio;
|
|
3965
3957
|
const imageItem = { ...resizeRef.element.data.image, width, height };
|
|
3966
3958
|
MindTransforms.setImage(board, PlaitNode.get(board, resizeRef.path), imageItem);
|
|
3967
|
-
|
|
3959
|
+
addElementOfFocusedImage(board, PlaitNode.get(board, resizeRef.path));
|
|
3968
3960
|
}
|
|
3969
3961
|
};
|
|
3970
3962
|
withResize(board, options);
|
|
@@ -4155,7 +4147,7 @@ const getNextSelectedElement = (board, firstLevelElements) => {
|
|
|
4155
4147
|
|
|
4156
4148
|
const withMind = (baseBoard) => {
|
|
4157
4149
|
const board = baseBoard;
|
|
4158
|
-
const { drawElement, dblclick,
|
|
4150
|
+
const { drawElement, dblclick, isRectangleHit, isHit, getRectangle, isMovable, isRecursion, isAlign, isImageBindingAllowed, } = board;
|
|
4159
4151
|
board.drawElement = (context) => {
|
|
4160
4152
|
if (PlaitMind.isMind(context.element)) {
|
|
4161
4153
|
return PlaitMindComponent;
|
|
@@ -4185,13 +4177,21 @@ const withMind = (baseBoard) => {
|
|
|
4185
4177
|
}
|
|
4186
4178
|
return isRecursion(element);
|
|
4187
4179
|
};
|
|
4188
|
-
board.
|
|
4180
|
+
board.isRectangleHit = (element, selection) => {
|
|
4181
|
+
if (MindElement.isMindElement(board, element)) {
|
|
4182
|
+
const client = getRectangleByNode(MindElement.getNode(element));
|
|
4183
|
+
const isHit = RectangleClient.isHit(RectangleClient.toRectangleClient([selection.anchor, selection.focus]), client);
|
|
4184
|
+
return isHit;
|
|
4185
|
+
}
|
|
4186
|
+
return isRectangleHit(element, selection);
|
|
4187
|
+
};
|
|
4188
|
+
board.isHit = (element, point) => {
|
|
4189
4189
|
if (MindElement.isMindElement(board, element)) {
|
|
4190
4190
|
const client = getRectangleByNode(MindElement.getNode(element));
|
|
4191
|
-
const isHit = RectangleClient.isHit(RectangleClient.toRectangleClient([
|
|
4191
|
+
const isHit = RectangleClient.isHit(RectangleClient.toRectangleClient([point, point]), client);
|
|
4192
4192
|
return isHit;
|
|
4193
4193
|
}
|
|
4194
|
-
return
|
|
4194
|
+
return isHit(element, point);
|
|
4195
4195
|
};
|
|
4196
4196
|
board.isMovable = element => {
|
|
4197
4197
|
if (PlaitMind.isMind(element) && element.isRoot) {
|
|
@@ -4199,6 +4199,12 @@ const withMind = (baseBoard) => {
|
|
|
4199
4199
|
}
|
|
4200
4200
|
return isMovable(element);
|
|
4201
4201
|
};
|
|
4202
|
+
board.isImageBindingAllowed = element => {
|
|
4203
|
+
if (MindElement.isMindElement(board, element)) {
|
|
4204
|
+
return true;
|
|
4205
|
+
}
|
|
4206
|
+
return isImageBindingAllowed(element);
|
|
4207
|
+
};
|
|
4202
4208
|
board.isAlign = (element) => {
|
|
4203
4209
|
if (PlaitMind.isMind(element) && element.isRoot) {
|
|
4204
4210
|
return true;
|
|
@@ -4279,5 +4285,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4279
4285
|
* Generated bundle index. Do not edit.
|
|
4280
4286
|
*/
|
|
4281
4287
|
|
|
4282
|
-
export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BRANCH_WIDTH, BaseDrawer, BranchShape, DEFAULT_FONT_FAMILY, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, IS_DRAGGING, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NodeSpace, NodeTopicThreshold, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, ROOT_TOPIC_HEIGHT, ROOT_TOPIC_WIDTH, STROKE_WIDTH, TOPIC_COLOR, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE,
|
|
4288
|
+
export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BRANCH_WIDTH, BaseDrawer, BranchShape, DEFAULT_FONT_FAMILY, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, IS_DRAGGING, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NodeSpace, NodeTopicThreshold, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, ROOT_TOPIC_HEIGHT, ROOT_TOPIC_WIDTH, STROKE_WIDTH, TOPIC_COLOR, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, WithMindPluginKey, addActiveOnDragOrigin, addImageFocus, adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode, canSetAbstract, copyNewNode, correctLayoutByDirection, createDefaultMind, createEmptyMind, createMindElement, deleteElementHandleAbstract, deleteElementsHandleRightNodeCount, detectDropTarget, directionCorrector, directionDetector, divideElementByParent, drawFakeDragNode, drawFakeDropNode, editTopic, extractNodesText, findLastChild, findLocationLeftIndex, getAbstractBranchColor, getAbstractBranchWidth, getAbstractHandleRectangle, getAllowedDirection, getAvailableSubLayoutsByLayoutDirections, getBehindAbstracts, getBranchColorByMindElement, getBranchDirectionsByLayouts, getBranchShapeByMindElement, getBranchWidthByMindElement, getChildrenCount, getCorrespondingAbstract, getDefaultBranchColor, getDefaultBranchColorByIndex, getDefaultLayout, getEmojiFontSize, getEmojiForeignRectangle, getEmojiRectangle, getEmojisWidthHeight, getFillByElement, getFirstLevelElement, getFontSizeBySlateElement, getHitAbstractHandle, getHitImageResizeHandleDirection, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection$1 as getLayoutDirection, getLayoutOptions, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNewNodeHeight, getNextBranchColor, getNodeDefaultFontSize, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getSelectedMindElements, getShapeByElement, getStrokeByMindElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getValidAbstractRefs, handleTouchedAbstract, hasAfterDraw, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDragging, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, removeActiveOnDragOrigin, removeImageFocus, separateChildren, setIsDragging, temporaryDisableSelection, withMind, withMindExtend };
|
|
4283
4289
|
//# sourceMappingURL=plait-mind.mjs.map
|