wangrong
2025-09-23 40634ebaf5863a599bba8ca2c0575ca079fb8e15
1
2
3
4
5
6
7
8
9
var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__spreadValues=(e,t)=>{for(var i in t||(t={}))__hasOwnProp.call(t,i)&&__defNormalProp(e,i,t[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(t))__propIsEnum.call(t,i)&&__defNormalProp(e,i,t[i]);return e},__publicField=(e,t,i)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,i),i);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("monaco-editor")):"function"==typeof define&&define.amd?define(["exports","monaco-editor"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).MarsgisEditor={},e.monaco)}(this,(function(e,t){"use strict";function i(e){if(e&&e.__esModule)return e;var t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var n=i(t);const r=class{static setConfig(e){r.apiConf=e,r.sessionName=e.packageName+"-homepage-config"}static getConfig(){return r.apiConf}static getPackageName(){return r.apiConf.packageName}static getExampleList(){if("online"===r.apiConf.configFetchType)return r.fetchExampleList();try{const e=JSON.parse(sessionStorage.getItem(r.sessionName)||"");if(e)return r.saveCompConfig(e),Promise.resolve(e);throw new Error("无缓存数据")}catch(e){return r.fetchExampleList()}}static async fetchExampleList(){const e=await fetch(r.apiConf.configSourceUrl),t=await e.json();return r.saveCompConfig(t),"local"===r.apiConf.configFetchType&&sessionStorage.setItem(r.sessionName,JSON.stringify(t)),t}static async getCompConfig(e){try{const t=r.mars3dExampleConfig;if(t)return t[e];throw new Error("无缓存数据")}catch(t){return await r.getExampleList(),r.getCompConfig(e)}}static saveCompConfig(e){const t={};r.totalCount=0,e.forEach(((e,i)=>{e.id=`ex_${i}`,e.children&&(e.count=0,e.children.forEach(((i,n)=>{i.id=`${e.id}_${n}`,i.children&&(i.count=i.children.length,i.children.forEach(((n,s)=>{e.count++,n.id=`${i.id}_${s}`,n.fullName=`${e.name}  -  ${i.name}  -  ${n.name}`,n.thumbnail=`${r.apiConf.thumbnailPublicPath||"/"}${n.thumbnail||"thumbnail.jpg"}`,t[n.main]=n,n.hidden||r.totalCount++})))})))})),r.mars3dExampleConfig=t}static getResourcesByLibs(e){e&&0!==e.length||(e=[r.apiConf.packageName]);let t=[];const i={};for(let n=0,s=e.length;n<s;n++){const s=e[n];if(i[s])continue;i[s]=!0;const a=r.apiConf.configLibs[s];a&&(t=t.concat(a.map((e=>e.startsWith("http")||e.startsWith("//:")?e:r.apiConf.libPublicPath+e))))}return t}static getLibs(e,t=[],i=[]){return r.getResourcesByLibs(t).concat(i).map((t=>{let i=t;return t.startsWith(".")||t.startsWith("http")||t.startsWith("//:")?i=t:t.startsWith("/")?"/"!==r.apiConf.baseUrl&&(i=r.apiConf.baseUrl+t):i=`${r.apiConf.resourcePublicPath}/${e}/${t}`,{name:i,url:i}}))}static getQueryString(e){return new URL(window.location.href).searchParams.get(e)}static LoadSource(e){const t=i=>{if(e.length){const n=e.shift();let s;s=n.endsWith(".css")?r.loadLink(n):r.loadScript(n),s.then((()=>{t(i)}))}else i(!0)};return new Promise((e=>{t(e)}))}static loadScript(e,t=!0){const i=document.createElement("script");return i.async=t,i.src=e,document.body.appendChild(i),new Promise((e=>{i.onload=()=>{e(!0)}}))}static loadLink(e){const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),new Promise((e=>{t.onload=()=>{e(!0)}}))}static scriptFilter(e){return e=(e=(e=e.replace(/const /gm,"var ")).replace(/let /gm,"var ")).replace(/export /gm,""),e=(e="mars3d"===r.apiConf.packageName?(e=e.replace('import * as mars3d from "mars3d"',"")).replace("const Cesium = mars3d.Cesium",""):(e=e.replace('import * as mars2d from "mars2d"',"")).replace("const L = mars3d.L","")).replace(/import /gm,"// import ")}};let s=r;function a(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})})),t}__publicField(s,"apiConf"),__publicField(s,"sessionName"),__publicField(s,"totalCount",0),__publicField(s,"mars3dExampleConfig");var o={},c=a(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"}))),l={};!function(e){var t=/[|\\{}()[\]^$+*?.]/g;e.escapeRegExpChars=function(e){return e?String(e).replace(t,"\\$&"):""};var i={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;","'":"&#39;"},n=/[&<>'"]/g;function r(e){return i[e]||e}e.escapeXML=function(e){return null==e?"":String(e).replace(n,r)},e.escapeXML.toString=function(){return Function.prototype.toString.call(this)+';\nvar _ENCODE_HTML_RULES = {\n      "&": "&amp;"\n    , "<": "&lt;"\n    , ">": "&gt;"\n    , \'"\': "&#34;"\n    , "\'": "&#39;"\n    }\n  , _MATCH_HTML = /[&<>\'"]/g;\nfunction encode_char(c) {\n  return _ENCODE_HTML_RULES[c] || c;\n};\n'},e.shallowCopy=function(e,t){if(t=t||{},null!=e)for(var i in t)e[i]=t[i];return e},e.shallowCopyFromList=function(e,t,i){if(i=i||[],t=t||{},null!=e)for(var n=0;n<i.length;n++){var r=i[n];void 0!==t[r]&&(e[r]=t[r])}return e},e.cache={_data:{},set:function(e,t){this._data[e]=t},get:function(e){return this._data[e]},remove:function(e){delete this._data[e]},reset:function(){this._data={}}},e.hyphenToCamel=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))},e.createNullProtoObjWherePossible="function"==typeof Object.create?function(){return Object.create(null)}:{__proto__:null}instanceof Object?function(){return{}}:function(){return{__proto__:null}}}(l);var A="3.1.7";!function(e){
/**
     * @file Embedded JavaScript templating engine. {@link http://ejs.co}
     * @author Matthew Eernisse <mde@fleegix.org>
     * @author Tiancheng "Timothy" Gu <timothygu99@gmail.com>
     * @project EJS
     * @license {@link http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0}
     */
var t=c,i=c,n=l,r=!1,s=A,a="locals",o=["delimiter","scope","context","debug","compileDebug","client","_with","rmWhitespace","strict","filename","async"],d=o.concat("cache"),u=/^\uFEFF/,m=/^[a-zA-Z_$][0-9a-zA-Z_$]*$/;function p(i,n){var r;if(n.some((function(n){return r=e.resolveInclude(i,n,!0),t.existsSync(r)})))return r}function g(t,i){var n,r=t.filename,s=arguments.length>1;if(t.cache){if(!r)throw new Error("cache option requires a filename");if(n=e.cache.get(r))return n;s||(i=I(r).toString().replace(u,""))}else if(!s){if(!r)throw new Error("Internal EJS error: no file name or template provided");i=I(r).toString().replace(u,"")}return n=e.compile(i,t),t.cache&&e.cache.set(r,n),n}function h(t,i,n){var r;if(!n){if("function"==typeof e.promiseImpl)return new e.promiseImpl((function(e,n){try{e(r=g(t)(i))}catch(s){n(s)}}));throw new Error("Please provide a callback function")}try{r=g(t)(i)}catch(s){return n(s)}n(null,r)}function I(t){return e.fileLoader(t)}function f(i,r){var s=n.shallowCopy(n.createNullProtoObjWherePossible(),r);if(s.filename=function(i,n){var r,s,a=n.views,o=/^[A-Za-z]+:\\|^\//.exec(i);if(o&&o.length)i=i.replace(/^\/*/,""),r=Array.isArray(n.root)?p(i,n.root):e.resolveInclude(i,n.root||"/",!0);else if(n.filename&&(s=e.resolveInclude(i,n.filename),t.existsSync(s)&&(r=s)),!r&&Array.isArray(a)&&(r=p(i,a)),!r&&"function"!=typeof n.includer)throw new Error('Could not find the include file "'+n.escapeFunction(i)+'"');return r}(i,s),"function"==typeof r.includer){var a=r.includer(i,s.filename);if(a&&(a.filename&&(s.filename=a.filename),a.template))return g(s,a.template)}return g(s)}function M(e,t,i,n,r){var s=t.split("\n"),a=Math.max(n-3,0),o=Math.min(s.length,n+3),c=r(i),l=s.slice(a,o).map((function(e,t){var i=t+a+1;return(i==n?" >> ":"    ")+i+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+n+"\n"+l+"\n\n"+e.message,e}function y(e){return e.replace(/;(\s*$)/,"$1")}function S(t,i){i=i||n.createNullProtoObjWherePossible();var r=n.createNullProtoObjWherePossible();this.templateText=t,this.mode=null,this.truncate=!1,this.currentLine=1,this.source="",r.client=i.client||!1,r.escapeFunction=i.escape||i.escapeFunction||n.escapeXML,r.compileDebug=!1!==i.compileDebug,r.debug=!!i.debug,r.filename=i.filename,r.openDelimiter=i.openDelimiter||e.openDelimiter||"<",r.closeDelimiter=i.closeDelimiter||e.closeDelimiter||">",r.delimiter=i.delimiter||e.delimiter||"%",r.strict=i.strict||!1,r.context=i.context,r.cache=i.cache||!1,r.rmWhitespace=i.rmWhitespace,r.root=i.root,r.includer=i.includer,r.outputFunctionName=i.outputFunctionName,r.localsName=i.localsName||e.localsName||a,r.views=i.views,r.async=i.async,r.destructuredLocals=i.destructuredLocals,r.legacyInclude=void 0===i.legacyInclude||!!i.legacyInclude,r.strict?r._with=!1:r._with=void 0===i._with||i._with,this.opts=r,this.regex=this.createRegex()}e.cache=n.cache,e.fileLoader=t.readFileSync,e.localsName=a,e.promiseImpl=new Function("return this;")().Promise,e.resolveInclude=function(e,t,n){var r=i.dirname,s=i.extname,a=(0,i.resolve)(n?t:r(t),e);return s(e)||(a+=".ejs"),a},e.compile=function(e,t){return t&&t.scope&&(r||(console.warn("`scope` option is deprecated and will be removed in EJS 3"),r=!0),t.context||(t.context=t.scope),delete t.scope),new S(e,t).compile()},e.render=function(e,t,i){var r=t||n.createNullProtoObjWherePossible(),s=i||n.createNullProtoObjWherePossible();return 2==arguments.length&&n.shallowCopyFromList(s,r,o),g(s,e)(r)},e.renderFile=function(){var e,t,i,r=Array.prototype.slice.call(arguments),s=r.shift(),a={filename:s};return"function"==typeof arguments[arguments.length-1]&&(e=r.pop()),r.length?(t=r.shift(),r.length?n.shallowCopy(a,r.pop()):(t.settings&&(t.settings.views&&(a.views=t.settings.views),t.settings["view cache"]&&(a.cache=!0),(i=t.settings["view options"])&&n.shallowCopy(a,i)),n.shallowCopyFromList(a,t,d)),a.filename=s):t=n.createNullProtoObjWherePossible(),h(a,t,e)},e.Template=S,e.clearCache=function(){e.cache.reset()},S.modes={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"},S.prototype={createRegex:function(){var e="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",t=n.escapeRegExpChars(this.opts.delimiter),i=n.escapeRegExpChars(this.opts.openDelimiter),r=n.escapeRegExpChars(this.opts.closeDelimiter);return e=e.replace(/%/g,t).replace(/</g,i).replace(/>/g,r),new RegExp(e)},compile:function(){var e,t,r,s=this.opts,a="",o="",c=s.escapeFunction,l=s.filename?JSON.stringify(s.filename):"undefined";if(!this.source){if(this.generateSource(),a+='  var __output = "";\n  function __append(s) { if (s !== undefined && s !== null) __output += s }\n',s.outputFunctionName){if(!m.test(s.outputFunctionName))throw new Error("outputFunctionName is not a valid JS identifier.");a+="  var "+s.outputFunctionName+" = __append;\n"}if(s.localsName&&!m.test(s.localsName))throw new Error("localsName is not a valid JS identifier.");if(s.destructuredLocals&&s.destructuredLocals.length){for(var A="  var __locals = ("+s.localsName+" || {}),\n",d=0;d<s.destructuredLocals.length;d++){var u=s.destructuredLocals[d];if(!m.test(u))throw new Error("destructuredLocals["+d+"] is not a valid JS identifier.");d>0&&(A+=",\n  "),A+=u+" = __locals."+u}a+=A+";\n"}!1!==s._with&&(a+="  with ("+s.localsName+" || {}) {\n",o+="  }\n"),o+="  return __output;\n",this.source=a+this.source+o}e=s.compileDebug?"var __line = 1\n  , __lines = "+JSON.stringify(this.templateText)+"\n  , __filename = "+l+";\ntry {\n"+this.source+"} catch (e) {\n  rethrow(e, __lines, __filename, __line, escapeFn);\n}\n":this.source,s.client&&(e="escapeFn = escapeFn || "+c.toString()+";\n"+e,s.compileDebug&&(e="rethrow = rethrow || "+M.toString()+";\n"+e)),s.strict&&(e='"use strict";\n'+e),s.debug&&console.log(e),s.compileDebug&&s.filename&&(e=e+"\n//# sourceURL="+l+"\n");try{if(s.async)try{r=new Function("return (async function(){}).constructor;")()}catch(I){throw I instanceof SyntaxError?new Error("This environment does not support async/await"):I}else r=Function;t=new r(s.localsName+", escapeFn, include, rethrow",e)}catch(I){throw I instanceof SyntaxError&&(s.filename&&(I.message+=" in "+s.filename),I.message+=" while compiling ejs\n\n",I.message+="If the above error is not helpful, you may want to try EJS-Lint:\n",I.message+="https://github.com/RyanZim/EJS-Lint",s.async||(I.message+="\n",I.message+="Or, if you meant to create an async function, pass `async: true` as an option.")),I}var p=s.client?t:function(e){return t.apply(s.context,[e||n.createNullProtoObjWherePossible(),c,function(t,i){var r=n.shallowCopy(n.createNullProtoObjWherePossible(),e);return i&&(r=n.shallowCopy(r,i)),f(t,s)(r)},M])};if(s.filename&&"function"==typeof Object.defineProperty){var g=s.filename,h=i.basename(g,i.extname(g));try{Object.defineProperty(p,"name",{value:h,writable:!1,enumerable:!1,configurable:!0})}catch(I){}}return p},generateSource:function(){this.opts.rmWhitespace&&(this.templateText=this.templateText.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),this.templateText=this.templateText.replace(/[ \t]*<%_/gm,"<%_").replace(/_%>[ \t]*/gm,"_%>");var e=this,t=this.parseTemplateText(),i=this.opts.delimiter,n=this.opts.openDelimiter,r=this.opts.closeDelimiter;t&&t.length&&t.forEach((function(s,a){var o;if(0===s.indexOf(n+i)&&0!==s.indexOf(n+i+i)&&(o=t[a+2])!=i+r&&o!="-"+i+r&&o!="_"+i+r)throw new Error('Could not find matching close tag for "'+s+'".');e.scanLine(s)}))},parseTemplateText:function(){for(var e,t=this.templateText,i=this.regex,n=i.exec(t),r=[];n;)0!==(e=n.index)&&(r.push(t.substring(0,e)),t=t.slice(e)),r.push(n[0]),t=t.slice(n[0].length),n=i.exec(t);return t&&r.push(t),r},_addOutput:function(e){if(this.truncate&&(e=e.replace(/^(?:\r\n|\r|\n)/,""),this.truncate=!1),!e)return e;e=(e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/"/g,'\\"'),this.source+='    ; __append("'+e+'")\n'},scanLine:function(e){var t,i=this.opts.delimiter,n=this.opts.openDelimiter,r=this.opts.closeDelimiter;switch(t=e.split("\n").length-1,e){case n+i:case n+i+"_":this.mode=S.modes.EVAL;break;case n+i+"=":this.mode=S.modes.ESCAPED;break;case n+i+"-":this.mode=S.modes.RAW;break;case n+i+"#":this.mode=S.modes.COMMENT;break;case n+i+i:this.mode=S.modes.LITERAL,this.source+='    ; __append("'+e.replace(n+i+i,n+i)+'")\n';break;case i+i+r:this.mode=S.modes.LITERAL,this.source+='    ; __append("'+e.replace(i+i+r,i+r)+'")\n';break;case i+r:case"-"+i+r:case"_"+i+r:this.mode==S.modes.LITERAL&&this._addOutput(e),this.mode=null,this.truncate=0===e.indexOf("-")||0===e.indexOf("_");break;default:if(this.mode){switch(this.mode){case S.modes.EVAL:case S.modes.ESCAPED:case S.modes.RAW:e.lastIndexOf("//")>e.lastIndexOf("\n")&&(e+="\n")}switch(this.mode){case S.modes.EVAL:this.source+="    ; "+e+"\n";break;case S.modes.ESCAPED:this.source+="    ; __append(escapeFn("+y(e)+"))\n";break;case S.modes.RAW:this.source+="    ; __append("+y(e)+")\n";break;case S.modes.COMMENT:break;case S.modes.LITERAL:this._addOutput(e)}}else this._addOutput(e)}this.opts.compileDebug&&t&&(this.currentLine+=t,this.source+="    ; __line = "+this.currentLine+"\n")}},e.escapeXML=n.escapeXML,e.__express=e.renderFile,e.VERSION=s,e.name="ejs","undefined"!=typeof window&&(window.ejs=e)}(o);var d="undefined"!=typeof window?window:null,u=null===d,m=u?void 0:d.document,p="horizontal",g=function(){return!1},h=u?"calc":["","-webkit-","-moz-","-o-"].filter((function(e){var t=m.createElement("div");return t.style.cssText="width:"+e+"calc(9px)",!!t.style.length})).shift()+"calc",I=function(e){return"string"==typeof e||e instanceof String},f=function(e){if(I(e)){var t=m.querySelector(e);if(!t)throw new Error("Selector "+e+" did not match a DOM element");return t}return e},M=function(e,t,i){var n=e[t];return void 0!==n?n:i},y=function(e,t,i,n){if(t){if("end"===n)return 0;if("center"===n)return e/2}else if(i){if("start"===n)return 0;if("center"===n)return e/2}return e},S=function(e,t){var i=m.createElement("div");return i.className="gutter gutter-"+t,i},b=function(e,t,i){var n={};return I(t)?n[e]=t:n[e]=h+"("+t+"% - "+i+"px)",n},v=function(e,t){var i;return(i={})[e]=t+"px",i},D=function(e,t){if(void 0===t&&(t={}),u)return{};var i,n,r,s,a,o,c=e;Array.from&&(c=Array.from(c));var l=f(c[0]).parentNode,A=getComputedStyle?getComputedStyle(l):null,h=A?A.flexDirection:null,I=M(t,"sizes")||c.map((function(){return 100/c.length})),D=M(t,"minSize",100),w=Array.isArray(D)?D:c.map((function(){return D})),C=M(t,"maxSize",1/0),N=Array.isArray(C)?C:c.map((function(){return C})),E=M(t,"expandToMin",!1),k=M(t,"gutterSize",10),j=M(t,"gutterAlign","center"),x=M(t,"snapOffset",30),z=Array.isArray(x)?x:c.map((function(){return x})),L=M(t,"dragInterval",1),P=M(t,"direction",p),T=M(t,"cursor",P===p?"col-resize":"row-resize"),Q=M(t,"gutter",S),B=M(t,"elementStyle",b),Z=M(t,"gutterStyle",v);function J(e,t,n,r){var s=B(i,t,n,r);Object.keys(s).forEach((function(t){e.style[t]=s[t]}))}function O(){return o.map((function(e){return e.size}))}function Y(e){return"touches"in e?e.touches[0][n]:e[n]}function F(e){var t=o[this.a],i=o[this.b],n=t.size+i.size;t.size=e/this.size*n,i.size=n-e/this.size*n,J(t.element,t.size,this._b,t.i),J(i.element,i.size,this._c,i.i)}function V(e){var i,n=o[this.a],r=o[this.b];this.dragging&&(i=Y(e)-this.start+(this._b-this.dragOffset),L>1&&(i=Math.round(i/L)*L),i<=n.minSize+n.snapOffset+this._b?i=n.minSize+this._b:i>=this.size-(r.minSize+r.snapOffset+this._c)&&(i=this.size-(r.minSize+this._c)),i>=n.maxSize-n.snapOffset+this._b?i=n.maxSize+this._b:i<=this.size-(r.maxSize-r.snapOffset+this._c)&&(i=this.size-(r.maxSize+this._c)),F.call(this,i),M(t,"onDrag",g)(O()))}function R(){var e=o[this.a].element,t=o[this.b].element,n=e.getBoundingClientRect(),a=t.getBoundingClientRect();this.size=n[i]+a[i]+this._b+this._c,this.start=n[r],this.end=n[s]}function U(e){var t=function(e){if(!getComputedStyle)return null;var t=getComputedStyle(e);if(!t)return null;var i=e[a];return 0===i?null:i-=P===p?parseFloat(t.paddingLeft)+parseFloat(t.paddingRight):parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}(l);if(null===t)return e;if(w.reduce((function(e,t){return e+t}),0)>t)return e;var i=0,n=[],r=e.map((function(r,s){var a=t*r/100,o=y(k,0===s,s===e.length-1,j),c=w[s]+o;return a<c?(i+=c-a,n.push(0),c):(n.push(a-c),a)}));return 0===i?e:r.map((function(e,r){var s=e;if(i>0&&n[r]-i>0){var a=Math.min(i,n[r]-i);i-=a,s=e-a}return s/t*100}))}function W(){var e=this,i=o[e.a].element,n=o[e.b].element;e.dragging&&M(t,"onDragEnd",g)(O()),e.dragging=!1,d.removeEventListener("mouseup",e.stop),d.removeEventListener("touchend",e.stop),d.removeEventListener("touchcancel",e.stop),d.removeEventListener("mousemove",e.move),d.removeEventListener("touchmove",e.move),e.stop=null,e.move=null,i.removeEventListener("selectstart",g),i.removeEventListener("dragstart",g),n.removeEventListener("selectstart",g),n.removeEventListener("dragstart",g),i.style.userSelect="",i.style.webkitUserSelect="",i.style.MozUserSelect="",i.style.pointerEvents="",n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",e.gutter.style.cursor="",e.parent.style.cursor="",m.body.style.cursor=""}function H(e){if(!("button"in e)||0===e.button){var i=this,n=o[i.a].element,r=o[i.b].element;i.dragging||M(t,"onDragStart",g)(O()),e.preventDefault(),i.dragging=!0,i.move=V.bind(i),i.stop=W.bind(i),d.addEventListener("mouseup",i.stop),d.addEventListener("touchend",i.stop),d.addEventListener("touchcancel",i.stop),d.addEventListener("mousemove",i.move),d.addEventListener("touchmove",i.move),n.addEventListener("selectstart",g),n.addEventListener("dragstart",g),r.addEventListener("selectstart",g),r.addEventListener("dragstart",g),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.MozUserSelect="none",n.style.pointerEvents="none",r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",i.gutter.style.cursor=T,i.parent.style.cursor=T,m.body.style.cursor=T,R.call(i),i.dragOffset=Y(e)-i.end}}P===p?(i="width",n="clientX",r="left",s="right",a="clientWidth"):"vertical"===P&&(i="height",n="clientY",r="top",s="bottom",a="clientHeight"),I=U(I);var G=[];function X(e){var t=e.i===G.length,i=t?G[e.i-1]:G[e.i];R.call(i);var n=t?i.size-e.minSize-i._c:e.minSize+i._b;F.call(i,n)}return(o=c.map((function(e,t){var n,r={element:f(e),size:I[t],minSize:w[t],maxSize:N[t],snapOffset:z[t],i:t};if(t>0&&((n={a:t-1,b:t,dragging:!1,direction:P,parent:l})._b=y(k,t-1==0,!1,j),n._c=y(k,!1,t===c.length-1,j),"row-reverse"===h||"column-reverse"===h)){var s=n.a;n.a=n.b,n.b=s}if(t>0){var a=Q(t,P,r.element);!function(e,t,n){var r=Z(i,t,n);Object.keys(r).forEach((function(t){e.style[t]=r[t]}))}(a,k,t),n._a=H.bind(n),a.addEventListener("mousedown",n._a),a.addEventListener("touchstart",n._a),l.insertBefore(a,r.element),n.gutter=a}return J(r.element,r.size,y(k,0===t,t===c.length-1,j),t),t>0&&G.push(n),r}))).forEach((function(e){var t=e.element.getBoundingClientRect()[i];t<e.minSize&&(E?X(e):e.minSize=t)})),{setSizes:function(e){var t=U(e);t.forEach((function(e,i){if(i>0){var n=G[i-1],r=o[n.a],s=o[n.b];r.size=t[i-1],s.size=e,J(r.element,r.size,n._b,r.i),J(s.element,s.size,n._c,s.i)}}))},getSizes:O,collapse:function(e){X(o[e])},destroy:function(e,t){G.forEach((function(n){if(!0!==t?n.parent.removeChild(n.gutter):(n.gutter.removeEventListener("mousedown",n._a),n.gutter.removeEventListener("touchstart",n._a)),!0!==e){var r=B(i,n.a.size,n._b);Object.keys(r).forEach((function(e){o[n.a].element.style[e]="",o[n.b].element.style[e]=""}))}}))},parent:l,pairs:G}};class w{constructor(){__publicField(this,"_cache",{})}on(e,t){const i=this._cache[e]=this._cache[e]||[];return-1===i.indexOf(t)&&i.push(t),this}emit(e,...t){const i=this._cache[e];return Array.isArray(i)&&i.forEach((e=>{e(...t)})),this}off(e,t){const i=this._cache[e];if(Array.isArray(i))if(t){const e=i.indexOf(t);-1!==e&&i.splice(e,1)}else i.length=0;return this}}class C extends w{constructor(e,t,i){super(),__publicField(this,"split"),__publicField(this,"leftId"),__publicField(this,"rightId"),this.leftId=e,this.rightId=t,this.split=D([`#${e}`,`#${t}`],{sizes:i?[35,65]:[0,100],minSize:[0,800],gutterSize:5,gutter(e,t){const n=document.createElement("div");return i||(n.style.display="none"),n.className=`gutter gutter-${t}`,n.id="split-gutter",n},onDrag:()=>{this.getSize(0)<5?this.collapse():(document.getElementById("split-gutter").style.display="block",this.emit("layout"))}}),i||(document.getElementById(this.rightId).style.width="100%")}getSize(e){return this.split.getSizes()[e]}expand(){this.split.setSizes([35,65]),document.getElementById("split-gutter").style.display="block",this.emit("layout")}collapse(){this.split.collapse(0),document.getElementById("split-gutter").style.display="none",document.getElementById(this.rightId).style.width="100%",this.emit("layout")}setLeft(e){const t=document.getElementById(this.leftId);t&&(t.innerHTML=e)}setRight(e){const t=document.getElementById(this.rightId);t&&(t.innerHTML=e)}}const N={theme:"vs-dark",formatOnPaste:!0,fontSize:14,scrollbar:{verticalScrollbarSize:2}};class E extends w{constructor(e){super(),__publicField(this,"editor"),__publicField(this,"uiEditor"),__publicField(this,"resetBtn"),__publicField(this,"runBtn"),__publicField(this,"jsContainerId","js-editor"),__publicField(this,"originScript"),__publicField(this,"config"),__publicField(this,"showJsBtn"),__publicField(this,"showUIBtn"),__publicField(this,"jsEditorContainer"),__publicField(this,"uiEditorContainer"),__publicField(this,"fileNameEle"),this.config=e,this.editor=n.editor.create(document.getElementById(this.jsContainerId),__spreadValues({language:"javascript",value:""},N)),this.fetchScript(),this.config.hasPannel&&this.fetchUISource().then((e=>{this.uiEditor=n.editor.create(document.getElementById("ui-editor"),__spreadValues({language:s.apiConf.UIFileLanguage,readOnly:!0},N)),this.uiEditor.setValue(e)})),this.bindEvent()}async fetchScript(){const e=await fetch(`${s.apiConf.resourcePublicPath}/${this.config.main}/map.js`);this.originScript=await e.text(),this.editor.setValue(this.originScript),this.emit("run",this.originScript)}async fetchUISource(e){let t;if(s.apiConf.fetchUICode){t=await s.apiConf.fetchUICode(this.config.main,e)}else if(e){const i=await fetch(e.url.replaceAll("{main}",`${s.apiConf.resourcePublicPath}/${this.config.main}`));t=await i.text()}else{const e=await fetch(s.apiConf.UIFile(this.config.main));t=await e.text()}return t}resize(){this.editor&&this.editor.layout(),this.uiEditor&&this.uiEditor.layout()}bindEvent(){this.jsEditorContainer||(this.jsEditorContainer=document.getElementById("js-editor")),this.uiEditorContainer||(this.uiEditorContainer=document.getElementById("ui-editor")),this.resetBtn||(this.resetBtn=document.getElementById("jsreset")),this.runBtn||(this.runBtn=document.getElementById("jsrun")),this.fileNameEle||(this.fileNameEle=document.getElementById("filename")),this.config.hasPannel&&(this.showJsBtn||(this.showJsBtn=document.getElementById("showjs-button")),this.showUIBtn||(this.showUIBtn=document.getElementById("showui-button")),this.showJsBtn.addEventListener("click",(()=>{this.jsEditorContainer.style.display="block",this.uiEditorContainer.style.display="none",this.fileNameEle.innerHTML="JS代码",this.resize()})),this.showUIBtn.addEventListener("click",(()=>{this.uiEditorContainer.style.display="block",this.jsEditorContainer.style.display="none",this.fileNameEle.innerHTML="UI面板代码(只读)",this.resize()})),document.querySelectorAll(".uidep-item").forEach((e=>{e.addEventListener("click",(async e=>{const t=e.currentTarget;try{const e=JSON.parse(t.dataset.file);console.log(e);const i=await this.fetchUISource(e);console.log(i),this.uiEditor.setValue(i),this.uiEditorContainer.style.display="block",this.jsEditorContainer.style.display="none",this.fileNameEle.innerHTML=`${e.name}(只读)`,this.resize()}catch(i){throw i}}))}))),this.resetBtn.addEventListener("click",(()=>{this.editor.setValue(this.originScript),this.emit("run",this.scriptFilter(this.originScript))})),this.runBtn.addEventListener("click",(()=>{this.emit("run",this.scriptFilter(this.editor.getValue()))})),window.addEventListener("resize",(()=>{this.resize()})),document.addEventListener("keydown",(e=>{if(!e.ctrlKey)return;const t=String.fromCharCode(e.keyCode).toLowerCase();"s"===t?(e.preventDefault(),this.emit("run",this.scriptFilter(this.editor.getValue()))):"r"===t&&(e.preventDefault(),this.emit("run",this.scriptFilter(this.originScript)))}))}scriptFilter(e){return e=(e=(e=e.replace(/export let /gm,"var ")).replace(/export const /gm,"var ")).replace(/export /gm,""),e=(e="mars3d"===s.apiConf.packageName?(e=e.replace('import * as mars3d from "mars3d"',"")).replace("const Cesium = mars3d.Cesium",""):(e=e.replace('import * as mars2d from "mars2d"',"")).replace("const L = mars3d.L","")).replace(/import /gm,"// import ")}}class k extends w{constructor(e){super(),__publicField(this,"sanboxWapper"),__publicField(this,"scriptDoc"),__publicField(this,"htmlTemp"),__publicField(this,"resourcePublicPath"),__publicField(this,"exampleConfig"),this.exampleConfig=e,this.sanboxWapper=document.getElementById("sanbox"),this.resourcePublicPath=s.apiConf.resourcePublicPath||"",this.getTemp()}writeScriptDoc(e){this.scriptDoc=s.scriptFilter(e),this.loadFramePage()}async loadFramePage(){const{main:e}=this.exampleConfig;if(this.scriptDoc&&this.htmlTemp){const t=this.createFrame().contentWindow.document,i=`\n        <script type="text/javascript">\n        "use script"; // 开发环境建议开启严格模式\n        window.currentPath = "${this.resourcePublicPath}/${e}/"; // 当前示例的配置\n        ${this.scriptDoc}\n        <\/script> `,n=`\n      <script type="text/javascript">\n        window.currentPath = "${this.resourcePublicPath}/${e}/"; // 当前示例的配置\n      <\/script>\n      <script type="text/javascript" src="${this.resourcePublicPath}/${e}/map.js"><\/script> `,r=this.htmlTemp.replace("\x3c!-- script-output --\x3e",s.apiConf.alwaysUseOrigin?n:i);t&&(t.open(),t.write(r),t.close())}}async getTemp(){const{temp:e="template"}=this.exampleConfig;console.log(`${s.apiConf.baseUrl}temp/${e}.html`);const t=await fetch(`${s.apiConf.baseUrl}temp/${e}.html`);this.htmlTemp=this.mixTemp(await t.text()),this.loadFramePage()}mixTemp(e){const{libs:t=[],resources:i=[],main:n}=this.exampleConfig;let r="";return s.getLibs(n,t,i).forEach((({url:e})=>{/\.css/.test(e)?r+='<link href="'+e+'"  rel="stylesheet" >':r+='<script src="'+e+'"  type="text/javascript" ><\/script>'})),e.replace("\x3c!-- resource-output --\x3e",r)}createFrame(){const e=document.createElement("iframe");return this.sanboxWapper.innerHTML="",e.setAttribute("id","marsgis-mappage"),e.setAttribute("name","marsgis-mappage"),this.sanboxWapper.append(e),e}}class j extends w{constructor(e){super(),__publicField(this,"config",{}),this.mergeConfig(e)}mergeConfig(e){const t=__spreadValues({configFetchType:"online",code:"1",fullScreen:"0",packageName:"mars3d",framework:"es5",baseUrl:"/",resourcePublicPath:"example",configLibs:{},libPublicPath:"/",thumbnailPublicPath:"/config/thumbnail/",homepage:"http://mars3d.cn/example.html",configSourceUrl:"../../config/example.json",expandBtnText:"查看源代码",collapseBtnText:"收起源代码",UIFileLanguage:"html"},e);if("1"===t.fullScreen&&(t.code="0"),t.links||(t.links=[{id:"btn-jump-dev",title:"教程",description:"学习开发教程",url:`http://${t.packageName}.cn/dev/guide/project/example-${t.framework}.html`,icon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03IDM3QzcgMjkuMjk2NyA3IDExIDcgMTFDNyA3LjY4NjI5IDkuNjg2MjkgNSAxMyA1SDM1VjMxQzM1IDMxIDE4LjIzMjYgMzEgMTMgMzFDOS43IDMxIDcgMzMuNjg0MiA3IDM3WiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMzUgMzFDMzUgMzEgMTQuMTUzNyAzMSAxMyAzMUM5LjY4NjI5IDMxIDcgMzMuNjg2MyA3IDM3QzcgNDAuMzEzNyA5LjY4NjI5IDQzIDEzIDQzQzE1LjIwOTEgNDMgMjUuODc1OCA0MyA0MSA0M1Y3IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE0IDM3SDM0IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+"},{id:"btn-jump-api",title:"API",description:"查阅API文档",url:`http://${t.packageName}.cn/api/Map.html`,icon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wMSIvPjxwYXRoIGQ9Ik0zNyAyMi4wMDAxTDM0IDI1LjAwMDFMMjMgMTQuMDAwMUwyNiAxMS4wMDAxQzI3LjUgOS41MDAwMiAzMyA3LjAwMDA1IDM3IDExLjAwMDFDNDEgMTUuMDAwMSAzOC41IDIwLjUgMzcgMjIuMDAwMVoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDIgNkwzNyAxMSIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMSAyNS45OTk5TDE0IDIyLjk5OTlMMjUgMzMuOTk5OUwyMiAzNi45OTk5QzIwLjUgMzguNSAxNSA0MSAxMSAzNi45OTk5QzcgMzIuOTk5OSA5LjUgMjcuNSAxMSAyNS45OTk5WiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yMyAzMkwyNyAyOCIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik02IDQyTDExIDM3IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE2IDI1TDIwIDIxIiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+"},{id:"btn-jump-github",title:"下载",description:"下载源代码",url:`https://github.com/marsgis/${t.packageName}-${t.framework}-example`,icon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wMSIvPjxwYXRoIGQ9Ik0yOS4zNDQ0IDMwLjQ3NjdDMzEuNzQ4MSAyOS45NzcxIDMzLjkyOTIgMjkuMTEwOSAzNS42MjQ3IDI3LjgzOTNDMzguNTIwMiAyNS42Njc3IDQwIDIyLjMxMzcgNDAgMTlDNDAgMTYuNjc1NCAzOS4xMTg3IDE0LjUwNTEgMzcuNTkyOSAxMi42NjY5QzM2Ljc0MjcgMTEuNjQyNiAzOS4yMjk1IDQuMDAwMDEgMzcuMDIgNS4wMjkzMUMzNC44MTA1IDYuMDU4NjEgMzEuNTcwOCA4LjMzNjkxIDI5Ljg3MjYgNy44MzQxQzI4LjA1NDUgNy4yOTU3NyAyNi4wNzMzIDcuMDAwMDEgMjQgNy4wMDAwMUMyMi4xOTkyIDcuMDAwMDEgMjAuNDY3OSA3LjIyMzEzIDE4Ljg1MjYgNy42MzQ1MkMxNi41MDQ2IDguMjMyNDkgMTQuMjU5MSA2LjAwMDAxIDEyIDUuMDI5MzFDOS43NDA4NiA0LjA1ODYxIDEwLjk3MzYgMTEuOTYzMyAxMC4zMDI2IDEyLjc5NDZDOC44NDExOSAxNC42MDUyIDggMTYuNzI4OSA4IDE5QzggMjIuMzEzNyA5Ljc5MDg2IDI1LjY2NzcgMTIuNjg2MyAyNy44MzkzQzE0LjYxNTEgMjkuMjg1OCAxNy4wMzQgMzAuMjA3NyAxOS43NDAxIDMwLjY2MjEiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48cGF0aCBkPSJNMTkuNzQwMiAzMC42NjJDMTguNTgxNyAzMS45MzcyIDE4LjAwMjQgMzMuMTQ4IDE4LjAwMjQgMzQuMjk0NkMxOC4wMDI0IDM1LjQ0MTEgMTguMDAyNCAzOC4zNDY1IDE4LjAwMjQgNDMuMDEwOCIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yOS4zNDQzIDMwLjQ3NjdDMzAuNDQyMSAzMS45MTc1IDMwLjk5MSAzMy4yMTEyIDMwLjk5MSAzNC4zNTc3QzMwLjk5MSAzNS41MDQzIDMwLjk5MSAzOC4zODg2IDMwLjk5MSA0My4wMTA4IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTYgMzEuMjE1NkM2Ljg5ODg3IDMxLjMyNTUgNy41NjU1NCAzMS43Mzg4IDggMzIuNDU1NUM4LjY1MTY5IDMzLjUzMDQgMTEuMDc0MiAzNy41MTgxIDEzLjgyNTEgMzcuNTE4MUMxNS42NTkxIDM3LjUxODEgMTcuMDUxNSAzNy41MTgxIDE4LjAwMjQgMzcuNTE4MSIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg=="},{id:"btn-jump-stack",title:"技术栈",description:"查看其他技术栈版本示例",icon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wMSIvPjxnPjxwYXRoIGQ9Ik0xMCA4VjE2SDM4TDQyIDEyTDM4IDhMMTAgOFoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTM4IDIzVjMxSDEwTDYgMjdMMTAgMjNMMzggMjNaIiBmaWxsPSJub25lIiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yNCAzMVY0NCIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yNCAxNlYyMyIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yNCA0VjgiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTkgNDRIMjkiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L2c+PC9nPjwvc3ZnPg==",children:(()=>{const e=[];return"es5"!==t.framework&&e.push({id:"btn-jump-es5",title:"原生JS版",url:"javascript: toOtherFramework('es5');"}),"react"!==t.framework&&e.push({id:"btn-jump-react",title:"React版",url:"javascript: toOtherFramework('react');"}),"vue"!==t.framework&&e.push({id:"btn-jump-vue",title:"Vue版",url:"javascript: toOtherFramework('vue');"}),e})()}]),t.code="1"!==t.code?"0":"1","function"!=typeof t.UIFile){const e=t.UIFile||"{main}/index.html";t.UIFile=i=>`${t.resourcePublicPath}/${e.replaceAll("{main}",i)}`}this.config=t,s.setConfig(t)}}const x={theme:"vs-dark",formatOnPaste:!0,fontSize:14,scrollbar:{verticalScrollbarSize:2}};class z extends w{constructor(e){super(),__publicField(this,"editor"),__publicField(this,"resetBtn"),__publicField(this,"runBtn"),__publicField(this,"jsContainerId","js-editor"),__publicField(this,"originScript"),__publicField(this,"config"),__publicField(this,"showJsBtn"),__publicField(this,"showUIBtn"),__publicField(this,"jsEditorContainer"),__publicField(this,"uiEditorContainer"),__publicField(this,"fileNameEle"),this.config=e,this.editor=n.editor.create(document.getElementById(this.jsContainerId),__spreadValues({language:"html",value:""},x)),this.fetchScript(),this.bindEvent()}async fetchScript(){const e=await fetch(`${s.apiConf.resourcePublicPath}/${this.config.main}/index.html`),t=await fetch(`${s.apiConf.resourcePublicPath}/${this.config.main}/map.js`);this.originScript=this.mixinTemp(await e.text(),await t.text()),this.editor.setValue(this.originScript),this.emit("run",this.originScript)}mixinTemp(e,t){let i=`${s.apiConf.resourcePublicPath}/${this.config.main}`;const n=`\n    <script type="text/javascript">\n      "use script"; // 开发环境建议开启严格模式\n      window.currentPath = "${i}/";// 当前示例的配置\n      ${t=t.split("\n").join("\n      ")}\n    <\/script>`;let r=e.replace(new RegExp(/[\s]*<meta[^>]*?\/?>/,"gm"),"").replace('<script src="./map.js"><\/script>',n).replace(new RegExp(/\<link href="\./,"gm"),`<link href="${i}`).replace(new RegExp(/\<script src="\./,"gm"),`<script src="${i}`);return s.scriptFilter(r)}resize(){this.editor&&this.editor.layout()}bindEvent(){this.resetBtn||(this.resetBtn=document.getElementById("jsreset")),this.runBtn||(this.runBtn=document.getElementById("jsrun")),this.resetBtn.addEventListener("click",(()=>{this.editor.setValue(this.originScript),this.emit("run",s.scriptFilter(this.originScript))})),this.runBtn.addEventListener("click",(()=>{this.emit("run",s.scriptFilter(this.editor.getValue()))})),window.addEventListener("resize",(()=>{this.resize()})),document.addEventListener("keydown",(e=>{if(!e.ctrlKey)return;const t=String.fromCharCode(e.keyCode).toLowerCase();"s"===t?(e.preventDefault(),this.emit("run",s.scriptFilter(this.editor.getValue()))):"r"===t&&(e.preventDefault(),this.emit("run",s.scriptFilter(this.originScript)))}))}}class L extends w{constructor(){super(),__publicField(this,"sanboxWapper"),__publicField(this,"innerHtml"),this.sanboxWapper=document.getElementById("sanbox")}writeHtml(e){this.innerHtml=e,this.loadFramePage()}async loadFramePage(){const e=this.createFrame().contentWindow.document;e&&(e.open(),e.write(this.innerHtml),e.close())}createFrame(){const e=document.createElement("iframe");return this.sanboxWapper.innerHTML="",e.setAttribute("id","marsgis-mappage"),e.setAttribute("name","marsgis-mappage"),this.sanboxWapper.append(e),e}}e.Editor=class extends j{constructor(){super(...arguments),__publicField(this,"container"),__publicField(this,"fullName"),__publicField(this,"leftContainerId","split-left"),__publicField(this,"rightContainerId","split-right"),__publicField(this,"toogleBtn"),__publicField(this,"split"),__publicField(this,"jsEditor"),__publicField(this,"htmlEditor"),__publicField(this,"sanBox"),__publicField(this,"htmlRunner"),__publicField(this,"mapWork")}async renderContainer(e,t,i,n=!1){if(!e)throw new Error("container 不能为空");if(!t)throw alert("id不能为空"),new Error("id不能为空");t=t.replace(/\\/gm,"/"),this.container=e,this.fullName=i,this.container.innerHTML=o.render('<div class="marsgis-editor__container">\r\n  <div id="split-left"></div>\r\n  <div id="split-right"></div>\r\n</div>\r\n');const r="1"===this.config.code;this.split=new C(this.leftContainerId,this.rightContainerId,r);let a=await s.getCompConfig(t);if(!a){const e="没有查询到当前id对应的配置";window.$message?window.$message(e):alert(e),a={id:t,main:t,fullName:"临时测试页面",name:"临时测试页面",hasPannel:"1"===s.getQueryString("hasPannel")}}var c="localhost"===window.location.hostname?`//${s.apiConf.packageName}.cn`:"";return window.toOtherFramework=function(e){let t=`${c}/editor-${e}.html?id=${encodeURI(a.main)}`;new URL(window.location.href).searchParams.forEach(((e,i)=>{"id"!==i&&"code"!==i&&(t+=`&${i}=${e}`)})),window.open(t)},this.split.setLeft(o.render('<div class="editor-container">\r\n  <div class="editor-header" >\r\n    <div class="header-left">\r\n      <% if(!onlyHtml) { %>\r\n        <div id="showjs-button" class="left-handles showjs" title="查看JS代码">\r\n          <img src="<%= javascriptIcon %>" alt="js" />\r\n        </div>\r\n        <% if (hasPannel) { %>\r\n          <div class="mars-dropdown">\r\n            <div id="showui-button" class="left-handles showui">\r\n              <img src="<%= uiIcon %>" alt="react" />\r\n            </div>\r\n            <div class="mars-dropdown-content" id="uilist-container"></div>\r\n          </div>\r\n          <% } %>\r\n            <% }%>\r\n              <div class="mars-dropdown">\r\n                <div class="left-handles">\r\n                  <img src="<%= fileIcon %>" alt="依赖" />\r\n                </div>\r\n                <div class="mars-dropdown-content" id="deplist-container"></div>\r\n              </div>\r\n    </div>\r\n    <span class="fileTip" id="filename">\r\n      <% if(!onlyHtml) { %>JS代码<% } else {%>源代码<% } %>\r\n    </span>\r\n    <div class="header-right">\r\n      <span id="jsreset" class="refresh mars-link-btn-primary" title="还原为初始代码,快捷键:Ctrl + R">\r\n        <img class="editor-icon" src="<%= refreshIcon %>" />\r\n        <span>重置</span>\r\n      </span>\r\n      <span id="jsrun" class="mars-link-btn-primary" title="运行源码,快捷键:Ctrl + S">\r\n        <img class="editor-icon" src="<%= runIcon %>" />\r\n        <span>运行</span>\r\n      </span>\r\n    </div>\r\n  </div>\r\n\r\n\r\n  <div class="editor-code" id="js-editor"></div>\r\n  <div class="editor-code" id="ui-editor"></div>\r\n</div>',{onlyHtml:n,javascriptIcon:"data:image/png;base64,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",uiIcon:"data:image/png;base64,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",fileIcon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnPjxwYXRoIGQ9Ik0wIDBINDhWNDhIMFYwWiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wMSIvPjxnPjxnPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wMSIvPjxwYXRoIGQ9Ik0xMiA5LjkyNzA0VjdDMTIgNS4zNDMxNSAxMy4zNDMxIDQgMTUgNEg0MUM0Mi42NTY5IDQgNDQgNS4zNDMxNSA0NCA3VjMzQzQ0IDM0LjY1NjkgNDIuNjU2OSAzNiA0MSAzNkgzOC4wMTc0IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIvPjxyZWN0IHg9IjQiIHk9IjEwIiB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHJ4PSIzIiBmaWxsPSJub25lIiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvZz48Zz48Zz48cGF0aCBkPSJNMTguNDM5NiAyMy4xMDk4TDIzLjczMjEgMTcuNjAwM0MyNS4xODM4IDE2LjE0ODYgMjcuNTY5MyAxNi4xODA2IDI5LjA2MDQgMTcuNjcxN0MzMC41NTE1IDE5LjE2MjggMzAuNTgzNSAyMS41NDgzIDI5LjEzMTkgMjNMMjcuMjIxOCAyNS4wMjI4IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTEzLjQ2NjEgMjguNzQ2OUMxMi45NTU4IDI5LjI1NzMgMTEuOTAwNiAzMC4yNzYyIDExLjkwMDYgMzAuMjc2MkMxMC40NDg5IDMxLjcyNzkgMTAuNDA5NSAzNC4zMTUyIDExLjkwMDYgMzUuODA2M0MxMy4zOTE3IDM3LjI5NzQgMTUuNzc3MiAzNy4zMjk0IDE3LjIyODkgMzUuODc3N0wyMi4zOTMxIDMxLjE4OTQiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTguNjYzMSAyOC4zMjgzQzE3Ljk3MDUgMjcuNjM1NyAxNy41OTI3IDI2Ljc1MDEgMTcuNTMyMSAyNS44NTQ3QzE3LjQ2MjQgMjQuODIyNSAxNy44MTQzIDIzLjc3NzQgMTguNTkxNiAyMyIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yMi4zMjE4IDI1Ljg2MTFDMjMuODEyOSAyNy4zNTIyIDIzLjg0NDkgMjkuNzM3NyAyMi4zOTMyIDMxLjE4OTQiIHN0cm9rZT0iIzE4OTBmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L2c+PC9nPjwvZz48L2c+PC9zdmc+",hasPannel:a.hasPannel,refreshIcon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00MiA4VjI0IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYgMjRMNiA0MCIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik02IDI0QzYgMzMuOTQxMSAxNC4wNTg5IDQyIDI0IDQyQzI4Ljg1NTYgNDIgMzMuMjYyMiA0MC4wNzc0IDM2LjUgMzYuOTUxOSIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00Mi4wMDA3IDI0QzQyLjAwMDcgMTQuMDU4OSAzMy45NDE4IDYgMjQuMDAwNyA2QzE4LjkxNTIgNiAxNC4zMjIzIDguMTA4OTYgMTEuMDQ4OCAxMS41IiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+",runIcon:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wMSIvPjxwYXRoIGQ9Ik0yNCA0NEMzNS4wNDU3IDQ0IDQ0IDM1LjA0NTcgNDQgMjRDNDQgMTIuOTU0MyAzNS4wNDU3IDQgMjQgNEMxMi45NTQzIDQgNCAxMi45NTQzIDQgMjRDNCAzNS4wNDU3IDEyLjk1NDMgNDQgMjQgNDRaIiBmaWxsPSJub25lIiBzdHJva2U9IiMxODkwZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yMCAyNFYxNy4wNzE4TDI2IDIwLjUzNTlMMzIgMjRMMjYgMjcuNDY0MUwyMCAzMC45MjgyVjI0WiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMTg5MGZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4="})),this.split.setRight(o.render('<div class="layout-right">\r\n  <div class="layout-right__header mars-fadeInDown <%= fullScreen ? \'hidden\' : \'\' %>">\r\n    <span class="mars-link-btn-primary" id="toogle-editor">\r\n      <img class="editor-icon" id="expand-icon" style="display: none;" src="<%= expandIcon %>" />\r\n      <img class="editor-icon" id="collapse-icon" src="<%= collapseIcon %>" />\r\n      <span id="toogle-text">\r\n        <%= toogleText %>\r\n      </span>\r\n    </span>\r\n    <p class="fullname" id="fullname">标题</p>\r\n    <div id="other-intro">\r\n      <% links.forEach(function(item){ %>\r\n\r\n        <% if (item.children) { %>\r\n          <div id="<%= item.id %>" class="mars-dropdown" title="<%= item.description %>">\r\n            <div class="left-handles">\r\n              <span class="mars-link-btn-primary">\r\n                <img class="editor-icon" src="<%= item.icon %>" />\r\n                <span>\r\n                  <%= item.title %>\r\n                </span>\r\n              </span>\r\n            </div>\r\n            <div class="mars-dropdown-content display-left">\r\n              <div class="mars-dropdown-title">切换技术栈</div>\r\n              <% item.children.forEach(function(it){ %>\r\n                <a  id="<%= it.id %>" rel="noreferrer" class="mars-link-btn-primary mars-dropdown-item" href="<%= it.url %>">\r\n                  <%= it.title %>\r\n                </a>\r\n                <% }); %>\r\n            </div>\r\n          </div>\r\n          <% } %>\r\n            <% if (!item.children) { %>\r\n              <a id="<%= item.id %>" class="mars-link-btn-primary" target="_blank" rel="noreferrer"  title="<%= item.description %>"\r\n                href="<%= item.url %>">\r\n                <img class="editor-icon" src="<%= item.icon %>" />\r\n                <span>\r\n                  <%= item.title %>\r\n                </span>\r\n              </a>\r\n              <% } %>\r\n                <% }); %>\r\n    </div>\r\n  </div>\r\n\r\n  <div class="layout-right__content mars-main-view <%= fullScreen?\'layout-right__fillcontent\':\'\' %>" id="mars-main-view">\r\n    <div class="mars-ui-root" id="mars-ui-root"></div>\r\n    <div class="sanbox" id="sanbox"></div>\r\n  </div>\r\n</div>',{toogleText:"1"===this.config.code?this.config.collapseBtnText:this.config.expandBtnText,links:this.config.links,fullScreen:"1"===this.config.fullScreen,expandIcon:"data:image/png;base64,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",collapseIcon:"data:image/png;base64,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"})),document.getElementById("fullname").innerText=i||a.fullName,document.getElementById("fullname").title=i||a.fullName,this.renderDepList(a),this.bindEvent(),a}async render(e,t,i){const n=await this.renderContainer(e,t,i);Object.defineProperty(window,"mapWork",{get:()=>this.mapWork,set:e=>{this.mapWork=e,this.emit("loaded",n),n.hasPannel||this.useLifecycle()}}),n.hasPannel&&this.renderUiDepList(n),this.sanBox=new k(n),this.jsEditor=new E(n),this.jsEditor.on("run",(e=>{this.sanBox&&this.sanBox.writeScriptDoc(e)})),this.split.on("layout",(()=>{this.jsEditor.resize()}))}renderDepList({main:e,libs:t,resources:i}){const n=s.getLibs(e,t,i);document.getElementById("deplist-container").innerHTML=o.render('<div class="mars-dropdown-title">当前示例依赖的资源文件 (请注意顺序)</div>\r\n<% depSources.forEach(function(dep){ %>\r\n<div class="mars-dropdown-item">\r\n  <a rel="noreferrer" class="mars-link-btn-primary" target="_blank" href="<%= dep.url %>"> <%= dep.name %> </a>\r\n</div>\r\n<% }); %>\r\n',{depSources:n})}renderUiDepList({pannelFiles:e}){e&&e[this.config.framework]&&(document.getElementById("uilist-container").innerHTML=o.render('<div class="mars-dropdown-title">查看UI面板代码,代码只读</div>\r\n<% pannelFiles.forEach(function(dep){ %>\r\n  <div class="mars-dropdown-item uidep-item" data-file="<%= JSON.stringify(dep) %>">\r\n    <span class="mars-link-btn-primary deplist-item">\r\n      <%= dep.name %>\r\n    </span>\r\n  </div>\r\n  <% }); %>',{pannelFiles:e[this.config.framework]}))}async renderHTML(e,t,i){const n=await this.renderContainer(e,t,i,!0);this.htmlEditor=new z(n),this.htmlRunner=new L,this.htmlEditor.on("run",(e=>{this.htmlRunner&&this.htmlRunner.writeHtml(e)})),this.split.on("layout",(()=>{this.htmlEditor.resize()}))}useLifecycle(){const e=window._mapInstance;this.mapWork&&(this.mapWork.mars3d&&(window.mars3d=this.mapWork.mars3d),this.mapWork.mars2d&&(window.mars2d=this.mapWork.mars2d),this.mapWork.onMounted&&this.mapWork.onMounted(e))}bindEvent(){this.toogleBtn||(this.toogleBtn=document.getElementById("toogle-editor")),this.toogleBtn.addEventListener("click",(()=>{const e=document.getElementById("expand-icon"),t=document.getElementById("collapse-icon"),i=document.getElementById("toogle-text");"0"===s.apiConf.code?(this.split.expand(),s.apiConf.code="1",i.innerText=this.config.collapseBtnText,e.style.display="none",t.style.display="inline-block"):(this.split.collapse(),s.apiConf.code="0",i.innerText=this.config.expandBtnText,t.style.display="none",e.style.display="inline-block")}))}},e.Util=s,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));