@zpc_npm/vue-iclient-common
Version:
KQGIS iClient for Vue.js
999 lines (837 loc) • 37.6 kB
JavaScript
/******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 1349:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2442);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_plus_es__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8945);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_init__WEBPACK_IMPORTED_MODULE_1__);
element_plus_es__WEBPACK_IMPORTED_MODULE_0__.ElMessage.install = (Vue, opts) => {
_init__WEBPACK_IMPORTED_MODULE_1___default()(Vue, opts);
Vue.component("KqMessage", element_plus_es__WEBPACK_IMPORTED_MODULE_0__.ElMessage);
};
/* harmony default export */ __webpack_exports__["default"] = (element_plus_es__WEBPACK_IMPORTED_MODULE_0__.ElMessage);
/***/ }),
/***/ 2442:
/***/ (function(module) {
module.exports = require("element-plus/es");
/***/ }),
/***/ 8945:
/***/ (function(module) {
module.exports = require("@zpc_npm/vue-iclient-common/init.js");
/***/ })
/******/ });
/************************************************************************/
/******/ // 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__, {
"LayerTreeViewModel": function() { return /* reexport */ LayerTreeViewModel; },
"default": function() { return /* reexport */ LayerTree; }
});
;// CONCATENATED MODULE: external "vue"
var external_vue_namespaceObject = require("vue");
;// CONCATENATED MODULE: external "@element-plus/icons-vue"
var icons_vue_namespaceObject = require("@element-plus/icons-vue");
// EXTERNAL MODULE: ./src/common/_ui/message/index.js
var message = __webpack_require__(1349);
;// CONCATENATED MODULE: external "@zpc_npm/vue-iclient-common/_utils/mitt"
var mitt_namespaceObject = require("@zpc_npm/vue-iclient-common/_utils/mitt");
var mitt_default = /*#__PURE__*/__webpack_require__.n(mitt_namespaceObject);
;// CONCATENATED MODULE: external "@zpc_npm/vue-iclient-common/_utils/gis-utils"
var gis_utils_namespaceObject = require("@zpc_npm/vue-iclient-common/_utils/gis-utils");
;// CONCATENATED MODULE: ./src/common/layertree/LayerTreeViewModel.js
/**
* Author: ZL
* Data: 2022.7.13
* Description: 图层树组件逻辑类.
*/
class LayerTreeViewModel extends (mitt_default()) {
/**
* @param {string} mapTarget 组件绑定的map的id
* @param {number} maxCounts 图层树勾选最大数量
*/
constructor(mapTarget, maxCounts) {
super();
/**
* 外部参数对象
* @type {Object}
* @private
*/
this._props = {
mapTarget
};
/**
* 最大图层勾选数量
* @type {number}
* @private
*/
this._maxCounts = maxCounts; // 事件绑定this
this._resetListData = this._resetListData.bind(this);
this._changeMap = this._changeMap.bind(this);
}
/**
* 初始化设置数据,注册事件
*/
init() {
let mapLayers = gis_utils_namespaceObject.mapLayerUtils.getLayerTreeData(this._props.mapTarget);
if (!mapLayers) {
// mapview初始化结束监听 如果view已经存在了,mounted事件不会添加监听
gis_utils_namespaceObject.mapViewUtils.bindViewOnceEvents("mounted", this._resetListData, this._props.mapTarget);
} else {
this.setListData();
}
this._registerEvents();
}
/**
* 注册事件,监听mapview数据变化,监听map切换。
* @private
*/
_registerEvents() {
// 添加图层数据变化监听
gis_utils_namespaceObject.mapViewUtils.bindViewEvents("resetLayerDatas", this._resetListData, this._props.mapTarget); // 切换监听事件 指定mapTarget时 不需要监听
if (!(this._props.mapTarget && this._props.mapTarget !== "")) {
gis_utils_namespaceObject.utils.bindChangeMapEvents(this._changeMap);
}
}
/**
* mapview数据变化监听事件的回调函数
* @param e {Object}
* @private
*/
_resetListData(e) {
// 如果图层变化事件是自己触发的 则不继续执行 避免死循环
if (e && e.eventTarget && e.eventTarget === this) {
return;
}
this.setListData();
}
/**
* 地图切换监听事件的回调函数,比如二三维切换。
* @param {Object} e
* @private
*/
_changeMap(e) {
// 为了防止两个监听同时存在 出现数据出错
const preMapTarget = e.preMapTarget; // 地图切换时 移除切换前地图的数据监听事件
gis_utils_namespaceObject.mapViewUtils.offViewEvents("resetLayerDatas", this._resetListData, preMapTarget); // 地图切换时 添加切换手地图的数据监听事件 不传maptarget 获取当前地图的maptarget
gis_utils_namespaceObject.mapViewUtils.bindViewEvents("resetLayerDatas", this._resetListData); // 重新获取、设置数据
this.setListData();
}
/**
* 设置图层树数据
*/
setListData() {
let mapLayers = gis_utils_namespaceObject.mapLayerUtils.getLayerTreeData(this._props.mapTarget);
let keys = gis_utils_namespaceObject.mapLayerUtils.getLayerCheckedListKey(this._props.mapTarget);
if (mapLayers && mapLayers.length > 0) {
this.fire("setData", {
mapLayers,
keys
});
}
}
/**
* 图层树勾选事件
* @param {Object} nodeData 操作节点数据
* @param {boolean} checked 是否勾选
*/
handleCheck(nodeData, checked) {
let checkedLayers = gis_utils_namespaceObject.mapLayerUtils.getLayerCheckedListKey(this._props.mapTarget);
if (checked && !isNextChangeNode(nodeData, checked, checkedLayers, this)) {
return;
}
let treeIds = [];
if (nodeData.children) {
let leafNodes = [];
getAllLeafNodesByNodeData(nodeData, leafNodes, checkedLayers);
for (let i = 0; i < leafNodes.length; i++) {
treeIds.push(leafNodes[i].guid);
}
} else {
treeIds.push(nodeData.guid);
}
gis_utils_namespaceObject.mapLayerUtils.setLayerVisibleStateByIds(this._props.mapTarget, treeIds, checked, this);
}
/**
* 右键菜单点击事件
* @param {string} key menu的节点index
* @param {Object} currentSelectedNode 右键操作树节点的数据
*/
handleSelectMenu(key, currentSelectedNode) {
if (key === "1") {
// 缩放至图层
gis_utils_namespaceObject.mapViewUtils.fitBounds(this._props.mapTarget, currentSelectedNode);
} else if (key === "3") {
// 置顶
gis_utils_namespaceObject.mapLayerUtils.setLayerBringToFrontById(this._props.mapTarget, currentSelectedNode.guid, true);
} else if (key === "4") {
// 取消置顶
gis_utils_namespaceObject.mapLayerUtils.setLayerBringToFrontById(this._props.mapTarget, currentSelectedNode.guid, false);
} else if (key === "5") {
// 图层上移
gis_utils_namespaceObject.mapLayerUtils.raiseLayerByTreeId(this._props.mapTarget, currentSelectedNode.guid);
} else if (key === "6") {
// 图层下移
gis_utils_namespaceObject.mapLayerUtils.lowerLayerByTreeId(this._props.mapTarget, currentSelectedNode.guid);
} else if (key === "7") {
gis_utils_namespaceObject.mapLayerUtils.resetLayerZIndex(this._mapTarget);
} else if (key === "8") {
let keys = gis_utils_namespaceObject.mapLayerUtils.getLayerCheckedListKey(this._props.mapTarget);
if (keys && keys.length > 0) {
// 这步只会去掉图层显示
gis_utils_namespaceObject.mapLayerUtils.setLayerVisibleStateByIds(this._props.mapTarget, keys, false, this); // 图层树节点取掉勾选状态
this.fire("setTreeChecked", {
keys: keys,
show: false
});
}
} else if (key === "9") {
// 先触发节点勾选 会实时改变父节点的状态
this.fire("setTreeChecked", {
keys: [currentSelectedNode.guid],
show: false
}); // 删除树节点数据 包括子节点也删除
this.fire("removeNode", {
node: currentSelectedNode
}); // 删除mapview中添加的对应的数据和去掉layer的渲染
gis_utils_namespaceObject.mapLayerUtils.delTempData(this._props.mapTarget, currentSelectedNode.guid, this);
}
}
/**
* 组件销毁时,执行的函数,删除事件监听
*/
destroy() {
// 删除所有事件监听
this.off();
gis_utils_namespaceObject.mapViewUtils.offViewEvents("mounted", this._resetListData, this._props.mapTarget);
gis_utils_namespaceObject.mapViewUtils.offViewEvents("resetLayerDatas", this._resetListData, this._props.mapTarget);
if (!(this._props.mapTarget && this._props.mapTarget !== "")) {
gis_utils_namespaceObject.utils.offChangeMapEvents(this._changeMap);
}
}
}
/**
* 判断图层树是否超出子节点限制
* @param {Object} node 节点数据
* @param {boolean} checked 勾选状态
* @param {array} checkedLayers 已经显示的图层数据的keys
* @param {LayerTreeViewModel} that 当前LayerTreeViewModel对象
* @return {boolean}
*/
function isNextChangeNode(node, checked, checkedLayers, that) {
if (node.children) {
let leafNodes = [];
getAllLeafNodesByNodeData(node, leafNodes, checkedLayers); // 勾选状态时 勾选的子图层数量不能大于限制数量 否则不执行勾选操作
if (checked) {
if (checkedLayers.length + leafNodes.length > that._maxCounts) {
(0,message["default"])({
showClose: true,
message: "最大勾选数量只能" + that._maxCounts + "个!",
type: "warning",
duration: 3000
});
let keys = [];
for (let i = 0; i < leafNodes.length; i++) {
keys.push(leafNodes[i].guid);
}
that.fire("setTreeChecked", {
keys: keys,
show: false
});
return false;
}
}
} else {
if (checked) {
if (checkedLayers.length >= that._maxCounts) {
that.fire("setTreeChecked", {
keys: [node.guid],
show: false
});
(0,message["default"])({
showClose: true,
message: "最大勾选数量只能" + that._maxCounts + "个!",
type: "warning",
duration: 3000
});
return false;
}
}
}
return true;
}
/**
* 判断树节点是否在已经勾选并显示状态的图层中
* @param {string} guid 节点的guid
* @param {array} checkedLayers 已经显示的图层数据的keys
* @return {boolean}
*/
function hasShowLayerByNode(guid, checkedLayers) {
for (let i = 0; i < checkedLayers.length; i++) {
if (checkedLayers[i] === guid) return true;
}
return false;
}
/**
* 获取图层树指定节点下所有叶子节点 (勾选操作时排除已经勾选的节点),根据节点数据源
* @param node {Object} node 节点数据
* @param leafNodes {array} 勾选操作,计数的数据
* @param checkedLayers {array} 已经显示的图层数据的keys
*/
function getAllLeafNodesByNodeData(node, leafNodes, checkedLayers) {
if (node.children && node.children.length > 0) {
for (let i = 0; i < node.children.length; i++) {
getAllLeafNodesByNodeData(node.children[i], leafNodes, checkedLayers);
}
} else {
if (node.checked) {
// 勾选操作时 排除已经勾选的节点
if (!hasShowLayerByNode(node.guid, checkedLayers)) {
leafNodes.push(node);
}
} else {
leafNodes.push(node);
}
}
}
;// CONCATENATED MODULE: external "@zpc_npm/vue-iclient-icons"
var vue_iclient_icons_namespaceObject = require("@zpc_npm/vue-iclient-icons");
;// CONCATENATED MODULE: external "@zpc_npm/vue-iclient-common/_utils/util"
var util_namespaceObject = require("@zpc_npm/vue-iclient-common/_utils/util");
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/common/layertree/LayerTree.vue?vue&type=script&setup=true&lang=js
const _hoisted_1 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "缩放至图层", -1
/* HOISTED */
);
const _hoisted_2 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "透明度设置", -1
/* HOISTED */
);
const _hoisted_3 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "图层置顶", -1
/* HOISTED */
);
const _hoisted_4 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "取消置顶", -1
/* HOISTED */
);
const _hoisted_5 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "图层上移", -1
/* HOISTED */
);
const _hoisted_6 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "图层下移", -1
/* HOISTED */
);
const _hoisted_7 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "图层位置还原", -1
/* HOISTED */
);
const _hoisted_8 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "取消所有勾选", -1
/* HOISTED */
);
const _hoisted_9 = /*#__PURE__*/(0,external_vue_namespaceObject.createElementVNode)("span", null, "移除节点", -1
/* HOISTED */
);
// 接受组件传参
const __default__ = {
name: "KqLayerTree"
};
/* harmony default export */ var LayerTreevue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(__default__, {
props: {
// 每个地图相关组件的必须参数 非必传 指定组件绑定的map对象的div的id
mapTarget: String,
// 图层树节点最大勾选数量
maxCounts: {
type: Number,
default: 12
},
// 显示过滤搜索框
showFilterBox: {
type: Boolean,
default: true
},
// 显示右键菜单
showRightMenu: {
type: Boolean,
default: true
},
// 图层树节点显示的属性名
nodeName: {
type: String,
default: "name"
},
// 默认展开第一个节点
defaultExpanded: {
type: Boolean,
default: true
},
// 组件显示位置
position: [String, Object],
// 是否显示阴影
showShadow: {
type: Boolean,
default: true
},
// 树控件的属性参数设置。
treeAttributes: Object
},
emits: ["openOpacity"],
setup(__props, {
expose,
emit
}) {
const props = __props; // 组件容器
let boxRef = (0,external_vue_namespaceObject.ref)(null); // 图层树对象
let myTree = (0,external_vue_namespaceObject.ref)(null); // list数据源
let dataList = (0,external_vue_namespaceObject.reactive)({
data: []
}); // 逻辑类
let viewModel = null; // 搜索框绑定值
let inputValue = (0,external_vue_namespaceObject.ref)(""); // 是否显示下拉菜单
let menuDropdown = (0,external_vue_namespaceObject.ref)(false); // 下拉菜单
let dropDownMenu = (0,external_vue_namespaceObject.ref)(null); // 当前选中的节点
let currentSelectedNode = null;
let showDelNode = (0,external_vue_namespaceObject.ref)(false);
let showOtherNode = (0,external_vue_namespaceObject.ref)(true); // 默认展开节点
let defaultExpandedKeys = (0,external_vue_namespaceObject.reactive)({
data: []
});
(0,external_vue_namespaceObject.onMounted)(() => {
(0,util_namespaceObject.updatePosition)(boxRef.value, props);
viewModel = new LayerTreeViewModel(props.mapTarget, props.maxCounts); // 逻辑类监听数据设置事件
viewModel.on("setData", _data => {
dataList.data.value = _data.mapLayers; // 默认展开第一个节点
if (props.defaultExpanded) {
defaultExpandedKeys.data.value = [_data.mapLayers[0].guid];
}
(0,external_vue_namespaceObject.nextTick)(() => {
myTree.value.$refs.child.setCheckedKeys(_data.keys, true);
});
}); // 监听勾选树节点
viewModel.on("setTreeChecked", params => {
params.keys.forEach(key => {
myTree.value.$refs.child.setChecked(key, params.show);
});
});
viewModel.on("removeNode", params => {
myTree.value.$refs.child.remove(params.node);
}); // 逻辑初始化
viewModel.init();
});
(0,external_vue_namespaceObject.onBeforeUnmount)(() => {
viewModel.destroy();
viewModel = null;
document.removeEventListener("click", hideMenuDropdown);
});
expose({
reset
});
function reset() {
hideMenuDropdown();
}
/**
* 图层树右建菜单事件
* @param {object} mouseEvent
* @param {object} object
* @param {object} node
*/
function rightClick(mouseEvent, object, node) {
if (!props.showRightMenu) {
return;
} // 临时图层特殊处理
if (object.lsType && object.lsType === "ls") {
// 临时图层支持移除节点
showDelNode.value = true; // 临时图层一样子节点才能其他操作
if (object.children) {
showOtherNode.value = false;
} else {
showOtherNode.value = true;
}
} // 正式图层有自接到才能操作
else if (object.children) {
return;
} else {
showDelNode.value = false;
showOtherNode.value = true;
}
if (node.checked) {
menuDropdown.value = true;
let menu = dropDownMenu.value.$el;
menu.style.left = mouseEvent.clientX - 5 + "px";
menu.style.top = mouseEvent.clientY - 10 + "px";
currentSelectedNode = node;
document.addEventListener("click", hideMenuDropdown);
} else {
(0,message["default"])({
showClose: true,
message: "请先勾选图层!",
type: "info",
duration: 3000
});
}
}
/**
* 图层树checkbox勾选事件
* @param {object} nodeData 操作节点数据,不是节点对象
*/
function handleCheck(nodeData) {
let currenNode = myTree.value.$refs.child.getNode(nodeData);
viewModel.handleCheck(nodeData, currenNode.checked);
}
/**
* 树节点过滤方法
* @param {string} value
* @param {object} data
* @return {boolean}
*/
function filterNode(value, data) {
if (!value) {
return true;
}
return data[props.nodeName].toLowerCase().indexOf(value.toLowerCase()) !== -1;
}
/**
* 搜索框的搜索按钮事件
*/
function searchClick() {
myTree.value.$refs.child.filter(inputValue.value);
}
/**
* 右建菜单选择事件
* @param {string} key 菜单每行的key值
*/
function handleSelectMenu(key) {
if (key === "2") {
emit("openOpacity", currentSelectedNode.data);
} else {
viewModel.handleSelectMenu(key, currentSelectedNode.data);
}
}
/**
* 隐藏下拉菜单
*/
function hideMenuDropdown() {
// 去除选中样式
let selectElement = dropDownMenu.value.$el.querySelector(".is-active");
if (selectElement) selectElement.classList.remove("is-active");
menuDropdown.value = false;
document.removeEventListener("click", hideMenuDropdown);
}
/**
* 图层树的行内容重写
* @param {object} h
* @param {object} node
* @param {object} data
* @param {object} store
* @returns {JSX.Element}
*/
function renderContent(h, {
node,
data,
store
}) {
if (data.children) {
return (0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.resolveComponent)("kq-tooltip"), {
"show-after": 500,
"class": "item",
"effect": "light",
"placement": "right",
"content": data.name
}, {
default: () => [(0,external_vue_namespaceObject.createVNode)("span", {
"class": "tree-node_span"
}, [(0,external_vue_namespaceObject.createVNode)("span", null, [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.resolveComponent)("kq-icon"), {
"class": "tree-node_icon"
}, {
default: () => [(0,external_vue_namespaceObject.createVNode)(vue_iclient_icons_namespaceObject.IconFile, null, null)]
})]), (0,external_vue_namespaceObject.createVNode)("span", {
"class": "tile"
}, [data.shapeType ? data[props.nodeName] + " (" + data.children.length + ")" : data[props.nodeName]])])]
});
} else {
return (0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.resolveComponent)("kq-tooltip"), {
"show-after": 500,
"class": "item",
"effect": "light",
"placement": "right",
"content": data[props.nodeName]
}, {
default: () => [(0,external_vue_namespaceObject.createVNode)("span", {
"class": "tree-node_span"
}, [(0,external_vue_namespaceObject.createVNode)("span", null, [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.resolveComponent)("kq-icon"), {
"class": "tree-node_icon"
}, {
default: () => [!(data.rasterLayer || data.vectorLayer) ? (0,external_vue_namespaceObject.createVNode)(vue_iclient_icons_namespaceObject.IconFile, null, null) : data.rasterLayer ? (0,external_vue_namespaceObject.createVNode)(vue_iclient_icons_namespaceObject.IconImage, null, null) : data.shapeType === "polyline" ? (0,external_vue_namespaceObject.createVNode)(vue_iclient_icons_namespaceObject.IconPolyline, null, null) : data.shapeType === "polygon" ? (0,external_vue_namespaceObject.createVNode)(vue_iclient_icons_namespaceObject.IconPolygon2, null, null) : data.shapeType === "point" ? (0,external_vue_namespaceObject.createVNode)(vue_iclient_icons_namespaceObject.IconPoint, null, null) : ""]
})]), (0,external_vue_namespaceObject.createVNode)("span", {
"class": "tile"
}, [data[props.nodeName]])])]
});
}
}
return (_ctx, _cache) => {
const _component_kq_button = (0,external_vue_namespaceObject.resolveComponent)("kq-button");
const _component_kq_input = (0,external_vue_namespaceObject.resolveComponent)("kq-input");
const _component_kq_tree = (0,external_vue_namespaceObject.resolveComponent)("kq-tree");
const _component_kq_scrollbar = (0,external_vue_namespaceObject.resolveComponent)("kq-scrollbar");
const _component_kq_icon = (0,external_vue_namespaceObject.resolveComponent)("kq-icon");
const _component_kq_menu_item = (0,external_vue_namespaceObject.resolveComponent)("kq-menu-item");
const _component_kq_divider = (0,external_vue_namespaceObject.resolveComponent)("kq-divider");
const _component_kq_menu = (0,external_vue_namespaceObject.resolveComponent)("kq-menu");
return (0,external_vue_namespaceObject.openBlock)(), (0,external_vue_namespaceObject.createElementBlock)("div", {
class: (0,external_vue_namespaceObject.normalizeClass)(["layer-tree", __props.showShadow ? 'shadow' : null]),
ref_key: "boxRef",
ref: boxRef
}, [(0,external_vue_namespaceObject.createCommentVNode)(" S 搜索框 "), props.showFilterBox ? ((0,external_vue_namespaceObject.openBlock)(), (0,external_vue_namespaceObject.createBlock)(_component_kq_input, {
key: 0,
modelValue: (0,external_vue_namespaceObject.unref)(inputValue),
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_vue_namespaceObject.isRef)(inputValue) ? inputValue.value = $event : inputValue = $event),
class: "w-50 m-2 searchInput-class",
placeholder: "请输入过滤内容",
onClear: searchClick
}, {
append: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_button, {
icon: (0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Search),
onClick: searchClick
}, null, 8
/* PROPS */
, ["icon"])]),
_: 1
/* STABLE */
}, 8
/* PROPS */
, ["modelValue"])) : (0,external_vue_namespaceObject.createCommentVNode)("v-if", true), (0,external_vue_namespaceObject.createCommentVNode)(" E 搜索框 "), (0,external_vue_namespaceObject.createCommentVNode)(" S 图层树 "), (0,external_vue_namespaceObject.createVNode)(_component_kq_scrollbar, {
class: "scrollbar-class"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_tree, (0,external_vue_namespaceObject.mergeProps)({
data: (0,external_vue_namespaceObject.unref)(dataList).data.value,
ref_key: "myTree",
ref: myTree,
"expand-on-click-node": true,
onNodeContextmenu: rightClick,
onCheck: handleCheck,
"node-key": "guid",
"filter-node-method": filterNode,
"show-checkbox": "",
"render-content": renderContent,
"default-expanded-keys": (0,external_vue_namespaceObject.unref)(defaultExpandedKeys).data.value
}, props.treeAttributes), null, 16
/* FULL_PROPS */
, ["data", "default-expanded-keys"])]),
_: 1
/* STABLE */
}), (0,external_vue_namespaceObject.createCommentVNode)(" E 图层树 "), (0,external_vue_namespaceObject.createCommentVNode)(" S 菜单 "), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createElementVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)(_component_kq_menu, {
ref_key: "dropDownMenu",
ref: dropDownMenu,
class: "tree-menu",
onSelect: handleSelectMenu
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "1"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.FullScreen))]),
_: 1
/* STABLE */
}), _hoisted_1]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "2"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.MagicStick))]),
_: 1
/* STABLE */
}), _hoisted_2]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_divider, null, null, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "3"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Download), {
class: "layer-top"
})]),
_: 1
/* STABLE */
}), _hoisted_3]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "4"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Download))]),
_: 1
/* STABLE */
}), _hoisted_4]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.createVNode)(_component_kq_divider), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "5"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Top))]),
_: 1
/* STABLE */
}), _hoisted_5]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "6"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Bottom))]),
_: 1
/* STABLE */
}), _hoisted_6]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_divider, null, null, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "7"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.RefreshLeft))]),
_: 1
/* STABLE */
}), _hoisted_7]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "8"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Hide))]),
_: 1
/* STABLE */
}), _hoisted_8]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_divider, null, null, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showOtherNode)]]), (0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)(_component_kq_menu_item, {
index: "9"
}, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)(_component_kq_icon, null, {
default: (0,external_vue_namespaceObject.withCtx)(() => [(0,external_vue_namespaceObject.createVNode)((0,external_vue_namespaceObject.unref)(icons_vue_namespaceObject.Delete))]),
_: 1
/* STABLE */
}), _hoisted_9]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(showDelNode)]])]),
_: 1
/* STABLE */
}, 512
/* NEED_PATCH */
)], 512
/* NEED_PATCH */
), [[external_vue_namespaceObject.vShow, (0,external_vue_namespaceObject.unref)(menuDropdown)]]), (0,external_vue_namespaceObject.createCommentVNode)(" E 菜单 ")], 2
/* CLASS */
);
};
}
}));
;// CONCATENATED MODULE: ./src/common/layertree/LayerTree.vue?vue&type=script&setup=true&lang=js
;// CONCATENATED MODULE: ./src/common/layertree/LayerTree.vue
const __exports__ = LayerTreevue_type_script_setup_true_lang_js;
/* harmony default export */ var LayerTree = (__exports__);
// EXTERNAL MODULE: external "@zpc_npm/vue-iclient-common/init.js"
var init_js_ = __webpack_require__(8945);
var init_js_default = /*#__PURE__*/__webpack_require__.n(init_js_);
;// CONCATENATED MODULE: ./src/common/layertree/index.js
LayerTree.install = (Vue, opts) => {
init_js_default()(Vue, opts);
Vue.component(LayerTree.name, LayerTree);
};
}();
module.exports = __webpack_exports__;
/******/ })()
;