Refactor before integrate with new comparison code
This commit is contained in:
parent
5158aaa913
commit
b4263c3176
5 changed files with 228 additions and 55 deletions
|
@ -1,39 +1,61 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
var ScimapWidget = Class.extend({
|
||||
init: function(map, sliderControl) {
|
||||
init: function(map) {
|
||||
var me = this;
|
||||
me.activeManager = null;
|
||||
me.isUnloaded = true;
|
||||
me.map = map;
|
||||
|
||||
me.sliderControl = sliderControl;
|
||||
me.labelsMarkerManager = new DisciplineLabelsMarkerManager(map);
|
||||
me.disciplineLabelsControl = new CheckBoxPanel({
|
||||
map: map,
|
||||
checked: true,
|
||||
text: "Show discipline labels",
|
||||
click: function() {
|
||||
if($(this).attr('checked')) {
|
||||
me.labelsMarkerManager.showMarkers();
|
||||
} else {
|
||||
me.labelsMarkerManager.hideMarkers();
|
||||
}
|
||||
}
|
||||
});
|
||||
me.initView();
|
||||
},
|
||||
initView: function(){
|
||||
var me = this;
|
||||
me.initControlPanels();
|
||||
me.initMarkerManagers();
|
||||
me.show(SCIMAP_TYPE.SUBDISCIPLINE);
|
||||
},
|
||||
initControlPanels: function() {
|
||||
var me = this;
|
||||
|
||||
/* Create slider control panel */
|
||||
if (me.sliderControl == null) {
|
||||
me.sliderControl = new SliderControlPanel({
|
||||
map:me.map,
|
||||
controlPositions: google.maps.ControlPosition.RIGHT_BOTTOM
|
||||
});
|
||||
}
|
||||
|
||||
/* Register event */
|
||||
me.sliderControl.addToMap();
|
||||
me.sliderControl.setChangeEventHandler(function(event, ui) {
|
||||
if (me.keyToMarkerManagers) {
|
||||
me.updateDisplayedMarkers(ui.value);
|
||||
}
|
||||
});
|
||||
|
||||
/* create */
|
||||
if (me.disciplineLabelsControl == null) {
|
||||
me.labelsMarkerManager = new DisciplineLabelsMarkerManager(map);
|
||||
me.disciplineLabelsControl = new CheckBoxPanel({
|
||||
map: map,
|
||||
checked: true,
|
||||
text: "Show discipline labels",
|
||||
click: function() {
|
||||
if($(this).attr('checked')) {
|
||||
me.labelsMarkerManager.showMarkers();
|
||||
} else {
|
||||
me.labelsMarkerManager.hideMarkers();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* Display labels if checked */
|
||||
me.disciplineLabelsControl.addToMap();
|
||||
if (me.disciplineLabelsControl.isChecked()) {
|
||||
me.labelsMarkerManager.showMarkers();
|
||||
}
|
||||
me.initMarkerManagers();
|
||||
me.sliderControl.setChangeEventHandler(function(event, ui) {
|
||||
me.updateDisplayedMarkers(ui.value);
|
||||
});
|
||||
me.show(SCIMAP_TYPE.SUBDISCIPLINE);
|
||||
},
|
||||
initMarkerManagers: function() {
|
||||
if (this.keyToMarkerManagers == null) {
|
||||
|
@ -146,23 +168,29 @@ var ScimapWidget = Class.extend({
|
|||
hide: function(key) {
|
||||
var manager = this.getMarkerManager(key);
|
||||
if (this.activeManager == manager) {
|
||||
this.cleanup();
|
||||
this._cleanupMarkers();
|
||||
}
|
||||
},
|
||||
_switchActiveManager: function(manager) {
|
||||
if (this.activeManager != manager) {
|
||||
this.cleanUp();
|
||||
this._cleanUpMarkers();
|
||||
manager.addMarkersToMap();
|
||||
this.activeManager = manager;
|
||||
this.updateMap();
|
||||
}
|
||||
},
|
||||
cleanUp: function() {
|
||||
_cleanUpMarkers: function() {
|
||||
if (this.activeManager) {
|
||||
this.activeManager.removeMarkersFromMap();
|
||||
INFO_WINDOW.close();
|
||||
}
|
||||
},
|
||||
cleanup: function() {
|
||||
var me = this;
|
||||
me._cleanUpMarkers();
|
||||
me.sliderControl.RemoveFromMap();
|
||||
me.disciplineLabelsControl.RemoveFromMap();
|
||||
},
|
||||
updateDisplayedMarkers: function(numberOfMarkers) {
|
||||
this.activeManager.display(numberOfMarkers);
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue