(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("vue"), require("@kq_npm/client_common_vue/init.js"), require("@kq_npm/client_common_vue/_utils/gis-utils"), require("@kq_npm/client_common_vue/_utils/util"));
	else if(typeof define === 'function' && define.amd)
		define(["vue", "@kq_npm/client_common_vue/init.js", "@kq_npm/client_common_vue/_utils/gis-utils", "@kq_npm/client_common_vue/_utils/util"], factory);
	else {
		var a = typeof exports === 'object' ? factory(require("vue"), require("@kq_npm/client_common_vue/init.js"), require("@kq_npm/client_common_vue/_utils/gis-utils"), require("@kq_npm/client_common_vue/_utils/util")) : factory(root["Vue"], root["@kq_npm/client_common_vue/init.js"], root["@kq_npm/client_common_vue/_utils/gis-utils"], root["@kq_npm/client_common_vue/_utils/util"]);
		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
	}
})(this, function(__WEBPACK_EXTERNAL_MODULE__1895__, __WEBPACK_EXTERNAL_MODULE__7997__, __WEBPACK_EXTERNAL_MODULE__7135__, __WEBPACK_EXTERNAL_MODULE__3458__) {
return /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ 1349:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony import */ var element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9389);
/* harmony import */ var element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7997);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_init__WEBPACK_IMPORTED_MODULE_1__);
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */


element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage.install = (Vue, opts) => {
  _init__WEBPACK_IMPORTED_MODULE_1___default()(Vue, opts);
  Vue.component("KqMessage", element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage);
};
/* harmony default export */ __webpack_exports__["Z"] = (element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage);

/***/ }),

/***/ 5372:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": function() { return /* binding */ FlightViewModel; }
/* harmony export */ });
/* harmony import */ var _Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5301);

/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */
//飞行操作类
class FlightViewModel {
  //停止事件

  constructor(viewer) {
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(this, "_animationPath", null);
    //飞行三维对象
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(this, "stopEvent", null);
    this._animationPath = new Cesium.Kq3dAnimationPath(viewer);
    this.stopEvent = this._animationPath.stoped;
  }

  //播放动画导航路径
  play() {
    this._animationPath.play();
  }

  //暂停动画导航路径
  pause() {
    this._animationPath.pause();
  }

  //停止动画导航路径
  stop() {
    this._animationPath.stop();
  }

  //获取动画导航是否重复播放
  getAutoRepeat() {
    return this._animationPath.getAutoRepeat();
  }

  //设置动画导航是否循环播放
  setAutoRepeat(autoRepeat) {
    this._animationPath.setAutoRepeat(autoRepeat);
  }

  //将当前相机位置添加到动画导航路径中
  addKeyPointByCurrentView(duration) {
    this._animationPath.addKeyPointByCurrentView(duration);
  }

  //使用当前视角修改指定索引位置的路径节点
  modifyKeyPointByCurrentView(index, duration) {
    this._animationPath.modifyKeyPointByCurrentView(index, duration);
  }

  //获取指定索引位置处的路径节点
  getKeyPoint(index) {
    return this._animationPath.getKeyPoint(index);
  }

  //获取指定索引位置的路径节点的耗时信息
  getKeyPointDur(index) {
    return this._animationPath.getKeyPointDur(index);
  }

  //修改指定索引位置的路径节点
  modifyKeyPoint(index, position, orientation, duration) {
    this._animationPath.modifyKeyPoint(index, position, orientation, duration);
  }

  //删除动画导航中指定索引位置的路径节点
  deleteKeyPoint(index) {
    this._animationPath.deleteKeyPoint(index);
  }

  //获取动画导航所有的路径节点
  getAllKeyPoints() {
    return this._animationPath.getAllKeyPoints();
  }

  //清空动画导航所有路径节点
  clearKeyPoints() {
    this._animationPath.clearKeyPoints();
  }

  //从xml字符串获取动画导航
  fromXmlString(xmlString) {
    this._animationPath.fromXmlString(xmlString);
  }

  //动画导航转换成xml字符串
  asXmlString() {
    return this._animationPath.asXmlString();
  }

  //从xml文件获取动画导航
  fromXmlFile(xmlFile) {
    return this._animationPath.fromXmlFile(xmlFile);
  }

  //动画导航导出为xml文件
  asXmlFile(xmlFileName) {
    this._animationPath.asXmlFile(xmlFileName);
  }

  //销毁
  destroy() {
    this._animationPath = null;
  }
}

/***/ }),

/***/ 8422:
/***/ (function(module) {

module.exports = require("@element-plus/icons-vue");

/***/ }),

/***/ 348:
/***/ (function(module) {

module.exports = require("@kq_npm/client_icons_vue");

/***/ }),

/***/ 2118:
/***/ (function(module) {

module.exports = require("core-js/modules/es.array.push.js");

/***/ }),

/***/ 8470:
/***/ (function(module) {

module.exports = require("core-js/modules/esnext.iterator.constructor.js");

/***/ }),

/***/ 1058:
/***/ (function(module) {

module.exports = require("core-js/modules/esnext.iterator.for-each.js");

/***/ }),

/***/ 9389:
/***/ (function(module) {

module.exports = require("element-plus/dist/index.full.js");

/***/ }),

/***/ 7080:
/***/ (function(module) {

module.exports = require("vue-i18n/dist/vue-i18n.cjs.js");

/***/ }),

/***/ 7135:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__7135__;

/***/ }),

/***/ 3458:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__3458__;

/***/ }),

/***/ 7997:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__7997__;

/***/ }),

/***/ 1895:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__1895__;

/***/ }),

/***/ 5301:
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "Z": function() { return /* binding */ _defineProperty; }
});

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
function _typeof(o) {
  "@babel/helpers - typeof";

  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
    return typeof o;
  } : function (o) {
    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
  }, _typeof(o);
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js

function toPrimitive(t, r) {
  if ("object" != _typeof(t) || !t) return t;
  var e = t[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t, r || "default");
    if ("object" != _typeof(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r ? String : Number)(t);
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js


function toPropertyKey(t) {
  var i = toPrimitive(t, "string");
  return "symbol" == _typeof(i) ? i : i + "";
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js

function _defineProperty(e, r, t) {
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[r] = t, e;
}


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
!function() {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "FlightViewModel": function() { return /* reexport */ FlightViewModel/* default */.Z; },
  "default": function() { return /* reexport */ Flight; }
});

// EXTERNAL MODULE: external "core-js/modules/es.array.push.js"
var es_array_push_js_ = __webpack_require__(2118);
// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.constructor.js"
var esnext_iterator_constructor_js_ = __webpack_require__(8470);
// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.for-each.js"
var esnext_iterator_for_each_js_ = __webpack_require__(1058);
// EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(1895);
// EXTERNAL MODULE: ./src/common/_ui/message/index.js
var message = __webpack_require__(1349);
// EXTERNAL MODULE: external "@element-plus/icons-vue"
var icons_vue_ = __webpack_require__(8422);
// EXTERNAL MODULE: external "@kq_npm/client_icons_vue"
var client_icons_vue_ = __webpack_require__(348);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/gis-utils"
var gis_utils_ = __webpack_require__(7135);
// EXTERNAL MODULE: ./src/webgl/flight/FlightViewModel.js
var FlightViewModel = __webpack_require__(5372);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/util"
var util_ = __webpack_require__(3458);
// EXTERNAL MODULE: external "vue-i18n/dist/vue-i18n.cjs.js"
var vue_i18n_cjs_js_ = __webpack_require__(7080);
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/flight/Flight.vue?vue&type=script&setup=true&lang=js




const _hoisted_1 = {
  class: "kq-flight3d-box"
};
const _hoisted_2 = {
  key: 0
};
const _hoisted_3 = {
  class: "kq-flight3d-btns"
};
const _hoisted_4 = {
  class: "kq-flight3d-list-title"
};
const _hoisted_5 = {
  key: 1
};
const _hoisted_6 = {
  class: "kq-flight3d-add-title"
};
const _hoisted_7 = {
  key: 0
};
const _hoisted_8 = {
  key: 1
};
const _hoisted_9 = {
  style: {
    "text-align": "right"
  }
};








const __default__ = {
  name: "Kq3dFlight"
};
/* harmony default export */ var Flightvue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(__default__, {
  props: {
    // 是否显示阴影效果
    showShadow: {
      type: Boolean,
      default: true
    },
    // 加载外部飞行路径数据方法
    loadFlightPath: {
      type: Function
    },
    // 外部保存飞行路径方法
    saveFlightPath: {
      type: Function
    },
    // 外部删除飞行路径方法
    deleteFlightPath: {
      type: Function
    },
    /**
     * 例："center","topLeft","topRight","bottomLeft","bottomRight", "topCenter", "bottomCenter" {top:'16px',left:'16px'}, {top:16,left:16}
     */
    position: [String, Object],
    // 是否生成HeaderTemp
    showHeaderTemp: {
      type: Boolean,
      default: false
    },
    // 是否折叠HeaderTemp，showHeaderTemp为true时生效
    isCollapseHeaderTemp: {
      type: Boolean,
      default: false
    },
    // HeaderTemp标题
    headerTempTitle: {
      type: String
    },
    // HeaderTemp图标
    headerTempIcon: {
      type: [Object, String],
      default: client_icons_vue_.IconFlight
    },
    // HeaderTemp Title&Icon的位置
    isRight: {
      type: Boolean,
      default: true
    }
  },
  setup(__props, {
    expose: __expose
  }) {
    const props = __props;
    const {
      proxy
    } = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.getCurrentInstance)();
    let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(proxy.$i18n.global.messages[proxy.$i18n.global.locale]["webgl"]);
    let isAdd = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
    let isEdit = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
    let pathList = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)([]);
    let showMoreMenu = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
    let dropDownMenu = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);
    let pathName = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)("");
    let tableData = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)([]);
    let isPrePlaying = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
    let viewer = null;
    let pathPlayIndex = -1;
    let dropDownPath = null;
    let viewModel = null;

    // 表格头样式
    let headClass = args => {
      return {
        "background-color": "var(--kq-fill-color-light)",
        color: "var(--kq-color-info)",
        "font-size": "14px"
      };
    };

    // 组件容器Ref
    let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);

    // 生成组件默认header
    let headerTemp = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();
    let headerTempRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();

    // 国际化
    let {
      locale,
      messages
    } = (0,vue_i18n_cjs_js_.useI18n)();
    let headerTempTitle = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => locale.value, (newVal, oldVal) => {
      language.value = messages.value[newVal]["webgl"];
      headerTempTitle.value = language.value.flight;
    });
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onMounted)(() => {
      (0,util_.updatePosition)(boxRef.value, props);
      (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.position, (newVal, oldVal) => {
        (0,util_.updatePosition)(boxRef.value, props);
      });
      watchCreateHeaderTemp();
      (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.showHeaderTemp, (newVal, oldVal) => {
        (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.nextTick)(() => {
          watchCreateHeaderTemp();
        });
      });
      gis_utils_.utils.getWebMap(null, scenceView => {
        if (scenceView) {
          viewer = scenceView._viewer;
          viewModel = new FlightViewModel/* default */.Z(viewer);
          viewModel.stopEvent.addEventListener(function () {
            isPrePlaying.value = false;
            pathList.forEach(path => {
              path.isPlaying = false;
            });
          });

          //加载外部数据
          if (props.loadFlightPath) {
            props.loadFlightPath(dataList => {
              dataList = JSON.parse(JSON.stringify(dataList));
              dataList.forEach(path => {
                path.isPlaying = false;
                path.isRepeat = false;
                pathList.push(path);
              });
            });
          }
        }
      });
    });

    // 销毁
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onBeforeUnmount)(() => {
      viewModel.stop();
      document.removeEventListener("click", hideDropDownMenu);
    });

    /**
     * @description 监听header生成
     */
    const watchCreateHeaderTemp = () => {
      if (props.showHeaderTemp) {
        // 生成headerTemp
        headerTemp.value = (0,util_.createHeaderTemp)(boxRef.value, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toRefs)(props), headerTempRef, headerTempTitle);
      }
    };

    //新建路径
    function addPath() {
      pathList.forEach(path => {
        if (path.isPlaying) {
          stop(path);
        }
      });
      viewModel.clearKeyPoints();
      isAdd.value = true;
      pathPlayIndex = -1;
    }

    //编辑路径
    function editPath() {
      if (dropDownPath) {
        addPath();
        isEdit.value = true;
        pathName.value = dropDownPath.name;
        viewModel.fromXmlString(dropDownPath.xmlString);
        convertAnimationPathKeys();
      }
    }

    //转换AnimationPath节点数据
    function convertAnimationPathKeys() {
      var keyPoints = viewModel.getAllKeyPoints();
      keyPoints.forEach(key => {
        var lonlat = Cesium.Cartographic.fromCartesian(key.destination);
        var positionArr = [Cesium.Math.toDegrees(lonlat.longitude).toFixed(4) * 1, Cesium.Math.toDegrees(lonlat.latitude).toFixed(4) * 1, lonlat.height.toFixed(2) * 1];
        var position = positionArr.join(", ");
        var data = {
          position: position,
          interval: key.duration,
          positionArr: positionArr
        };
        tableData.push(data);
      });
    }

    //删除路径
    function deletePath() {
      if (dropDownPath) {
        if (dropDownPath.index === pathPlayIndex) {
          pathPlayIndex = -1;
        }
        pathList.splice(dropDownPath.index, 1);
        // 外部删除数据
        if (props.deleteFlightPath) {
          props.deleteFlightPath(dropDownPath.guid);
        }
      }
    }

    //路径播放
    function play(item, index) {
      if (index !== pathPlayIndex) {
        viewModel.fromXmlString(item.xmlString);
        pathPlayIndex = index;
      }
      viewModel.play();
      item.isPlaying = true;
      // 设置循环播放
      viewModel.setAutoRepeat(item.isRepeat);
    }

    //路径播放暂停
    function pause(item) {
      item.isPlaying = false;
      viewModel.pause();
    }

    //路径播放停止
    function stop(item) {
      item.isPlaying = false;
      viewModel.stop();
    }

    //循环播放
    function repeat(item) {
      item.isRepeat = !item.isRepeat;
      if (item.isPlaying) {
        viewModel.setAutoRepeat(item.isRepeat);
      }
    }

    //显示更多功能菜单
    function showDropDownMenu(item, index) {
      if (showMoreMenu.value === true && index === dropDownPath.index) {
        showMoreMenu.value = false;
        document.addEventListener("click", hideDropDownMenu);
        return;
      }
      showMoreMenu.value = true;
      let _menuDropdown = dropDownMenu.value.$el;
      _menuDropdown.style.left = window.event.clientX - 70 + "px";
      _menuDropdown.style.top = window.event.clientY + 15 + "px";
      dropDownPath = {
        index: index,
        ...item
      };
      document.addEventListener("click", hideDropDownMenu);
    }

    //隐藏更多功能菜单
    function hideDropDownMenu() {
      if (dropDownMenu.value) {
        // 去除选中样式
        let selectElement = dropDownMenu.value.$el.querySelector(".is-active");
        if (selectElement) selectElement.classList.remove("is-active");
      }
      document.removeEventListener("click", hideDropDownMenu);
      showMoreMenu.value = false;
    }

    //添加关键帧
    function addKey() {
      var duration = 5;
      var lonlat = viewer.getCurrentView();
      var positionArr = [lonlat.longitude.toFixed(4) * 1, lonlat.latitude.toFixed(4) * 1, lonlat.height.toFixed(2) * 1];
      var position = positionArr.join(", ");
      var data = {
        position: position,
        interval: duration,
        positionArr: positionArr
      };
      tableData.push(data);
      viewModel.addKeyPointByCurrentView(duration);
    }

    //替换关键帧
    function replaceKey(index, row) {
      var lonlat = viewer.getCurrentView();
      var positionArr = [lonlat.longitude.toFixed(4) * 1, lonlat.latitude.toFixed(4) * 1, lonlat.height.toFixed(2) * 1];
      var position = positionArr.join(", ");
      row.position = position;
      row.positionArr = positionArr;
      viewModel.modifyKeyPointByCurrentView(index, row.interval);
    }

    //删除关键帧
    function deleteKey(index) {
      viewModel.deleteKeyPoint(index);
      tableData.splice(index, 1);
    }

    //预播放
    function prePlay() {
      for (let index = 0; index < tableData.length; index++) {
        var duration = tableData[index].interval;
        var key = viewModel.getKeyPoint(index);
        var dur = viewModel.getKeyPointDur(index);
        if (dur !== duration) {
          viewModel.modifyKeyPoint(index, key.position, key.orientation, duration);
        }
      }
      isPrePlaying.value = true;
      viewModel.play();
    }

    //预播放暂停
    function prePause() {
      isPrePlaying.value = false;
      viewModel.pause();
    }

    //预播放停止
    function preStop() {
      isPrePlaying.value = false;
      viewModel.stop();
    }

    //保存
    function save() {
      if (pathName.value === "") {
        (0,message/* default */.Z)({
          message: language.value["enterPathName"] + "!",
          type: "warning"
        });
      } else {
        for (let index = 0; index < tableData.length; index++) {
          var duration = tableData[index].interval;
          var key = viewModel.getKeyPoint(index);
          var dur = viewModel.getKeyPointDur(index);
          if (dur !== duration) {
            viewModel.modifyKeyPoint(index, key.position, key.orientation, duration);
          }
        }
        var xmlString = viewModel.asXmlString();
        if (isEdit.value) {
          //编辑路径
          if (dropDownPath) {
            var editPath = pathList[dropDownPath.index];
            editPath.name = pathName.value;
            editPath.xmlString = xmlString;
            // 外部保存数据
            if (props.saveFlightPath) {
              props.saveFlightPath({
                guid: editPath.guid,
                name: editPath.name,
                xmlString: editPath.xmlString
              });
            }
          }
        } else {
          //新增路径
          var path = {
            guid: Cesium.createGuid(),
            name: pathName.value,
            xmlString: xmlString,
            isPlaying: false
          };
          pathList.push(path);
          // 外部保存数据
          if (props.saveFlightPath) {
            props.saveFlightPath({
              guid: path.guid,
              name: path.name,
              xmlString: path.xmlString
            });
          }
        }
        cancel();
      }
    }

    //取消
    function cancel() {
      preStop();
      viewModel.clearKeyPoints();
      tableData.length = 0;
      isAdd.value = false;
      pathName.value = "";
      isEdit.value = false;
    }

    //导入文件
    function importFile(file) {
      var name = file.name.split(".")[0];
      viewModel.fromXmlFile(file.raw).then(() => {
        var xmlString = viewModel.asXmlString();
        var path = {
          guid: Cesium.createGuid(),
          name: name,
          xmlString: xmlString,
          isPlaying: false
        };
        pathList.push(path);

        // 外部保存数据
        if (props.saveFlightPath) {
          props.saveFlightPath({
            guid: path.guid,
            name: path.name,
            xmlString: path.xmlString
          });
        }
      });
    }

    //导出文件
    function exportFile() {
      if (dropDownPath) {
        viewModel.fromXmlString(dropDownPath.xmlString);
        viewModel.asXmlFile(dropDownPath.name);
      }
    }
    __expose({
      convertAnimationPathKeys,
      showDropDownMenu,
      hideDropDownMenu,
      save,
      cancel,
      addPath,
      editPath,
      deletePath,
      play,
      pause,
      stop,
      repeat,
      addKey,
      replaceKey,
      deleteKey,
      prePlay,
      prePause,
      preStop,
      importFile,
      exportFile
    });
    return (_ctx, _cache) => {
      const _component_kq_icon = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-icon");
      const _component_kq_button = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-button");
      const _component_kq_upload = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-upload");
      const _component_kq_menu_item = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-menu-item");
      const _component_kq_menu = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-menu");
      const _component_kq_input = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-input");
      const _component_kq_form_item = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-form-item");
      const _component_kq_table_column = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-table-column");
      const _component_kq_input_number = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-input-number");
      const _component_kq_table = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-table");
      const _component_kq_divider = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-divider");
      return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("section", {
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)(["kq-flight3d", {
          'kq-box-shadow': __props.showShadow
        }]),
        ref_key: "boxRef",
        ref: boxRef
      }, [__props.showHeaderTemp ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveDynamicComponent)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(headerTemp)), {
        key: 0,
        ref_key: "headerTempRef",
        ref: headerTempRef
      }, null, 512 /* NEED_PATCH */)) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_1, [!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isAdd) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_2, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_3, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: addPath,
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).addPath
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.Plus))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_upload, {
        style: {
          "margin-left": "4px"
        },
        "on-change": importFile,
        "auto-upload": false,
        "show-file-list": false,
        accept: "text/xml"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
          title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).importXML
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
            size: 24
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconUploadCloud))]),
            _: 1 /* STABLE */
          })]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["title"])]),
        _: 1 /* STABLE */
      })]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_4, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pathName), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_menu, {
        class: "pathlist-ul"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(pathList), (item, index) => {
          return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_menu_item, {
            index: index,
            key: index
          }, {
            title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)(item.name), 1 /* TEXT */), item.isPlaying ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_icon, {
              key: 0,
              size: 16,
              class: "menuIcon",
              onClick: $event => pause(item),
              title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pause
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoPause))]),
              _: 2 /* DYNAMIC */
            }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "title"])) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_icon, {
              key: 1,
              size: 16,
              class: "menuIcon",
              onClick: $event => play(item, index),
              title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).play
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoPlay))]),
              _: 2 /* DYNAMIC */
            }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "title"])), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
              size: 16,
              class: "menuIcon",
              onClick: $event => stop(item),
              title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).stop
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoStop))]),
              _: 2 /* DYNAMIC */
            }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
              size: 16,
              class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)(item.isRepeat ? 'kq-icon-light' : ''),
              onClick: $event => repeat(item),
              title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).repeat
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoRepeat))]),
              _: 2 /* DYNAMIC */
            }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "onClick", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
              size: 16,
              class: "menuIcon",
              onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => showDropDownMenu(item, index), ["prevent", "stop"]),
              title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).more
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.More))]),
              _: 2 /* DYNAMIC */
            }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "title"])]),
            _: 2 /* DYNAMIC */
          }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["index"]);
        }), 128 /* KEYED_FRAGMENT */))]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", null, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_menu, {
        class: "dropdown-ul",
        ref_key: "dropDownMenu",
        ref: dropDownMenu
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_menu_item, {
          index: "1",
          onClick: editPath
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
            size: 16
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.Edit))]),
            _: 1 /* STABLE */
          }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).edit), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_menu_item, {
          index: "2",
          onClick: exportFile
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
            size: 14
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconExport))]),
            _: 1 /* STABLE */
          }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).export), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_menu_item, {
          index: "3",
          onClick: deletePath
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
            size: 16
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.Delete))]),
            _: 1 /* STABLE */
          }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).delete), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 512 /* NEED_PATCH */)], 512 /* NEED_PATCH */), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showMoreMenu)]])])) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_5, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        text: "",
        onClick: cancel
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 16
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.ArrowLeft))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }), !(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isEdit) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("span", _hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).addPath), 1 /* TEXT */)) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("span", _hoisted_8, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).editPath), 1 /* TEXT */))]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
        class: "kq-flight3d-item-name",
        label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pathName
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input, {
          placeholder: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).enterPathName,
          modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(pathName),
          "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(pathName) ? pathName.value = $event : pathName = $event)
        }, null, 8 /* PROPS */, ["placeholder", "modelValue"])]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_table, {
        border: "",
        data: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(tableData),
        "header-cell-style": (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(headClass)
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_table_column, {
          label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).no,
          width: "50",
          type: "index",
          align: "center"
        }, null, 8 /* PROPS */, ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_table_column, {
          label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).position,
          prop: "position",
          align: "center"
        }, null, 8 /* PROPS */, ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_table_column, {
          label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).interval,
          width: "100",
          align: "center"
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(scope => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
            modelValue: scope.row.interval,
            "onUpdate:modelValue": $event => scope.row.interval = $event,
            min: 1,
            "controls-position": "right",
            style: {
              "width": "83px"
            }
          }, null, 8 /* PROPS */, ["modelValue", "onUpdate:modelValue"])]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_table_column, {
          label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).operation,
          width: "90",
          align: "center"
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(scope => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
            onClick: $event => replaceKey(scope.$index, scope.row),
            title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).replaceKeyframe
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
              size: 16
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconReplace))]),
              _: 1 /* STABLE */
            })]),
            _: 2 /* DYNAMIC */
          }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
            onClick: $event => deleteKey(scope.$index),
            title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).delete
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
              size: 16
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.Delete))]),
              _: 1 /* STABLE */
            })]),
            _: 2 /* DYNAMIC */
          }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "title"])]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["label"])]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["data", "header-cell-style"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        class: "kq-flight3d-btn-add",
        onClick: addKey
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 16
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.Plus))]),
          _: 1 /* STABLE */
        }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).addkeyframe), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
        class: "kq-flight3d-ybf",
        label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).prePlay
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", null, [!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isPrePlaying) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_icon, {
          key: 0,
          size: 32,
          onClick: prePlay,
          title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).play
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoPlay))]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["title"])) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_icon, {
          key: 1,
          size: 32,
          onClick: prePause,
          title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pause
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoPause))]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["title"])), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 32,
          onClick: preStop,
          title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).stop
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconVideoStop))]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["title"])])]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["label"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_9, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        type: "primary",
        onClick: save
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).save), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: cancel
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).cancel), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      })])]))])], 2 /* CLASS */);
    };
  }
}));
;// CONCATENATED MODULE: ./src/webgl/flight/Flight.vue?vue&type=script&setup=true&lang=js
 
;// CONCATENATED MODULE: ./src/webgl/flight/Flight.vue



const __exports__ = Flightvue_type_script_setup_true_lang_js;

/* harmony default export */ var Flight = (__exports__);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/init.js"
var init_js_ = __webpack_require__(7997);
var init_js_default = /*#__PURE__*/__webpack_require__.n(init_js_);
;// CONCATENATED MODULE: ./src/webgl/flight/index.js
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */



Flight.install = (Vue, opts) => {
  init_js_default()(Vue, opts);
  Vue.component(Flight.name, Flight);
};

}();
/******/ 	return __webpack_exports__;
/******/ })()
;
});