Closed Rastopapola closed 2 weeks ago
Should be fixed in latest commit.
The second parameter to the Client constructor now accepts the URL to a Config JSON again.
Example:
// Create Client With Config URL
var client = new netgis.Client( "container", "../data/test_config_lanis.json" );
Bestätige: Pfad wird wieder korrekt ausgelesen! :)
Just had now time to get back to this project. After the latest fetch of the code, the config.json is not read properly (again?).
I was able to trace this down as far as:
Uncaught TypeError: this.config.tools is undefined
--> seems there is no tools
attribute?this.config
--> seems to be just the path to the config file /static/config.json
this.init(this.container, parsed_json)
where parsed_json still is what one might expect it to beClient.init
calls Client.initConfig
using the properly parsed jsoninitConfig
seems to process the parsed json but does not set it as this.config
for further global referencing?So, what we have there is currently
netgis.Client.prototype.initConfig = function (a) {
a.wmc && a.wmc.url && this.requestContextWMC(a.wmc.url, a.wmc.id);
a.ows && a.ows.url && this.requestContextOWS(a.ows.url);
};
But should there not be something like
...
this.config = a;
...
in there? Otherwise all tries to process this.config
later will fail.
Status quo
Die demo enthält eine
var config
, die gleich im JS die notwendigen Konfigurationen definiert und entsprechend richtig eingelesen wird.Bug
In der alten Version war es möglich die Konfiguration in eine
config.json
auszulagern, deren Pfad an den Constructor übergeben werden konnte:Dieses Feature scheint bei den Refactorarbeiten hops gegangen zu sein. Ich vermute es handelte sich in der alten Version um folgenden Code (unminified; Z.259-281):
Hier wurde meinem Verständnis nach ein angegebener Pfad noch evaluiert, der Inhalt ausgelesen und in die interne
this.config
Variable übernommen.Lasse ich mir aber in der neuen Version
this.config
ausgeben, sehe ich lediglich den Pfad:Hier ein Screenshot aus der alten Version: