~jstys-z/helioviewer.org/client5

« back to all changes in this revision

Viewing changes to src/js/Events/EventLayerManager.js

  • Committer: Keith Hughitt
  • Date: 2012-06-04 17:27:01 UTC
  • Revision ID: keith.hughitt@nasa.gov-20120604172701-eo2sj3ylxh4bik4l
Added support for reconnecting to MySQL if the connection fails when querying the db to determine which files are new

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * @fileOverview Contains the class definition for an EventLayerManager class.
3
 
 * @author <a href="mailto:keith.hughitt@nasa.gov">Keith Hughitt</a>
4
 
 * @see EventManager
5
 
 * @requires EventManager
6
 
 */
7
 
/*jslint browser: true, white: true, onevar: true, undef: true, nomen: false, eqeqeq: true, plusplus: true,
8
 
bitwise: true, regexp: true, strict: true, newcap: true, immed: true, maxlen: 120, sub: true */
9
 
/*global Helioviewer, LayerManager, TileLayer, Layer, $ */
10
 
"use strict";
11
 
var EventLayerManager = EventManager.extend(
12
 
/** @lends EventLayerManager.prototype */
13
 
{
14
 
    /**
15
 
     * @constructs
16
 
     * @description Creates a new EventLayerManager instance
17
 
     */
18
 
    init: function (requestDate, defaultEventTypes, viewportScale, rsun,
19
 
                    savedEventLayers, urlEventLayers) {
20
 
 
21
 
        this._eventLayers   = [];
22
 
        this._events        = [];
23
 
        this._eventMarkers  = [];
24
 
        this._treeContainer = $("#eventJSTree");
25
 
        this._eventTypes    = {};
26
 
        this._jsTreeData    = [];
27
 
 
28
 
        if ( typeof date == 'undefined' ) {
29
 
            var date = requestDate;
30
 
        }
31
 
        this._date = date;
32
 
 
33
 
        this._requestDate      = requestDate;
34
 
        this.defaultEventTypes = defaultEventTypes;
35
 
        this.viewportScale     = viewportScale;
36
 
 
37
 
 
38
 
        $(document).bind("event-layer-finished-loading", $.proxy(this.updateMaxDimensions, this))
39
 
                   .bind("save-event-layers",            $.proxy(this.save, this))
40
 
                   .bind("add-new-event-layer",          $.proxy(this.addNewLayer, this))
41
 
                   .bind("remove-event-layer",           $.proxy(this._onLayerRemove, this));
42
 
    },
43
 
 
44
 
    /**
45
 
     * @description Updates the list of loaded event layers stored in
46
 
     *              localStorage and cookies
47
 
     */
48
 
    save: function () {
49
 
        var eventLayers = this.toJSON();
50
 
        Helioviewer.userSettings.set("state.eventLayers", eventLayers);
51
 
    },
52
 
 
53
 
    /**
54
 
     * Remove a specified layer
55
 
     */
56
 
    _onLayerRemove: function (event, id) {
57
 
        this.removeLayer(id);
58
 
    },
59
 
 
60
 
    getRequestDateAsISOString: function () {
61
 
        return this._requestDate.toISOString();
62
 
    }
63
 
});