From 131223f18a6f3a6f6d73b7d377e60b4c78b7fc58 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 22 五月 2023 09:26:22 +0800 Subject: [PATCH] 1 --- src/views/Tools/LayerTree.vue | 476 ++++++++++++++++------------------------------------------- 1 files changed, 130 insertions(+), 346 deletions(-) diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index 5730204..06befee 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -1,178 +1,101 @@ <template> <div class="lalala tree-container"> - <el-form ref="form"> <el-form-item> - - <el-select - v-model="$store.state.pigCode" - clearable - filterable - style="width :100%" - @change="setproChange" - placeholder="璇烽�夋嫨椤圭洰" - > - <el-option - v-for="item in optionts" - :key="item.code" - :label="item.name" - :value="item.code" - > + <el-select v-model="$store.state.pigCode" + clearable + filterable + style="width :100%" + @change="setproChange" + placeholder="璇烽�夋嫨椤圭洰"> + <el-option v-for="item in optionts" + :key="item.code" + :label="item.name" + :value="item.code"> </el-option> </el-select> </el-form-item> <el-form-item> - <el-input - placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" - v-model="filterText" - class="search" - > + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" + v-model="filterText" + class="search"> </el-input> </el-form-item> </el-form> - <el-tree - ref="tree" - :data="treeData" - node-key="id" - show-checkbox - :props="defaultProps" - @node-click="handleLeftclick" - @node-contextmenu="rightClick" - @check="handleCheckChange" - :default-checked-keys="handleTreeCheck" - :expand-on-click-node="false" - :filter-node-method="filterNode" - draggable - > - <span - class="slot-t-node" - slot-scope="{ node, data }" - > + <el-tree ref="tree" + :data="treeData" + node-key="id" + show-checkbox + :props="defaultProps" + @node-click="handleLeftclick" + @node-contextmenu="rightClick" + @check="handleCheckChange" + :default-checked-keys="handleTreeCheck" + :expand-on-click-node="false" + :filter-node-method="filterNode" + draggable> + <span class="slot-t-node" + slot-scope="{ node, data }"> <span v-show="!data.isEdit"> <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{ node.label }}</span> </span> <span v-show="data.isEdit"> - <el-input - class="slot-t-input" - size="mini" - autofocus - v-model="data.label" - :ref="'slotTreeInput' + data.id" - @blur.stop="NodeBlur(node, data)" - @keydown.native.enter="NodeBlur(node, data)" - ></el-input> + <el-input class="slot-t-input" + size="mini" + autofocus + v-model="data.label" + :ref="'slotTreeInput' + data.id" + @blur.stop="NodeBlur(node, data)" + @keydown.native.enter="NodeBlur(node, data)"></el-input> </span> </span> </el-tree> - - <el-card - class="box-card" - ref="card" - :style="{ ...rightClickMenuStyle }" - v-show="menuVisible" - > - <!-- <div - @click="addSameLevelNode()" - v-show="firstLevel" - > - <i class="el-icon-plus"></i> 娣诲姞鍥惧眰缁� - </div> --> - <!-- <div - class="add" - @click="addChildNode()" - > - <i class="el-icon-plus"></i> 娣诲姞鍥惧眰 - </div> --> - <!-- <div - class="delete" - @click="deleteNode()" - > - <i class="el-icon-delete"></i> 鍒犻櫎 - </div> --> - <!-- <div - class="edit" - @click="editNode()" - > - <i class="el-icon-edit"></i> 閲嶅懡鍚� - </div> --> - <div - class="edit" - @click="showLayerAttribute()" - v-if="!showlocal && !shwoHistogram" - v-show="!firstLevel" - > + <el-card class="box-card" + ref="card" + :style="{ ...rightClickMenuStyle }" + v-show="menuVisible"> + <div class="edit" + @click="showLayerAttribute()" + v-if="!showlocal && !shwoHistogram" + v-show="!firstLevel"> <i class="el-icon-tickets"></i> 灞炴�� </div> - <div - class="edit" - @click="positioning()" - v-if="showlocal" - > + <div class="edit" + @click="positioning()" + v-if="showlocal"> <i class="el-icon-tickets"></i> 瀹氫綅 </div> - <div - class="edit" - @click="pellucidity()" - v-if="showlocal" - > + <div class="edit" + @click="pellucidity()" + v-if="showlocal"> <i class="el-icon-tickets"></i> 閫忔槑搴� </div> - <div - class="edit" - @click="histogram()" - v-show="shwoHistogram" - > + <div class="edit" + @click="histogram()" + v-show="shwoHistogram"> <i class="el-icon-tickets"></i> 閽诲瓟鏌辩姸鍥� </div> - <!-- <div - class="edit" - v-show="showModelAttach" - @click="modelAttach()" - > - <i class="el-icon-tickets"></i> 妯″瀷灞炴�� - </div> --> - <!-- <div - class="edit" - @click="menuMoveF( 'up')" - > - <i class="el-icon-top"></i> 涓婄Щ - </div> - <div - class="edit" - @click="menuMoveF( 'down')" - > - <i class="el-icon-bottom"></i> 涓嬬Щ - </div> --> </el-card> - <el-dialog - :title="appendNodetitle" - :visible.sync="dialogVisible" - width="30%" - top="20vh" - :modal="false" - :before-close="handleClose" - > - <el-form - ref="form" - :model="addFormServer" - label-width="100px" - > + <el-dialog :title="appendNodetitle" + :visible.sync="dialogVisible" + width="30%" + top="20vh" + :modal="false" + :before-close="handleClose"> + <el-form ref="form" + :model="addFormServer" + label-width="100px"> <el-form-item label="鏈嶅姟绫诲瀷"> - <!-- <el-input v-model="addFormServer.type"></el-input> --> - <el-select - style="width: 100%" - :popper-append-to-body="false" - v-model="addFormServer.serveType" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-select style="width: 100%" + :popper-append-to-body="false" + v-model="addFormServer.serveType" + placeholder="璇烽�夋嫨"> + <el-option v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> </el-option> </el-select> </el-form-item> @@ -190,17 +113,12 @@ <el-slider v-model="addFormServer.opacity"></el-slider> </el-form-item> </el-form> - <span - slot="footer" - class="dialog-footer" - > - <el-button - type="primary" - @click="setAddServer" - >纭� 瀹�</el-button> + <span slot="footer" + class="dialog-footer"> + <el-button type="primary" + @click="setAddServer">纭� 瀹�</el-button> </span> </el-dialog> - </div> </template> @@ -223,7 +141,7 @@ export default { name: "tree", components: { queryinfo }, - data() { + data () { return { shwoHistogram: false, showlocal: false, @@ -273,23 +191,20 @@ }; }, methods: { - //杞瓟鏌辩姸鍥� - async histogram() { + async histogram () { this.menuVisible = false var layer = this.currentData.enName.replaceAll("_", ""); this.$store.state.mapSpaceQueryLayer = layer; this.$store.state.mapPopBoxFlag = "2"; this.$store.state.showPopBoxFlag = true; }, - modelAttach() { + modelAttach () { this.menuVisible = false; this.$store.state.attachinfo = this.currentData; this.$store.state.attachModel = true; - - }, - NodeBlur(Node, data) { + NodeBlur (Node, data) { if (data.label.length === 0) { this.$message.error("鑿滃崟鍚嶄笉鍙负绌猴紒"); return false; @@ -302,20 +217,18 @@ }); } }, - - - allowDrop(draggingNode, dropNode, type) { + allowDrop (draggingNode, dropNode, type) { if (dropNode.data.label === "浜岀骇 3-1") { return type !== "inner"; } else { return true; } }, - allowDrag(draggingNode) { + allowDrag (draggingNode) { return draggingNode.data.label.indexOf("涓夌骇 3-2-2") === -1; }, // 榧犳爣鍙冲嚮浜嬩欢 - rightClick(event, object, Node, element) { + rightClick (event, object, Node, element) { if (object.type == 1) { return } @@ -350,7 +263,7 @@ this.$refs.card.$el.style.top = event.pageY + "px"; }, // 榧犳爣宸﹀嚮浜嬩欢 - handleLeftclick(data, node) { + handleLeftclick (data, node) { this.foo(); if (node.checked == true) { for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { @@ -363,13 +276,13 @@ } }, // 鍙栨秷榧犳爣鐩戝惉浜嬩欢 鑿滃崟鏍� - foo() { + foo () { this.menuVisible = false; // 瑕佸強鏃跺叧鎺夌洃鍚紝涓嶅叧鎺夌殑鏄竴涓潙锛屼笉淇′綘璇曡瘯锛岃櫧鐒跺墠鍙版樉绀虹殑鏃跺�欐病鏈夊暐姣涚梾锛屽姞涓�涓猘lert浣犲氨鐭ラ亾浜� document.removeEventListener("click", this.foo); }, // 澧炲姞鍚岀骇鑺傜偣浜嬩欢 - addSameLevelNode() { + addSameLevelNode () { this.menuVisible = false this.foo(); if (this.currentNode.level == 2) { @@ -382,7 +295,7 @@ } }, // 澧炲姞瀛愮骇鑺傜偣浜嬩欢 - addChildNode() { + addChildNode () { this.foo(); this.menuVisible = false // if (this.currentNode.level >= 2) { @@ -392,7 +305,7 @@ this.appendNodetitle = this.currentData.label; this.dialogVisible = true; }, - handleClose() { + handleClose () { this.dialogVisible = false; this.addFormServer = { opacity: 100, @@ -400,7 +313,7 @@ type: 2, }; }, - setAddServer() { + setAddServer () { var val = this.currentNode; if (this.currentNode.level == 2) { val = this.currentNode.parent; @@ -411,15 +324,13 @@ this.handleClose(); }, // 鍒犻櫎鑺傜偣 - deleteNode() { + deleteNode () { this.foo(); this.menuVisible = false var label = this.currentNode.data.cnName; if (this.currentNode.data.serveType == "WMS") { var value = this.$refs.tree.getCheckedNodes(); - this.$bus.$emit("showMenuLayer", value); - } else if (this.currentNode.data.serveType == "WFS") { for (var i in window.Viewer.dataSources._dataSources) { if (window.Viewer.dataSources._dataSources[i].name == label) { @@ -452,11 +363,10 @@ window.map.removeLayer(layerOl); //鏄剧ず鍥惧眰 } } - this.$refs.tree.remove(this.currentNode); }, //灞炴�ф樉绀� - showLayerAttribute(data) { + showLayerAttribute (data) { this.foo(); this.menuVisible = false this.currentData = data ? data : this.currentData; @@ -464,11 +374,9 @@ this.$store.state.mapSpaceQueryLayer = layer; this.$store.state.showPopBoxFlag = true; this.$store.state.mapPopBoxFlag = "2"; - - }, //妯″瀷璁剧疆閫忔槑搴� - pellucidity() { + pellucidity () { this.foo(); this.menuVisible = false var tile = this.currentData @@ -480,11 +388,8 @@ } } }, - - - //妯″瀷瀹氫綅 - positioning() { + positioning () { this.menuVisible = false for (var i in Viewer.scene.primitives._primitives) { if ( @@ -495,7 +400,7 @@ } }, // 缂栬緫鑺傜偣 - editNode(data) { + editNode (data) { this.foo(); this.menuVisible = false this.currentData = data ? data : this.currentData; @@ -507,16 +412,12 @@ this.$refs["slotTreeInput" + this.currentData.id].focus(); }); }, - - menuMoveF(type) { + menuMoveF (type) { // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤 var node = this.currentNode; var data = this.currentData; let copyNode = this.currentNode; - // copyNode.previousSibling = {...node. } - // copyNode.nextSibling = {...node.nextSibling} - // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode)) let nodeData = {}; if (type === "up") { // 涓婄Щ @@ -546,26 +447,25 @@ } } }, - - handleDragStart(node, ev) { + handleDragStart (node, ev) { console.log("drag start", node); }, - handleDragEnter(draggingNode, dropNode, ev) { + handleDragEnter (draggingNode, dropNode, ev) { console.log("tree drag enter: ", dropNode.label); }, - handleDragLeave(draggingNode, dropNode, ev) { + handleDragLeave (draggingNode, dropNode, ev) { console.log("tree drag leave: ", dropNode.label); }, - handleDragOver(draggingNode, dropNode, ev) { + handleDragOver (draggingNode, dropNode, ev) { console.log("tree drag over: ", dropNode.label); }, - handleDragEnd(draggingNode, dropNode, dropType, ev) { + handleDragEnd (draggingNode, dropNode, dropType, ev) { console.log("tree drag end: ", dropNode && dropNode.label, dropType); }, - handleDrop(draggingNode, dropNode, dropType, ev) { + handleDrop (draggingNode, dropNode, dropType, ev) { console.log("tree drop: ", dropNode.label, dropType); }, - handleCheckChange(data, checked, indeterminate) { + handleCheckChange (data, checked, indeterminate) { if (data.type == 1) { this.childOption = []; this.getchilds(data); @@ -612,78 +512,12 @@ this.setChangeMpt([data], checked); } } - // if (data.type != 2) return; - - - - - // if (data.serveType == "WFS") { - // if (window.Viewer.dataSources._dataSources.length == 0) { - // this.setAddLayers(data); - // } else { - - // } - // } else if (data.serveType == "Tileset") { - - // if (Viewer.scene.primitives._primitives.length == 0) { - // this.setAddLayers(data); - // } else { - // var std = []; - // for (var i in Viewer.scene.primitives._primitives) { - // Viewer.scene.primitives._primitives[i].show = checked; - // if (Viewer.scene.primitives._primitives[i].id == data.cnName) { - // std.push(data.id); - // Viewer.flyTo(Viewer.scene.primitives._primitives[i]); - // } - // } - // } - // if (std.length == 0 && checked == true) { - // this.setAddLayers(data); - // } else { - // window.map.getLayers().getArray().forEach(item => { - // if (item.get("name") == data.cnName) { - // item.setVisible(checked); - - // } - // }); - // } - // } else if (data.serveType == "TMS") { - - // if (data.pubid) { - - // } else { - // var res; - // if (data.url.indexOf("{host}") != -1) { - // res = data.url.replace("{host}", iisHost); - // } else { - // res = data.url - // } - // var url = res.split(';') - - // window.sgworld.Creator.createImageryProvider('mpt褰卞儚', "wms", { - // url: url[0], - // layers: url[1] - // }, "0", undefined, true, ""); - // } - - // } - - - - - // var layers_ol = window.map.getAllLayers(); - // for (var i in layers_ol) { - // var layerOl = layers_ol[i]; - // if (layerOl.values_.name == data.label) { - // layerOl.setVisible(checked); //鏄剧ず鍥惧眰 - // } - // } }, - setChangeWMS(result, checked) { + setChangeWMS (result, checked) { var value = this.$refs.tree.getCheckedNodes(); this.$bus.$emit("showMenuLayer", value); }, - setChangeWFS(result, checked) { + setChangeWFS (result, checked) { var value = this.$refs.tree.getCheckedNodes(); var std = []; for (var i in value) { @@ -710,7 +544,7 @@ } } }, - setChangeTileset(result, checked) { + setChangeTileset (result, checked) { var value = this.$refs.tree.getCheckedNodes(); var std = []; for (var i in value) { @@ -734,22 +568,8 @@ } } } - - - - // if (checked.checkedKeys) { - // for (var i in result) { - // - // } - // } else { - - // for (var j in result) { - // console.log(result[j]) - // // - // } - // } }, - setChangeMpt(result, checked) { + setChangeMpt (result, checked) { var value = this.$refs.tree.getCheckedNodes(); var std = []; for (var i in value) { @@ -770,7 +590,7 @@ } } }, - setChangeTMS(result, checked) { + setChangeTMS (result, checked) { var value = this.$refs.tree.getCheckedNodes(); var std = []; for (var i in value) { @@ -793,7 +613,7 @@ } } }, - getchilds(source) { + getchilds (source) { if (source.children) { var child = source.children for (var i in child) { @@ -807,9 +627,7 @@ this.childOption.push(source) } }, - - async setAddLayers(res) { - + async setAddLayers (res) { if (res.serveType == "WMS") { var resource = geoServerURl; if (res.resource != null && res.resource != undefined) { @@ -877,7 +695,6 @@ console.log("error"); }, }); - var vectorLayer = new VectorLayer({ name: res.cnName, source: new VectorSource({ @@ -893,7 +710,6 @@ } else { url = modelUrl + "/" + res.url } - var tileset = Viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ name: res.cnName, @@ -977,37 +793,29 @@ this.setChangeWMS(); }, 500); } - }, - async getTilesetArgs(tileset, res) { + async getTilesetArgs (tileset, res) { if (res.pubid > 0) { const data = await comprehensive_selectPubById({ id: res.pubid }) if (data.code != 200) { - + // } else { if (res.serveType != '3DML') { this.reload(tileset, data.result.json) } else { this.tileSet(tileset, parseFloat(res.elev)) } - } } else { this.tileSet(tileset, parseFloat(res.elev)) - } - - - - }, - async setQueryPubid(res) { + async setQueryPubid (res) { const data = await comprehensive_selectPubById({ id: res.pubid }) if (data.code != 200) { - + // } else { var url = data.result.url; - if (res.url.indexOf("{host}") != -1) { url = res.url.replace("{host}", iisHost); } @@ -1020,7 +828,6 @@ url: url, minimumLevel: min, maximumLevel: max, - }) ); } else { @@ -1033,7 +840,6 @@ } layer.name = res.cnName; - if (data.result.geom) { var wkt = this.$wkt.parse(data.result.geom); Viewer.camera.flyTo({ @@ -1043,7 +849,7 @@ this.setChangeWMS(); } }, - reload(tileset, res) { + reload (tileset, res) { var vm = JSON.parse(res) var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height); var converter = Cesium.Transforms.eastNorthUpToFixedFrame; @@ -1052,7 +858,7 @@ tileset._root.transform = matrix; // Viewer.flyTo(tileset); }, - tileSet(tileset, height) { + tileSet (tileset, height) { //3dtile妯″瀷鐨勮竟鐣岀悆浣� var boundingSphere = tileset.boundingSphere; //杩崱灏旂┖闂寸洿瑙掑潗鏍�=>鍦扮悊鍧愭爣锛堝姬搴﹀埗锛� @@ -1066,7 +872,7 @@ tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); // Viewer.flyTo(tileset); }, - setTreeData(source) { + setTreeData (source) { let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 @@ -1077,7 +883,7 @@ return father.pid == 0; // 杩斿洖涓�绾ц彍鍗� }); }, - async layersStart() { + async layersStart () { const data = await perms_selectLayers(); if (data.code != 200) { return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); @@ -1101,22 +907,13 @@ return str; } }); - //瀛樺偍閫変腑鍥惧眰 sessionStorage.setItem("checkedLayers", JSON.stringify(checkedLayers)); var res = this.setTreeData(val); - - // for (var i in res) { - // res[i].children = res[i].children.filter((val) => { - // if (val.children != null) { - // return val; - // } - // }); - // } this.treeData = res; this.$refs.tree.setCheckedKeys(checkKey); }, - async treelayersStart() { + async treelayersStart () { const data = await perms_selectLayers(); if (data.code != 200) { return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); @@ -1176,16 +973,14 @@ this.$refs.tree.setCheckedKeys(std); }, // 鏌ヨ - filterNode(value, data) { + filterNode (value, data) { if (!value) return true; return data.cnName.indexOf(value) !== -1; }, - - async setproChange(res) { + async setproChange (res) { if (res) { this.setCheeckedLayer = this.$refs.tree.getCheckedKeys(); - this.$store.state.pigCode = res; var st_code = this.optionts.filter(rs => { if (rs.code == res) { @@ -1219,18 +1014,13 @@ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[0].toFixed(6), wkt.coordinates[1].toFixed(6), 5000), }); } - } this.cannelTerrainLayer(); this.setTerrainMptLayer(); //娓呯┖鍥惧眰鏍戦�変腑鐘舵�� this.$refs.tree.setCheckedKeys([]); - - if (val.length > 0) { - if (val[0].type == 1 && val[0].isProject == 1) {//椤圭洰鍒嗙被 - var std_check = []; for (var i in val) { var std_val = this.getNewTree([this.$refs.tree.getNode(val[i].id).data], []) @@ -1238,8 +1028,6 @@ std_check.push(std_val[j]) } } - - var value = this.$store.state.isProjectLayer; for (var i in value) { @@ -1263,7 +1051,7 @@ this.setProjectLayer(std); } }, - removeAllLayer() { + removeAllLayer () { for (var j in Viewer.scene.primitives._primitives) { Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j]) } @@ -1286,7 +1074,7 @@ } this.mptLayer = []; }, - setProjectLayer(res) { + setProjectLayer (res) { var layerid = []; for (var i in res) { layerid.push(res[i].id) @@ -1294,7 +1082,6 @@ this.$refs.tree.setCheckedKeys(layerid); // var value = this.$refs.tree.getCheckedNodes(); // this.$bus.$emit("showMenuLayer", value); - var listWMS = []; var listWFS = []; var listTileset = []; @@ -1319,7 +1106,6 @@ case 'TMS': listTMS.push(res[i]) break; - } } } @@ -1330,7 +1116,7 @@ this.setChangeTMS(listTMS, true); this.setChangeMpt(listMpt, true); }, - getNewTree(obj, result) { + getNewTree (obj, result) { for (const i in obj) { console.log(obj[i].cnName) result.push(obj[i]) @@ -1340,7 +1126,7 @@ } return result }, - cannelTerrainLayer() { + cannelTerrainLayer () { //娓呯┖鍦板舰 if (window.terrainMptLayer) { window.terrainMptLayer.deleteObject(); @@ -1351,7 +1137,7 @@ window.terrainDemLayer = null; } }, - setTerrainMptLayer() { + setTerrainMptLayer () { // //榛樿鍦板舰MPT // var option = { // url: window.sceneConfig.SGUrl, @@ -1365,7 +1151,7 @@ }); Viewer.terrainProvider = window.terrainDemLayer }, - setChangeProLayer() { + setChangeProLayer () { var value = this.$store.state.isProjectLayer; if (value.length != 0) { @@ -1376,11 +1162,8 @@ this.$refs.tree.setCheckedKeys(std); this.$bus.$emit("showMenuLayer", value); } - - }, - - async getMenuProject() { + async getMenuProject () { const data = await project_selectDirAll(); if (data.code != 200) { return @@ -1389,11 +1172,11 @@ }, }, watch: { - filterText(val) { + filterText (val) { this.$refs.tree.filter(val); }, }, - mounted() { + mounted () { this.getMenuProject() this.$bus.$on("treeDataCopy", (res) => { this.$store.state.treeData = this.treeData; @@ -1438,7 +1221,6 @@ .tree-container /deep/ .el-tree-node { position: relative; padding-left: 10px; - // text-indent: 16px; } .tree-container /deep/ .el-tree-node__children { @@ -1562,9 +1344,11 @@ position: absolute; right: auto; } + /deep/.el-table__placeholder { padding-left: 8px; } + /deep/.el-card__body { padding: 10px !important; > div { @@ -1575,15 +1359,15 @@ } } } + /deep/ .el-form .el-form-item { padding-right: 0px !important; } + /deep/ .el-form-item { margin-bottom: 10px !important; } -/*.lalala {*/ -/*position: relative;*/ -/*}*/ + .text { font-size: 14px; } -- Gitblit v1.9.3