APIs

Show:
/**
 Orientation selector used to select new campaign orientation
 @class OrientationSelectorView
 @constructor
 @return {Object} instantiated OrientationSelectorView
 **/
define(['jquery', 'backbone'], function ($, Backbone) {

    BB.SERVICES.ORIENTATION_SELECTOR_VIEW = 'OrientationSelectorView';
    BB.CONSTS.VERTICAL = 'VERTICAL';
    BB.CONSTS.HORIZONTAL = 'HORIZONTAL';
    BB.CONSTS.ORIENTATION = 'ORIENTATION';

    var OrientationSelectorView = BB.View.extend({

        /**
         Constructor
         @method initialize
         **/
        initialize: function () {
            var self = this;

            $(this.el).find(Elements.PREVIOUS).on('click',function(e){
                self.options.stackView.slideToPage(self.options.from, 'left');
                return false;
            });

            $(Elements.IMG_HORIZONTAL).on('click', function () {
                self._selectOrientation(BB.CONSTS.HORIZONTAL);
            });

            $(Elements.IMG_VERTICAL).on('click', function () {
                self._selectOrientation(BB.CONSTS.VERTICAL);
            });
        },

        /**
         Select a particular orientation and optionally move to the next selection views through
         the ScreenArrowSelector instance.
         @method _selectOrientation
         @param {String} i_orientation
         **/
        _selectOrientation: function (i_orientation) {
            var self = this;

            switch (i_orientation) {
                case BB.CONSTS.HORIZONTAL:
                {
                    $(Elements.IMG_HORIZONTAL).css('opacity', '1');
                    $(Elements.IMG_VERTICAL).css('opacity', '0.6');
                    break;
                }

                case BB.CONSTS.VERTICAL:
                {
                    $(Elements.IMG_HORIZONTAL).css('opacity', '0.6');
                    $(Elements.IMG_VERTICAL).css('opacity', '1');
                    break;
                }
            }

            self.model.set(BB.CONSTS.ORIENTATION, i_orientation);
            self.resolutionSelector = BB.comBroker.getService(BB.SERVICES.RESOLUTION_SELECTOR_VIEW);
            self.resolutionSelector.render();
            setTimeout(function () {
                self.options.stackView.slideToPage(self.options.to, 'right');
            }, 500);
        },

        setOrientation: function(i_orientation){
            this.model.set(BB.CONSTS.ORIENTATION, i_orientation);
        },

        getOrientation: function(){
            return this.model.get(BB.CONSTS.ORIENTATION);
        }
    });

    return OrientationSelectorView;

});