OwlCyberSecurity - MANAGER
Edit File: p-a65f5646.js.map
{"version":3,"names":["tutor","player","autoload_content","_tutorobject","nonce_key","ajaxurl","post_id","getVideoData","data","action","jQuery","post","done","response","success","next_url","location","href","sync_time","instance","options","currentTime","duration","data_send","Object","assign","video_track_data","val","JSON","parse","tempTimeNow","intervalSeconds","on","event","detail","plyr","tempTimeNowInSec","video_data","is_ended","autoload_next_course_content"],"sources":["src/components/core/player/integrations/tutor.js"],"sourcesContent":["export default function (player) {\n // autoload course content\n const autoload_content = () => {\n if (!_tutorobject.nonce_key || !_tutorobject?.ajaxurl) {\n return;\n }\n const post_id = getVideoData().post_id;\n let data = { action: 'autoload_next_course_content', post_id };\n data[_tutorobject.nonce_key] = _tutorobject[_tutorobject.nonce_key];\n\n jQuery.post(_tutorobject?.ajaxurl, data).done(function (response) {\n if (response?.success && response?.data?.next_url) {\n location.href = response.data.next_url;\n }\n });\n };\n\n // sync time with server\n const sync_time = (instance, options) => {\n const post_id = getVideoData().post_id;\n let data = { action: 'sync_video_playback', currentTime: instance.currentTime, duration: instance.duration, post_id };\n data[_tutorobject.nonce_key] = _tutorobject[_tutorobject.nonce_key];\n\n let data_send = data;\n if (options) {\n data_send = Object.assign(data, options);\n }\n jQuery.post(_tutorobject?.ajaxurl, data_send);\n };\n\n // get video data\n const getVideoData = () => {\n const video_track_data = jQuery('#tutor_video_tracking_information').val();\n return video_track_data ? JSON.parse(video_track_data) : {};\n };\n\n // update time on server every 250ms\n let tempTimeNow = 0;\n let intervalSeconds = 30; //Send to tutor backend about video playing time in this interval\n player.on('timeupdate', event => {\n const instance = event.detail.plyr;\n const tempTimeNowInSec = tempTimeNow / 4; //timeupdate firing 250ms interval\n if (tempTimeNowInSec >= intervalSeconds) {\n sync_time(instance);\n tempTimeNow = 0;\n }\n tempTimeNow++;\n });\n\n // on end, sync time and autoload content\n player.on('ended', event => {\n const video_data = getVideoData();\n const instance = event.detail.plyr;\n const data = { is_ended: true };\n sync_time(instance, data);\n if (video_data.autoload_next_course_content) {\n autoload_content();\n }\n });\n}\n"],"mappings":"AAAe,SAAAA,EAAUC,GAEvB,MAAMC,EAAmB,KACvB,IAAKC,aAAaC,YAAcD,cAAcE,QAAS,CACrD,MACN,CACI,MAAMC,EAAUC,IAAeD,QAC/B,IAAIE,EAAO,CAAEC,OAAQ,+BAAgCH,WACrDE,EAAKL,aAAaC,WAAaD,aAAaA,aAAaC,WAEzDM,OAAOC,KAAKR,cAAcE,QAASG,GAAMI,MAAK,SAAUC,GACtD,GAAIA,GAAUC,SAAWD,GAAUL,MAAMO,SAAU,CACjDC,SAASC,KAAOJ,EAASL,KAAKO,QACtC,CACA,GAAM,EAIJ,MAAMG,EAAY,CAACC,EAAUC,KAC3B,MAAMd,EAAUC,IAAeD,QAC/B,IAAIE,EAAO,CAAEC,OAAQ,sBAAuBY,YAAaF,EAASE,YAAaC,SAAUH,EAASG,SAAUhB,WAC5GE,EAAKL,aAAaC,WAAaD,aAAaA,aAAaC,WAEzD,IAAImB,EAAYf,EAChB,GAAIY,EAAS,CACXG,EAAYC,OAAOC,OAAOjB,EAAMY,EACtC,CACIV,OAAOC,KAAKR,cAAcE,QAASkB,EAAU,EAI/C,MAAMhB,EAAe,KACnB,MAAMmB,EAAmBhB,OAAO,qCAAqCiB,MACrE,OAAOD,EAAmBE,KAAKC,MAAMH,GAAoB,EAAE,EAI7D,IAAII,EAAc,EAClB,IAAIC,EAAkB,GACtB9B,EAAO+B,GAAG,cAAcC,IACtB,MAAMd,EAAWc,EAAMC,OAAOC,KAC9B,MAAMC,EAAmBN,EAAc,EACvC,GAAIM,GAAoBL,EAAiB,CACvCb,EAAUC,GACVW,EAAc,CACpB,CACIA,GAAa,IAIf7B,EAAO+B,GAAG,SAASC,IACjB,MAAMI,EAAa9B,IACnB,MAAMY,EAAWc,EAAMC,OAAOC,KAC9B,MAAM3B,EAAO,CAAE8B,SAAU,MACzBpB,EAAUC,EAAUX,GACpB,GAAI6B,EAAWE,6BAA8B,CAC3CrC,GACN,IAEA,Q"}