var TagView=function(){"use strict";KanKan.Viewmode;var t=function(t){function n(n,i){var e=this;t.call(this),this.app=n,this.rendered=!1,this.options=i||{},this.sid=null,this.$tag=null,this.tags_dom={},this.isPositioning=!1,this.player=null,this.isHideAll=!1,this.app.TagManager.on("update",(function(t){e.tags&&e.tags.length&&(e.player||(e.player=e.app.core.get("Player")),e.tags.forEach((function(t){if(t&&e.tags_dom[t.sid])return e.isHideAll?e.tags_dom[t.sid].style.display="none":void(t.visible?(e.tags_dom[t.sid].style.transform="translate("+t.x+"px,"+t.y+"px)",e.tags_dom[t.sid].style.display="block"):e.tags_dom[t.sid].style.display="none")})),t.hasChanged.cameraChanged3?e.waitToAimAtTag(!1):e.waitToAimAtTag(!0))}))}t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n;var i={tags:{configurable:!0}};return i.tags.get=function(){return this.app.TagManager.tags||[]},i.tags.set=function(t){var n=this;this.TagManager.tags||(this.TagManager.tags=[]),t&&t.length&&t.forEach((function(t){n.TagManager.tags.push(t)}))},n.prototype.remove=function(t){var n=document.querySelector("[xui_tags_view]"),i=n.querySelector('[data-tag-id="'+t+'"]');n.removeChild(i)},n.prototype.removeAll=function(){document.querySelector("[xui_tags_view]").innerHTML=""},n.prototype.bind=function(t){var n=this,i=[],e=this.options.render||function(){},r=document.querySelector("[xui_tags_view]");if(this.tags_dom=this.tags_dom||{},t.forEach((function(t){if(!r.querySelector('[data-tag-id="'+t.sid+'"]')){t.icon?0!==t.icon.indexOf("http")&&(t.icon=n.app.resource.getUserResourceURL(t.icon)):t.icon=n.app.resource.base("images/tag_icon_default.svg");var a=e(t)||'';"string"==typeof a?i.push('\n
\n '+a.replace(/\{\{(\w+)\}\}/g,(function(n,i){return t[i]}))+"\n
"):a instanceof HTMLElement&&(a.setAttribute("data-tag-id",t.sid),a.setAttribute("data-tag-type",t.type),a.setAttribute("data-tag-unbind",!0),r.insertAdjacentElement("beforeend",a))}})),i.length){var a=document.createElement("template");a.innerHTML=i.join(""),r.appendChild(a.content)}r.querySelectorAll("[data-tag-unbind]").forEach((function(t){t.removeAttribute("data-tag-unbind");var i=t.getAttribute("data-tag-id");i&&(n.tags_dom[i]=t),t.addEventListener("mouseenter",(function(t){n.emit("mouseenter",t)})),t.addEventListener("mouseleave",(function(t){n.emit("mouseleave",t)})),t.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),t.data=n.tags.find((function(t){return t.sid==i})),n.emit("click",t)}))}))},n.prototype.render=function(){var t=this;if(!this.rendered){var n=[];this.tags.forEach((function(i){t.tags_dom[i.sid]||n.push(i)})),this.emit("loaded",{tags:this.tags}),this.bind(n),this.emit("rendered",{tags:this.tags,elem:document.querySelector("[xui_tags_view]")}),this.rendered=!0}},n.prototype.refresh=function(){var t=this;if(this.tags.length){var n=[];this.tags.forEach((function(i){t.tags_dom[i.sid]||n.push(i)})),this.bind(n)}},n.prototype.showAll=function(){this.isHideAll=!1},n.prototype.hideAll=function(){this.isHideAll=!0},n.prototype.focus=function(t){var n=this;return new Promise((function(i){var e=n.tags.find((function(n){return n.sid==t}));if(!e)return i();var r=n.player||n.app.core.get("Player"),a=r.model.panos.closestPanoTowardPoint({point:e.position,getAll:!0}).map((function(t){return t.pano})).filter((function(t){return e.visiblePanos.indexOf(t)>-1&&t.position.clone().setY(e.position.y).sub(e.position).length()>1.5})),o=a[0],s=a.filter((function(t){return t.floorIndex==r.model.currentFloor.floorIndex}));s.length>0&&(o=s[0]),o||(console.warn("该热点无可视点位"),o=r.currentPano),r.flyToPano({pano:o,lookAtPoint:e.position},(function(){n.isPositioning=!1,i()}))}))},n.prototype.aimAtTag=function(){var t=this.player.getDirection(),n=1/0,i=null;for(var e in this.tags){var r=this.tags[e],a=r.position.clone().sub(this.player.position).angleTo(t);a