UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

30 lines 3.96 kB
/** * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ /** * Calculate position and scale * @param containerEle * @param targetEle * @param scale: if scale is set, skip calculate scale value */ export const calculateTransform = (containerEle, targetEle, scale) => { const containerEleSize = containerEle.getBoundingClientRect(); const targetEleSize = targetEle.getBBox(); if (!targetEleSize.width) { // There is no g element anymore. return null; } // TODO // leave some place when re-scale const scaleUnit = (containerEleSize.width - 48) / containerEleSize.width; const k = scale || Math.min(containerEleSize.width / targetEleSize.width, containerEleSize.height / targetEleSize.height, 1) * scaleUnit; const x = (containerEleSize.width - targetEleSize.width * k) / 2; const y = (containerEleSize.height - targetEleSize.height * k) / 2; return { x, y, k }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9jb21wb25lbnRzL2dyYXBoLyIsInNvdXJjZXMiOlsiY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFJSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsWUFBMkIsRUFBRSxTQUFzQixFQUFFLEtBQWMsRUFBMEIsRUFBRTtJQUNoSSxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtRQUN4QixpQ0FBaUM7UUFDakMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU87SUFDUCxpQ0FBaUM7SUFDakMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3pFLE1BQU0sQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN6SSxNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRSxPQUFPO1FBQ0wsQ0FBQztRQUNELENBQUM7UUFDRCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IE56Wm9vbVRyYW5zZm9ybSB9IGZyb20gJy4uL2ludGVyZmFjZSc7XG5cbi8qKlxuICogQ2FsY3VsYXRlIHBvc2l0aW9uIGFuZCBzY2FsZVxuICogQHBhcmFtIGNvbnRhaW5lckVsZVxuICogQHBhcmFtIHRhcmdldEVsZVxuICogQHBhcmFtIHNjYWxlOiBpZiBzY2FsZSBpcyBzZXQsIHNraXAgY2FsY3VsYXRlIHNjYWxlIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVUcmFuc2Zvcm0gPSAoY29udGFpbmVyRWxlOiBTVkdTVkdFbGVtZW50LCB0YXJnZXRFbGU6IFNWR0dFbGVtZW50LCBzY2FsZT86IG51bWJlcik6IE56Wm9vbVRyYW5zZm9ybSB8IG51bGwgPT4ge1xuICBjb25zdCBjb250YWluZXJFbGVTaXplID0gY29udGFpbmVyRWxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCB0YXJnZXRFbGVTaXplID0gdGFyZ2V0RWxlLmdldEJCb3goKTtcbiAgaWYgKCF0YXJnZXRFbGVTaXplLndpZHRoKSB7XG4gICAgLy8gVGhlcmUgaXMgbm8gZyBlbGVtZW50IGFueW1vcmUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBUT0RPXG4gIC8vIGxlYXZlIHNvbWUgcGxhY2Ugd2hlbiByZS1zY2FsZVxuICBjb25zdCBzY2FsZVVuaXQgPSAoY29udGFpbmVyRWxlU2l6ZS53aWR0aCAtIDQ4KSAvIGNvbnRhaW5lckVsZVNpemUud2lkdGg7XG4gIGNvbnN0IGsgPSBzY2FsZSB8fCBNYXRoLm1pbihjb250YWluZXJFbGVTaXplLndpZHRoIC8gdGFyZ2V0RWxlU2l6ZS53aWR0aCwgY29udGFpbmVyRWxlU2l6ZS5oZWlnaHQgLyB0YXJnZXRFbGVTaXplLmhlaWdodCwgMSkgKiBzY2FsZVVuaXQ7XG4gIGNvbnN0IHggPSAoY29udGFpbmVyRWxlU2l6ZS53aWR0aCAtIHRhcmdldEVsZVNpemUud2lkdGggKiBrKSAvIDI7XG4gIGNvbnN0IHkgPSAoY29udGFpbmVyRWxlU2l6ZS5oZWlnaHQgLSB0YXJnZXRFbGVTaXplLmhlaWdodCAqIGspIC8gMjtcbiAgcmV0dXJuIHtcbiAgICB4LFxuICAgIHksXG4gICAga1xuICB9O1xufTtcbiJdfQ==