- ///<reference path="../typings/lite/app_references.d.ts" />
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- //GULP_ABSTRACT_END
- define(['jquery'], function ($) {
- /**
- Station polling time changes
- @event STATIONS_POLL_TIME_CHANGED
- @param {This} caller
- @param {Self} context caller
- @param {Event}
- @static
- @final
- **/
- //BB.EVENTS.STATIONS_POLL_TIME_CHANGED = 'STATIONS_POLL_TIME_CHANGED';
- /**
- Theme changed
- @event THEME_CHANGED
- @param {This} caller
- @param {Self} context caller
- @param {Event}
- @static
- @final
- **/
- //BB.EVENTS.THEME_CHANGED = 'THEME_CHANGED';
- /**
- Application global settings
- @class SettingView
- @constructor
- @return {Object} instantiated SettingView
- **/
- var SettingView = (function (_super) {
- __extends(SettingView, _super);
- function SettingView(options) {
- this.m_options = options;
- _super.call(this);
- }
- SettingView.prototype.initialize = function () {
- var self = this;
- this.id = self.m_options.el;
- this.$el = $(this.id);
- this.el = this.$el.get(0);
- BB.comBroker.setService(BB.SERVICES['SETTINGS_VIEW'], self);
- self.m_simpleStorage = undefined;
- self.listenTo(self.m_options.stackView, BB.EVENTS.SELECTED_STACK_VIEW, function (e) {
- if (e === self && !self.m_rendered) {
- self.m_rendered = true;
- self._render();
- }
- });
- };
- /**
- Draw UI settings (singleton event) including station poll slider and load corresponding modules
- @method _render
- **/
- SettingView.prototype._render = function () {
- var self = this;
- require(['nouislider', 'simplestorage'], function (nouislider, simpleStorage) {
- self.m_simpleStorage = simpleStorage;
- var pollStationsTime = self.m_simpleStorage.get('pollStationsTime');
- if (_.isUndefined(pollStationsTime)) {
- pollStationsTime = 120;
- self.m_simpleStorage.set('pollStationsTime', pollStationsTime);
- }
- BB.CONSTS['THEME'] = self.m_simpleStorage.get('theme');
- if (_.isUndefined(BB.CONSTS['THEME'])) {
- BB.CONSTS['THEME'] = 'light';
- }
- $(Elements.THEME_OPTION).selectpicker('val', BB.CONSTS['THEME']);
- var bannerMode = self.m_simpleStorage.get('bannerMode');
- if (_.isUndefined(bannerMode)) {
- bannerMode = 1;
- self.m_simpleStorage.set('bannerMode', bannerMode);
- }
- // $(Elements.PREVIEW_FULL_OPTION + ' option[value=' + bannerMode + ']').attr('selected', 'selected');
- $(Elements.PREVIEW_FULL_OPTION).selectpicker('val', bannerMode);
- var fqSwitchMode = self.m_simpleStorage.get('fqSwitchMode');
- if (_.isUndefined(fqSwitchMode)) {
- fqSwitchMode = 0;
- self.m_simpleStorage.set('fqSwitchMode', fqSwitchMode);
- }
- //$(Elements.FQ_SWITCH_OPTION + ' option[value=' + fqSwitchMode + ']').attr('selected', 'selected');
- $(Elements.FQ_SWITCH_OPTION).selectpicker('val', fqSwitchMode);
- var adStatsSwitchMode = self.m_simpleStorage.get('adStatsMode');
- if (_.isUndefined(adStatsSwitchMode)) {
- adStatsSwitchMode = 0;
- self.m_simpleStorage.set('adStatsMode', adStatsSwitchMode);
- }
- //$(Elements.AD_STATS_SWITCH_OPTION + ' option[value=' + adStatsSwitchMode + ']').attr('selected', 'selected');
- $(Elements.AD_STATS_SWITCH_OPTION).selectpicker('val', adStatsSwitchMode);
- self.m_stationsPollingSlider = $(Elements.STATION_POLL_SLIDER).noUiSlider({
- handles: 1,
- start: [pollStationsTime],
- step: 1,
- range: [60, 360],
- serialization: {
- to: [$(Elements.STATION_POLL_LABEL), 'text']
- }
- });
- self._listenStationsPollingSlider();
- self._listenBannerPreviewChange();
- self._listenFasterQueueSwitchChange();
- self._listenAdStatsSwitchChange();
- self._listenThemeChange();
- });
- };
- /**
- Listen to stations polling slider changes
- @method _listenStationsPollingSlider
- **/
- SettingView.prototype._listenStationsPollingSlider = function () {
- var self = this;
- $(self.m_stationsPollingSlider).change(function (e) {
- var pollStationsTime = $(Elements.STATION_POLL_LABEL).text();
- self.m_simpleStorage.set('pollStationsTime', pollStationsTime);
- BB.comBroker.fire(BB.EVENTS['STATIONS_POLL_TIME_CHANGED'], this, null, pollStationsTime);
- });
- };
- /**
- Listen changes in full screen preview settings options
- @method _listenBannerPreviewChange
- **/
- SettingView.prototype._listenBannerPreviewChange = function () {
- var self = this;
- $(Elements.PREVIEW_FULL_OPTION).on('change', function (e) {
- // var state = $(Elements.PREVIEW_FULL_OPTION + ' option:selected').val() == "on" ? 1 : 0;
- var state = $(Elements.PREVIEW_FULL_OPTION + ' option:selected').val();
- self.m_simpleStorage.set('bannerMode', state);
- });
- };
- /**
- Listen changes in FasterQueue settings options
- @method _listenFasterQueueSwitchChange
- **/
- SettingView.prototype._listenFasterQueueSwitchChange = function () {
- var self = this;
- $(Elements.FQ_SWITCH_OPTION).on('change', function (e) {
- var state = $(Elements.FQ_SWITCH_OPTION + ' option:selected').val();
- self.m_simpleStorage.set('fqSwitchMode', state);
- if (state === "1") {
- $(Elements.CLASS_FASTERQ_PANEL).fadeIn();
- }
- else {
- $(Elements.CLASS_FASTERQ_PANEL).fadeOut();
- }
- });
- };
- /**
- Listen changes in FasterQueue settings options
- @method _listenAdStatsSwitchChange
- **/
- SettingView.prototype._listenAdStatsSwitchChange = function () {
- var self = this;
- $(Elements.AD_STATS_SWITCH_OPTION).on('change', function (e) {
- var state = $(Elements.AD_STATS_SWITCH_OPTION + ' option:selected').val();
- self.m_simpleStorage.set('adStatsMode', state);
- if (state === '1') {
- $(Elements.CLASS_ADSTATS_PANEL).fadeIn();
- }
- else {
- $(Elements.CLASS_ADSTATS_PANEL).fadeOut();
- }
- });
- };
- /**
- Listen changes in theme style
- @method _listenThemeChange
- **/
- SettingView.prototype._listenThemeChange = function () {
- var self = this;
- $(Elements.THEME_OPTION).on('change', function (e) {
- BB.CONSTS['THEME'] = $(Elements.THEME_OPTION + ' option:selected').val();
- self.m_simpleStorage.set('theme', BB.CONSTS['THEME']);
- if (BB.CONSTS['THEME'] === 'light') {
- bootbox.alert($(Elements.MSG_BOOTBOX_RELOAD_THEME).text());
- }
- else {
- BB.lib.loadCss('style_' + BB.CONSTS['THEME'] + '.css');
- }
- BB.comBroker.fire(BB.EVENTS.THEME_CHANGED);
- });
- };
- return SettingView;
- })(Backbone.View);
- return SettingView;
- });
- //# sourceMappingURL=SettingView.js.map
-