UNPKG

@realsee/dnalogel

Version:
141 lines (140 loc) 7.3 kB
var a = Object.defineProperty; var h = (r, o, t) => o in r ? a(r, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[o] = t; var e = (r, o, t) => (h(r, typeof o != "symbol" ? o + "" : o, t), t); import d from "./HTML.js"; import u from "./mobileHTML.js"; import { controllerBackgroundStyle as y, operatingSpaceStyle as f, uiWrapperStyle as v, textStyle as C, exitItemStyle as E, exitIconStyle as x } from "./style.js"; import { MainBtnController as S } from "./MainBtnController.js"; import { MobileMainBtnController as g } from "./mobileMainBtnController.js"; import w from "./Revoke/index.js"; import _ from "../../Components/Controller0.js"; import b from "../../Components/Controller1.js"; import "../../../vendor/svelte/internal/index.js"; import "../../Components/Common/Switcher0.js"; import "../../Components/Common/Exit.js"; import "../../Controller/EditController.js"; import "../../Model/line.js"; import "../../../shared-utils/uuid.js"; import "../../utils/line.js"; import "@realsee/five/line"; import "../../utils/constants.js"; import "three"; import "@realsee/five"; import "../../utils/dom/distanceItem.js"; import "../../utils/dom/base.js"; import "../../utils/isNDCPointInScreen.js"; import "../../../shared-utils/three/centerPoint.js"; import "../../Model/point.js"; import "../../../shared-utils/throttle.js"; import "../../Controller/BaseController.js"; import "../../utils/ironbox.js"; import "../../Model/polyline.js"; import "../../Model/area.js"; import "../../Model/polygon.js"; import "../../../shared-utils/three/IObject3D.js"; import "../../utils/generatePolygonGeometry.js"; import "earcut"; import "../../utils/dom/areaDom.js"; import "../../utils/geometryUtil.js"; import "hammerjs"; import "../../../vendor/@tweenjs/tween/dist/tween.esm.js.js"; import "../../../CSS3DRenderPlugin/utils/three/CSS3DRender.js"; import "../../../shared-utils/positionToVector3.js"; import "../../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js"; import "three/examples/jsm/renderers/CSS3DRenderer"; import "../../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js"; import "../../../shared-utils/util.js"; import "../../../CSS3DRenderPlugin/utils/createResizeObserver.js"; import "../../../CSS3DRenderPlugin/utils/even.js"; import "../../../shared-utils/Subscribe.js"; import "../../../CSS3DRenderPlugin/utils/three/CSS3DObject.js"; import "../../../CSS3DRenderPlugin/utils/three/OpacityMesh.js"; import "../../../shared-utils/three/getObjectVisible.js"; import "../../../CSS3DRenderPlugin/utils/three/CSS3DScene.js"; import "../../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js"; import "../../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js"; import "../../../shared-utils/isNil.js"; import "../../utils/isIntersecting.js"; import "../../../shared-utils/three/PointSelector.js"; import "../../../shared-utils/three/PointSelectorHelper.js"; import "../../../shared-utils/three/Magnifier.js"; import "../../../shared-utils/three/PointHelper.js"; import "../../../shared-utils/three/Assets/index.js"; import "../../../shared-utils/three/PointDomHelper.js"; import "../rangePiece/html.js"; import "../../../CSS3DRenderPlugin/index.js"; import "../../../CSS3DRenderPlugin/Controller.js"; import "../../../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js"; import "../../../shared-utils/url/absoluteUrl.js"; import "../../../shared-utils/animationFrame/BetterTween.js"; import "../../../shared-utils/animationFrame/index.js"; import "../../../shared-utils/isTouchDevice.js"; import "../../../shared-utils/getIntersectionFromEvent.js"; import "../../../shared-utils/getPointFromHammerEvent.js"; import "../../../shared-utils/three/getIntersect.js"; import "../DeleteDom/index.js"; import "../DeleteDom/_Assets/delete.svg.js"; import "../DeleteDom/_Assets/delete_bg.png.js"; import "../DeleteDom/_Assets/delete_hover_bg.png.js"; import "../../utils/math.js"; import "../../Components/Common/icons/index.js"; import "../../Components/Common/Switcher1.js"; import "../../Components/Common/CircleButton.js"; import "../../../vendor/svelte/transition/index.js"; import "../../../vendor/svelte/easing/index.js"; class to { constructor(o, t) { e(this, "revoke"); e(this, "container"); e(this, "mainController"); e(this, "disposers", []); e(this, "measureController"); e(this, "mode"); e(this, "svelteDom"); e(this, "_params"); e(this, "handleExit", () => { const o = this.container.querySelector(".fpm__exit-icon"), t = this.container.querySelector(".fpm__exit"); if (!t || !o) throw new Error("cannot find dom"); this.mode === "pc" && (Object.assign(t.style, E), Object.assign(o == null ? void 0 : o.style, x)); const i = () => { t.style.opacity = "1"; }, s = () => { t.style.opacity = "0.85"; }, n = () => { this.measureController.disable(); }; return t.addEventListener("click", n), t.addEventListener("mouseenter", i), t.addEventListener("mouseleave", s), () => { t.removeEventListener("click", n), t.removeEventListener("mouseenter", i), t.removeEventListener("mouseleave", s); }; }); var s, n; this._params = t, this.measureController = o, this.mode = (s = t.mode) != null ? s : "pc", this.container = document.createElement("div"), this.container.innerHTML = this.mode === "mobile" ? u : d, this.container.classList.add("fpm__ui-controller", this.mode), this.container.style.background = "rgba(0, 0, 0, 0.15)"; const i = (n = t.useNewUI) != null ? n : !1; if (i && (t.pointSelectorMode === "cursor" ? this.svelteDom = new _({ target: t.container, props: { measureController: this.measureController, i18n: t.i18n, showExit: t.showExit } }) : t.pointSelectorMode === "fixed" && (this.svelteDom = new b({ target: t.container, props: { measureController: this.measureController, i18n: t.i18n, showExit: t.showExit } }))), !i) { t.container.appendChild(this.container); const l = this.container.querySelectorAll(".fpm__text"), m = this.container.querySelector(".fpm_ui-bg"), p = this.container.querySelector(".fpm_operating-space"); Object.assign(m == null ? void 0 : m.style, y), Object.assign(p == null ? void 0 : p.style, f), Object.assign(this.container.style, v), l.forEach((c) => Object.assign(c.style, C)); } } dispose() { var o; this.hide(), (o = this.svelteDom) == null || o.$destroy(), this.container.remove(); } show() { return this.container.style.display = "block", this.container.style.opacity = "1", this.container.style.transform = "translate(0, 0)", this.mode === "pc" ? (this.revoke = new w(this.measureController, this.container), this.mainController = new S(this.measureController, this.container, this._params)) : this.mainController = new g(this.measureController, this.container, this._params), this.disposers.push(this.handleExit()), this; } hide() { var o, t; return this.container.style.display = "none", this.container.style.opacity = "0", this.container.style.transform = "translate(0, 10px)", this.mode === "pc" && ((o = this.revoke) == null || o.dispose()), (t = this.mainController) == null || t.dispose(), this.disposers.forEach((i) => i()), this.disposers = [], this; } } export { to as UIController };