this.map.addLayers([baseLayer, this.viewLayer]);
if ($("edit-btn")) {
- $("edit-btn").observe('click', (function() {
+ $("edit-btn").observe('click', function() {
$("geom_submit").value = SyjStrings.editAction;
this.messenger.hide();
this.editMode();
this.mode = 'edit';
- }).bind(this));
+ }.bind(this));
}
if ($("create-btn")) {
- $("create-btn").observe('click', (function() {
+ $("create-btn").observe('click', function() {
$("geom_submit").value = SyjStrings.createAction;
this.messenger.hide();
this.editMode();
this.mode = 'create';
- }).bind(this));
+ }.bind(this));
}
if ($("clone-btn")) {
- $("clone-btn").observe('click', (function() {
+ $("clone-btn").observe('click', function() {
$("geom_submit").value = SyjStrings.cloneAction;
$("geom_title").value = "";
this.messenger.hide();
this.editMode();
this.mode = 'create';
SyjSaveUI.enableSubmit();
- }).bind(this));
+ }.bind(this));
}
$("geomform").ajaxize({
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.
this.editControl = new OpenLayers.Control.DrawFeature(new OpenLayers.Layer.Vector(), OpenLayers.Handler.SyjModifiablePath, {
callbacks: {
modify: function(f, line) {
+ if (!SYJView.unsavedRoute) {
+ SYJView.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;
+ }
+};