conterra / mapapps-query-builder

The Query Builder Bundle allows you to create your own Query Tools, that perform custom queries to a store.
https://demos.conterra.de/mapapps/resources/apps/downloads_query_builder/index.html
Apache License 2.0
7 stars 6 forks source link

GEONIS forms cannot be opened from resultcenter #15

Closed schenardi closed 6 years ago

schenardi commented 7 years ago

GEONIS forms do not open from resultcenter.

Suggested fix from our developert (tested with an earlier version 3.2.6 in a project):

QueryController.js, Line 105:

var memorySelectionStore = new MemorySelectionStore({ id: store.id || "querybuilderMemorySelectionStore",

matthiasstein commented 7 years ago

This line has already been changed to: id: "querybuilder_" + store.id,

Have you encountered any problems using the same store id?

schenardi commented 7 years ago

We had these problem in a project and solved it as mentioned above. Right now I'm having another customer which installed the latest version and it's not working.

ewpGISSupport commented 6 years ago

I am the customer mentioned by schenardi. I am using dn_querybuilder 3.2.5 with map.apps 3.9. If I use dn_querybuilder for selection, GEONIS reports cannot be opened from resultcenter. If I use the normal selection tool, GEONIS reports can be opened from resultcenter. If it helps, I can provide you with an example app. We need these reports to work, we have customers waiting for them.

schenardi commented 6 years ago

the id of the store must match the store-id with the GEONIS form definition. If I set id: "querybuilder_" + store.id,

then it works with GEONIS attribute forms.

if it needs the "querybuilder" prefix for any reasons, then the new store must get the geonisAttributeEditor Definition from the original store used by querybuilder. e.g. "geonisAttributeEditor": "oberburg_wat_sde/oberburg_wat_sde/wat_pipe",

matthiasstein commented 6 years ago

Thanks for the information. The prefix is required, as a so-called MemorySelectionStore is filled with the results for each query. This allows the user to delete individual results from the Result Center and should not have the same ID as the original store. I have added the property useMemorySelectionStore , which allows you to influence the use of the MemorySelectionStore. If set to false, the original store will be used and set to DataModel. However, this means that the results can no longer be deleted in the Result Center.

"QueryBuilderProperties": {
        "enableDistinctValues": true,
        "defaultRelationalOperator": "$or",
        "searchEverywhereAsDefault": true,
        "useMemorySelectionStore": false
}