- /**
- StationsViewLoader StackView navigation
- @class StationsViewLoader
- @constructor
- @return {Object} instantiated StationsViewLoader
- **/
- define(['jquery', 'backbone'], function ($, Backbone) {
-
- var StationsViewLoader = Backbone.View.extend({
-
- /**
- Constructor
- @method initialize
- **/
- initialize: function () {
- var self = this;
- self.listenTo(self.options.stackView, BB.EVENTS.SELECTED_STACK_VIEW, function (e) {
- if (e == self) {
- self._render();
- } else {
- self._unrender();
- }
- });
- },
-
- /**
- Create the StationListView singleton instance if it does not exist, if it does
- we notify it that it is in view now
- @method _render
- **/
- _render: function () {
- var self = this;
- if (!self.m_stationsListView) {
- require(['StationsListView'], function (StationsListView) {
- self.m_stationsListView = new StationsListView({
- el: Elements.STATION_LIST_VIEW
- });
- });
- } else {
- self.m_stationsListView.render();
- }
- },
-
- /**
- If the StationListView was already instantiated, let it know it is now out of view
- @method _unrender
- **/
- _unrender: function () {
- var self = this;
- if (self.m_stationsListView)
- self.m_stationsListView.unrender();
- }
- });
-
- return StationsViewLoader;
- });
-
-
-