@kq_npm/client3d_webgl_vue
Version:
KQGIS Client3D for Vue.js
1 lines • 9.94 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue"),require("@kq_npm/client_common_vue/_utils/gis-utils"),require("@kq_npm/client_common_vue/_utils/util"),require("@kq_npm/client_common_vue/init.js")):"function"==typeof define&&define.amd?define("@kq_npm/client3d_webgl_vue",["vue","@kq_npm/client_common_vue/_utils/gis-utils","@kq_npm/client_common_vue/_utils/util","@kq_npm/client_common_vue/init.js"],t):"object"==typeof exports?exports["@kq_npm/client3d_webgl_vue"]=t(require("vue"),require("@kq_npm/client_common_vue/_utils/gis-utils"),require("@kq_npm/client_common_vue/_utils/util"),require("@kq_npm/client_common_vue/init.js")):e["@kq_npm/client3d_webgl_vue"]=t(e.Vue,e["@kq_npm/client_common_vue/_utils/gis-utils"],e["@kq_npm/client_common_vue/_utils/util"],e["@kq_npm/client_common_vue/init.js"])}(this,(function(e,t,i,o){return function(){"use strict";var n={7199:function(e,t,i){i.d(t,{Z:function(){return o}});class o{_viewer=null;_options=null;_cameraToImage=null;constructor(e,t){this._options={width:t.imgWidth,height:t.imgHeight,imageType:t.imgFormat,fixedRatio:t.lockAspectRatio,style:t.tilesetStyle,tilesetName:t.tilesetName},this._viewer=e,this._viewer.enabledFXAA=!0,this._cameraToImage=new Cesium.Kq3dCanvasToImage(e._container,{viewer:e,canvas:e.scene.canvas});let i=this;setTimeout((()=>{let e=this.findLayerByName(this._options.tilesetName);e&&(e instanceof Array&&e.length>0?e[0].readyPromise.then((function(e){e.style=new Cesium.Cesium3DTileStyle(i._options.style)})):e instanceof Object&&e.readyPromise.then((function(e){e.style=new Cesium.Cesium3DTileStyle(i._options.style)})))}),800)}findLayers(){let e=[];const t=this._viewer.scene.primitives._primitives;for(let i=0;i<t.length;i++)t[i]instanceof Cesium.Cesium3DTileset&&e.push({guid:t[i].guid,name:t[i].name?t[i].name:t[i].guid});return e}sceneFigure(){this.saveAsimages()}saveAsimages(){var e={width:this._options.width,height:this._options.height,type:this._options.imageType};return this._cameraToImage.saveAsimages(this._viewer.scene.canvas,e)}toDataURL(){return this._cameraToImage.toDataURL({width:this._options.width,height:this._options.height,type:Cesium.Kq3dImageFormatter.JPG})}findLayerByName(e){return this._viewer.scene.primitives._primitives.find((function(t){return t.name===e}))}calcWidthByWindowRatio(e){var t=this._viewer.scene.canvas.width/this._viewer.scene.canvas.height;return parseInt(e*t)}calcHeightByWindowRatio(e){var t=this._viewer.scene.canvas.width/this._viewer.scene.canvas.height;return parseInt(e/t)}setImgAspectRatio(e){this._options.fixedRatio=e}setImgWidth(e){this._options.width=e}setImgHeight(e){this._options.height=e}setImgType(e){this._options.imageType=e}destroy(){this._cameraToImage&&(this._cameraToImage=null)}}},348:function(e){e.exports=require("@kq_npm/client_icons_vue")},7080:function(e){e.exports=require("vue-i18n/dist/vue-i18n.cjs.js")},7135:function(e){e.exports=t},3458:function(e){e.exports=i},7997:function(e){e.exports=o},1895:function(t){t.exports=e}},a={};function s(e){var t=a[e];if(void 0!==t)return t.exports;var i=a[e]={exports:{}};return n[e](i,i.exports,s),i.exports}s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){s.r(r),s.d(r,{ScreenshotViewModel:function(){return o.Z},default:function(){return c}});var e=s(1895),t=s(348),i=s(7135),o=s(7199),n=s(3458),a=s(7080);const l={class:"kq3d-screenshot-box"},m={class:"kq3d-screenshot-footer"},u={name:"Kq3dScreenShot"};var c=Object.assign(u,{props:{settingParams:{type:Object},showShadow:{type:Boolean,default:!0},position:[String,Object],showHeaderTemp:{type:Boolean,default:!1},isCollapseHeaderTemp:{type:Boolean,default:!1},headerTempTitle:{type:String},headerTempIcon:{type:[Object,String],default:t.IconScreenshot},isRight:{type:Boolean,default:!0}},setup(t,{expose:s}){const r=t;let u=(0,e.ref)(800),c=(0,e.ref)(800);const{proxy:h}=(0,e.getCurrentInstance)();let d=(0,e.ref)(h.$i18n.global.messages[h.$i18n.global.locale].webgl),g=null;let p=(0,e.reactive)({lockAspectRatio:r.settingParams&&r.settingParams.lockAspectRatio||!0,imgWidth:r.settingParams&&r.settingParams.imgWidth||0,imgHeight:r.settingParams&&r.settingParams.imgHeight||0,imgFormat:r.settingParams&&r.settingParams.imgFormat||"JPG",tilesetName:r.settingParams&&r.settingParams.tilesetName||"ShangHai-White",tilesetStyle:r.settingParams&&r.settingParams.tilesetStyle||{color:{conditions:[["${height} >= 250","rgb(255, 0, 0)"],["${height} >= 200","rgb(255, 255, 0)"],["${height} >= 150","rgb(255, 255, 255)"],["${height} >= 100","rgb(0, 0, 255)"],["${height} >= 80","rgb(0, 255, 255)"],["${height} >= 50","rgb(255, 0, 255)"],["${height} >= 20","rgb(0, 255, 0)"],["true","rgb(125527, 255, 255)"]]}}}),f=(0,e.ref)(null),_=(0,e.ref)(),v=(0,e.ref)(),{locale:w,messages:y}=(0,a.useI18n)(),b=(0,e.ref)(null);b.value=d.value.screenshot,(0,e.watch)((()=>w.value),((e,t)=>{d.value=y.value[e].webgl,b.value=d.value.screenshot})),(0,e.onMounted)((()=>{(0,n.updatePosition)(f.value,r),(0,e.watch)((()=>r.position),((e,t)=>{(0,n.updatePosition)(f.value,r)})),k(),(0,e.watch)((()=>r.showHeaderTemp),((t,i)=>{(0,e.nextTick)((()=>{k()}))})),i.utils.getWebMap(null,(e=>{if(e){var t=e._viewer.scene.canvas;u.value=t.width,c.value=t.height,p.imgWidth=t.width,p.imgHeight=t.height,g=new o.Z(e._viewer,p)}}))}));const k=()=>{r.showHeaderTemp&&(_.value=(0,n.createHeaderTemp)(f.value,(0,e.toRefs)(r),v,b))};function x(){g&&g.sceneFigure()}function C(e){if(g)switch(e){case"lockAspectRatio":g.setImgAspectRatio(p.lockAspectRatio);break;case"imgWidth":g.setImgWidth(p.imgWidth),p.imgHeight=p.lockAspectRatio?g.calcHeightByWindowRatio(p.imgWidth):Number(p.imgWidth),g.setImgHeight(p.imgHeight);break;case"imgHeight":g.setImgHeight(p.imgHeight),p.imgWidth=p.lockAspectRatio?g.calcWidthByWindowRatio(p.imgHeight):Number(p.imgHeight),g.setImgWidth(p.imgWidth);break;case"imgFormat":g.setImgType(p.imgFormat)}}return(0,e.onBeforeUnmount)((()=>{g&&g.destroy()})),s({paramsChanged:C,sceneFigure:x}),(i,o)=>{const n=(0,e.resolveComponent)("kq-checkbox"),a=(0,e.resolveComponent)("kq-row"),s=(0,e.resolveComponent)("kq-input-number"),r=(0,e.resolveComponent)("kq-col"),h=(0,e.resolveComponent)("kq-form-item"),g=(0,e.resolveComponent)("kq-option"),w=(0,e.resolveComponent)("kq-select"),y=(0,e.resolveComponent)("kq-form"),b=(0,e.resolveComponent)("kq-button");return(0,e.openBlock)(),(0,e.createElementBlock)("section",{class:(0,e.normalizeClass)(["kq3d-screenshot",{"kq-box-shadow":t.showShadow}]),ref_key:"boxRef",ref:f},[t.showHeaderTemp?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(_)),{key:0,ref_key:"headerTempRef",ref:v},null,512)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",l,[(0,e.createVNode)(y,{"label-width":"120px","label-position":"left"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(n,{modelValue:(0,e.unref)(p).lockAspectRatio,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,e.unref)(p).lockAspectRatio=t),onChange:o[1]||(o[1]=e=>C("lockAspectRatio"))},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(d).lockAspectRatio),1)])),_:1},8,["modelValue"])])),_:1}),(0,e.createVNode)(a,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(h,{label:(0,e.unref)(d).imgWidth+"(px)"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(r,{span:24},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(s,{modelValue:(0,e.unref)(p).imgWidth,"onUpdate:modelValue":o[2]||(o[2]=t=>(0,e.unref)(p).imgWidth=t),step:1,min:200,max:(0,e.unref)(u),"controls-position":"right",onChange:o[3]||(o[3]=e=>C("imgWidth"))},null,8,["modelValue","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1}),(0,e.createVNode)(a,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(h,{label:(0,e.unref)(d).imgHeight+"(px)"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(r,{span:24},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(s,{modelValue:(0,e.unref)(p).imgHeight,"onUpdate:modelValue":o[4]||(o[4]=t=>(0,e.unref)(p).imgHeight=t),step:1,min:100,max:(0,e.unref)(c),"controls-position":"right",onChange:o[5]||(o[5]=e=>C("imgHeight"))},null,8,["modelValue","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1}),(0,e.createVNode)(a,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(h,{label:(0,e.unref)(d).imgFormat},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(w,{modelValue:(0,e.unref)(p).imgFormat,"onUpdate:modelValue":o[6]||(o[6]=t=>(0,e.unref)(p).imgFormat=t),onChange:o[7]||(o[7]=e=>C("imgFormat")),style:{width:"100%"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(g,{label:"JPG",value:"jpg"}),(0,e.createVNode)(g,{label:"PNG",value:"png"}),(0,e.createVNode)(g,{label:"BMP",value:"bmp"}),(0,e.createCommentVNode)(' <kq-option label="GIF" value="gif"></kq-option> '),(0,e.createVNode)(g,{label:"JPEG",value:"jpeg"})])),_:1},8,["modelValue"])])),_:1})])),_:1},8,["label"])])),_:1})])),_:1}),(0,e.createElementVNode)("div",m,[(0,e.createVNode)(b,{onClick:o[8]||(o[8]=(0,e.withModifiers)((e=>x()),["stop"])),title:(0,e.unref)(d).screenshotTips,type:"primary"},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(d).screenshotTips),1)])),_:1},8,["title"])])])],2)}}}),h=s(7997),d=s.n(h);c.install=(e,t)=>{d()(e,t),e.component(c.name,c)}}(),r}()}));