@visitscotland/component-library
Version:
VisitScotland Component Library
1 lines • 6.21 kB
JavaScript
(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[5513],{41426:function(e,t,n){"use strict";var i=n(85072),r=n.n(i),o=n(97825),s=n.n(o),a=n(77659),u=n.n(a),d=n(55056),c=n.n(d),l=n(10540),p=n.n(l),f=n(41113),y=n.n(f),v=n(57068),h=n.n(v),g={};g.styleTagTransform=y(),g.setAttributes=c(),g.insert=u().bind(null,"head"),g.domAPI=s(),g.insertStyleElement=p(),r()(h(),g),h()&&h().locals&&h().locals},43474:function(e,t,n){"use strict";n.d(t,{A:function(){return i.A}});var i=n(43582)},43582:function(e,t,n){"use strict";var i=n(10467),r=n(54756),o=n.n(r),s=n(25671),a=n(79122),u=n(45921),d=n.n(u),c=n(57957),l=n(83178),p=n(12308),f=n(98745),y=null,v=p.A.youtube;t.A={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning:a.default,VueYoutube:s.A},mixins:[f.default,l.A],props:{language:{type:String,default:"en"},videoId:{type:String,required:!0},videoTitle:{type:String,default:""},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noJsMessage:{type:String,required:!0},errorMessage:{type:String,default:""}},data:function(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},requiredCookies:v,reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{showError:function(){return!this.cookiesAllowed&&!0===this.cookiesLoaded||!1===this.cookiesLoaded},warningText:function(){var e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),this.cookiesAllowed||!0!==this.cookiesLoaded||(e=this.noCookiesMessage),e},player:function(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted:function(){this.jsDisabled=(0,c.A)(),y=d()(),this.setEventListeners()},methods:{playerReady:function(){var e=this;return(0,i.A)(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=1,e.getPlayerDetails();case 1:e.shouldAutoPlay&&(e.shouldAutoPlay=!1,e.playVideo());case 2:case"end":return t.stop()}}),t)})))()},playVideo:function(){var e=this;return(0,i.A)(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.player){t.next=1;break}return t.next=1,e.player.playVideo();case 1:case"end":return t.stop()}}),t)})))()},pauseVideo:function(){var e=this;return(0,i.A)(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.player){t.next=1;break}return t.next=1,e.player.pauseVideo();case 1:case"end":return t.stop()}}),t)})))()},stopVideo:function(){var e=this;return(0,i.A)(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.player){t.next=1;break}return t.next=1,e.player.stopVideo();case 1:case"end":return t.stop()}}),t)})))()},youtubePlaying:function(){this.analyticsEvent("play")},youtubePaused:function(){this.analyticsEvent("pause")},youtubeEnded:function(){this.analyticsEvent("ended")},analyticsEvent:function(e){var t=this,n=0,i=0;this.player.getCurrentTime().then((function(e){return n=e,t.player?t.player.getDuration():null})).then((function(e){i=e})).then((function(){var r=n/i*100;t.createDataLayerObject("videoTrackingDataEvent",{title:t.videoTitle,status:e,percent:Math.round(r)})}))},getPlayerDetails:function(){var e=this;return(0,i.A)(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.player){t.next=1;break}return t.next=1,e.player.getDuration().then((function(t){e.formatTime(t),e.storeVideoDetails()}));case 1:case"end":return t.stop()}}),t)})))()},formatTime:function(e){var t=Math.floor(e/60),n=Math.round(e-60*t);this.duration.minutes=t,this.duration.seconds=n;var i=this.getRoundedMinutes(t,n);this.duration.roundedMinutes=this.formatSingularOrPlural(i)},getRoundedMinutes:function(e,t){return t<30&&0!==e?e:e+1},formatSingularOrPlural:function(e){return 1===e?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad:function(e){return e>=10?e:"0".concat(e)},storeVideoDetails:function(){y.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:60*this.duration.minutes+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners:function(){var e=this;this.emitter&&this.emitter.on("video-controls",(function(t){t.id===e.videoId&&("modal-opened"===t.action&&e.playVideo(),"modal-closed"===t.action&&e.stopVideo(),"play"===t.action?e.playVideo():"pause"===t.action&&e.pauseVideo())}))}}}},50446:function(e,t,n){"use strict";n(41426)},57068:function(){},58400:function(e,t,n){"use strict";n.d(t,{X:function(){return u}});var i=n(20641),r=n(90033),o={key:0,class:"vs-video","data-test":"vs-video"},s={class:"vs-video__iframe-wrapper"},a={key:0};function u(e,t,n,u,d,c){var l=(0,i.g2)("VueYoutube"),p=(0,i.g2)("VsWarning");return d.reRendering?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",o,[(0,i.Lk)("div",s,[e.cookiesAllowed?((0,i.uX)(),(0,i.CE)("div",a,[(0,i.bF)(l,{autoplay:0,"video-id":n.videoId,vars:d.playerVars,ref:"youtube",nocookie:!0,onPlaying:c.youtubePlaying,onPaused:c.youtubePaused,onEnded:c.youtubeEnded,onReady:c.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):(0,i.Q3)("",!0),c.showError?((0,i.uX)(),(0,i.Wv)(p,{key:1,type:!0===e.cookiesLoaded?"cookie":"normal","data-test":"vs-video__warning",class:"vs-video__warning"},(0,i.eX)({default:(0,i.k6)((function(){return[(0,i.eW)((0,r.toDisplayString)(c.warningText)+" ",1)]})),_:2},[e.cookiesAllowed||!0!==e.cookiesLoaded?void 0:{name:"button-text",fn:(0,i.k6)((function(){return[(0,i.eW)((0,r.toDisplayString)(n.cookieBtnText),1)]})),key:"0"}]),1032,["type"])):(0,i.Q3)("",!0),(0,i.bF)(p,{"data-test":"vs-video__warning--no-js",class:"vs-video__warning vs-video__warning--no-js"},{default:(0,i.k6)((function(){return[(0,i.eW)((0,r.toDisplayString)(n.noJsMessage),1)]})),_:1})])]))}},82160:function(e,t,n){"use strict";n.d(t,{X:function(){return i.X}});var i=n(58400)},85513:function(e,t,n){"use strict";n.r(t);var i=n(82160),r=n(43474);n(50446);const o=(0,n(66262).A)(r.A,[["render",i.X]]);t.default=o}}]);