2
* @fileOverview Contains the class definition for a HelioviewerEventLayerManager class.
3
* @author <a href="mailto:jeff.stys@nasa.gov">Jeff Stys</a>
4
* @see EventLayerManager, EventManager
5
* @requires EventLayerManager
8
/*jslint browser: true, white: true, onevar: true, undef: true, nomen: false, eqeqeq: true, plusplus: true,
9
bitwise: true, regexp: true, strict: true, newcap: true, immed: true, maxlen: 120, sub: true */
10
/*global Helioviewer, HelioviewerEventLayer, EventLayerManager, parseLayerString, $ */
12
var HelioviewerEventLayerManager = EventLayerManager.extend(
13
/** @lends HelioviewerEventLayerManager.prototype */
17
* @description Creates a new TileLayerManager instance
19
init: function (requestDate, defaultEventTypes, viewportScale, rsun,
20
savedEventLayers, urlEventLayers) {
22
this._super(requestDate, defaultEventTypes, viewportScale, rsun,
23
savedEventLayers, urlEventLayers);
25
this._loadStartingLayers(defaultEventTypes);
29
* @description Adds a layer that is not already displayed
31
addNewLayer: function () {
33
// Add the event layer
35
new HelioviewerEventLayer(this._eventLayers.length, this._requestDate, this.viewportScale,
39
// Don't save the event layer here. We're just adding the accordion stuff,
40
// not checking checkboxes. Differs from how tile layers are managed.
45
* Loads initial layers either from URL parameters, saved user settings, or the defaults.
47
_loadStartingLayers: function (layers) {
48
var eventLayer, basicParams, self = this;
50
// Add the event layer
52
new HelioviewerEventLayer(this._eventLayers.length, this._requestDate, this.viewportScale,
53
'HEK', true, Helioviewer.userSettings.get("state.eventLabels"))
58
* @description Generate a string of URIs for use by JHelioviewer
60
toURIString: function () {
63
$.each(this._eventLayers, function () {
64
str += this.uri + ",";
67
// Remove trailing comma
68
str = str.slice(0, -1);
b'\\ No newline at end of file'