@plait/mind 0.27.0-next.4 → 0.27.0-next.6
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/esm2022/base/image-base.component.mjs +1 -4
- package/esm2022/interfaces/element.mjs +9 -2
- package/esm2022/interfaces/index.mjs +2 -1
- package/esm2022/interfaces/options.mjs +1 -1
- package/esm2022/mind-node.component.mjs +10 -6
- package/esm2022/plugins/with-mind-fragment.mjs +90 -0
- package/esm2022/plugins/with-mind-hotkey.mjs +13 -55
- package/esm2022/plugins/with-mind.mjs +6 -35
- package/esm2022/plugins/with-node-dnd.mjs +3 -3
- package/esm2022/plugins/with-node-resize.mjs +5 -5
- package/esm2022/transforms/index.mjs +2 -3
- package/esm2022/transforms/node.mjs +1 -17
- package/esm2022/utils/draw/node-dnd.mjs +2 -2
- package/esm2022/utils/node/dynamic-width.mjs +3 -3
- package/fesm2022/plait-mind.mjs +214 -211
- package/fesm2022/plait-mind.mjs.map +1 -1
- package/interfaces/element.d.ts +1 -0
- package/interfaces/index.d.ts +1 -0
- package/interfaces/options.d.ts +0 -2
- package/mind-node.component.d.ts +4 -3
- package/package.json +1 -1
- package/plugins/with-mind-fragment.d.ts +5 -0
- package/plugins/with-mind-hotkey.d.ts +0 -2
- package/transforms/index.d.ts +0 -1
- package/transforms/node.d.ts +0 -1
|
@@ -24,7 +24,7 @@ export const drawFakeDragNode = (board, element, offsetX, offsetY) => {
|
|
|
24
24
|
};
|
|
25
25
|
const textRectangle = getTopicRectangleByNode(board, activeComponent.node);
|
|
26
26
|
const fakeNodeG = drawRoundRectangleByNode(board, fakeDraggingNode);
|
|
27
|
-
const richtextG =
|
|
27
|
+
const richtextG = MindElement.getTextManage(element).g.cloneNode(true);
|
|
28
28
|
updateForeignObject(richtextG, textRectangle.width, textRectangle.height, textRectangle.x + offsetX, textRectangle.y + offsetY);
|
|
29
29
|
dragFakeNodeG?.append(fakeNodeG);
|
|
30
30
|
dragFakeNodeG?.append(richtextG);
|
|
@@ -156,4 +156,4 @@ export const drawFakeDropNode = (board, dropTarget, path) => {
|
|
|
156
156
|
fakeDropNodeG?.appendChild(fakeRectangleG);
|
|
157
157
|
return fakeDropNodeG;
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9kcmF3L25vZGUtZG5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxXQUFXLEVBQVksU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBUyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1C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LFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRyYXdSb3VuZFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4vbm9kZS1zaGFwZSc7XG5pbXBvcnQgeyBCQVNFLCBQUklNQVJZX0NPTE9SLCBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGV0ZWN0UmVzdWx0LCBMYXlvdXREaXJlY3Rpb24sIE1pbmRFbGVtZW50LCBNaW5kTm9kZSwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgZHJhd1JvdW5kUmVjdGFuZ2xlLCBjcmVhdGVHLCBQYXRoLCBQbGFpdE5vZGUsIFBsYWl0RWxlbWVudCwgdXBkYXRlRm9yZWlnbk9iamVjdCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBpc0hvcml6b250YWxMYXlvdXQsIGlzSW5kZW50ZWRMYXlvdXQsIGlzU3RhbmRhcmRMYXlvdXQsIGlzVG9wTGF5b3V0LCBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vdG9waWMnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRMYXlvdXREaXJlY3Rpb24sIGdldFBvaW50QnlQbGFjZW1lbnQsIG1vdmVYT2ZQb2ludCwgbW92ZVlPZlBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi9wb2ludC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBoYXNQcmV2aW91c09yTmV4dE9mRHJvcFBhdGggfSBmcm9tICcuLi9kbmQvY29tbW9uJztcbmltcG9ydCB7IGRyYXdMaW5rIH0gZnJvbSAnLi9ub2RlLWxpbmsvZHJhdy1saW5rJztcbmltcG9ydCB7IGdldEVtb2ppRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3Bvc2l0aW9uL2Vtb2ppJztcbmltcG9ydCB7IGdldEltYWdlRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3Bvc2l0aW9uJztcblxuZXhwb3J0IGNvbnN0IGRyYXdGYWtlRHJhZ05vZGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBvZmZzZXRYOiBudW1iZXIsIG9mZnNldFk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgY29uc3QgZHJhZ0Zha2VOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICBkcmFnRmFrZU5vZGVHLmNsYXNzTGlzdC5hZGQoJ2RyYWdnaW5nJywgJ2Zha2Utbm9kZScsICdwbGFpdC1ib2FyZC1hdHRhY2hlZCcpO1xuXG4gICAgY29uc3QgZmFrZURyYWdnaW5nTm9kZTogTWluZE5vZGUgPSB7XG4gICAgICAgIC4uLmFjdGl2ZUNvbXBvbmVudC5ub2RlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHg6IGFjdGl2ZUNvbXBvbmVudC5ub2RlLnggKyBvZmZzZXRYLFxuICAgICAgICB5OiBhY3RpdmVDb21wb25lbnQubm9kZS55ICsgb2Zmc2V0WVxuICAgIH07XG4gICAgY29uc3QgdGV4dFJlY3RhbmdsZSA9IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBhY3RpdmVDb21wb25lbnQubm9kZSk7XG4gICAgY29uc3QgZmFrZU5vZGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlQnlOb2RlKGJvYXJkLCBmYWtlRHJhZ2dpbmdOb2RlKTtcblxuICAgIGNvbnN0IHJpY2h0ZXh0RyA9IGFjdGl2ZUNvbXBvbmVudC50ZXh0TWFuYWdlLmcuY2xvbmVOb2RlKHRydWUpIGFzIFNWR0dFbGVtZW50O1xuICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QocmljaHRleHRHLCB0ZXh0UmVjdGFuZ2xlLndpZHRoLCB0ZXh0UmVjdGFuZ2xlLmhlaWdodCwgdGV4dFJlY3RhbmdsZS54ICsgb2Zmc2V0WCwgdGV4dFJlY3RhbmdsZS55ICsgb2Zmc2V0WSk7XG5cbiAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQoZmFrZU5vZGVHKTtcbiAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQocmljaHRleHRHKTtcblxuICAgIC8vIGRyYXcgZW1vamlzXG4gICAgaWYgKE1pbmRFbGVtZW50Lmhhc0Vtb2ppcyhlbGVtZW50KSkge1xuICAgICAgICBjb25zdCBmYWtlRW1vamlzRyA9IChhY3RpdmVDb21wb25lbnQubm9kZUVtb2ppc0RyYXdlci5nIGFzIFNWR0dFbGVtZW50KS5jbG9uZU5vZGUodHJ1ZSkgYXMgU1ZHR0VsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25SZWN0YW5nbGUgPSBnZXRFbW9qaUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICB1cGRhdGVGb3JlaWduT2JqZWN0KFxuICAgICAgICAgICAgZmFrZUVtb2ppc0csXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS5oZWlnaHQsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnggKyBvZmZzZXRYLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS55ICsgb2Zmc2V0WVxuICAgICAgICApO1xuICAgICAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQoZmFrZUVtb2ppc0cpO1xuICAgIH1cblxuICAgIGlmIChNaW5kRWxlbWVudC5oYXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICBjb25zdCBmYWtlSW1hZ2VHID0gKGFjdGl2ZUNvbXBvbmVudC5pbWFnZURyYXdlci5nIGFzIFNWR0dFbGVtZW50KS5jbG9uZU5vZGUodHJ1ZSkgYXMgU1ZHR0VsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25SZWN0YW5nbGUgPSBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICB1cGRhdGVGb3JlaWduT2JqZWN0KFxuICAgICAgICAgICAgZmFrZUltYWdlRyxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUud2lkdGgsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueCArIG9mZnNldFgsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnkgKyBvZmZzZXRZXG4gICAgICAgICk7XG4gICAgICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZChmYWtlSW1hZ2VHKTtcbiAgICB9XG4gICAgcmV0dXJuIGRyYWdGYWtlTm9kZUc7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd0Zha2VEcm9wTm9kZSA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBkcm9wVGFyZ2V0OiB7XG4gICAgICAgIHRhcmdldDogTWluZEVsZW1lbnQ7XG4gICAgICAgIGRldGVjdFJlc3VsdDogRGV0ZWN0UmVzdWx0O1xuICAgIH0sXG4gICAgcGF0aDogUGF0aFxuKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZHJvcFRhcmdldC50YXJnZXQ7XG4gICAgY29uc3QgZmFrZURyb3BOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnBhcmVudChwYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgY29uc3QgbGF5b3V0ID0gTWluZFF1ZXJpZXMuZ2V0TGF5b3V0QnlFbGVtZW50KHBhcmVudCkgYXMgTWluZExheW91dFR5cGU7XG4gICAgY29uc3QgaXNIb3Jpem9udGFsID0gaXNIb3Jpem9udGFsTGF5b3V0KGxheW91dCk7XG4gICAgY29uc3QgeyBoYXNOZXh0Tm9kZSwgaGFzUHJldmlvdXNOb2RlIH0gPSBoYXNQcmV2aW91c09yTmV4dE9mRHJvcFBhdGgocGFyZW50LCBkcm9wVGFyZ2V0LCBwYXRoKTtcblxuICAgIGNvbnN0IHdpZHRoID0gMzA7XG4gICAgY29uc3QgaGVpZ2h0ID0gMTI7XG4gICAgbGV0IGZha2VOb2RlOiBNaW5kTm9kZSwgY2VudGVyUG9pbnQ6IFBvaW50LCBiYXNpY05vZGU6IE1pbmROb2RlLCBsaW5rRGlyZWN0aW9uOiBMYXlvdXREaXJlY3Rpb247XG5cbiAgICBpZiAoIWhhc1ByZXZpb3VzTm9kZSAmJiAhaGFzTmV4dE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUocGFyZW50KTtcbiAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShwYXJlbnROb2RlKTtcblxuICAgICAgICBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKHBhcmVudE5vZGUsIGlzSG9yaXpvbnRhbCk7XG4gICAgICAgIGJhc2ljTm9kZSA9IHBhcmVudE5vZGU7XG5cbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQodGFyZ2V0KSAmJiBpc1N0YW5kYXJkTGF5b3V0KGxheW91dCkpIHtcbiAgICAgICAgICAgIGlmIChkcm9wVGFyZ2V0LmRldGVjdFJlc3VsdCA9PT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgbGlua0RpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5sZWZ0O1xuICAgICAgICAgICAgICAgIGJhc2ljTm9kZS5sZWZ0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGlua0RpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5yaWdodDtcbiAgICAgICAgICAgICAgICBiYXNpY05vZGUubGVmdCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgICAgICB0cmFuc2Zvcm1QbGFjZW1lbnQocGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICAgICAgY29uc3QgcGFyZW50Q2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHBhcmVudFJlY3QsIHBsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKGlzSW5kZW50ZWRMYXlvdXQobGF5b3V0KSkge1xuICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtcbiAgICAgICAgICAgICAgICBIb3Jpem9udGFsUGxhY2VtZW50LmNlbnRlcixcbiAgICAgICAgICAgICAgICBpc1RvcExheW91dChsYXlvdXQpID8gVmVydGljYWxQbGFjZW1lbnQudG9wIDogVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Q2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHBhcmVudFJlY3QsIHBsYWNlbWVudCk7XG5cbiAgICAgICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVhPZlBvaW50KHBhcmVudENlbnRlclBvaW50LCBoZWlnaHQsIGxpbmtEaXJlY3Rpb24pO1xuICAgICAgICAgICAgY2VudGVyUG9pbnRbMV0gPSBpc1RvcExheW91dChsYXlvdXQpID8gY2VudGVyUG9pbnRbMV0gLSBoZWlnaHQgOiBjZW50ZXJQb2ludFsxXSArIGhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVhPZlBvaW50KHBhcmVudENlbnRlclBvaW50LCB3aWR0aCwgbGlua0RpcmVjdGlvbik7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFoYXNQcmV2aW91c05vZGUgJiYgaGFzTmV4dE5vZGUpIHtcbiAgICAgICAgY29uc3QgbmV4dEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmFzaWNOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShuZXh0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IG5leHRSZWN0ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGJhc2ljTm9kZSk7XG4gICAgICAgIGxpbmtEaXJlY3Rpb24gPSBnZXRMYXlvdXREaXJlY3Rpb24oYmFzaWNOb2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgICAgIGNvbnN0IHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC50b3BdO1xuXG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChwbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgICAgIGxldCBvZmZzZXQgPSAtaGVpZ2h0O1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNJbmRlbnRlZExheW91dChwYXJlbnQpKSB7XG4gICAgICAgICAgICBvZmZzZXQgPSBpc1RvcExheW91dChsYXlvdXQpID8gb2Zmc2V0IC8gMiArIGJhc2ljTm9kZS5oZWlnaHQgLSBiYXNpY05vZGUudkdhcCA6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBjZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQobmV4dFJlY3QsIHBsYWNlbWVudCk7XG4gICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVlPZlBvaW50KGNlbnRlclBvaW50LCBvZmZzZXQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIH0gZWxzZSBpZiAoaGFzUHJldmlvdXNOb2RlICYmICFoYXNOZXh0Tm9kZSkge1xuICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmFzaWNOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShwcmV2aW91c0VsZW1lbnQpO1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUoYmFzaWNOb2RlKTtcbiAgICAgICAgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihiYXNpY05vZGUsIGlzSG9yaXpvbnRhbCk7XG5cbiAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbV07XG5cbiAgICAgICAgdHJhbnNmb3JtUGxhY2VtZW50KHBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG5cbiAgICAgICAgbGV0IG9mZnNldCA9IGhlaWdodDtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gaXNUb3BMYXlvdXQobGF5b3V0KSA/IC1vZmZzZXQgLSAoYmFzaWNOb2RlLmhlaWdodCAtIGJhc2ljTm9kZS52R2FwKSA6IG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICBjZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQocHJldmlvdXNSZWN0LCBwbGFjZW1lbnQpO1xuICAgICAgICBjZW50ZXJQb2ludCA9IG1vdmVZT2ZQb2ludChjZW50ZXJQb2ludCwgb2Zmc2V0LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmFzaWNOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShwcmV2aW91c0VsZW1lbnQpO1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUoYmFzaWNOb2RlKTtcblxuICAgICAgICBjb25zdCBuZXh0RWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGgpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBuZXh0Tm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUobmV4dEVsZW1lbnQpO1xuICAgICAgICBjb25zdCBuZXh0UmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShuZXh0Tm9kZSk7XG5cbiAgICAgICAgY29uc3QgYmVnaW5QbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQubGVmdCwgVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXTtcbiAgICAgICAgY29uc3QgZW5kUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50LnRvcF07XG4gICAgICAgIGxpbmtEaXJlY3Rpb24gPSBnZXRMYXlvdXREaXJlY3Rpb24oYmFzaWNOb2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChiZWdpblBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChlbmRQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHByZXZpb3VzUmVjdCwgYmVnaW5QbGFjZW1lbnQpO1xuICAgICAgICBjb25zdCBuZXh0UG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5leHRSZWN0LCBlbmRQbGFjZW1lbnQpO1xuXG4gICAgICAgIGNlbnRlclBvaW50ID0gWyhwcmV2aW91c1BvaW50WzBdICsgbmV4dFBvaW50WzBdKSAvIDIsIChwcmV2aW91c1BvaW50WzFdICsgbmV4dFBvaW50WzFdKSAvIDJdO1xuICAgIH1cblxuICAgIGxldCBjb3JuZXJQb2ludCA9IGNlbnRlclBvaW50LFxuICAgICAgICBvcHBvc2l0ZVBvaW50ID0gY2VudGVyUG9pbnQ7XG5cbiAgICBjb25zdCBvZmZzZXRZID0gaXNIb3Jpem9udGFsID8gaGVpZ2h0IDogd2lkdGg7XG4gICAgY29uc3Qgb2Zmc2V0WCA9IGlzSG9yaXpvbnRhbCA/IHdpZHRoIDogaGVpZ2h0O1xuXG4gICAgY29ybmVyUG9pbnQgPSBtb3ZlWU9mUG9pbnQoY29ybmVyUG9pbnQsIC1vZmZzZXRZIC8gMiwgbGlua0RpcmVjdGlvbiEpO1xuXG4gICAgb3Bwb3NpdGVQb2ludCA9IG1vdmVZT2ZQb2ludChvcHBvc2l0ZVBvaW50LCBvZmZzZXRZIC8gMiwgbGlua0RpcmVjdGlvbiEpO1xuICAgIG9wcG9zaXRlUG9pbnQgPSBtb3ZlWE9mUG9pbnQob3Bwb3NpdGVQb2ludCwgb2Zmc2V0WCwgbGlua0RpcmVjdGlvbiEpO1xuXG4gICAgY29uc3QgeCA9IE1hdGgubWluKGNvcm5lclBvaW50WzBdLCBvcHBvc2l0ZVBvaW50WzBdKTtcbiAgICBjb25zdCB5ID0gTWF0aC5taW4oY29ybmVyUG9pbnRbMV0sIG9wcG9zaXRlUG9pbnRbMV0pO1xuXG4gICAgZmFrZU5vZGUgPSB7XG4gICAgICAgIC4uLmJhc2ljTm9kZSEsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIGhHYXA6IE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSA/IEJBU0UgKiA0ICsgKGJhc2ljTm9kZS5vcmlnaW4uc3Ryb2tlV2lkdGggfHwgU1RST0tFX1dJRFRIKSA6IDAsXG4gICAgICAgIHZHYXA6IE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSA/IEJBU0UgOiAwXG4gICAgfTtcblxuICAgIGNvbnN0IGZha2VSZWN0YW5nbGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlKFxuICAgICAgICBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSxcbiAgICAgICAgZmFrZU5vZGUhLngsXG4gICAgICAgIGZha2VOb2RlIS55LFxuICAgICAgICBmYWtlTm9kZSEueCArIHdpZHRoLFxuICAgICAgICBmYWtlTm9kZSEueSArIGhlaWdodCxcbiAgICAgICAge1xuICAgICAgICAgICAgc3Ryb2tlOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgICAgICAgICBmaWxsOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgbGluayA9IGRyYXdMaW5rKGJvYXJkLCBNaW5kRWxlbWVudC5nZXROb2RlKHBhcmVudCksIGZha2VOb2RlLCBpc0hvcml6b250YWwsIGZhbHNlLCBQUklNQVJZX0NPTE9SLCBTVFJPS0VfV0lEVEgpO1xuICAgIGZha2VEcm9wTm9kZUc/LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGZha2VEcm9wTm9kZUc/LmFwcGVuZENoaWxkKGZha2VSZWN0YW5nbGVHKTtcblxuICAgIHJldHVybiBmYWtlRHJvcE5vZGVHO1xufTtcbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9kcmF3L25vZGUtZG5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxXQUFXLEVBQVksU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBUyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1C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SUFDdEgsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRyYXdSb3VuZFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4vbm9kZS1zaGFwZSc7XG5pbXBvcnQgeyBCQVNFLCBQUklNQVJZX0NPTE9SLCBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGV0ZWN0UmVzdWx0LCBMYXlvdXREaXJlY3Rpb24sIE1pbmRFbGVtZW50LCBNaW5kTm9kZSwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgZHJhd1JvdW5kUmVjdGFuZ2xlLCBjcmVhdGVHLCBQYXRoLCBQbGFpdE5vZGUsIFBsYWl0RWxlbWVudCwgdXBkYXRlRm9yZWlnbk9iamVjdCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBpc0hvcml6b250YWxMYXlvdXQsIGlzSW5kZW50ZWRMYXlvdXQsIGlzU3RhbmRhcmRMYXlvdXQsIGlzVG9wTGF5b3V0LCBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vdG9waWMnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRMYXlvdXREaXJlY3Rpb24sIGdldFBvaW50QnlQbGFjZW1lbnQsIG1vdmVYT2ZQb2ludCwgbW92ZVlPZlBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi9wb2ludC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBoYXNQcmV2aW91c09yTmV4dE9mRHJvcFBhdGggfSBmcm9tICcuLi9kbmQvY29tbW9uJztcbmltcG9ydCB7IGRyYXdMaW5rIH0gZnJvbSAnLi9ub2RlLWxpbmsvZHJhdy1saW5rJztcbmltcG9ydCB7IGdldEVtb2ppRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3Bvc2l0aW9uL2Vtb2ppJztcbmltcG9ydCB7IGdldEltYWdlRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3Bvc2l0aW9uJztcblxuZXhwb3J0IGNvbnN0IGRyYXdGYWtlRHJhZ05vZGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBvZmZzZXRYOiBudW1iZXIsIG9mZnNldFk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgY29uc3QgZHJhZ0Zha2VOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICBkcmFnRmFrZU5vZGVHLmNsYXNzTGlzdC5hZGQoJ2RyYWdnaW5nJywgJ2Zha2Utbm9kZScsICdwbGFpdC1ib2FyZC1hdHRhY2hlZCcpO1xuXG4gICAgY29uc3QgZmFrZURyYWdnaW5nTm9kZTogTWluZE5vZGUgPSB7XG4gICAgICAgIC4uLmFjdGl2ZUNvbXBvbmVudC5ub2RlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHg6IGFjdGl2ZUNvbXBvbmVudC5ub2RlLnggKyBvZmZzZXRYLFxuICAgICAgICB5OiBhY3RpdmVDb21wb25lbnQubm9kZS55ICsgb2Zmc2V0WVxuICAgIH07XG4gICAgY29uc3QgdGV4dFJlY3RhbmdsZSA9IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBhY3RpdmVDb21wb25lbnQubm9kZSk7XG4gICAgY29uc3QgZmFrZU5vZGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlQnlOb2RlKGJvYXJkLCBmYWtlRHJhZ2dpbmdOb2RlKTtcblxuICAgIGNvbnN0IHJpY2h0ZXh0RyA9IE1pbmRFbGVtZW50LmdldFRleHRNYW5hZ2UoZWxlbWVudCkuZy5jbG9uZU5vZGUodHJ1ZSkgYXMgU1ZHR0VsZW1lbnQ7XG4gICAgdXBkYXRlRm9yZWlnbk9iamVjdChyaWNodGV4dEcsIHRleHRSZWN0YW5nbGUud2lkdGgsIHRleHRSZWN0YW5nbGUuaGVpZ2h0LCB0ZXh0UmVjdGFuZ2xlLnggKyBvZmZzZXRYLCB0ZXh0UmVjdGFuZ2xlLnkgKyBvZmZzZXRZKTtcblxuICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZChmYWtlTm9kZUcpO1xuICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZChyaWNodGV4dEcpO1xuXG4gICAgLy8gZHJhdyBlbW9qaXNcbiAgICBpZiAoTWluZEVsZW1lbnQuaGFzRW1vamlzKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGZha2VFbW9qaXNHID0gKGFjdGl2ZUNvbXBvbmVudC5ub2RlRW1vamlzRHJhd2VyLmcgYXMgU1ZHR0VsZW1lbnQpLmNsb25lTm9kZSh0cnVlKSBhcyBTVkdHRWxlbWVudDtcbiAgICAgICAgY29uc3QgZm9yZWlnblJlY3RhbmdsZSA9IGdldEVtb2ppRm9yZWlnblJlY3RhbmdsZShib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCk7XG4gICAgICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QoXG4gICAgICAgICAgICBmYWtlRW1vamlzRyxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUud2lkdGgsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueCArIG9mZnNldFgsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnkgKyBvZmZzZXRZXG4gICAgICAgICk7XG4gICAgICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZChmYWtlRW1vamlzRyk7XG4gICAgfVxuXG4gICAgaWYgKE1pbmRFbGVtZW50Lmhhc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGZha2VJbWFnZUcgPSAoYWN0aXZlQ29tcG9uZW50LmltYWdlRHJhd2VyLmcgYXMgU1ZHR0VsZW1lbnQpLmNsb25lTm9kZSh0cnVlKSBhcyBTVkdHRWxlbWVudDtcbiAgICAgICAgY29uc3QgZm9yZWlnblJlY3RhbmdsZSA9IGdldEltYWdlRm9yZWlnblJlY3RhbmdsZShib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCk7XG4gICAgICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QoXG4gICAgICAgICAgICBmYWtlSW1hZ2VHLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUuaGVpZ2h0LFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS54ICsgb2Zmc2V0WCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueSArIG9mZnNldFlcbiAgICAgICAgKTtcbiAgICAgICAgZHJhZ0Zha2VOb2RlRz8uYXBwZW5kKGZha2VJbWFnZUcpO1xuICAgIH1cbiAgICByZXR1cm4gZHJhZ0Zha2VOb2RlRztcbn07XG5cbmV4cG9ydCBjb25zdCBkcmF3RmFrZURyb3BOb2RlID0gKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIGRyb3BUYXJnZXQ6IHtcbiAgICAgICAgdGFyZ2V0OiBNaW5kRWxlbWVudDtcbiAgICAgICAgZGV0ZWN0UmVzdWx0OiBEZXRlY3RSZXN1bHQ7XG4gICAgfSxcbiAgICBwYXRoOiBQYXRoXG4pID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBkcm9wVGFyZ2V0LnRhcmdldDtcbiAgICBjb25zdCBmYWtlRHJvcE5vZGVHID0gY3JlYXRlRygpO1xuICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBsYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRMYXlvdXRCeUVsZW1lbnQocGFyZW50KSBhcyBNaW5kTGF5b3V0VHlwZTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBpc0hvcml6b250YWxMYXlvdXQobGF5b3V0KTtcbiAgICBjb25zdCB7IGhhc05leHROb2RlLCBoYXNQcmV2aW91c05vZGUgfSA9IGhhc1ByZXZpb3VzT3JOZXh0T2ZEcm9wUGF0aChwYXJlbnQsIGRyb3BUYXJnZXQsIHBhdGgpO1xuXG4gICAgY29uc3Qgd2lkdGggPSAzMDtcbiAgICBjb25zdCBoZWlnaHQgPSAxMjtcbiAgICBsZXQgZmFrZU5vZGU6IE1pbmROb2RlLCBjZW50ZXJQb2ludDogUG9pbnQsIGJhc2ljTm9kZTogTWluZE5vZGUsIGxpbmtEaXJlY3Rpb246IExheW91dERpcmVjdGlvbjtcblxuICAgIGlmICghaGFzUHJldmlvdXNOb2RlICYmICFoYXNOZXh0Tm9kZSkge1xuICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShwYXJlbnQpO1xuICAgICAgICBjb25zdCBwYXJlbnRSZWN0ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHBhcmVudE5vZGUpO1xuXG4gICAgICAgIGxpbmtEaXJlY3Rpb24gPSBnZXRMYXlvdXREaXJlY3Rpb24ocGFyZW50Tm9kZSwgaXNIb3Jpem9udGFsKTtcbiAgICAgICAgYmFzaWNOb2RlID0gcGFyZW50Tm9kZTtcblxuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZCh0YXJnZXQpICYmIGlzU3RhbmRhcmRMYXlvdXQobGF5b3V0KSkge1xuICAgICAgICAgICAgaWYgKGRyb3BUYXJnZXQuZGV0ZWN0UmVzdWx0ID09PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICBsaW5rRGlyZWN0aW9uID0gTGF5b3V0RGlyZWN0aW9uLmxlZnQ7XG4gICAgICAgICAgICAgICAgYmFzaWNOb2RlLmxlZnQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaW5rRGlyZWN0aW9uID0gTGF5b3V0RGlyZWN0aW9uLnJpZ2h0O1xuICAgICAgICAgICAgICAgIGJhc2ljTm9kZS5sZWZ0ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQucmlnaHQsIFZlcnRpY2FsUGxhY2VtZW50Lm1pZGRsZV07XG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChwbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgICAgICBjb25zdCBwYXJlbnRDZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQocGFyZW50UmVjdCwgcGxhY2VtZW50KTtcblxuICAgICAgICBpZiAoaXNJbmRlbnRlZExheW91dChsYXlvdXQpKSB7XG4gICAgICAgICAgICBjb25zdCBwbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW1xuICAgICAgICAgICAgICAgIEhvcml6b250YWxQbGFjZW1lbnQuY2VudGVyLFxuICAgICAgICAgICAgICAgIGlzVG9wTGF5b3V0KGxheW91dCkgPyBWZXJ0aWNhbFBsYWNlbWVudC50b3AgOiBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b21cbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRDZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQocGFyZW50UmVjdCwgcGxhY2VtZW50KTtcblxuICAgICAgICAgICAgY2VudGVyUG9pbnQgPSBtb3ZlWE9mUG9pbnQocGFyZW50Q2VudGVyUG9pbnQsIGhlaWdodCwgbGlua0RpcmVjdGlvbik7XG4gICAgICAgICAgICBjZW50ZXJQb2ludFsxXSA9IGlzVG9wTGF5b3V0KGxheW91dCkgPyBjZW50ZXJQb2ludFsxXSAtIGhlaWdodCA6IGNlbnRlclBvaW50WzFdICsgaGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2VudGVyUG9pbnQgPSBtb3ZlWE9mUG9pbnQocGFyZW50Q2VudGVyUG9pbnQsIHdpZHRoLCBsaW5rRGlyZWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWhhc1ByZXZpb3VzTm9kZSAmJiBoYXNOZXh0Tm9kZSkge1xuICAgICAgICBjb25zdCBuZXh0RWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGgpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBiYXNpY05vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKG5leHRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgbmV4dFJlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUoYmFzaWNOb2RlKTtcbiAgICAgICAgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihiYXNpY05vZGUsIGlzSG9yaXpvbnRhbCk7XG5cbiAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50LnRvcF07XG5cbiAgICAgICAgdHJhbnNmb3JtUGxhY2VtZW50KHBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG5cbiAgICAgICAgbGV0IG9mZnNldCA9IC1oZWlnaHQ7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc0luZGVudGVkTGF5b3V0KHBhcmVudCkpIHtcbiAgICAgICAgICAgIG9mZnNldCA9IGlzVG9wTGF5b3V0KGxheW91dCkgPyBvZmZzZXQgLyAyICsgYmFzaWNOb2RlLmhlaWdodCAtIGJhc2ljTm9kZS52R2FwIDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNlbnRlclBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChuZXh0UmVjdCwgcGxhY2VtZW50KTtcbiAgICAgICAgY2VudGVyUG9pbnQgPSBtb3ZlWU9mUG9pbnQoY2VudGVyUG9pbnQsIG9mZnNldCwgbGlua0RpcmVjdGlvbik7XG4gICAgfSBlbHNlIGlmIChoYXNQcmV2aW91c05vZGUgJiYgIWhhc05leHROb2RlKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucHJldmlvdXMocGF0aCkpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBiYXNpY05vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKHByZXZpb3VzRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShiYXNpY05vZGUpO1xuICAgICAgICBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKGJhc2ljTm9kZSwgaXNIb3Jpem9udGFsKTtcblxuICAgICAgICBjb25zdCBwbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQubGVmdCwgVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXTtcblxuICAgICAgICB0cmFuc2Zvcm1QbGFjZW1lbnQocGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgICAgICBsZXQgb2Zmc2V0ID0gaGVpZ2h0O1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNJbmRlbnRlZExheW91dChwYXJlbnQpKSB7XG4gICAgICAgICAgICBvZmZzZXQgPSBpc1RvcExheW91dChsYXlvdXQpID8gLW9mZnNldCAtIChiYXNpY05vZGUuaGVpZ2h0IC0gYmFzaWNOb2RlLnZHYXApIDogb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIGNlbnRlclBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwcmV2aW91c1JlY3QsIHBsYWNlbWVudCk7XG4gICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVlPZlBvaW50KGNlbnRlclBvaW50LCBvZmZzZXQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucHJldmlvdXMocGF0aCkpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBiYXNpY05vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKHByZXZpb3VzRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShiYXNpY05vZGUpO1xuXG4gICAgICAgIGNvbnN0IG5leHRFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IG5leHROb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShuZXh0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IG5leHRSZWN0ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKG5leHROb2RlKTtcblxuICAgICAgICBjb25zdCBiZWdpblBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b21dO1xuICAgICAgICBjb25zdCBlbmRQbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQubGVmdCwgVmVydGljYWxQbGFjZW1lbnQudG9wXTtcbiAgICAgICAgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihiYXNpY05vZGUsIGlzSG9yaXpvbnRhbCk7XG5cbiAgICAgICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICAgICAgdHJhbnNmb3JtUGxhY2VtZW50KGVuZFBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQocHJldmlvdXNSZWN0LCBiZWdpblBsYWNlbWVudCk7XG4gICAgICAgIGNvbnN0IG5leHRQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQobmV4dFJlY3QsIGVuZFBsYWNlbWVudCk7XG5cbiAgICAgICAgY2VudGVyUG9pbnQgPSBbKHByZXZpb3VzUG9pbnRbMF0gKyBuZXh0UG9pbnRbMF0pIC8gMiwgKHByZXZpb3VzUG9pbnRbMV0gKyBuZXh0UG9pbnRbMV0pIC8gMl07XG4gICAgfVxuXG4gICAgbGV0IGNvcm5lclBvaW50ID0gY2VudGVyUG9pbnQsXG4gICAgICAgIG9wcG9zaXRlUG9pbnQgPSBjZW50ZXJQb2ludDtcblxuICAgIGNvbnN0IG9mZnNldFkgPSBpc0hvcml6b250YWwgPyBoZWlnaHQgOiB3aWR0aDtcbiAgICBjb25zdCBvZmZzZXRYID0gaXNIb3Jpem9udGFsID8gd2lkdGggOiBoZWlnaHQ7XG5cbiAgICBjb3JuZXJQb2ludCA9IG1vdmVZT2ZQb2ludChjb3JuZXJQb2ludCwgLW9mZnNldFkgLyAyLCBsaW5rRGlyZWN0aW9uISk7XG5cbiAgICBvcHBvc2l0ZVBvaW50ID0gbW92ZVlPZlBvaW50KG9wcG9zaXRlUG9pbnQsIG9mZnNldFkgLyAyLCBsaW5rRGlyZWN0aW9uISk7XG4gICAgb3Bwb3NpdGVQb2ludCA9IG1vdmVYT2ZQb2ludChvcHBvc2l0ZVBvaW50LCBvZmZzZXRYLCBsaW5rRGlyZWN0aW9uISk7XG5cbiAgICBjb25zdCB4ID0gTWF0aC5taW4oY29ybmVyUG9pbnRbMF0sIG9wcG9zaXRlUG9pbnRbMF0pO1xuICAgIGNvbnN0IHkgPSBNYXRoLm1pbihjb3JuZXJQb2ludFsxXSwgb3Bwb3NpdGVQb2ludFsxXSk7XG5cbiAgICBmYWtlTm9kZSA9IHtcbiAgICAgICAgLi4uYmFzaWNOb2RlISxcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgaEdhcDogTWluZEVsZW1lbnQuaXNJbmRlbnRlZExheW91dChwYXJlbnQpID8gQkFTRSAqIDQgKyAoYmFzaWNOb2RlLm9yaWdpbi5zdHJva2VXaWR0aCB8fCBTVFJPS0VfV0lEVEgpIDogMCxcbiAgICAgICAgdkdhcDogTWluZEVsZW1lbnQuaXNJbmRlbnRlZExheW91dChwYXJlbnQpID8gQkFTRSA6IDBcbiAgICB9O1xuXG4gICAgY29uc3QgZmFrZVJlY3RhbmdsZUcgPSBkcmF3Um91bmRSZWN0YW5nbGUoXG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLFxuICAgICAgICBmYWtlTm9kZSEueCxcbiAgICAgICAgZmFrZU5vZGUhLnksXG4gICAgICAgIGZha2VOb2RlIS54ICsgd2lkdGgsXG4gICAgICAgIGZha2VOb2RlIS55ICsgaGVpZ2h0LFxuICAgICAgICB7XG4gICAgICAgICAgICBzdHJva2U6IFBSSU1BUllfQ09MT1IsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMixcbiAgICAgICAgICAgIGZpbGw6IFBSSU1BUllfQ09MT1IsXG4gICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBsaW5rID0gZHJhd0xpbmsoYm9hcmQsIE1pbmRFbGVtZW50LmdldE5vZGUocGFyZW50KSwgZmFrZU5vZGUsIGlzSG9yaXpvbnRhbCwgZmFsc2UsIFBSSU1BUllfQ09MT1IsIFNUUk9LRV9XSURUSCk7XG4gICAgZmFrZURyb3BOb2RlRz8uYXBwZW5kQ2hpbGQobGluayk7XG4gICAgZmFrZURyb3BOb2RlRz8uYXBwZW5kQ2hpbGQoZmFrZVJlY3RhbmdsZUcpO1xuXG4gICAgcmV0dXJuIGZha2VEcm9wTm9kZUc7XG59O1xuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MindElement } from '../../interfaces/element';
|
|
2
2
|
/**
|
|
3
3
|
* 1. return new node height if height changed
|
|
4
4
|
* 2. new height is effected by zoom
|
|
5
5
|
*/
|
|
6
6
|
export const getNewNodeHeight = (board, element, newNodeDynamicWidth) => {
|
|
7
|
-
const textManage =
|
|
7
|
+
const textManage = MindElement.getTextManage(element);
|
|
8
8
|
const { height } = textManage.getSize();
|
|
9
9
|
textManage.updateRectangleWidth(newNodeDynamicWidth);
|
|
10
10
|
const { height: newHeight } = textManage.getSize();
|
|
@@ -16,4 +16,4 @@ export const getNewNodeHeight = (board, element, newNodeDynamicWidth) => {
|
|
|
16
16
|
}
|
|
17
17
|
return undefined;
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy13aWR0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL25vZGUvZHluYW1pYy13aWR0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsbUJBQTJCLEVBQUUsRUFBRTtJQUNyRyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDckQsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFbkQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2hFLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9taW5kLW5vZGUuY29tcG9uZW50JztcblxuLyoqXG4gKiAxLiByZXR1cm4gbmV3IG5vZGUgaGVpZ2h0IGlmIGhlaWdodCBjaGFuZ2VkXG4gKiAyLiBuZXcgaGVpZ2h0IGlzIGVmZmVjdGVkIGJ5IHpvb21cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE5ld05vZGVIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBuZXdOb2RlRHluYW1pY1dpZHRoOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZXh0TWFuYWdlID0gTWluZEVsZW1lbnQuZ2V0VGV4dE1hbmFnZShlbGVtZW50KTtcbiAgICBjb25zdCB7IGhlaWdodCB9ID0gdGV4dE1hbmFnZS5nZXRTaXplKCk7XG4gICAgdGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGVXaWR0aChuZXdOb2RlRHluYW1pY1dpZHRoKTtcbiAgICBjb25zdCB7IGhlaWdodDogbmV3SGVpZ2h0IH0gPSB0ZXh0TWFuYWdlLmdldFNpemUoKTtcblxuICAgIGlmIChoZWlnaHQgIT09IG5ld0hlaWdodCkge1xuICAgICAgICByZXR1cm4gbmV3SGVpZ2h0O1xuICAgIH1cblxuICAgIGlmIChNYXRoLmFicyhuZXdIZWlnaHQgLyBib2FyZC52aWV3cG9ydC56b29tIC0gZWxlbWVudC5oZWlnaHQpID4gMikge1xuICAgICAgICByZXR1cm4gbmV3SGVpZ2h0O1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuIl19
|