diff --git a/src/main/js/apps/sample/app.json b/src/main/js/apps/sample/app.json index 0aa3804a..ad5b7030 100644 --- a/src/main/js/apps/sample/app.json +++ b/src/main/js/apps/sample/app.json @@ -962,7 +962,7 @@ "l": 20, "t": 100, "w": 632, - "h": 280 + "h": 300 } } }, diff --git a/src/main/js/bundles/dn_querybuilder/UserQueryBuilderWidget.js b/src/main/js/bundles/dn_querybuilder/UserQueryBuilderWidget.js index 44dc5d5a..6e4cf813 100644 --- a/src/main/js/bundles/dn_querybuilder/UserQueryBuilderWidget.js +++ b/src/main/js/bundles/dn_querybuilder/UserQueryBuilderWidget.js @@ -102,6 +102,7 @@ define([ _init: function () { ct_css.switchHidden(this._geometryButton.domNode, true); ct_css.switchHidden(this._spatialRelationDiv, true); + ct_css.switchHidden(this._useOnlyGeometryDiv, true); this.maxComboBoxHeight = 160; var store = new Memory({ data: this.storeData @@ -135,10 +136,12 @@ define([ if (value === true) { ct_css.switchHidden(this._geometryButton.domNode, false); ct_css.switchHidden(this._spatialRelationDiv, false); + ct_css.switchHidden(this._useOnlyGeometryDiv, false); } else { this.drawGeometryHandler.clearGraphics(); ct_css.switchHidden(this._geometryButton.domNode, true); ct_css.switchHidden(this._spatialRelationDiv, true); + ct_css.switchHidden(this._useOnlyGeometryDiv, true); } }); } else { @@ -269,7 +272,26 @@ define([ }, _onDone: function () { this._setProcessing(true); - var complexQuery = this._getComplexQuery(); + var complexQuery = {}; + var checkBox = this._useOnlyGeometry; + if(!checkBox.checked) { + complexQuery = this._getComplexQuery() + } else { + if (this.querygeometryTool) { + var geometry = this._geometry; + if (geometry) { + var spatialRelation = this._spatialRelationSelect.value; + var operator = "$" + spatialRelation; + complexQuery.geometry = {}; + complexQuery.geometry[operator] = geometry; + } + } else { + var extent = this.mapState.getExtent(); + complexQuery.geometry = { + $contains: extent + }; + } + } this._searchReplacer(complexQuery); @@ -298,6 +320,13 @@ define([ _onChooseGeometry: function () { this.querygeometryTool.set("active", true); }, + _onUseOnlyGeometry: function(value) { + if(value) { + ct_css.switchHidden(this._centerNode.domNode, true); + } else { + ct_css.switchHidden(this._centerNode.domNode, false); + } + }, _getComplexQuery: function () { var match = this._matchSelect.value; var customQuery = {}; diff --git a/src/main/js/bundles/dn_querybuilder/manifest.json b/src/main/js/bundles/dn_querybuilder/manifest.json index 86d49069..a352d9ef 100644 --- a/src/main/js/bundles/dn_querybuilder/manifest.json +++ b/src/main/js/bundles/dn_querybuilder/manifest.json @@ -39,7 +39,7 @@ "title": "${wizard.userWindowTitle}", "marginBox": { "w": 632, - "h": 320 + "h": 300 }, "dockTool": "userQueryBuilderTool", "closable": true, diff --git a/src/main/js/bundles/dn_querybuilder/nls/bundle.js b/src/main/js/bundles/dn_querybuilder/nls/bundle.js index c70e5163..787c770b 100644 --- a/src/main/js/bundles/dn_querybuilder/nls/bundle.js +++ b/src/main/js/bundles/dn_querybuilder/nls/bundle.js @@ -53,6 +53,7 @@ define({ userGeometryEverywhere: "everywhere", userGeometryEnhanced: "geometry", userGeometryExtent: "current extent", + userUseOnlyGeometry: "Purely geometrical query", userChooseGeometry: "Choose geometry", userWindowTitle: "Build your own Query", userSpatialRelation: "Spatial Relation", diff --git a/src/main/js/bundles/dn_querybuilder/nls/de/bundle.js b/src/main/js/bundles/dn_querybuilder/nls/de/bundle.js index bdee3f38..95f7d64f 100644 --- a/src/main/js/bundles/dn_querybuilder/nls/de/bundle.js +++ b/src/main/js/bundles/dn_querybuilder/nls/de/bundle.js @@ -52,6 +52,7 @@ define({ userGeometryEverywhere: "\u00fcberall", userGeometryEnhanced: "Geometrie", userGeometryExtent: "Aktueller Kartenausschnitt", + userUseOnlyGeometry: "Rein geometrische Abfrage", userChooseGeometry: "Geometrie festlegen", userWindowTitle: "Eigene Abfrage erstellen", userSpatialRelation: "R\u00e4umliche Verkn\u00fcpfung", diff --git a/src/main/js/bundles/dn_querybuilder/styles/styles.css b/src/main/js/bundles/dn_querybuilder/styles/styles.css index fa53eef8..25cbd425 100644 --- a/src/main/js/bundles/dn_querybuilder/styles/styles.css +++ b/src/main/js/bundles/dn_querybuilder/styles/styles.css @@ -20,10 +20,11 @@ max-width: 300px; overflow: hidden; text-overflow: ellipsis; + vertical-align: middle; } .userQueryBuilderWizard .inputContainer { - height: 94px; + height: 110px; } .userQueryBuilderWizard .inputContainer .settingsDiv { @@ -59,6 +60,7 @@ max-width: 300px; overflow: hidden; text-overflow: ellipsis; + vertical-align: middle; } .editableQueryBuilderWizard .inputContainer .noWidth { diff --git a/src/main/js/bundles/dn_querybuilder/templates/UserQueryBuilderWidget.html b/src/main/js/bundles/dn_querybuilder/templates/UserQueryBuilderWidget.html index bdd43e1b..b84014fd 100644 --- a/src/main/js/bundles/dn_querybuilder/templates/UserQueryBuilderWidget.html +++ b/src/main/js/bundles/dn_querybuilder/templates/UserQueryBuilderWidget.html @@ -19,6 +19,11 @@ +
+ + +
@@ -30,7 +35,8 @@
-