- /**
- Live preview in StackView views
- @class LivePreView
- @constructor
- @return {Object} instantiated WaitView
- **/
- define(['jquery', 'backbone', 'flashdetect'], function ($, Backbone, flashdetect) {
-
- /**
- Custom event fired when exiting preview mode
- @event PREVIEW_EXIT
- @param {This} caller
- @param {Self} context caller
- @param {Event} rss link
- @static
- @final
- **/
- BB.EVENTS.PREVIEW_EXIT= 'PREVIEW_EXIT';
-
- BB.SERVICES.LIVEPREVIEW = 'LivePreView';
-
- var LivePreView = Backbone.View.extend({
-
- /**
- Constructor
- @method initialize
- **/
- initialize: function () {
- var self = this;
- BB.comBroker.setService(BB.SERVICES['LIVEPREVIEW'], self);
- self.m_lastLaunce = undefined;
- self.m_sceneID = undefined;
- self.m_campaignID = undefined;
- self.m_campaignTimelineID = undefined;
- self._listenReplay();
- self._listenStop();
- self._listenExit();
- },
-
- /**
- Listen to live preview replay
- @method _listenReplay
- **/
- _listenReplay: function () {
- var self = this;
- $(Elements.PLAYER_PREVIEW_REPLAY, self.$el).on('click', function () {
- self.m_lastLaunce();
- });
- },
-
- /**
- Listen to live preview stop
- @method _listenStop
- **/
- _listenStop: function () {
- var self = this;
- $(Elements.PLAYER_PREVIEW_STOP, self.$el).on('click', function () {
- $(Elements.IFRAME_EMBEDDED).attr('src', '');
- });
- },
-
- /**
- Listen to live preview exit
- @method _listenExit
- **/
- _listenExit: function () {
- var self = this;
- $(Elements.PLAYER_PREVIEW_EXIT, self.$el).on('click', function () {
- $(Elements.IFRAME_EMBEDDED).attr('src', '');
- var appEntryFaderView = BB.comBroker.getService(BB.SERVICES['APP_ENTRY_FADER_VIEW']);
- appEntryFaderView.selectView(Elements.APP_CONTENT);
- BB.comBroker.fire(BB.EVENTS.PREVIEW_EXIT);
- });
- },
-
- /**
- Check that flash is installed
- @method _checkFlash
- @param {Number} i_playerData
- @return {Number} Unique clientId.
- **/
- _checkFlash: function () {
- if (!FlashDetect.installed || !FlashDetect.versionAtLeast(13)) {
- bootbox.alert({
- message: $(Elements.MSG_BOOTBOX_NO_FLASH).text()
- });
- return false;
- } else {
- return true;
- }
- },
-
- /**
- Listen to live preview launch
- @method launch
- **/
- launchScene: function (i_sceneID) {
- var self = this;
- if (_.isUndefined(i_sceneID) && _.isUndefined(self.m_sceneID))
- return;
- if (self._checkFlash() == false)
- return;
- self.m_sceneID = i_sceneID != undefined ? i_sceneID : self.m_sceneID;
- self.m_lastLaunce = self.launchScene;
- var navigationView = BB.comBroker.getService(BB.SERVICES['NAVIGATION_VIEW']);
- navigationView.save(function () {
- require(['simplestorage'], function (simpleStorage) {
- var bannerMode = simpleStorage.get('bannerMode');
- if (_.isUndefined(bannerMode))
- bannerMode = 1;
- var url = pepper.livePreviewScene(self.m_sceneID, bannerMode);
- var appEntryFaderView = BB.comBroker.getService(BB.SERVICES['APP_ENTRY_FADER_VIEW']);
- appEntryFaderView.selectView(Elements.LIVE_PREVIEW);
- $(Elements.IFRAME_EMBEDDED).attr('src', url);
- });
- });
- },
-
- /**
- Listen to live preview launch
- @method launch i_campaignTimelineNativeID
- **/
- launchTimeline: function (i_campaignID, i_campaignTimelineID) {
- var self = this;
- if (_.isUndefined(i_campaignTimelineID) && _.isUndefined(self.m_campaignTimelineID))
- return;
- if (self._checkFlash() == false)
- return;
- self.m_campaignTimelineID = i_campaignTimelineID != undefined ? i_campaignTimelineID : self.m_campaignTimelineID;
- self.m_campaignID = i_campaignID != undefined ? i_campaignID : self.m_campaignID;
- self.m_lastLaunce = self.launchTimeline;
-
- var navigationView = BB.comBroker.getService(BB.SERVICES['NAVIGATION_VIEW']);
- navigationView.save(function () {
- require(['simplestorage'], function (simpleStorage) {
- var bannerMode = simpleStorage.get('bannerMode');
- if (_.isUndefined(bannerMode))
- bannerMode = 1;
- var url = pepper.livePreviewTimeline(self.m_campaignID, self.m_campaignTimelineID, bannerMode);
- var appEntryFaderView = BB.comBroker.getService(BB.SERVICES['APP_ENTRY_FADER_VIEW']);
- appEntryFaderView.selectView(Elements.LIVE_PREVIEW);
- $(Elements.IFRAME_EMBEDDED).attr('src', url);
- });
- });
- },
-
- /**
- Listen to live view launch
- @method launch
- **/
- launchCampaign: function (i_campaignID) {
- var self = this;
- if (_.isUndefined(i_campaignID) && _.isUndefined(self.m_campaignID))
- return;
- if (self._checkFlash() == false)
- return;
- self.m_campaignID = i_campaignID != undefined ? i_campaignID : self.m_campaignID;
- self.m_lastLaunce = self.launchCampaign;
-
- var navigationView = BB.comBroker.getService(BB.SERVICES['NAVIGATION_VIEW']);
- navigationView.save(function () {
- require(['simplestorage'], function (simpleStorage) {
- var bannerMode = simpleStorage.get('bannerMode');
- if (_.isUndefined(bannerMode))
- bannerMode = 1;
- var url = pepper.livePreviewCampaign(self.m_campaignID, bannerMode);
- //console.log('Opening url ' + url)
- var appEntryFaderView = BB.comBroker.getService(BB.SERVICES['APP_ENTRY_FADER_VIEW']);
- appEntryFaderView.selectView(Elements.LIVE_PREVIEW);
- $(Elements.IFRAME_EMBEDDED).attr('src', url);
- });
- });
- }
- });
-
- return LivePreView;
-
- });
-
-
-