UNPKG

@visitscotland/component-library

Version:
1 lines 5.74 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VsVideo=t():e.VsVideo=t()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[4375],{36278:function(){},43582:function(e,t,n){"use strict";var i=n(10467),r=n(54756),o=n.n(r),a=n(25671),s=n(79122),u=n(45921),d=n.n(u),c=n(57957),l=n(98745),f=null;t.A={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning:s.default,VueYoutube:a.A},mixins:[l.default],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"},noJsMessage:{type:String,required:!0},errorMessage:{type:String,default:""}},data:function(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{warningText:function(){var e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),e},player:function(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted:function(){this.jsDisabled=(0,c.A)(),f=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=2,e.getPlayerDetails();case 2:e.shouldAutoPlay&&(e.shouldAutoPlay=!1,e.playVideo());case 3: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=3;break}return t.next=3,e.player.playVideo();case 3: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=3;break}return t.next=3,e.player.pauseVideo();case 3: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=3;break}return t.next=3,e.player.stopVideo();case 3: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=3;break}return t.next=3,e.player.getDuration().then((function(t){e.formatTime(t),e.storeVideoDetails()}));case 3: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(){f.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())}))}}}},87282:function(e,t,n){"use strict";n.d(t,{X:function(){return s}});var i=n(20641),r=n(90033),o={key:0,class:"vs-video","data-test":"vs-video"},a={class:"vs-video__iframe-wrapper"};function s(e,t,n,s,u,d){var c=(0,i.g2)("VueYoutube"),l=(0,i.g2)("VsWarning");return u.reRendering?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",o,[(0,i.Lk)("div",a,[(0,i.bF)(c,{autoplay:0,"video-id":n.videoId,vars:u.playerVars,ref:"youtube",nocookie:!0,onPlaying:d.youtubePlaying,onPaused:d.youtubePaused,onEnded:d.youtubeEnded,onReady:d.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"]),(0,i.bF)(l,{"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})])]))}},78296:function(e,t,n){"use strict";var i=n(85072),r=n.n(i),o=n(97825),a=n.n(o),s=n(77659),u=n.n(s),d=n(55056),c=n.n(d),l=n(10540),f=n.n(l),p=n(41113),y=n.n(p),v=n(36278),h=n.n(v),g={};g.styleTagTransform=y(),g.setAttributes=c(),g.insert=u().bind(null,"head"),g.domAPI=a(),g.insertStyleElement=f(),r()(h(),g),h()&&h().locals&&h().locals},85513:function(e,t,n){"use strict";n.r(t);var i=n(62562),r=n(43474);n(94540);const o=(0,n(66262).A)(r.A,[["render",i.X]]);t.default=o},43474:function(e,t,n){"use strict";n.d(t,{A:function(){return i.A}});var i=n(43582)},62562:function(e,t,n){"use strict";n.d(t,{X:function(){return i.X}});var i=n(87282)},94540:function(e,t,n){"use strict";n(78296)}},function(e){return e.O(0,[641,6262,7510,3751,4352,4467,7527,8086,810,3498,6422,8745,8836,9122,5921,7957],(function(){return e(e.s=85513)})),e.O()}])}));