"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("../_virtual/_tslib.js"),e=require("../utils/common.js"),i=require("./mixins.js"),n=require("./props.js"),r=require("./component.js"),a=i.default(r.default).extend({data:function(){return{$editor:null}},props:{editable:n.defineProp({type:Boolean,default:!1,initialize:!1}),editorOpts:n.defineProp({type:Object,default:function(){},initialize:!1})},computed:{$editable:function(){return this.$meta.editable}},mounted:function(){return t.__awaiter(this,void 0,void 0,(function(){var e;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,this.$context.ready];case 1:return t.sent(),e=this.$options.amapMeta.editable,this.editable&&e.startEditing.call(this),[2]}}))}))},beforeDestroy:function(){var t=this,e=this.$editor,i=this.$context;e&&(this.$options.amapMeta.editable.events.forEach((function(i){e.off(i,t.$onAmapEdit)})),e.close(),i&&i.target&&i.target.setMap(null))},watch:{"$props.editable":function(t){var e=this.$editable,i=this.$context;t?i.destroyed||e.startEditing.call(this):e.endEditing.call(this)}}}),o=i.default(a).extend({amapMeta:{editable:{events:[],loadEditor:e.panic,initEditor:e.panic,onEdit:e.panic,initEditing:function(){return t.__awaiter(this,void 0,void 0,(function(){var e,i,n,r,a,o,s,d,l,c,u=this;return t.__generator(this,(function(t){switch(t.label){case 0:return this.$editor?[2,this.$editor]:(e=this.$options.amapMeta.editable,n=(i=this).$container,r=i.$context,a=i.$editable,o=i.$map,s=i.editorOpts,[4,n.ready]);case 1:return t.sent(),[4,a.loadEditor()];case 2:return t.sent(),d=r.AMap,l=this,[4,e.initEditor.call(this,d,o,r.target,s)];case 3:return l.$editor=t.sent(),c=this.$onAmapEdit=e.onEdit.bind(this),e.events.forEach((function(t){u.$editor.on(t,c)})),[2,this.$editor]}}))}))},startEditing:function(){return t.__awaiter(this,void 0,void 0,(function(){var e,i;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,this.$editable.initEditing.call(this)];case 1:return e=t.sent(),"function"==typeof(i=this.$context.target).setDraggable&&i.setDraggable(!1),e.open(),[2]}}))}))},endEditing:function(){if(this.$editor){this.$editor.close();var t=this.$context.target;"function"==typeof t.setDraggable&&"boolean"==typeof this.$props.draggable&&t.setDraggable(this.$props.draggable)}}}}});exports.default=o;