mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-10-02 18:26:38 +08:00
1 line
11 KiB
JavaScript
1 line
11 KiB
JavaScript
(window["RCDLjsonFunction"]=window["RCDLjsonFunction"]||[]).push([[87],{246:function(e,t,r){"use strict";r.r(t);var a=r(37);var n=r.n(a);var i=r(55);var u=r.n(i);var c=r(35);var o=r.n(c);var s=r(21);var l=r.n(s);var f=r(276);var d=r.n(f);var z=r(39);var v=r.n(z);var q=r(158);var p=r.n(q);var g=r(105);var C=r.n(g);var h=r(155);var m=r.n(h);var w=r(76);var D=r.n(w);var S=r(156);var y=r.n(S);var L=r(157);var b=r.n(L);var _=r(33);var R=r.n(_);var O=r(20);var j=r.n(O);var E=r(154);var I=r.n(E);var x=r(32);var k=r.n(x);var P=r(34);var Q=r.n(P);var B=r(36);var A=r.n(B);var N=r(75);var M=r.n(N);var F=r(22);var G=r.n(F);var T=r(262);var K=r.n(T);var $=r(116);var J=r(102);var U=r(6);var H=r(101);function asyncGeneratorStep(e,t,r,a,n,i,u){try{var c=e[i](u);var o=c.value}catch(e){r(e);return}if(c.done){t(o)}else{Promise.resolve(o).then(a,n)}}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(a,n){var i=e.apply(t,r);function _next(e){asyncGeneratorStep(i,a,n,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(i,a,n,_next,_throw,"throw",e)}_next(undefined)}))}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);if(t)a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}RCDL.features.quiz={defaultSelector:null,answerDelay:500,globalState:[],savedState:null,start:function start(e){var t=e.splash,r=t===void 0?true:t,a=e.element,n=e.selector,i=n===void 0?RCDL.features.quiz.defaultSelector:n;RCDL.utilities.DOMcheckElements({element:a,selectors:i,name:"quiz",start:true}).forEach((function(e){return RCDL.features.quiz.create({splash:r,quizContainer:e})}))},create:function create(e){var t=e.splash,r=e.quizContainer;var a=_objectSpread({},RCDL.features.quiz.getParts({quizContainer:r}),{pager:{correct:0,outOf:0},currentSlide:0,answers:{},splash:Object(U["default"])(".rc-quiz__initial-slide",r).length===1});a.listeners={interaction:RCDL.features.quiz.interaction({quizId:a.quizId,quizContainer:r,quizObj:a}),updateDOM:RCDL.features.quiz.updateDOM({quizId:a.quizId})};r.addEventListener("click",a.listeners.interaction);r.addEventListener("keyup",a.listeners.interaction);RCDL.features.quiz.setupLocalStateStore().then((function(){RCDL.features.quiz.getState({quizId:a.quizId}).then((function(e){if(e!==null){RCDL.features.quiz.globalState.push(Object.assign(a,e))}else{RCDL.features.quiz.globalState.push(a)}a.listeners.updateDOM()})).catch((function(e){throw new Error("RCDL quiz Error: Failed to fetch saved state. Error: ".concat(e))}))}))},setupLocalStateStore:function setupLocalStateStore(){return new Promise((function(e,t){if(RCDL.features.quiz.savedState===null){r.e(51).then(r.t.bind(null,378,7)).then((function(t){RCDL.features.quiz.savedState=t.default.createInstance({name:"RCDL quiz",version:1,storeName:"RCDL_quiz",description:"State storage for RCDL quizzes"});e()})).catch((function(e){H["a"].captureException((function(){throw new Error("RCDL Quiz Error: Failed to create local storage DB.\n ".concat(typeof e==="string"?e:JSON.stringify(e)))}))}))}else{e()}}))},interaction:function interaction(e){var t=e.quizId,r=e.quizContainer,a=e.quizObj;return function(e){var n={quizId:t,quizSlide:RCDL.utilities.closest(e.target,".rc-quiz__slide")};var i=Object(U["default"])("h2",Object(J["default"])(e.target,".rc-quiz__slide"))[0].textContent;var u=window.dataLayer=window.dataLayer||[];if(e.target.matches(".rc-quiz__start-quiz")){e.preventDefault();n.quizSlideChange="increment";RCDL.features.quiz.updateState(n);u.push({event:"".concat(RCDL.tracking.gtm.id(),"StartQuiz"),interaction:{category:"Quiz",action:"Start",label:"Start"},component:{title:a.quizId}})}else if(e.target.matches(".rc-quiz__answer")){e.preventDefault();n.quizAnswer=e.target.getAttribute("data-rc-quiz-answer");n.quizSlideChange="increment";n.quizQuestion=e.target.textContent;RCDL.features.quiz.updateState(n);var c=e.target.value;u.push({event:"".concat(RCDL.tracking.gtm.id(),"AnswerQuiz"),interaction:{category:"Quiz",action:c.replace(/\n/,"").replace(/\s{2,}/gm," "),label:i},component:{title:a.quizId}})}else if(e.target.matches(".rc-quiz__next")){e.preventDefault();n.quizSlideChange="increment";RCDL.features.quiz.updateState(n);var o=e.target.textContent;var s=Object(J["default"])(e.target,".rc-quiz__slide");var l=a.parts.quizSlides;var f=l.indexOf(s);var d=l[f-1];var z=Object(U["default"])("h2",d)[0].textContent;u.push({event:"".concat(RCDL.tracking.gtm.id(),"ContinueQuiz"),interaction:{category:"Quiz",action:o,label:z.replace(/\n/,"").replace(/\s{2,}/gm," ")},component:{title:a.quizId}})}else if(e.target.matches(".rc-quiz__back")){e.preventDefault();n.quizSlideChange="decrement";RCDL.features.quiz.updateState(n);var v=e.target.textContent;var q=Object(J["default"])(e.target,".rc-quiz__slide");var p=a.parts.quizSlides;var g=p.indexOf(q);var C=p[g-1];var h=Object(U["default"])("h2",C)[0].textContent;u.push({event:"".concat(RCDL.tracking.gtm.id(),"BackQuiz"),interaction:{category:"Quiz",action:v,label:h.replace(/\n/,"").replace(/\s{2,}/gm," ")},component:{title:a.quizId}})}else if(e.target.matches(".rc-quiz__start-over")){e.preventDefault();u.push({event:"".concat(RCDL.tracking.gtm.id(),"StartoverQuiz"),interaction:{category:"Quiz",action:"Start",label:"Start over"},component:{title:a.quizId}});RCDL.features.quiz.savedState.removeItem("RCDL_quiz_".concat(t)).then((function(){RCDL.features.quiz.globalState=RCDL.features.quiz.globalState.filter((function(e){return t!==e.quizId}));r.removeEventListener("click",a.listeners.interaction);r.removeEventListener("keyup",a.listeners.interaction);RCDL.features.quiz.create({quizContainer:r})})).catch((function(e){throw new Error("RCDL quiz: Failed to remove quiz data: ".concat(t,". Error: ").concat(e))}));e.preventDefault()}}},getParts:function getParts(e){var t=e.quizContainer;return{quizId:t.getAttribute("id"),parts:{quizContainer:t.getElementsByClassName("rc-quiz"),quizSlides:Array.from(t.getElementsByClassName("rc-quiz__slide")),answersBtns:Array.from(t.getElementsByClassName("rc-quiz__answer")),nextBtns:Array.from(t.getElementsByClassName("rc-quiz__next")),previousBtns:Array.from(t.getElementsByClassName("rc-quiz__back")),finalScoreLabel:Array.from(t.getElementsByClassName("rc-quiz__final-score"))[0],resetBtn:t.getElementsByClassName("rc-quiz__start-over")[0],startBtn:t.getElementsByClassName("rc-quiz__start-quiz")[0]}}},updateState:function updateState(e){var t=e.quizId,r=e.quizSlide,a=e.quizAnswer,n=e.quizSlideChange,i=e.quizQuestion;RCDL.features.quiz.globalState=RCDL.features.quiz.globalState.map((function(e){if(e.quizId===t){var u=e.parts.quizSlides.indexOf(r);e.currentSlide=n==="increment"?++u:--u;if(a==="0"||a==="1"){e.answers[r.getAttribute("data-rc-answer-id")]={answer:a,question:i};e.pager={correct:parseInt(e.pager.correct)+parseInt(a),outOf:Object.keys(e.answers).length}}else if(typeof a!=="undefined"){throw new Error("RCDL quiz: Failed to get state for quiz id: ".concat(t,".\n Unknown answer value: ").concat(a," for question ").concat(i,"."))}RCDL.features.quiz.saveState({quizId:t,quizObj:e}).then((function(){e.listeners.updateDOM()}))}return e}))},getState:function(){var e=_asyncToGenerator(regeneratorRuntime.mark((function _callee(e){var t;return regeneratorRuntime.wrap((function _callee$(r){while(1){switch(r.prev=r.next){case 0:t=e.quizId;return r.abrupt("return",new Promise((function(e,r){RCDL.features.quiz.savedState.getItem("RCDL_quiz_".concat(t)).then((function(t){return e(t)})).catch((function(e){throw new Error("RCDL quiz: Failed to get state for quiz id: ".concat(t,". Error: ").concat(e))}))})));case 2:case"end":return r.stop()}}}),_callee)})));function getState(t){return e.apply(this,arguments)}return getState}(),saveState:function(){var e=_asyncToGenerator(regeneratorRuntime.mark((function _callee2(e){var t,r;return regeneratorRuntime.wrap((function _callee2$(a){while(1){switch(a.prev=a.next){case 0:t=e.quizId,r=e.quizObj;return a.abrupt("return",new Promise((function(e,a){var n=Object.assign({},r);delete n.parts;delete n.listeners;RCDL.features.quiz.savedState.setItem("RCDL_quiz_".concat(t),n).then((function(t){e()})).catch((function(e){throw new Error("RCDL quiz: Failed to update state for quiz id: ".concat(t,".\n Obj: ").concat(JSON.stringify(n),". Error: ").concat(e))}))})));case 2:case"end":return a.stop()}}}),_callee2)})));function saveState(t){return e.apply(this,arguments)}return saveState}(),updateDOM:function updateDOM(e){var t=e.quizId;return function(){Object($["sleep"])(RCDL.features.quiz.answerDelay);var e=RCDL.features.quiz.globalState.filter((function(e){return t===e.quizId}));if(e.length===0){throw new Error("RCDL Quiz: Missing quiz with the ID of ".concat(t,"."))}if(e.length>1){throw new Error("RCDL Quiz: Duplicate quiz with the ID of ".concat(t,"."))}e=e[0];e.parts.quizSlides.forEach((function(r,a,n){try{var i=e.splash?2:1;if(r.hasAttribute("data-rc-answer-id")===false&&typeof e.answers[Object.keys(e.answers)[(a-i)/2]]!=="undefined"){var u=r.querySelector('[data-rc-quiz-response="'.concat(e.answers[Object.keys(e.answers)[(a-i)/2]].answer==="0"?"1":"0"));var c=r.querySelector('[data-rc-quiz-response="'.concat(e.answers[Object.keys(e.answers)[(a-i)/2]].answer));RCDL.utilities.modifyClass("add",u,"rc-hidden");RCDL.utilities.modifyClass("remove",c,"rc-hidden")}if(a===n.length-1){e.parts.finalScoreLabel.textContent=e.parts.finalScoreLabel.textContent.replace(/\d\/\d/g,"".concat(e.pager.correct,"/").concat(e.pager.outOf))}RCDL.utilities.modifyClass(a!==e.currentSlide?"add":"remove",r,"rc-hidden")}catch(e){throw new Error("RCDL Quiz: Missing quiz with the ID of ".concat(t,".\n Error setting correct answer title: ").concat(e))}}));if(e.currentSlide+1===e.parts.quizSlides.length&&Array.isArray(dataLayer)){dataLayer.push({event:"".concat(RCDL.tracking.gtm.id(),"CompletedQuiz"),interaction:{category:"Quiz",action:"Score",label:e.parts.finalScoreLabel.textContent},component:{title:e.quizId}})}}}};t["default"]={fn:function(){var e=_asyncToGenerator(regeneratorRuntime.mark((function _callee3(e){return regeneratorRuntime.wrap((function _callee3$(t){while(1){switch(t.prev=t.next){case 0:return t.abrupt("return",RCDL.features.quiz.start({element:e}));case 1:case"end":return t.stop()}}}),_callee3)})));function fn(t){return e.apply(this,arguments)}return fn}(),setup:function setup(e){RCDL.features.quiz.defaultSelector=e}}}}]); |