this.messenger.hide();
}
- if ($("geom_data").value) {
- this.viewLayer.addFeatures([this.wkt.read($("geom_data").value)]);
+ if (typeof gInitialGeom !== "undefined" && typeof gInitialGeom.data !== "undefined") {
+ this.viewLayer.addFeatures([this.wkt.read(gInitialGeom.data)]);
extent = this.viewLayer.getDataExtent();
// XXX: ie has not guessed height of map main div yet during map
// initialisation. Now, it will read it correctly.
return;
}
+ var self = this;
this.editControl = new OpenLayers.Control.DrawFeature(new OpenLayers.Layer.Vector(), OpenLayers.Handler.SyjModifiablePath, {
callbacks: {
modify: function(f, line) {
+ if (!self.unsavedRoute) {
+ self.unsavedRoute = {};
+ }
if (this.handler.realPoints.length < 2) {
SyjSaveUI.show().disable();
} else {
SyjEditUI.show();
this.messenger.hide();
- if (typeof this.unsavedRoute.features !== "undefined") {
+ if (this.unsavedRoute && typeof this.unsavedRoute.features !== "undefined") {
this.viewLayer.addFeatures(this.unsavedRoute.features);
}
- if (typeof this.unsavedRoute.title !== "undefined") {
+ if (this.unsavedRoute && typeof this.unsavedRoute.title !== "undefined") {
$("geom_title").value = this.unsavedRoute.title;
} else {
$("geom_title").value = "";
},
saveSuccess: function(transport) {
+ this.unsavedRoute = null;
+
if (transport.responseJSON && (typeof transport.responseJSON.redirect === "string")) {
location = transport.responseJSON.redirect;
return;
this.messenger.setMessage(SyjStrings.saveSuccess, "success");
SyjSaveUI.hide();
SyjEditUI.show();
- this.unsavedRoute = null;
document.title = $('geom_title').value;
},
SYJNewpwd.init();
LoginMgr.updateUI();
});
+window.onbeforeunload = function() {
+ if (SYJView.unsavedRoute) {
+ return SyjStrings.unsavedConfirmExit;
+ } else {
+ return undefined;
+ }
+}