Changeset 3490226
- Timestamp:
- 03/24/2026 05:11:11 PM (9 days ago)
- Location:
- hd-quiz
- Files:
-
- 6 edited
-
tags/2.1.0/assets/admin_bundled.js (modified) (1 diff)
-
tags/2.1.0/assets/admin_bundled.js.map (modified) (1 diff)
-
tags/2.1.0/includes/admin-pages.php (modified) (1 diff)
-
trunk/assets/admin_bundled.js (modified) (1 diff)
-
trunk/assets/admin_bundled.js.map (modified) (1 diff)
-
trunk/includes/admin-pages.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
hd-quiz/tags/2.1.0/assets/admin_bundled.js
r3487488 r3490226 31 31 </div> 32 32 </div> 33 </div>`;document.getElementById("personality_results").insertAdjacentHTML("beforeend",t),HDQ.form.createEditors(),d.personality.remove.init()}}};var c={get:async function(e,t=null){console.log("getting the question ID "+t[1]);let i=await c.getData(t);await c.render(i)},getData:async function(e){let t={quiz_id:parseInt(e[0]),question_id:parseInt(e[1])};return await _("hdq_get_view_question",t)},render:async function(e){document.getElementById("hdq_content").innerHTML=e.html,document.getElementById("hdq_content").scrollTo(0,0),document.getElementById("hdq_loading").classList.remove("active"),_hd.init(),HDQ.form.createEditors(),HDQ.form.tabs(),c.answers.data.question_id=e.question_id,c.answers.data.quiz_id=e.quiz_id,c.answers.init();let t=document.getElementById("hd_delete_question");if(!t)return;t.addEventListener("click",async function(){confirm("You are about to delete this question. Continue?")&&i(this)});async function i(n){let a={quiz_id:parseInt(n.getAttribute("data-quiz")),question_id:parseInt(n.getAttribute("data-id"))},s=await _("hdq_delete_question",a);HDQ.router.views.quiz.get(s.action.data,s.action.data2);let l={quiz_id:s.action.data2};history.pushState(l,"")}},update:function(e){document.getElementById("question_id").value=parseInt(e[0]),document.getElementById("hd_delete_question").setAttribute("data-id",parseInt(e[0]))},answers:{data:{answers:[],question_id:0,quiz_id:0,defaults:{value:"",image:"",imageURL:"",selected:""}},init:function(){c.answers.onChangeQuestionType(),c.fieldAnswers.init()},onChangeQuestionType:function(){let e=document.getElementById("question_type");e&&( e.addEventListener("change",async function(){c.answers.changeQuestionType(this)}),setTimeout(function(){e.options[0].selected&&(e.options[1].selected=!0);let t=new Event("change");e.dispatchEvent(t)},10))},changeQuestionType:async function(e){document.getElementById("hdq_loading").classList.add("active");let t=document.getElementById("question_type"),i=e.value;if(i===""||i===null){t.options[1].selected=!0;let a=new Event("change");t.dispatchEvent(a);return}let n={question_type:i,question_id:c.answers.data.question_id,quiz_id:c.answers.data.quiz_id};c.answers.data.answers=await c.answers.getAnswerData(),n=await _("hdq_get_question_type",n),n.status&&n.status==="success"?(document.getElementById("question_answers").innerHTML=n.html,n.action&&n.action.name&&(console.log("running action "+n.action.name),HDQ[n.action.name]()),c.answers.setAnswerData(c.answers),document.getElementById("hdq_loading").classList.remove("active")):console.log(n)},getAnswerData:async function(e=document.getElementById("question_answers")){let t=e.getElementsByClassName("hdq_answer_row");if(t.length===0)return[[],!1];let i=[];for(let a=0;a<t.length;a++){let s=JSON.parse(JSON.stringify(c.answers.data.defaults)),l=t[a].getElementsByClassName("hdq_answer_item_input");for(let r=0;r<l.length;r++){let m=l[r].getAttribute("data-answer-type");l[r].getAttribute("type")=="checkbox"?l[r].checked&&(s[m]="yes"):l[r].getAttribute("data-value")?s[m]=l[r].getAttribute("data-value"):s[m]=l[r].value}i.push(s)}let n=[];for(let a=0;a<i.length;a++)i[a].value&&i[a].value!==""&&n.push(i[a]);return[n,!0]},setAnswerData:async function(){let e=c.answers.data.answers[0];if(e.length===0)return;let t=document.getElementsByClassName("hdq_answer_row");for(let i=0;i<t.length;i++){let n=t[i].getElementsByClassName("hdq_answer_item_input");for(let a=0;a<n.length;a++){let s=n[a].getAttribute("data-answer-type");e[i]&&e[i][s]&&(n[a].getAttribute("type")=="checkbox"?n[a].checked=!0:n[a].getAttribute("data-value")?(n[a].setAttribute("data-value",e[i][s]),s==="image"&&(n[a].innerHTML="",n[a].insertAdjacentElement("beforeend",e[i].imageURL),n[a].nextElementSibling.classList.add("active"))):n[a].value=e[i][s])}}}},fieldAnswers:{init:function(){_hd.validate.field.hdq_field_answers=c.fieldAnswers.validate},validate:async function(e){let t=!0,i=await c.answers.getAnswerData(e),n=i[0];return i[1]&&n.length==0&&(t=!1),{value:n,status:t}}}};var b={dashboard:w,quiz:d,question:c,reload:{get:function(e){location.reload(!0)}}};var y={views:b,init:async function(){await y.getView(),window.addEventListener("hashchange",async function(){y.getView()})},getHash:async function(){let e=window.location.hash;return e.length==0&&(e="#/dashboard"),e},getView:async function(e=null){let t=await y.getHash();return t=t.replaceAll("#/",""),e=t.split("/"),e.shift(),t=t.split("/")[0],b[t]?y.views[t].get(t,e):console.error("HD Quiz: View "+t+" could not be found"),document.getElementById("hdq_loading").classList.add("active"),t}};var L={tabs:function(){let e=document.getElementsByClassName("hdq_quiz_tab");for(let i=0;i<e.length;i++)e[i].addEventListener("click",function(){t(),this.classList.add("hdq_quiz_tab_active");let n=this.getAttribute("data-id");document.getElementById(n).classList.add("hdq_tab_content_active")});function t(){let i=document.getElementsByClassName("hdq_quiz_tab_active");for(;i.length>0;)i[0].classList.remove("hdq_quiz_tab_active");let n=document.getElementsByClassName("hdq_tab_content_active");for(;n.length>0;)n[0].classList.remove("hdq_tab_content_active")}},createEditors:function(){let e=document.getElementsByClassName("hd_editor_input");for(let i=0;i<e.length;i++){let n=e[i].getAttribute("id");tinyMCE.execCommand("mceRemoveEditor",!1,n)}setTimeout(t,1600);function t(){tinyMCE.init({mode:"textareas",relative_urls:!1,remove_script_host:!1,convert_urls:!1,browser_spellcheck:!0,entity_encoding:"raw",keep_styles:!1,resize:!0,content_style:"body { height: 100vh; min-height: 120px }",menubar:!1,branding:!1,wpeditimage_html5_captions:!0,plugins:"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview",wpautop:!0,indent:!1,toolbar1:"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv",toolbar2:"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help",toolbar3:"",toolbar4:"",tabfocus_elements:"content-html,save-post",wp_autoresize_on:!1,add_unload_trigger:!1,block_formats:"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code"})}}};var g={FFhasInit:!1,init:function(){g.FFhasInit||(g.FFhasInit=!0,/Firefox\/\d+[\d\.]*/.test(navigator.userAgent)&&typeof window.DragEvent=="function"&&typeof window.addEventListener=="function"&&function(){var t,i,n,a,s,l,r,m,f,h;function v(o){t=o.clientX,i=o.clientY,n=o.pageX,a=o.pageY,s=o.offsetX,l=o.offsetY,r=o.screenX,m=o.screenY,f=o.layerX,h=o.layerY}function p(o){o._ffix_cx=t,o._ffix_cy=i,o._ffix_px=n,o._ffix_py=a,o._ffix_ox=s,o._ffix_oy=l,o._ffix_sx=r,o._ffix_sy=m,o._ffix_lx=f,o._ffix_ly=h}window.addEventListener("mousemove",v,!0),window.addEventListener("dragover",v,!0),window.addEventListener("dragstart",p,!0),window.addEventListener("drag",p,!0),window.addEventListener("dragend",p,!0);var x=Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),I=Object.getOwnPropertyDescriptors(window.UIEvent.prototype);function u(o,E){return function(){return x[o]&&x[o].get.call(this)||Number(this[E])||0}}function B(o,E){return function(){return this.type==="dragover"&&I[o]?I[o].get.call(this):Number(this[E])||0}}Object.defineProperties(window.DragEvent.prototype,{clientX:{get:u("clientX","_ffix_cx")},clientY:{get:u("clientY","_ffix_cy")},pageX:{get:u("pageX","_ffix_px")},pageY:{get:u("pageY","_ffix_py")},offsetX:{get:u("offsetX","_ffix_ox")},offsetY:{get:u("offsetY","_ffix_oy")},screenX:{get:u("screenX","_ffix_sx")},screenY:{get:u("screenY","_ffix_sy")},x:{get:u("x","_ffix_cx")},y:{get:u("y","_ffix_cy")},layerX:{get:B("layerX","_ffix_lx")},layerY:{get:B("layerY","_ffix_ly")}})}());let e=document.getElementById("hdq_questions_list").getElementsByClassName("hdq_quiz_question");for(let t=0;t<e.length;t++)g.enableDragItem(e[t])},enableDragItem:function(e){e.setAttribute("draggable",!0),e.ondrag=g.handleDrag,e.ondragend=g.handleDrop},handleDrag:function(e){let t=e.target,i=e.clientX,n=e.clientY,a=[document.getElementById("hdq_questions_list")];t.classList.add("drag-sort-active");let s=document.elementFromPoint(i,n)===null?t:document.elementFromPoint(i,n);if(s!==null&&s.getAttribute("draggable")=="true")for(let l=0;l<a.length;l++)s!==null&&a[l]===s.parentNode&&(s=s!==t.nextSibling?s:s.nextSibling,a[l].insertBefore(t,s))},handleDrop:function(e){e.target.classList.remove("drag-sort-active"),document.getElementById("hdq_questions_list").classList.add("hderp")}};var q={init:async function(){console.log("HD Quiz v"+HDQ_VERSION+" init");async function e(){await q.router.init()}await e(),q.form.createEditors()},router:y,form:L,sort:g,images:function(){_hd.images.init()},reload:function(e){let t=e.getAttribute("href");window.location.href.includes(t)&&window.location.reload()}};q.init();window.HDQ=q;})();33 </div>`;document.getElementById("personality_results").insertAdjacentHTML("beforeend",t),HDQ.form.createEditors(),d.personality.remove.init()}}};var c={get:async function(e,t=null){console.log("getting the question ID "+t[1]);let i=await c.getData(t);await c.render(i)},getData:async function(e){let t={quiz_id:parseInt(e[0]),question_id:parseInt(e[1])};return await _("hdq_get_view_question",t)},render:async function(e){document.getElementById("hdq_content").innerHTML=e.html,document.getElementById("hdq_content").scrollTo(0,0),document.getElementById("hdq_loading").classList.remove("active"),_hd.init(),HDQ.form.createEditors(),HDQ.form.tabs(),c.answers.data.question_id=e.question_id,c.answers.data.quiz_id=e.quiz_id,c.answers.init();let t=document.getElementById("hd_delete_question");if(!t)return;t.addEventListener("click",async function(){confirm("You are about to delete this question. Continue?")&&i(this)});async function i(n){let a={quiz_id:parseInt(n.getAttribute("data-quiz")),question_id:parseInt(n.getAttribute("data-id"))},s=await _("hdq_delete_question",a);HDQ.router.views.quiz.get(s.action.data,s.action.data2);let l={quiz_id:s.action.data2};history.pushState(l,"")}},update:function(e){document.getElementById("question_id").value=parseInt(e[0]),document.getElementById("hd_delete_question").setAttribute("data-id",parseInt(e[0]))},answers:{data:{answers:[],question_id:0,quiz_id:0,defaults:{value:"",image:"",imageURL:"",selected:""}},init:function(){c.answers.onChangeQuestionType(),c.fieldAnswers.init()},onChangeQuestionType:function(){let e=document.getElementById("question_type");e&&(document.getElementById("weighted0").addEventListener("change",async function(){let t=new Event("change");e.dispatchEvent(t)}),e.addEventListener("change",async function(){c.answers.changeQuestionType(this)}),setTimeout(function(){e.options[0].selected&&(e.options[1].selected=!0);let t=new Event("change");e.dispatchEvent(t)},10))},changeQuestionType:async function(e){document.getElementById("hdq_loading").classList.add("active");let t=document.getElementById("question_type"),i=e.value;if(i===""||i===null){t.options[1].selected=!0;let a=new Event("change");t.dispatchEvent(a);return}let n={question_type:i,weighted:document.getElementById("weighted0").checked,question_id:c.answers.data.question_id,quiz_id:c.answers.data.quiz_id};c.answers.data.answers=await c.answers.getAnswerData(),n=await _("hdq_get_question_type",n),n.status&&n.status==="success"?(document.getElementById("question_answers").innerHTML=n.html,n.action&&n.action.name&&(console.log("running action "+n.action.name),HDQ[n.action.name]()),c.answers.setAnswerData(c.answers),document.getElementById("hdq_loading").classList.remove("active")):console.log(n)},getAnswerData:async function(e=document.getElementById("question_answers")){let t=e.getElementsByClassName("hdq_answer_row");if(t.length===0)return[[],!1];let i=[];for(let a=0;a<t.length;a++){let s=JSON.parse(JSON.stringify(c.answers.data.defaults)),l=t[a].getElementsByClassName("hdq_answer_item_input");for(let r=0;r<l.length;r++){let m=l[r].getAttribute("data-answer-type");l[r].getAttribute("type")=="checkbox"?l[r].checked&&(s[m]="yes"):l[r].getAttribute("data-value")?s[m]=l[r].getAttribute("data-value"):s[m]=l[r].value}i.push(s)}let n=[];for(let a=0;a<i.length;a++)i[a].value&&i[a].value!==""&&n.push(i[a]);return[n,!0]},setAnswerData:async function(){}},fieldAnswers:{init:function(){_hd.validate.field.hdq_field_answers=c.fieldAnswers.validate},validate:async function(e){let t=!0,i=await c.answers.getAnswerData(e),n=i[0];return i[1]&&n.length==0&&(t=!1),{value:n,status:t}}}};var b={dashboard:w,quiz:d,question:c,reload:{get:function(e){location.reload(!0)}}};var y={views:b,init:async function(){await y.getView(),window.addEventListener("hashchange",async function(){y.getView()})},getHash:async function(){let e=window.location.hash;return e.length==0&&(e="#/dashboard"),e},getView:async function(e=null){let t=await y.getHash();return t=t.replaceAll("#/",""),e=t.split("/"),e.shift(),t=t.split("/")[0],b[t]?y.views[t].get(t,e):console.error("HD Quiz: View "+t+" could not be found"),document.getElementById("hdq_loading").classList.add("active"),t}};var L={tabs:function(){let e=document.getElementsByClassName("hdq_quiz_tab");for(let i=0;i<e.length;i++)e[i].addEventListener("click",function(){t(),this.classList.add("hdq_quiz_tab_active");let n=this.getAttribute("data-id");document.getElementById(n).classList.add("hdq_tab_content_active")});function t(){let i=document.getElementsByClassName("hdq_quiz_tab_active");for(;i.length>0;)i[0].classList.remove("hdq_quiz_tab_active");let n=document.getElementsByClassName("hdq_tab_content_active");for(;n.length>0;)n[0].classList.remove("hdq_tab_content_active")}},createEditors:function(){let e=document.getElementsByClassName("hd_editor_input");for(let i=0;i<e.length;i++){let n=e[i].getAttribute("id");tinyMCE.execCommand("mceRemoveEditor",!1,n)}setTimeout(t,1600);function t(){tinyMCE.init({mode:"textareas",relative_urls:!1,remove_script_host:!1,convert_urls:!1,browser_spellcheck:!0,entity_encoding:"raw",keep_styles:!1,resize:!0,content_style:"body { height: 100vh; min-height: 120px }",menubar:!1,branding:!1,wpeditimage_html5_captions:!0,plugins:"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview",wpautop:!0,indent:!1,toolbar1:"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv",toolbar2:"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help",toolbar3:"",toolbar4:"",tabfocus_elements:"content-html,save-post",wp_autoresize_on:!1,add_unload_trigger:!1,block_formats:"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code"})}}};var g={FFhasInit:!1,init:function(){g.FFhasInit||(g.FFhasInit=!0,/Firefox\/\d+[\d\.]*/.test(navigator.userAgent)&&typeof window.DragEvent=="function"&&typeof window.addEventListener=="function"&&(function(){var t,i,n,a,s,l,r,m,f,h;function v(o){t=o.clientX,i=o.clientY,n=o.pageX,a=o.pageY,s=o.offsetX,l=o.offsetY,r=o.screenX,m=o.screenY,f=o.layerX,h=o.layerY}function p(o){o._ffix_cx=t,o._ffix_cy=i,o._ffix_px=n,o._ffix_py=a,o._ffix_ox=s,o._ffix_oy=l,o._ffix_sx=r,o._ffix_sy=m,o._ffix_lx=f,o._ffix_ly=h}window.addEventListener("mousemove",v,!0),window.addEventListener("dragover",v,!0),window.addEventListener("dragstart",p,!0),window.addEventListener("drag",p,!0),window.addEventListener("dragend",p,!0);var x=Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),I=Object.getOwnPropertyDescriptors(window.UIEvent.prototype);function u(o,E){return function(){return x[o]&&x[o].get.call(this)||Number(this[E])||0}}function B(o,E){return function(){return this.type==="dragover"&&I[o]?I[o].get.call(this):Number(this[E])||0}}Object.defineProperties(window.DragEvent.prototype,{clientX:{get:u("clientX","_ffix_cx")},clientY:{get:u("clientY","_ffix_cy")},pageX:{get:u("pageX","_ffix_px")},pageY:{get:u("pageY","_ffix_py")},offsetX:{get:u("offsetX","_ffix_ox")},offsetY:{get:u("offsetY","_ffix_oy")},screenX:{get:u("screenX","_ffix_sx")},screenY:{get:u("screenY","_ffix_sy")},x:{get:u("x","_ffix_cx")},y:{get:u("y","_ffix_cy")},layerX:{get:B("layerX","_ffix_lx")},layerY:{get:B("layerY","_ffix_ly")}})})());let e=document.getElementById("hdq_questions_list").getElementsByClassName("hdq_quiz_question");for(let t=0;t<e.length;t++)g.enableDragItem(e[t])},enableDragItem:function(e){e.setAttribute("draggable",!0),e.ondrag=g.handleDrag,e.ondragend=g.handleDrop},handleDrag:function(e){let t=e.target,i=e.clientX,n=e.clientY,a=[document.getElementById("hdq_questions_list")];t.classList.add("drag-sort-active");let s=document.elementFromPoint(i,n)===null?t:document.elementFromPoint(i,n);if(s!==null&&s.getAttribute("draggable")=="true")for(let l=0;l<a.length;l++)s!==null&&a[l]===s.parentNode&&(s=s!==t.nextSibling?s:s.nextSibling,a[l].insertBefore(t,s))},handleDrop:function(e){e.target.classList.remove("drag-sort-active"),document.getElementById("hdq_questions_list").classList.add("hderp")}};var q={init:async function(){console.log("HD Quiz v"+HDQ_VERSION+" init");async function e(){await q.router.init()}await e(),q.form.createEditors()},router:y,form:L,sort:g,images:function(){_hd.images.init()},reload:function(e){let t=e.getAttribute("href");window.location.href.includes(t)&&window.location.reload()}};q.init();window.HDQ=q;})(); 34 34 //# sourceMappingURL=admin_bundled.js.map -
hd-quiz/tags/2.1.0/assets/admin_bundled.js.map
r3487488 r3490226 2 2 "version": 3, 3 3 "sources": ["fetcher.js", "views/dashboard.js", "views/quiz.js", "views/question.js", "views/index.js", "router.js", "form.js", "sort.js", "admin.js"], 4 "sourcesContent": ["export const self = async function (action = \"\", data = {}) {\n\tlet url = await createUrl(action, data);\n\tlet admin_ajax = null;\n\tif (ajaxurl) {\n\t\tadmin_ajax = ajaxurl;\n\t}\n\tif (ajaxurl === null) {\n\t\tconsole.error(\"No ajax url found\");\n\t\treturn;\n\t}\n\n\tconst formdata = new FormData();\n\tformdata.append(\"action\", action);\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformdata.append(key, value);\n\t}\n\tconst nonce = document.getElementById(\"hd_wpnonce\").value;\n\tformdata.append(\"HD_NONCE\", nonce);\n\tlet res = await fetch(admin_ajax, {\n\t\tmethod: \"POST\",\n\t\tcredentials: \"same-origin\",\n\t\tbody: formdata,\n\t});\n\tres = await res.json();\n\treturn res;\n\n\tasync function createUrl(action, data) {\n\t\tlet url = \"\";\n\t\tfor (const k in data) {\n\t\t\turl += \"&\" + k + \"=\" + data[k];\n\t\t}\n\t\treturn `action=${action}` + url;\n\t}\n\n\tfunction create_error_message(data) {\n\t\tconsole.log(data);\n\t}\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the dashboard\");\n\t\tlet data = await self.getData();\n\t\tawait self.render(data);\n\t\t_hd.init();\n\n\t\t// allow ENTER on quiz name creation\n\t\tconst saveEl = document.getElementById(\"hd_save\");\n\t\tsaveEl.setAttribute(\"tabindex\", 0); // wpkses_post sanitize this out\n\t\tdocument.getElementById(\"hdq_quiz_name\").addEventListener(\"keyup\", function (ev) {\n\t\t\tif (ev.key === \"Enter\") {\n\t\t\t\tsaveEl.click();\n\t\t\t}\n\t\t});\n\n\t\t// stop click events on shortcode\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function (ev) {\n\t\t\t\tif (ev.target.tagName == \"CODE\") {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tgetData: async function () {\n\t\tlet data = {};\n\t\treturn await fetcher(\"hdq_get_view_dashboard\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the quiz ID \" + d);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet paged = 1;\n\t\tif (d[1]) {\n\t\t\tpaged = d[1];\n\t\t}\n\t\tlet data = {\n\t\t\tquiz_id: d[0],\n\t\t\tpaged: paged,\n\t\t};\n\t\tconsole.log(data);\n\t\treturn await fetcher(\"hdq_get_view_quiz\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\tself.search.init();\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tdocument.getElementById(\"hdq_copy_shortcode\").addEventListener(\"click\", function () {\n\t\t\tconst el = this;\n\t\t\tif (el.classList.contains(\"active\")) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tel.classList.add(\"active\");\n\t\t\tlet shortcode = el.innerText;\n\t\t\tnavigator.clipboard.writeText(el.innerText);\n\n\t\t\tel.innerText = \"copied to clipboard\";\n\t\t\tsetTimeout(function () {\n\t\t\t\tel.innerText = shortcode;\n\t\t\t\tel.classList.remove(\"active\");\n\t\t\t}, 3000);\n\t\t});\n\n\t\tif (data.type === \"personality\") {\n\t\t\tself.personality.init();\n\t\t}\n\n\t\tHDQ.sort.init();\n\n\t\tself.question_order.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_quiz\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this entire quiz and all attached questions. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuiz(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuiz(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_quiz\", data);\n\t\t\tconsole.log(res);\n\t\t\tHDQ.router.views.dashboard.get(null, []);\n\t\t}\n\t\treturn data;\n\t},\n\tsearch: {\n\t\tinit: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tif (questions.length <= 25) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst searchEl = `<div id = \"hdq_quiz_tabs_search_wrapper\"><span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">Press Enter to confirm your search for question titles. This feature is currently experimental.</div></span></span> <input type = \"search\" placeholder = \"search...\" id = \"hdq_questions_search\"/></div>`;\n\t\t\tdocument.getElementById(\"hdq_quiz_tabs_labels\").insertAdjacentHTML(\"beforeend\", searchEl);\n\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"keyup\", self.search.filter);\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"click\", function () {\n\t\t\t\tif (this.value !== \"\") {\n\t\t\t\t\tthis.value = \"\";\n\t\t\t\t\tself.search.clear();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tfilter: function (ev) {\n\t\t\tif (ev.keyCode !== 13) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst el = document.getElementById(\"hdq_questions_search\");\n\t\t\tif (el.value.length === 0) {\n\t\t\t\tself.search.clear();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (el.value.length >= 3) {\n\t\t\t\tconst v = el.value.toLocaleUpperCase();\n\t\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\t\tlet title = questions[i].getElementsByTagName(\"span\")[1].innerText.toLocaleUpperCase();\n\t\t\t\t\tif (!title.includes(v)) {\n\t\t\t\t\t\tquestions[i].classList.add(\"hdq_hidden\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tclear: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t}\n\t\t},\n\t},\n\tquestion_order: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_question_order = self.question_order.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet data = await self.question_order.getData(field);\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: true,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tgetData: async function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_question\");\n\t\t\tlet data = [];\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tlet question_id = parseInt(questions[i].getAttribute(\"data-id\"));\n\t\t\t\tdata.push(question_id);\n\t\t\t}\n\t\t\treturn data;\n\t\t},\n\t},\n\tpersonality: {\n\t\tsaved: {\n\t\t\thasAdded: false,\n\t\t\thasSaved: false,\n\t\t},\n\t\tinit: function () {\n\t\t\t// set HDFields validation function\n\t\t\t_hd.validate.field.hdq_field_personality_results = self.personality.validate;\n\n\t\t\tdocument.getElementById(\"hdq_add_new_personality_outcome\").addEventListener(\"click\", function () {\n\t\t\t\tself.personality.create();\n\t\t\t});\n\n\t\t\tself.personality.remove.init();\n\n\t\t\tdocument.getElementById(\"hd_save\").addEventListener(\"click\", function (event) {\n\t\t\t\tself.personality.saved.hasSaved = true; // note, not 100% accurate since we are not taking validation into account\n\t\t\t});\n\n\t\t\tdocument.getElementById(\"hdq_add_new_quiz\").addEventListener(\"click\", function (event) {\n\t\t\t\tif (self.personality.saved.hasAdded && !self.personality.saved.hasSaved) {\n\t\t\t\t\tif (document.getElementsByClassName(\"hdq_outcome_label\").length > 1) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tlet status = confirm(\"You have added a new outcome but have not saved. Contunue to adding a new question?\");\n\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\twindow.location = this.href;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tremove: {\n\t\t\tinit: function () {\n\t\t\t\tconst items = document.getElementsByClassName(\"hdq_remove_outcome\");\n\t\t\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\t\t\tthis.parentElement.remove();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tawait tinyMCE.triggerSave();\n\t\t\tconst id = field.getAttribute(\"id\");\n\t\t\tconst data = [];\n\n\t\t\tconst labels = field.getElementsByClassName(\"hdq_outcome_label\");\n\t\t\tconst contents = field.getElementsByClassName(\"hd_editor_input\");\n\t\t\tfor (let i = 0; i < labels.length; i++) {\n\t\t\t\tdata.push({\n\t\t\t\t\tlabel: labels[i].value,\n\t\t\t\t\tid:\n\t\t\t\t\t\tlabels[i].value\n\t\t\t\t\t\t\t.replace(/[`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi, \"\")\n\t\t\t\t\t\t\t.replaceAll(\" \", \"_\")\n\t\t\t\t\t\t\t.toLowerCase() +\n\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\ti, // replace special characters, and ensure unique\n\t\t\t\t\tcontent: contents[i].value,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// make sure each label exists\n\t\t\tlet valid = true;\n\t\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\t\tif (data[i].label == \"\") {\n\t\t\t\t\tvalid = false;\n\t\t\t\t\tlabels[i].classList.add(\"hd_error\");\n\t\t\t\t} else {\n\t\t\t\t\tlabels[i].classList.remove(\"hd_error\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tcreate: function () {\n\t\t\tself.personality.saved.hasAdded = true;\n\t\t\tlet countOutcomes = document.getElementById(\"personality_results\").getElementsByClassName(\"hd_input_item\").length;\n\t\t\tcountOutcomes = String.fromCharCode(countOutcomes + \"A\".charCodeAt(0));\n\t\t\tconst html = `<div class=\"hd_input_item\">\n\t<div class=\"hdq_remove_outcome\" title=\"Remove this outcome\">x</div>\n\t<label class=\"hd_input_label\" for=\"hdq_result_${countOutcomes}\"><span class=\"hd_required_icon\"></span> Outcome title <span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">NOTE: If you rename this outcome, you will need to re-edit your questions to set the correct answer.</div></span></span></label>\n\t<input type=\"text\" data-type=\"text\" data-required=\"required\" class=\"hd_input hdq_outcome_label\" id=\"hdq_result_${countOutcomes}\" value=\"Result ${countOutcomes}\" placeholder=\"Result title...\" data-tab=\"Results\" />\n\n\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-wrap\" class=\"wp-core-ui wp-editor-wrap tmce-active\">\n\t\t<link rel=\"stylesheet\" id=\"dashicons-css\" href=\"https://hdquiz.local/wp-includes/css/dashicons.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<link rel=\"stylesheet\" id=\"editor-buttons-css\" href=\"https://hdquiz.local/wp-includes/css/editor.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-tools\" class=\"wp-editor-tools hide-if-no-js\">\n\t\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-media-buttons\" class=\"wp-media-buttons\">\n\t\t\t\t<button type=\"button\" id=\"insert-media-button\" class=\"button insert-media add_media\" data-editor=\"hdq_result_content_result_${countOutcomes}\"><span class=\"wp-media-buttons-icon\"></span> Add Media</button>\n\t\t\t</div>\n\t\t\t<div class=\"wp-editor-tabs\">\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-tmce\" class=\"wp-switch-editor switch-tmce\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Visual</button>\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-html\" class=\"wp-switch-editor switch-html\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Text</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-container\" class=\"wp-editor-container\">\n\t\t\t<div id=\"qt_hdq_result_content_result_${countOutcomes}_toolbar\" class=\"quicktags-toolbar hide-if-no-js\"></div>\n\t\t\t<textarea\n\t\t\t\tclass=\"hd_input hd_editor_input wp-editor-area\"\n\t\t\t\tstyle=\"height: 240px\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tcols=\"40\"\n\t\t\t\tname=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tid=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tdata-type=\"editor\"\n\t\t\t\tdata-lt-tmp-id=\"lt-8142\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tdata-gramm=\"false\"></textarea>\n\t\t</div>\n\t</div>\n</div>`;\n\t\t\tdocument.getElementById(\"personality_results\").insertAdjacentHTML(\"beforeend\", html);\n\t\t\tHDQ.form.createEditors();\n\t\t\tself.personality.remove.init();\n\t\t},\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\t// d[0] == quiz_id, d[1] == question_id\n\t\tconsole.log(\"getting the question ID \" + d[1]);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet data = {\n\t\t\tquiz_id: parseInt(d[0]),\n\t\t\tquestion_id: parseInt(d[1]),\n\t\t};\n\t\treturn await fetcher(\"hdq_get_view_question\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tself.answers.data.question_id = data.question_id;\n\t\tself.answers.data.quiz_id = data.quiz_id;\n\n\t\tself.answers.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_question\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this question. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuestion(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuestion(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t\tquestion_id: parseInt(el.getAttribute(\"data-id\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_question\", data);\n\t\t\tHDQ.router.views.quiz.get(res.action.data, res.action.data2);\n\n\t\t\tlet state = {\n\t\t\t\tquiz_id: res.action.data2,\n\t\t\t};\n\t\t\thistory.pushState(state, \"\");\n\t\t}\n\t},\n\tupdate: function (question_id) {\n\t\tdocument.getElementById(\"question_id\").value = parseInt(question_id[0]);\n\t\tdocument.getElementById(\"hd_delete_question\").setAttribute(\"data-id\", parseInt(question_id[0]));\n\t},\n\tanswers: {\n\t\tdata: {\n\t\t\tanswers: [],\n\t\t\tquestion_id: 0,\n\t\t\tquiz_id: 0,\n\t\t\tdefaults: {\n\t\t\t\tvalue: \"\",\n\t\t\t\timage: \"\",\n\t\t\t\timageURL: \"\",\n\t\t\t\tselected: \"\",\n\t\t\t\t// set default fields here\n\t\t\t},\n\t\t},\n\t\tinit: function () {\n\t\t\tself.answers.onChangeQuestionType();\n\t\t\tself.fieldAnswers.init();\n\t\t},\n\t\tonChangeQuestionType: function () {\n\t\t\t // when changing question type, get template data\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tif (!questionTypeEl) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tquestionTypeEl.addEventListener(\"change\", async function () {\n\t\t\t\tself.answers.changeQuestionType(this);\n\t\t\t});\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tif (questionTypeEl.options[0].selected) {\n\t\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\t}\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t}, 10);\n\t\t},\n\t\tchangeQuestionType: async function (el) {\n\t\t\tdocument.getElementById(\"hdq_loading\").classList.add(\"active\");\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tlet type = el.value;\n\n\t\t\t// don't allow \"no selection\"\n\t\t\tif (type === \"\" || type === null) {\n\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet data = {\n\t\t\t\tquestion_type: type,\n\t\t\t\tquestion_id: self.answers.data.question_id,\n\t\t\t\tquiz_id: self.answers.data.quiz_id,\n\t\t\t};\n\n\t\t\t// store current answer data\n\t\t\tself.answers.data.answers = await self.answers.getAnswerData();\n\n\t\t\t// update with new question type content\n\t\t\tdata = await fetcher(\"hdq_get_question_type\", data);\n\t\t\tif (data.status && data.status === \"success\") {\n\t\t\t\tdocument.getElementById(\"question_answers\").innerHTML = data.html;\n\t\t\t\tif (data.action && data.action.name) {\n\t\t\t\t\tconsole.log(\"running action \" + data.action.name);\n\t\t\t\t\tHDQ[data.action.name]();\n\t\t\t\t}\n\n\t\t\t\t// attempt to set answer data from stored\n\t\t\t\tself.answers.setAnswerData(self.answers);\n\t\t\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t\t\t} else {\n\t\t\t\t// something went wrong\n\t\t\t\tconsole.log(data);\n\t\t\t}\n\t\t},\n\t\tgetAnswerData: async function (field = document.getElementById(\"question_answers\")) {\n\t\t\tconst rows = field.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tif (rows.length === 0) {\n\t\t\t\treturn [[], false];\n\t\t\t}\n\n\t\t\tlet answers = [];\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tlet answer = JSON.parse(JSON.stringify(self.answers.data.defaults));\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\tif (items[ii].checked) {\n\t\t\t\t\t\t\tanswer[type] = \"yes\";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\tanswer[type] = items[ii].getAttribute(\"data-value\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanswer[type] = items[ii].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tanswers.push(answer);\n\t\t\t}\n\n\t\t\tlet answers_clean = [];\n\t\t\tfor (let i = 0; i < answers.length; i++) {\n\t\t\t\tif (answers[i].value && answers[i].value !== \"\") {\n\t\t\t\t\tanswers_clean.push(answers[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [answers_clean, true];\n\t\t},\n\t\tsetAnswerData: async function () {\n\t\t\tlet answers = self.answers.data.answers[0];\n\t\t\tif (answers.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rows = document.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (answers[i] && answers[i][type]) {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\t\titems[ii].checked = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\t\titems[ii].setAttribute(\"data-value\", answers[i][type]);\n\t\t\t\t\t\t\t\tif (type === \"image\") {\n\t\t\t\t\t\t\t\t\titems[ii].innerHTML = \"\";\n\t\t\t\t\t\t\t\t\titems[ii].insertAdjacentElement(\"beforeend\", answers[i].imageURL);\n\t\t\t\t\t\t\t\t\titems[ii].nextElementSibling.classList.add(\"active\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titems[ii].value = answers[i][type];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tfieldAnswers: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_answers = self.fieldAnswers.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet valid = true;\n\t\t\tlet dataArr = await self.answers.getAnswerData(field);\n\t\t\tlet data = dataArr[0];\n\t\t\tif (dataArr[1]) {\n\t\t\t\tif (data.length == 0) {\n\t\t\t\t\tvalid = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t},\n};\n", "import { self as dashboard } from \"./dashboard.js\";\nimport { self as quiz } from \"./quiz.js\";\nimport { self as question } from \"./question.js\";\n\nexport const views = {\n\tdashboard: dashboard,\n\tquiz: quiz,\n\tquestion: question,\n\treload: {\n\t\tget: function (data) {\n\t\t\tlocation.reload(true);\n\t\t},\n\t},\n};\n", "import { views } from \"./views/index.js\";\n\nexport const router = {\n\tviews: views,\n\tinit: async function () {\n\t\tawait router.getView();\n\t\twindow.addEventListener(\"hashchange\", async function () {\n\t\t\trouter.getView();\n\t\t});\n\t},\n\tgetHash: async function () {\n\t\tlet hash = window.location.hash;\n\t\tif (hash.length == 0) {\n\t\t\thash = \"#/dashboard\";\n\t\t}\n\t\treturn hash;\n\t},\n\tgetView: async function (d = null) {\n\t\tlet hash = await router.getHash();\n\t\thash = hash.replaceAll(\"#/\", \"\");\n\n\t\td = hash.split(\"/\");\n\t\td.shift();\n\t\thash = hash.split(\"/\")[0];\n\t\tif (views[hash]) {\n\t\t\trouter.views[hash].get(hash, d);\n\t\t} else {\n\t\t\tconsole.error(\"HD Quiz: View \" + hash + \" could not be found\");\n\t\t}\n\n\t\tconst loader = document.getElementById(\"hdq_loading\");\n\t\tloader.classList.add(\"active\");\n\n\t\treturn hash;\n\t},\n};\n", "export const form = {\n\ttabs: function () {\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_tab\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\tremoveActiveClass();\n\t\t\t\tthis.classList.add(\"hdq_quiz_tab_active\");\n\t\t\t\tlet id = this.getAttribute(\"data-id\");\n\t\t\t\tdocument.getElementById(id).classList.add(\"hdq_tab_content_active\");\n\t\t\t});\n\t\t}\n\n\t\tfunction removeActiveClass() {\n\t\t\tlet activeNav = document.getElementsByClassName(\"hdq_quiz_tab_active\");\n\t\t\twhile (activeNav.length > 0) {\n\t\t\t\tactiveNav[0].classList.remove(\"hdq_quiz_tab_active\");\n\t\t\t}\n\n\t\t\tlet activeContent = document.getElementsByClassName(\"hdq_tab_content_active\");\n\t\t\twhile (activeContent.length > 0) {\n\t\t\t\tactiveContent[0].classList.remove(\"hdq_tab_content_active\");\n\t\t\t}\n\t\t}\n\t},\n\tcreateEditors: function () {\n\t\t// destroy old editors so we can re-init\n\t\tlet editors = document.getElementsByClassName(\"hd_editor_input\");\n\t\tfor (let i = 0; i < editors.length; i++) {\n\t\t\tlet eID = editors[i].getAttribute(\"id\");\n\t\t\ttinyMCE.execCommand(\"mceRemoveEditor\", false, eID);\n\t\t}\n\n\t\tsetTimeout(initTINYMCE, 1600); // give it some time to load in first\n\n\t\tfunction initTINYMCE() {\n\t\t\ttinyMCE.init({\n\t\t\t\tmode: \"textareas\",\n\t\t\t\trelative_urls: false,\n\t\t\t\tremove_script_host: false,\n\t\t\t\tconvert_urls: false,\n\t\t\t\tbrowser_spellcheck: true,\n\t\t\t\tentity_encoding: \"raw\",\n\t\t\t\tkeep_styles: false,\n\t\t\t\tresize: true,\n\t\t\t\tcontent_style: \"body { height: 100vh; min-height: 120px }\",\n\t\t\t\tmenubar: false,\n\t\t\t\tbranding: false,\n\t\t\t\twpeditimage_html5_captions: true,\n\t\t\t\tplugins: \"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview\",\n\t\t\t\twpautop: true,\n\t\t\t\tindent: false,\n\t\t\t\ttoolbar1: \"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv\",\n\t\t\t\ttoolbar2: \"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help\",\n\t\t\t\ttoolbar3: \"\",\n\t\t\t\ttoolbar4: \"\",\n\t\t\t\ttabfocus_elements: \"content-html,save-post\",\n\t\t\t\twp_autoresize_on: false,\n\t\t\t\tadd_unload_trigger: false,\n\t\t\t\tblock_formats: \"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code\",\n\t\t\t});\n\t\t}\n\t},\n};\n", "export const sort = {\n\tFFhasInit: false,\n\tinit: function () {\n\t\t/* \n\t\t\t** Come on Firefox! Be better!! **\n\t\t\tpatch for Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tNeeded to get clientX and Y position during drag events\n\t\t*/\n\t\tif (!sort.FFhasInit) {\n\t\t\tsort.FFhasInit = true;\n\t\t\tif (/Firefox\\/\\d+[\\d\\.]*/.test(navigator.userAgent) && typeof window.DragEvent === \"function\" && typeof window.addEventListener === \"function\")\n\t\t\t\t(function () {\n\t\t\t\t\tvar cx, cy, px, py, ox, oy, sx, sy, lx, ly;\n\t\t\t\t\tfunction update(e) {\n\t\t\t\t\t\tcx = e.clientX;\n\t\t\t\t\t\tcy = e.clientY;\n\t\t\t\t\t\tpx = e.pageX;\n\t\t\t\t\t\tpy = e.pageY;\n\t\t\t\t\t\tox = e.offsetX;\n\t\t\t\t\t\toy = e.offsetY;\n\t\t\t\t\t\tsx = e.screenX;\n\t\t\t\t\t\tsy = e.screenY;\n\t\t\t\t\t\tlx = e.layerX;\n\t\t\t\t\t\tly = e.layerY;\n\t\t\t\t\t}\n\t\t\t\t\tfunction assign(e) {\n\t\t\t\t\t\te._ffix_cx = cx;\n\t\t\t\t\t\te._ffix_cy = cy;\n\t\t\t\t\t\te._ffix_px = px;\n\t\t\t\t\t\te._ffix_py = py;\n\t\t\t\t\t\te._ffix_ox = ox;\n\t\t\t\t\t\te._ffix_oy = oy;\n\t\t\t\t\t\te._ffix_sx = sx;\n\t\t\t\t\t\te._ffix_sy = sy;\n\t\t\t\t\t\te._ffix_lx = lx;\n\t\t\t\t\t\te._ffix_ly = ly;\n\t\t\t\t\t}\n\t\t\t\t\twindow.addEventListener(\"mousemove\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragover\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragstart\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"drag\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"dragend\", assign, true);\n\n\t\t\t\t\tvar me = Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),\n\t\t\t\t\t\tue = Object.getOwnPropertyDescriptors(window.UIEvent.prototype);\n\t\t\t\t\tfunction getter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn (me[prop] && me[prop].get.call(this)) || Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tfunction layerGetter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn this.type === \"dragover\" && ue[prop] ? ue[prop].get.call(this) : Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tObject.defineProperties(window.DragEvent.prototype, {\n\t\t\t\t\t\tclientX: { get: getter(\"clientX\", \"_ffix_cx\") },\n\t\t\t\t\t\tclientY: { get: getter(\"clientY\", \"_ffix_cy\") },\n\t\t\t\t\t\tpageX: { get: getter(\"pageX\", \"_ffix_px\") },\n\t\t\t\t\t\tpageY: { get: getter(\"pageY\", \"_ffix_py\") },\n\t\t\t\t\t\toffsetX: { get: getter(\"offsetX\", \"_ffix_ox\") },\n\t\t\t\t\t\toffsetY: { get: getter(\"offsetY\", \"_ffix_oy\") },\n\t\t\t\t\t\tscreenX: { get: getter(\"screenX\", \"_ffix_sx\") },\n\t\t\t\t\t\tscreenY: { get: getter(\"screenY\", \"_ffix_sy\") },\n\t\t\t\t\t\tx: { get: getter(\"x\", \"_ffix_cx\") },\n\t\t\t\t\t\ty: { get: getter(\"y\", \"_ffix_cy\") },\n\t\t\t\t\t\tlayerX: { get: layerGetter(\"layerX\", \"_ffix_lx\") },\n\t\t\t\t\t\tlayerY: { get: layerGetter(\"layerY\", \"_ffix_ly\") },\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t}\n\n\t\tconst el = document.getElementById(\"hdq_questions_list\").getElementsByClassName(\"hdq_quiz_question\");\n\t\tfor (let i = 0; i < el.length; i++) {\n\t\t\tsort.enableDragItem(el[i]);\n\t\t}\n\t},\n\tenableDragItem: function (item) {\n\t\titem.setAttribute(\"draggable\", true);\n\t\titem.ondrag = sort.handleDrag;\n\t\titem.ondragend = sort.handleDrop;\n\t},\n\thandleDrag: function (item) {\n\t\tconst selectedItem = item.target,\n\t\t\tx = item.clientX,\n\t\t\ty = item.clientY;\n\n\t\tlet parents = [document.getElementById(\"hdq_questions_list\")];\n\t\tselectedItem.classList.add(\"drag-sort-active\");\n\t\tlet swapItem = document.elementFromPoint(x, y) === null ? selectedItem : document.elementFromPoint(x, y);\n\t\tif (swapItem === null) {\n\t\t\treturn;\n\t\t}\n\t\tif (swapItem.getAttribute(\"draggable\") != \"true\") {\n\t\t\treturn;\n\t\t}\n\t\tfor (let i = 0; i < parents.length; i++) {\n\t\t\tif (swapItem === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (parents[i] === swapItem.parentNode) {\n\t\t\t\tswapItem = swapItem !== selectedItem.nextSibling ? swapItem : swapItem.nextSibling;\n\t\t\t\tparents[i].insertBefore(selectedItem, swapItem);\n\t\t\t}\n\t\t}\n\t},\n\thandleDrop: function (item) {\n\t\titem.target.classList.remove(\"drag-sort-active\");\n\t\tdocument.getElementById(\"hdq_questions_list\").classList.add(\"hderp\"); // alow question_orders to save.\n\t},\n};\n", "import { router } from \"./router.js\";\nimport { form } from \"./form.js\";\nimport { sort } from \"./sort.js\";\n\nconst HDQ = {\n\tinit: async function () {\n\t\tconsole.log(\"HD Quiz v\" + HDQ_VERSION + \" init\");\n\n\t\tasync function render() {\n\t\t\tawait HDQ.router.init();\n\t\t}\n\t\tawait render();\n\t\tHDQ.form.createEditors();\n\t},\n\trouter: router,\n\tform: form,\n\tsort: sort,\n\timages: function () {\n\t\t_hd.images.init();\n\t},\n\treload: function (el) {\n\t\tlet l = el.getAttribute(\"href\");\n\t\tlet c = window.location.href;\n\t\tif (c.includes(l)) {\n\t\t\twindow.location.reload();\n\t\t}\n\t},\n};\nHDQ.init();\n\nwindow.HDQ = HDQ;\n"],5 "mappings": "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",4 "sourcesContent": ["export const self = async function (action = \"\", data = {}) {\n\tlet url = await createUrl(action, data);\n\tlet admin_ajax = null;\n\tif (ajaxurl) {\n\t\tadmin_ajax = ajaxurl;\n\t}\n\tif (ajaxurl === null) {\n\t\tconsole.error(\"No ajax url found\");\n\t\treturn;\n\t}\n\n\tconst formdata = new FormData();\n\tformdata.append(\"action\", action);\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformdata.append(key, value);\n\t}\n\tconst nonce = document.getElementById(\"hd_wpnonce\").value;\n\tformdata.append(\"HD_NONCE\", nonce);\n\tlet res = await fetch(admin_ajax, {\n\t\tmethod: \"POST\",\n\t\tcredentials: \"same-origin\",\n\t\tbody: formdata,\n\t});\n\tres = await res.json();\n\treturn res;\n\n\tasync function createUrl(action, data) {\n\t\tlet url = \"\";\n\t\tfor (const k in data) {\n\t\t\turl += \"&\" + k + \"=\" + data[k];\n\t\t}\n\t\treturn `action=${action}` + url;\n\t}\n\n\tfunction create_error_message(data) {\n\t\tconsole.log(data);\n\t}\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the dashboard\");\n\t\tlet data = await self.getData();\n\t\tawait self.render(data);\n\t\t_hd.init();\n\n\t\t// allow ENTER on quiz name creation\n\t\tconst saveEl = document.getElementById(\"hd_save\");\n\t\tsaveEl.setAttribute(\"tabindex\", 0); // wpkses_post sanitize this out\n\t\tdocument.getElementById(\"hdq_quiz_name\").addEventListener(\"keyup\", function (ev) {\n\t\t\tif (ev.key === \"Enter\") {\n\t\t\t\tsaveEl.click();\n\t\t\t}\n\t\t});\n\n\t\t// stop click events on shortcode\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function (ev) {\n\t\t\t\tif (ev.target.tagName == \"CODE\") {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tgetData: async function () {\n\t\tlet data = {};\n\t\treturn await fetcher(\"hdq_get_view_dashboard\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the quiz ID \" + d);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet paged = 1;\n\t\tif (d[1]) {\n\t\t\tpaged = d[1];\n\t\t}\n\t\tlet data = {\n\t\t\tquiz_id: d[0],\n\t\t\tpaged: paged,\n\t\t};\n\t\tconsole.log(data);\n\t\treturn await fetcher(\"hdq_get_view_quiz\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\tself.search.init();\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tdocument.getElementById(\"hdq_copy_shortcode\").addEventListener(\"click\", function () {\n\t\t\tconst el = this;\n\t\t\tif (el.classList.contains(\"active\")) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tel.classList.add(\"active\");\n\t\t\tlet shortcode = el.innerText;\n\t\t\tnavigator.clipboard.writeText(el.innerText);\n\n\t\t\tel.innerText = \"copied to clipboard\";\n\t\t\tsetTimeout(function () {\n\t\t\t\tel.innerText = shortcode;\n\t\t\t\tel.classList.remove(\"active\");\n\t\t\t}, 3000);\n\t\t});\n\n\t\tif (data.type === \"personality\") {\n\t\t\tself.personality.init();\n\t\t}\n\n\t\tHDQ.sort.init();\n\n\t\tself.question_order.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_quiz\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this entire quiz and all attached questions. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuiz(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuiz(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_quiz\", data);\n\t\t\tconsole.log(res);\n\t\t\tHDQ.router.views.dashboard.get(null, []);\n\t\t}\n\t\treturn data;\n\t},\n\tsearch: {\n\t\tinit: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tif (questions.length <= 25) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst searchEl = `<div id = \"hdq_quiz_tabs_search_wrapper\"><span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">Press Enter to confirm your search for question titles. This feature is currently experimental.</div></span></span> <input type = \"search\" placeholder = \"search...\" id = \"hdq_questions_search\"/></div>`;\n\t\t\tdocument.getElementById(\"hdq_quiz_tabs_labels\").insertAdjacentHTML(\"beforeend\", searchEl);\n\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"keyup\", self.search.filter);\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"click\", function () {\n\t\t\t\tif (this.value !== \"\") {\n\t\t\t\t\tthis.value = \"\";\n\t\t\t\t\tself.search.clear();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tfilter: function (ev) {\n\t\t\tif (ev.keyCode !== 13) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst el = document.getElementById(\"hdq_questions_search\");\n\t\t\tif (el.value.length === 0) {\n\t\t\t\tself.search.clear();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (el.value.length >= 3) {\n\t\t\t\tconst v = el.value.toLocaleUpperCase();\n\t\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\t\tlet title = questions[i].getElementsByTagName(\"span\")[1].innerText.toLocaleUpperCase();\n\t\t\t\t\tif (!title.includes(v)) {\n\t\t\t\t\t\tquestions[i].classList.add(\"hdq_hidden\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tclear: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t}\n\t\t},\n\t},\n\tquestion_order: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_question_order = self.question_order.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet data = await self.question_order.getData(field);\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: true,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tgetData: async function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_question\");\n\t\t\tlet data = [];\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tlet question_id = parseInt(questions[i].getAttribute(\"data-id\"));\n\t\t\t\tdata.push(question_id);\n\t\t\t}\n\t\t\treturn data;\n\t\t},\n\t},\n\tpersonality: {\n\t\tsaved: {\n\t\t\thasAdded: false,\n\t\t\thasSaved: false,\n\t\t},\n\t\tinit: function () {\n\t\t\t// set HDFields validation function\n\t\t\t_hd.validate.field.hdq_field_personality_results = self.personality.validate;\n\n\t\t\tdocument.getElementById(\"hdq_add_new_personality_outcome\").addEventListener(\"click\", function () {\n\t\t\t\tself.personality.create();\n\t\t\t});\n\n\t\t\tself.personality.remove.init();\n\n\t\t\tdocument.getElementById(\"hd_save\").addEventListener(\"click\", function (event) {\n\t\t\t\tself.personality.saved.hasSaved = true; // note, not 100% accurate since we are not taking validation into account\n\t\t\t});\n\n\t\t\tdocument.getElementById(\"hdq_add_new_quiz\").addEventListener(\"click\", function (event) {\n\t\t\t\tif (self.personality.saved.hasAdded && !self.personality.saved.hasSaved) {\n\t\t\t\t\tif (document.getElementsByClassName(\"hdq_outcome_label\").length > 1) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tlet status = confirm(\"You have added a new outcome but have not saved. Contunue to adding a new question?\");\n\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\twindow.location = this.href;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tremove: {\n\t\t\tinit: function () {\n\t\t\t\tconst items = document.getElementsByClassName(\"hdq_remove_outcome\");\n\t\t\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\t\t\tthis.parentElement.remove();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tawait tinyMCE.triggerSave();\n\t\t\tconst id = field.getAttribute(\"id\");\n\t\t\tconst data = [];\n\n\t\t\tconst labels = field.getElementsByClassName(\"hdq_outcome_label\");\n\t\t\tconst contents = field.getElementsByClassName(\"hd_editor_input\");\n\t\t\tfor (let i = 0; i < labels.length; i++) {\n\t\t\t\tdata.push({\n\t\t\t\t\tlabel: labels[i].value,\n\t\t\t\t\tid:\n\t\t\t\t\t\tlabels[i].value\n\t\t\t\t\t\t\t.replace(/[`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi, \"\")\n\t\t\t\t\t\t\t.replaceAll(\" \", \"_\")\n\t\t\t\t\t\t\t.toLowerCase() +\n\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\ti, // replace special characters, and ensure unique\n\t\t\t\t\tcontent: contents[i].value,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// make sure each label exists\n\t\t\tlet valid = true;\n\t\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\t\tif (data[i].label == \"\") {\n\t\t\t\t\tvalid = false;\n\t\t\t\t\tlabels[i].classList.add(\"hd_error\");\n\t\t\t\t} else {\n\t\t\t\t\tlabels[i].classList.remove(\"hd_error\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tcreate: function () {\n\t\t\tself.personality.saved.hasAdded = true;\n\t\t\tlet countOutcomes = document.getElementById(\"personality_results\").getElementsByClassName(\"hd_input_item\").length;\n\t\t\tcountOutcomes = String.fromCharCode(countOutcomes + \"A\".charCodeAt(0));\n\t\t\tconst html = `<div class=\"hd_input_item\">\n\t<div class=\"hdq_remove_outcome\" title=\"Remove this outcome\">x</div>\n\t<label class=\"hd_input_label\" for=\"hdq_result_${countOutcomes}\"><span class=\"hd_required_icon\"></span> Outcome title <span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">NOTE: If you rename this outcome, you will need to re-edit your questions to set the correct answer.</div></span></span></label>\n\t<input type=\"text\" data-type=\"text\" data-required=\"required\" class=\"hd_input hdq_outcome_label\" id=\"hdq_result_${countOutcomes}\" value=\"Result ${countOutcomes}\" placeholder=\"Result title...\" data-tab=\"Results\" />\n\n\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-wrap\" class=\"wp-core-ui wp-editor-wrap tmce-active\">\n\t\t<link rel=\"stylesheet\" id=\"dashicons-css\" href=\"https://hdquiz.local/wp-includes/css/dashicons.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<link rel=\"stylesheet\" id=\"editor-buttons-css\" href=\"https://hdquiz.local/wp-includes/css/editor.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-tools\" class=\"wp-editor-tools hide-if-no-js\">\n\t\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-media-buttons\" class=\"wp-media-buttons\">\n\t\t\t\t<button type=\"button\" id=\"insert-media-button\" class=\"button insert-media add_media\" data-editor=\"hdq_result_content_result_${countOutcomes}\"><span class=\"wp-media-buttons-icon\"></span> Add Media</button>\n\t\t\t</div>\n\t\t\t<div class=\"wp-editor-tabs\">\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-tmce\" class=\"wp-switch-editor switch-tmce\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Visual</button>\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-html\" class=\"wp-switch-editor switch-html\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Text</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-container\" class=\"wp-editor-container\">\n\t\t\t<div id=\"qt_hdq_result_content_result_${countOutcomes}_toolbar\" class=\"quicktags-toolbar hide-if-no-js\"></div>\n\t\t\t<textarea\n\t\t\t\tclass=\"hd_input hd_editor_input wp-editor-area\"\n\t\t\t\tstyle=\"height: 240px\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tcols=\"40\"\n\t\t\t\tname=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tid=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tdata-type=\"editor\"\n\t\t\t\tdata-lt-tmp-id=\"lt-8142\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tdata-gramm=\"false\"></textarea>\n\t\t</div>\n\t</div>\n</div>`;\n\t\t\tdocument.getElementById(\"personality_results\").insertAdjacentHTML(\"beforeend\", html);\n\t\t\tHDQ.form.createEditors();\n\t\t\tself.personality.remove.init();\n\t\t},\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\t// d[0] == quiz_id, d[1] == question_id\n\t\tconsole.log(\"getting the question ID \" + d[1]);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet data = {\n\t\t\tquiz_id: parseInt(d[0]),\n\t\t\tquestion_id: parseInt(d[1]),\n\t\t};\n\t\treturn await fetcher(\"hdq_get_view_question\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tself.answers.data.question_id = data.question_id;\n\t\tself.answers.data.quiz_id = data.quiz_id;\n\n\t\tself.answers.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_question\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this question. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuestion(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuestion(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t\tquestion_id: parseInt(el.getAttribute(\"data-id\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_question\", data);\n\t\t\tHDQ.router.views.quiz.get(res.action.data, res.action.data2);\n\n\t\t\tlet state = {\n\t\t\t\tquiz_id: res.action.data2,\n\t\t\t};\n\t\t\thistory.pushState(state, \"\");\n\t\t}\n\t},\n\tupdate: function (question_id) {\n\t\tdocument.getElementById(\"question_id\").value = parseInt(question_id[0]);\n\t\tdocument.getElementById(\"hd_delete_question\").setAttribute(\"data-id\", parseInt(question_id[0]));\n\t},\n\tanswers: {\n\t\tdata: {\n\t\t\tanswers: [],\n\t\t\tquestion_id: 0,\n\t\t\tquiz_id: 0,\n\t\t\tdefaults: {\n\t\t\t\tvalue: \"\",\n\t\t\t\timage: \"\",\n\t\t\t\timageURL: \"\",\n\t\t\t\tselected: \"\",\n\t\t\t\t// set default fields here\n\t\t\t},\n\t\t},\n\t\tinit: function () {\n\t\t\tself.answers.onChangeQuestionType();\n\t\t\tself.fieldAnswers.init();\n\t\t},\n\t\tonChangeQuestionType: function () {\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tif (!questionTypeEl) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdocument.getElementById(\"weighted0\").addEventListener(\"change\", async function () {\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t});\n\n\t\t\tquestionTypeEl.addEventListener(\"change\", async function () {\n\t\t\t\tself.answers.changeQuestionType(this);\n\t\t\t});\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tif (questionTypeEl.options[0].selected) {\n\t\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\t}\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t}, 10);\n\t\t},\n\t\tchangeQuestionType: async function (el) {\n\t\t\tdocument.getElementById(\"hdq_loading\").classList.add(\"active\");\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tlet type = el.value;\n\n\t\t\t// don't allow \"no selection\"\n\t\t\tif (type === \"\" || type === null) {\n\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet data = {\n\t\t\t\tquestion_type: type,\n\t\t\t\tweighted: document.getElementById(\"weighted0\").checked,\n\t\t\t\tquestion_id: self.answers.data.question_id,\n\t\t\t\tquiz_id: self.answers.data.quiz_id,\n\t\t\t};\n\n\t\t\t// store current answer data\n\t\t\tself.answers.data.answers = await self.answers.getAnswerData();\n\t\t\t// update with new question type content\n\t\t\tdata = await fetcher(\"hdq_get_question_type\", data);\n\t\t\tif (data.status && data.status === \"success\") {\n\t\t\t\tdocument.getElementById(\"question_answers\").innerHTML = data.html;\n\t\t\t\tif (data.action && data.action.name) {\n\t\t\t\t\tconsole.log(\"running action \" + data.action.name);\n\t\t\t\t\tHDQ[data.action.name]();\n\t\t\t\t}\n\n\t\t\t\t// attempt to set answer data from stored\n\t\t\t\tself.answers.setAnswerData(self.answers);\n\t\t\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t\t\t} else {\n\t\t\t\t// something went wrong\n\t\t\t\tconsole.log(data);\n\t\t\t}\n\t\t},\n\t\tgetAnswerData: async function (field = document.getElementById(\"question_answers\")) {\n\t\t\tconst rows = field.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tif (rows.length === 0) {\n\t\t\t\treturn [[], false];\n\t\t\t}\n\n\t\t\tlet answers = [];\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tlet answer = JSON.parse(JSON.stringify(self.answers.data.defaults));\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\tif (items[ii].checked) {\n\t\t\t\t\t\t\tanswer[type] = \"yes\";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\tanswer[type] = items[ii].getAttribute(\"data-value\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanswer[type] = items[ii].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tanswers.push(answer);\n\t\t\t}\n\n\t\t\tlet answers_clean = [];\n\t\t\tfor (let i = 0; i < answers.length; i++) {\n\t\t\t\tif (answers[i].value && answers[i].value !== \"\") {\n\t\t\t\t\tanswers_clean.push(answers[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [answers_clean, true];\n\t\t},\n\t\tsetAnswerData: async function () {\n\t\t\treturn; // disable for weighted questions to avoid conflicts\n\n\t\t\tlet answers = self.answers.data.answers[0];\n\t\t\tif (answers.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rows = document.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (answers[i] && answers[i][type]) {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\t\titems[ii].checked = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\t\titems[ii].setAttribute(\"data-value\", answers[i][type]);\n\t\t\t\t\t\t\t\tif (type === \"image\" && answers[i].imageURL !== \"\") {\n\t\t\t\t\t\t\t\t\titems[ii].innerHTML = \"\";\n\t\t\t\t\t\t\t\t\titems[ii].insertAdjacentElement(\"beforeend\", answers[i].imageURL);\n\t\t\t\t\t\t\t\t\titems[ii].nextElementSibling.classList.add(\"active\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titems[ii].value = answers[i][type];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tfieldAnswers: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_answers = self.fieldAnswers.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet valid = true;\n\t\t\tlet dataArr = await self.answers.getAnswerData(field);\n\t\t\tlet data = dataArr[0];\n\t\t\tif (dataArr[1]) {\n\t\t\t\tif (data.length == 0) {\n\t\t\t\t\tvalid = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t},\n};\n", "import { self as dashboard } from \"./dashboard.js\";\nimport { self as quiz } from \"./quiz.js\";\nimport { self as question } from \"./question.js\";\n\nexport const views = {\n\tdashboard: dashboard,\n\tquiz: quiz,\n\tquestion: question,\n\treload: {\n\t\tget: function (data) {\n\t\t\tlocation.reload(true);\n\t\t},\n\t},\n};\n", "import { views } from \"./views/index.js\";\n\nexport const router = {\n\tviews: views,\n\tinit: async function () {\n\t\tawait router.getView();\n\t\twindow.addEventListener(\"hashchange\", async function () {\n\t\t\trouter.getView();\n\t\t});\n\t},\n\tgetHash: async function () {\n\t\tlet hash = window.location.hash;\n\t\tif (hash.length == 0) {\n\t\t\thash = \"#/dashboard\";\n\t\t}\n\t\treturn hash;\n\t},\n\tgetView: async function (d = null) {\n\t\tlet hash = await router.getHash();\n\t\thash = hash.replaceAll(\"#/\", \"\");\n\n\t\td = hash.split(\"/\");\n\t\td.shift();\n\t\thash = hash.split(\"/\")[0];\n\t\tif (views[hash]) {\n\t\t\trouter.views[hash].get(hash, d);\n\t\t} else {\n\t\t\tconsole.error(\"HD Quiz: View \" + hash + \" could not be found\");\n\t\t}\n\n\t\tconst loader = document.getElementById(\"hdq_loading\");\n\t\tloader.classList.add(\"active\");\n\n\t\treturn hash;\n\t},\n};\n", "export const form = {\n\ttabs: function () {\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_tab\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\tremoveActiveClass();\n\t\t\t\tthis.classList.add(\"hdq_quiz_tab_active\");\n\t\t\t\tlet id = this.getAttribute(\"data-id\");\n\t\t\t\tdocument.getElementById(id).classList.add(\"hdq_tab_content_active\");\n\t\t\t});\n\t\t}\n\n\t\tfunction removeActiveClass() {\n\t\t\tlet activeNav = document.getElementsByClassName(\"hdq_quiz_tab_active\");\n\t\t\twhile (activeNav.length > 0) {\n\t\t\t\tactiveNav[0].classList.remove(\"hdq_quiz_tab_active\");\n\t\t\t}\n\n\t\t\tlet activeContent = document.getElementsByClassName(\"hdq_tab_content_active\");\n\t\t\twhile (activeContent.length > 0) {\n\t\t\t\tactiveContent[0].classList.remove(\"hdq_tab_content_active\");\n\t\t\t}\n\t\t}\n\t},\n\tcreateEditors: function () {\n\t\t// destroy old editors so we can re-init\n\t\tlet editors = document.getElementsByClassName(\"hd_editor_input\");\n\t\tfor (let i = 0; i < editors.length; i++) {\n\t\t\tlet eID = editors[i].getAttribute(\"id\");\n\t\t\ttinyMCE.execCommand(\"mceRemoveEditor\", false, eID);\n\t\t}\n\n\t\tsetTimeout(initTINYMCE, 1600); // give it some time to load in first\n\n\t\tfunction initTINYMCE() {\n\t\t\ttinyMCE.init({\n\t\t\t\tmode: \"textareas\",\n\t\t\t\trelative_urls: false,\n\t\t\t\tremove_script_host: false,\n\t\t\t\tconvert_urls: false,\n\t\t\t\tbrowser_spellcheck: true,\n\t\t\t\tentity_encoding: \"raw\",\n\t\t\t\tkeep_styles: false,\n\t\t\t\tresize: true,\n\t\t\t\tcontent_style: \"body { height: 100vh; min-height: 120px }\",\n\t\t\t\tmenubar: false,\n\t\t\t\tbranding: false,\n\t\t\t\twpeditimage_html5_captions: true,\n\t\t\t\tplugins: \"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview\",\n\t\t\t\twpautop: true,\n\t\t\t\tindent: false,\n\t\t\t\ttoolbar1: \"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv\",\n\t\t\t\ttoolbar2: \"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help\",\n\t\t\t\ttoolbar3: \"\",\n\t\t\t\ttoolbar4: \"\",\n\t\t\t\ttabfocus_elements: \"content-html,save-post\",\n\t\t\t\twp_autoresize_on: false,\n\t\t\t\tadd_unload_trigger: false,\n\t\t\t\tblock_formats: \"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code\",\n\t\t\t});\n\t\t}\n\t},\n};\n", "export const sort = {\n\tFFhasInit: false,\n\tinit: function () {\n\t\t/* \n\t\t\t** Come on Firefox! Be better!! **\n\t\t\tpatch for Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tNeeded to get clientX and Y position during drag events\n\t\t*/\n\t\tif (!sort.FFhasInit) {\n\t\t\tsort.FFhasInit = true;\n\t\t\tif (/Firefox\\/\\d+[\\d\\.]*/.test(navigator.userAgent) && typeof window.DragEvent === \"function\" && typeof window.addEventListener === \"function\")\n\t\t\t\t(function () {\n\t\t\t\t\tvar cx, cy, px, py, ox, oy, sx, sy, lx, ly;\n\t\t\t\t\tfunction update(e) {\n\t\t\t\t\t\tcx = e.clientX;\n\t\t\t\t\t\tcy = e.clientY;\n\t\t\t\t\t\tpx = e.pageX;\n\t\t\t\t\t\tpy = e.pageY;\n\t\t\t\t\t\tox = e.offsetX;\n\t\t\t\t\t\toy = e.offsetY;\n\t\t\t\t\t\tsx = e.screenX;\n\t\t\t\t\t\tsy = e.screenY;\n\t\t\t\t\t\tlx = e.layerX;\n\t\t\t\t\t\tly = e.layerY;\n\t\t\t\t\t}\n\t\t\t\t\tfunction assign(e) {\n\t\t\t\t\t\te._ffix_cx = cx;\n\t\t\t\t\t\te._ffix_cy = cy;\n\t\t\t\t\t\te._ffix_px = px;\n\t\t\t\t\t\te._ffix_py = py;\n\t\t\t\t\t\te._ffix_ox = ox;\n\t\t\t\t\t\te._ffix_oy = oy;\n\t\t\t\t\t\te._ffix_sx = sx;\n\t\t\t\t\t\te._ffix_sy = sy;\n\t\t\t\t\t\te._ffix_lx = lx;\n\t\t\t\t\t\te._ffix_ly = ly;\n\t\t\t\t\t}\n\t\t\t\t\twindow.addEventListener(\"mousemove\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragover\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragstart\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"drag\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"dragend\", assign, true);\n\n\t\t\t\t\tvar me = Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),\n\t\t\t\t\t\tue = Object.getOwnPropertyDescriptors(window.UIEvent.prototype);\n\t\t\t\t\tfunction getter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn (me[prop] && me[prop].get.call(this)) || Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tfunction layerGetter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn this.type === \"dragover\" && ue[prop] ? ue[prop].get.call(this) : Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tObject.defineProperties(window.DragEvent.prototype, {\n\t\t\t\t\t\tclientX: { get: getter(\"clientX\", \"_ffix_cx\") },\n\t\t\t\t\t\tclientY: { get: getter(\"clientY\", \"_ffix_cy\") },\n\t\t\t\t\t\tpageX: { get: getter(\"pageX\", \"_ffix_px\") },\n\t\t\t\t\t\tpageY: { get: getter(\"pageY\", \"_ffix_py\") },\n\t\t\t\t\t\toffsetX: { get: getter(\"offsetX\", \"_ffix_ox\") },\n\t\t\t\t\t\toffsetY: { get: getter(\"offsetY\", \"_ffix_oy\") },\n\t\t\t\t\t\tscreenX: { get: getter(\"screenX\", \"_ffix_sx\") },\n\t\t\t\t\t\tscreenY: { get: getter(\"screenY\", \"_ffix_sy\") },\n\t\t\t\t\t\tx: { get: getter(\"x\", \"_ffix_cx\") },\n\t\t\t\t\t\ty: { get: getter(\"y\", \"_ffix_cy\") },\n\t\t\t\t\t\tlayerX: { get: layerGetter(\"layerX\", \"_ffix_lx\") },\n\t\t\t\t\t\tlayerY: { get: layerGetter(\"layerY\", \"_ffix_ly\") },\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t}\n\n\t\tconst el = document.getElementById(\"hdq_questions_list\").getElementsByClassName(\"hdq_quiz_question\");\n\t\tfor (let i = 0; i < el.length; i++) {\n\t\t\tsort.enableDragItem(el[i]);\n\t\t}\n\t},\n\tenableDragItem: function (item) {\n\t\titem.setAttribute(\"draggable\", true);\n\t\titem.ondrag = sort.handleDrag;\n\t\titem.ondragend = sort.handleDrop;\n\t},\n\thandleDrag: function (item) {\n\t\tconst selectedItem = item.target,\n\t\t\tx = item.clientX,\n\t\t\ty = item.clientY;\n\n\t\tlet parents = [document.getElementById(\"hdq_questions_list\")];\n\t\tselectedItem.classList.add(\"drag-sort-active\");\n\t\tlet swapItem = document.elementFromPoint(x, y) === null ? selectedItem : document.elementFromPoint(x, y);\n\t\tif (swapItem === null) {\n\t\t\treturn;\n\t\t}\n\t\tif (swapItem.getAttribute(\"draggable\") != \"true\") {\n\t\t\treturn;\n\t\t}\n\t\tfor (let i = 0; i < parents.length; i++) {\n\t\t\tif (swapItem === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (parents[i] === swapItem.parentNode) {\n\t\t\t\tswapItem = swapItem !== selectedItem.nextSibling ? swapItem : swapItem.nextSibling;\n\t\t\t\tparents[i].insertBefore(selectedItem, swapItem);\n\t\t\t}\n\t\t}\n\t},\n\thandleDrop: function (item) {\n\t\titem.target.classList.remove(\"drag-sort-active\");\n\t\tdocument.getElementById(\"hdq_questions_list\").classList.add(\"hderp\"); // alow question_orders to save.\n\t},\n};\n", "import { router } from \"./router.js\";\nimport { form } from \"./form.js\";\nimport { sort } from \"./sort.js\";\n\nconst HDQ = {\n\tinit: async function () {\n\t\tconsole.log(\"HD Quiz v\" + HDQ_VERSION + \" init\");\n\n\t\tasync function render() {\n\t\t\tawait HDQ.router.init();\n\t\t}\n\t\tawait render();\n\t\tHDQ.form.createEditors();\n\t},\n\trouter: router,\n\tform: form,\n\tsort: sort,\n\timages: function () {\n\t\t_hd.images.init();\n\t},\n\treload: function (el) {\n\t\tlet l = el.getAttribute(\"href\");\n\t\tlet c = window.location.href;\n\t\tif (c.includes(l)) {\n\t\t\twindow.location.reload();\n\t\t}\n\t},\n};\nHDQ.init();\n\nwindow.HDQ = HDQ;\n"], 5 "mappings": "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", 6 6 "names": ["self", "action", "data", "url", "createUrl", "admin_ajax", "formdata", "key", "value", "nonce", "res", "k", "create_error_message", "self", "action", "d", "data", "saveEl", "ev", "items", "i", "self", "action", "d", "data", "paged", "el", "shortcode", "delete_el", "deleteQuiz", "res", "ev", "v", "questions", "i", "field", "question_id", "event", "items", "id", "labels", "contents", "valid", "countOutcomes", "html", "self", "action", "d", "data", "delete_el", "deleteQuestion", "el", "res", "state", "question_id", "questionTypeEl", "event", "type", "field", "rows", "answers", "i", "answer", "items", "ii", "answers_clean", "valid", "dataArr", "views", "self", "data", "router", "views", "hash", "d", "form", "items", "removeActiveClass", "id", "activeNav", "activeContent", "editors", "eID", "initTINYMCE", "sort", "cx", "cy", "px", "py", "ox", "oy", "sx", "sy", "lx", "ly", "update", "e", "assign", "me", "ue", "getter", "prop", "repl", "layerGetter", "el", "i", "item", "selectedItem", "x", "y", "parents", "swapItem", "HDQ", "render", "router", "form", "sort", "el", "l"] 7 7 } -
hd-quiz/tags/2.1.0/includes/admin-pages.php
r3487488 r3490226 8 8 wp_enqueue_script("hdfields", plugins_url('../hdfields/script.js', __FILE__), array(), HDFIELDS_VERSION); 9 9 wp_enqueue_style("hdq_admin", plugins_url('../assets/admin.css', __FILE__), array(), HDQ_PLUGIN_VERSION); 10 //wp_enqueue_script('hdq_admin', plugins_url('../assets/admin_bundled.js', __FILE__), array(), HDQ_PLUGIN_VERSION);11 wp_enqueue_script_module('hdq_admin', plugins_url('../assets/admin.js', __FILE__), array(), HDQ_PLUGIN_VERSION);10 wp_enqueue_script('hdq_admin', plugins_url('../assets/admin_bundled.js', __FILE__), array(), HDQ_PLUGIN_VERSION); 11 // wp_enqueue_script_module('hdq_admin', plugins_url('../assets/admin.js', __FILE__), array(), HDQ_PLUGIN_VERSION); 12 12 13 13 $hdq_version = sanitize_text_field(get_option('HDQ_PLUGIN_VERSION')); -
hd-quiz/trunk/assets/admin_bundled.js
r3264167 r3490226 31 31 </div> 32 32 </div> 33 </div>`;document.getElementById("personality_results").insertAdjacentHTML("beforeend",t),HDQ.form.createEditors(),d.personality.remove.init()}}};var c={get:async function(e,t=null){console.log("getting the question ID "+t[1]);let i=await c.getData(t);await c.render(i)},getData:async function(e){let t={quiz_id:parseInt(e[0]),question_id:parseInt(e[1])};return await _("hdq_get_view_question",t)},render:async function(e){document.getElementById("hdq_content").innerHTML=e.html,document.getElementById("hdq_content").scrollTo(0,0),document.getElementById("hdq_loading").classList.remove("active"),_hd.init(),HDQ.form.createEditors(),HDQ.form.tabs(),c.answers.data.question_id=e.question_id,c.answers.data.quiz_id=e.quiz_id,c.answers.init();let t=document.getElementById("hd_delete_question");if(!t)return;t.addEventListener("click",async function(){confirm("You are about to delete this question. Continue?")&&i(this)});async function i(n){let a={quiz_id:parseInt(n.getAttribute("data-quiz")),question_id:parseInt(n.getAttribute("data-id"))},s=await _("hdq_delete_question",a);HDQ.router.views.quiz.get(s.action.data,s.action.data2);let l={quiz_id:s.action.data2};history.pushState(l,"")}},update:function(e){document.getElementById("question_id").value=parseInt(e[0]),document.getElementById("hd_delete_question").setAttribute("data-id",parseInt(e[0]))},answers:{data:{answers:[],question_id:0,quiz_id:0,defaults:{value:"",image:"",imageURL:"",selected:""}},init:function(){c.answers.onChangeQuestionType(),c.fieldAnswers.init()},onChangeQuestionType:function(){let e=document.getElementById("question_type");e&&( e.addEventListener("change",async function(){c.answers.changeQuestionType(this)}),setTimeout(function(){e.options[0].selected&&(e.options[1].selected=!0);let t=new Event("change");e.dispatchEvent(t)},10))},changeQuestionType:async function(e){document.getElementById("hdq_loading").classList.add("active");let t=document.getElementById("question_type"),i=e.value;if(i===""||i===null){t.options[1].selected=!0;let a=new Event("change");t.dispatchEvent(a);return}let n={question_type:i,question_id:c.answers.data.question_id,quiz_id:c.answers.data.quiz_id};c.answers.data.answers=await c.answers.getAnswerData(),n=await _("hdq_get_question_type",n),n.status&&n.status==="success"?(document.getElementById("question_answers").innerHTML=n.html,n.action&&n.action.name&&(console.log("running action "+n.action.name),HDQ[n.action.name]()),c.answers.setAnswerData(c.answers),document.getElementById("hdq_loading").classList.remove("active")):console.log(n)},getAnswerData:async function(e=document.getElementById("question_answers")){let t=e.getElementsByClassName("hdq_answer_row");if(t.length===0)return[[],!1];let i=[];for(let a=0;a<t.length;a++){let s=JSON.parse(JSON.stringify(c.answers.data.defaults)),l=t[a].getElementsByClassName("hdq_answer_item_input");for(let r=0;r<l.length;r++){let m=l[r].getAttribute("data-answer-type");l[r].getAttribute("type")=="checkbox"?l[r].checked&&(s[m]="yes"):l[r].getAttribute("data-value")?s[m]=l[r].getAttribute("data-value"):s[m]=l[r].value}i.push(s)}let n=[];for(let a=0;a<i.length;a++)i[a].value&&i[a].value!==""&&n.push(i[a]);return[n,!0]},setAnswerData:async function(){let e=c.answers.data.answers[0];if(e.length===0)return;let t=document.getElementsByClassName("hdq_answer_row");for(let i=0;i<t.length;i++){let n=t[i].getElementsByClassName("hdq_answer_item_input");for(let a=0;a<n.length;a++){let s=n[a].getAttribute("data-answer-type");e[i]&&e[i][s]&&(n[a].getAttribute("type")=="checkbox"?n[a].checked=!0:n[a].getAttribute("data-value")?(n[a].setAttribute("data-value",e[i][s]),s==="image"&&(n[a].innerHTML="",n[a].insertAdjacentElement("beforeend",e[i].imageURL),n[a].nextElementSibling.classList.add("active"))):n[a].value=e[i][s])}}}},fieldAnswers:{init:function(){_hd.validate.field.hdq_field_answers=c.fieldAnswers.validate},validate:async function(e){let t=!0,i=await c.answers.getAnswerData(e),n=i[0];return i[1]&&n.length==0&&(t=!1),{value:n,status:t}}}};var b={dashboard:w,quiz:d,question:c,reload:{get:function(e){location.reload(!0)}}};var y={views:b,init:async function(){await y.getView(),window.addEventListener("hashchange",async function(){y.getView()})},getHash:async function(){let e=window.location.hash;return e.length==0&&(e="#/dashboard"),e},getView:async function(e=null){let t=await y.getHash();return t=t.replaceAll("#/",""),e=t.split("/"),e.shift(),t=t.split("/")[0],b[t]?y.views[t].get(t,e):console.error("HD Quiz: View "+t+" could not be found"),document.getElementById("hdq_loading").classList.add("active"),t}};var L={tabs:function(){let e=document.getElementsByClassName("hdq_quiz_tab");for(let i=0;i<e.length;i++)e[i].addEventListener("click",function(){t(),this.classList.add("hdq_quiz_tab_active");let n=this.getAttribute("data-id");document.getElementById(n).classList.add("hdq_tab_content_active")});function t(){let i=document.getElementsByClassName("hdq_quiz_tab_active");for(;i.length>0;)i[0].classList.remove("hdq_quiz_tab_active");let n=document.getElementsByClassName("hdq_tab_content_active");for(;n.length>0;)n[0].classList.remove("hdq_tab_content_active")}},createEditors:function(){let e=document.getElementsByClassName("hd_editor_input");for(let i=0;i<e.length;i++){let n=e[i].getAttribute("id");tinyMCE.execCommand("mceRemoveEditor",!1,n)}setTimeout(t,1600);function t(){tinyMCE.init({mode:"textareas",relative_urls:!1,remove_script_host:!1,convert_urls:!1,browser_spellcheck:!0,entity_encoding:"raw",keep_styles:!1,resize:!0,content_style:"body { height: 100vh; min-height: 120px }",menubar:!1,branding:!1,wpeditimage_html5_captions:!0,plugins:"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview",wpautop:!0,indent:!1,toolbar1:"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv",toolbar2:"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help",toolbar3:"",toolbar4:"",tabfocus_elements:"content-html,save-post",wp_autoresize_on:!1,add_unload_trigger:!1,block_formats:"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code"})}}};var g={FFhasInit:!1,init:function(){g.FFhasInit||(g.FFhasInit=!0,/Firefox\/\d+[\d\.]*/.test(navigator.userAgent)&&typeof window.DragEvent=="function"&&typeof window.addEventListener=="function"&&function(){var t,i,n,a,s,l,r,m,f,h;function v(o){t=o.clientX,i=o.clientY,n=o.pageX,a=o.pageY,s=o.offsetX,l=o.offsetY,r=o.screenX,m=o.screenY,f=o.layerX,h=o.layerY}function p(o){o._ffix_cx=t,o._ffix_cy=i,o._ffix_px=n,o._ffix_py=a,o._ffix_ox=s,o._ffix_oy=l,o._ffix_sx=r,o._ffix_sy=m,o._ffix_lx=f,o._ffix_ly=h}window.addEventListener("mousemove",v,!0),window.addEventListener("dragover",v,!0),window.addEventListener("dragstart",p,!0),window.addEventListener("drag",p,!0),window.addEventListener("dragend",p,!0);var x=Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),I=Object.getOwnPropertyDescriptors(window.UIEvent.prototype);function u(o,E){return function(){return x[o]&&x[o].get.call(this)||Number(this[E])||0}}function B(o,E){return function(){return this.type==="dragover"&&I[o]?I[o].get.call(this):Number(this[E])||0}}Object.defineProperties(window.DragEvent.prototype,{clientX:{get:u("clientX","_ffix_cx")},clientY:{get:u("clientY","_ffix_cy")},pageX:{get:u("pageX","_ffix_px")},pageY:{get:u("pageY","_ffix_py")},offsetX:{get:u("offsetX","_ffix_ox")},offsetY:{get:u("offsetY","_ffix_oy")},screenX:{get:u("screenX","_ffix_sx")},screenY:{get:u("screenY","_ffix_sy")},x:{get:u("x","_ffix_cx")},y:{get:u("y","_ffix_cy")},layerX:{get:B("layerX","_ffix_lx")},layerY:{get:B("layerY","_ffix_ly")}})}());let e=document.getElementById("hdq_questions_list").getElementsByClassName("hdq_quiz_question");for(let t=0;t<e.length;t++)g.enableDragItem(e[t])},enableDragItem:function(e){e.setAttribute("draggable",!0),e.ondrag=g.handleDrag,e.ondragend=g.handleDrop},handleDrag:function(e){let t=e.target,i=e.clientX,n=e.clientY,a=[document.getElementById("hdq_questions_list")];t.classList.add("drag-sort-active");let s=document.elementFromPoint(i,n)===null?t:document.elementFromPoint(i,n);if(s!==null&&s.getAttribute("draggable")=="true")for(let l=0;l<a.length;l++)s!==null&&a[l]===s.parentNode&&(s=s!==t.nextSibling?s:s.nextSibling,a[l].insertBefore(t,s))},handleDrop:function(e){e.target.classList.remove("drag-sort-active"),document.getElementById("hdq_questions_list").classList.add("hderp")}};var q={init:async function(){console.log("HD Quiz v"+HDQ_VERSION+" init");async function e(){await q.router.init()}await e(),q.form.createEditors()},router:y,form:L,sort:g,images:function(){_hd.images.init()},reload:function(e){let t=e.getAttribute("href");window.location.href.includes(t)&&window.location.reload()}};q.init();window.HDQ=q;})();33 </div>`;document.getElementById("personality_results").insertAdjacentHTML("beforeend",t),HDQ.form.createEditors(),d.personality.remove.init()}}};var c={get:async function(e,t=null){console.log("getting the question ID "+t[1]);let i=await c.getData(t);await c.render(i)},getData:async function(e){let t={quiz_id:parseInt(e[0]),question_id:parseInt(e[1])};return await _("hdq_get_view_question",t)},render:async function(e){document.getElementById("hdq_content").innerHTML=e.html,document.getElementById("hdq_content").scrollTo(0,0),document.getElementById("hdq_loading").classList.remove("active"),_hd.init(),HDQ.form.createEditors(),HDQ.form.tabs(),c.answers.data.question_id=e.question_id,c.answers.data.quiz_id=e.quiz_id,c.answers.init();let t=document.getElementById("hd_delete_question");if(!t)return;t.addEventListener("click",async function(){confirm("You are about to delete this question. Continue?")&&i(this)});async function i(n){let a={quiz_id:parseInt(n.getAttribute("data-quiz")),question_id:parseInt(n.getAttribute("data-id"))},s=await _("hdq_delete_question",a);HDQ.router.views.quiz.get(s.action.data,s.action.data2);let l={quiz_id:s.action.data2};history.pushState(l,"")}},update:function(e){document.getElementById("question_id").value=parseInt(e[0]),document.getElementById("hd_delete_question").setAttribute("data-id",parseInt(e[0]))},answers:{data:{answers:[],question_id:0,quiz_id:0,defaults:{value:"",image:"",imageURL:"",selected:""}},init:function(){c.answers.onChangeQuestionType(),c.fieldAnswers.init()},onChangeQuestionType:function(){let e=document.getElementById("question_type");e&&(document.getElementById("weighted0").addEventListener("change",async function(){let t=new Event("change");e.dispatchEvent(t)}),e.addEventListener("change",async function(){c.answers.changeQuestionType(this)}),setTimeout(function(){e.options[0].selected&&(e.options[1].selected=!0);let t=new Event("change");e.dispatchEvent(t)},10))},changeQuestionType:async function(e){document.getElementById("hdq_loading").classList.add("active");let t=document.getElementById("question_type"),i=e.value;if(i===""||i===null){t.options[1].selected=!0;let a=new Event("change");t.dispatchEvent(a);return}let n={question_type:i,weighted:document.getElementById("weighted0").checked,question_id:c.answers.data.question_id,quiz_id:c.answers.data.quiz_id};c.answers.data.answers=await c.answers.getAnswerData(),n=await _("hdq_get_question_type",n),n.status&&n.status==="success"?(document.getElementById("question_answers").innerHTML=n.html,n.action&&n.action.name&&(console.log("running action "+n.action.name),HDQ[n.action.name]()),c.answers.setAnswerData(c.answers),document.getElementById("hdq_loading").classList.remove("active")):console.log(n)},getAnswerData:async function(e=document.getElementById("question_answers")){let t=e.getElementsByClassName("hdq_answer_row");if(t.length===0)return[[],!1];let i=[];for(let a=0;a<t.length;a++){let s=JSON.parse(JSON.stringify(c.answers.data.defaults)),l=t[a].getElementsByClassName("hdq_answer_item_input");for(let r=0;r<l.length;r++){let m=l[r].getAttribute("data-answer-type");l[r].getAttribute("type")=="checkbox"?l[r].checked&&(s[m]="yes"):l[r].getAttribute("data-value")?s[m]=l[r].getAttribute("data-value"):s[m]=l[r].value}i.push(s)}let n=[];for(let a=0;a<i.length;a++)i[a].value&&i[a].value!==""&&n.push(i[a]);return[n,!0]},setAnswerData:async function(){}},fieldAnswers:{init:function(){_hd.validate.field.hdq_field_answers=c.fieldAnswers.validate},validate:async function(e){let t=!0,i=await c.answers.getAnswerData(e),n=i[0];return i[1]&&n.length==0&&(t=!1),{value:n,status:t}}}};var b={dashboard:w,quiz:d,question:c,reload:{get:function(e){location.reload(!0)}}};var y={views:b,init:async function(){await y.getView(),window.addEventListener("hashchange",async function(){y.getView()})},getHash:async function(){let e=window.location.hash;return e.length==0&&(e="#/dashboard"),e},getView:async function(e=null){let t=await y.getHash();return t=t.replaceAll("#/",""),e=t.split("/"),e.shift(),t=t.split("/")[0],b[t]?y.views[t].get(t,e):console.error("HD Quiz: View "+t+" could not be found"),document.getElementById("hdq_loading").classList.add("active"),t}};var L={tabs:function(){let e=document.getElementsByClassName("hdq_quiz_tab");for(let i=0;i<e.length;i++)e[i].addEventListener("click",function(){t(),this.classList.add("hdq_quiz_tab_active");let n=this.getAttribute("data-id");document.getElementById(n).classList.add("hdq_tab_content_active")});function t(){let i=document.getElementsByClassName("hdq_quiz_tab_active");for(;i.length>0;)i[0].classList.remove("hdq_quiz_tab_active");let n=document.getElementsByClassName("hdq_tab_content_active");for(;n.length>0;)n[0].classList.remove("hdq_tab_content_active")}},createEditors:function(){let e=document.getElementsByClassName("hd_editor_input");for(let i=0;i<e.length;i++){let n=e[i].getAttribute("id");tinyMCE.execCommand("mceRemoveEditor",!1,n)}setTimeout(t,1600);function t(){tinyMCE.init({mode:"textareas",relative_urls:!1,remove_script_host:!1,convert_urls:!1,browser_spellcheck:!0,entity_encoding:"raw",keep_styles:!1,resize:!0,content_style:"body { height: 100vh; min-height: 120px }",menubar:!1,branding:!1,wpeditimage_html5_captions:!0,plugins:"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview",wpautop:!0,indent:!1,toolbar1:"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv",toolbar2:"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help",toolbar3:"",toolbar4:"",tabfocus_elements:"content-html,save-post",wp_autoresize_on:!1,add_unload_trigger:!1,block_formats:"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code"})}}};var g={FFhasInit:!1,init:function(){g.FFhasInit||(g.FFhasInit=!0,/Firefox\/\d+[\d\.]*/.test(navigator.userAgent)&&typeof window.DragEvent=="function"&&typeof window.addEventListener=="function"&&(function(){var t,i,n,a,s,l,r,m,f,h;function v(o){t=o.clientX,i=o.clientY,n=o.pageX,a=o.pageY,s=o.offsetX,l=o.offsetY,r=o.screenX,m=o.screenY,f=o.layerX,h=o.layerY}function p(o){o._ffix_cx=t,o._ffix_cy=i,o._ffix_px=n,o._ffix_py=a,o._ffix_ox=s,o._ffix_oy=l,o._ffix_sx=r,o._ffix_sy=m,o._ffix_lx=f,o._ffix_ly=h}window.addEventListener("mousemove",v,!0),window.addEventListener("dragover",v,!0),window.addEventListener("dragstart",p,!0),window.addEventListener("drag",p,!0),window.addEventListener("dragend",p,!0);var x=Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),I=Object.getOwnPropertyDescriptors(window.UIEvent.prototype);function u(o,E){return function(){return x[o]&&x[o].get.call(this)||Number(this[E])||0}}function B(o,E){return function(){return this.type==="dragover"&&I[o]?I[o].get.call(this):Number(this[E])||0}}Object.defineProperties(window.DragEvent.prototype,{clientX:{get:u("clientX","_ffix_cx")},clientY:{get:u("clientY","_ffix_cy")},pageX:{get:u("pageX","_ffix_px")},pageY:{get:u("pageY","_ffix_py")},offsetX:{get:u("offsetX","_ffix_ox")},offsetY:{get:u("offsetY","_ffix_oy")},screenX:{get:u("screenX","_ffix_sx")},screenY:{get:u("screenY","_ffix_sy")},x:{get:u("x","_ffix_cx")},y:{get:u("y","_ffix_cy")},layerX:{get:B("layerX","_ffix_lx")},layerY:{get:B("layerY","_ffix_ly")}})})());let e=document.getElementById("hdq_questions_list").getElementsByClassName("hdq_quiz_question");for(let t=0;t<e.length;t++)g.enableDragItem(e[t])},enableDragItem:function(e){e.setAttribute("draggable",!0),e.ondrag=g.handleDrag,e.ondragend=g.handleDrop},handleDrag:function(e){let t=e.target,i=e.clientX,n=e.clientY,a=[document.getElementById("hdq_questions_list")];t.classList.add("drag-sort-active");let s=document.elementFromPoint(i,n)===null?t:document.elementFromPoint(i,n);if(s!==null&&s.getAttribute("draggable")=="true")for(let l=0;l<a.length;l++)s!==null&&a[l]===s.parentNode&&(s=s!==t.nextSibling?s:s.nextSibling,a[l].insertBefore(t,s))},handleDrop:function(e){e.target.classList.remove("drag-sort-active"),document.getElementById("hdq_questions_list").classList.add("hderp")}};var q={init:async function(){console.log("HD Quiz v"+HDQ_VERSION+" init");async function e(){await q.router.init()}await e(),q.form.createEditors()},router:y,form:L,sort:g,images:function(){_hd.images.init()},reload:function(e){let t=e.getAttribute("href");window.location.href.includes(t)&&window.location.reload()}};q.init();window.HDQ=q;})(); 34 34 //# sourceMappingURL=admin_bundled.js.map -
hd-quiz/trunk/assets/admin_bundled.js.map
r3264167 r3490226 2 2 "version": 3, 3 3 "sources": ["fetcher.js", "views/dashboard.js", "views/quiz.js", "views/question.js", "views/index.js", "router.js", "form.js", "sort.js", "admin.js"], 4 "sourcesContent": ["export const self = async function (action = \"\", data = {}) {\n\tlet url = await createUrl(action, data);\n\tlet admin_ajax = null;\n\tif (ajaxurl) {\n\t\tadmin_ajax = ajaxurl;\n\t}\n\tif (ajaxurl === null) {\n\t\tconsole.error(\"No ajax url found\");\n\t\treturn;\n\t}\n\n\tconst formdata = new FormData();\n\tformdata.append(\"action\", action);\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformdata.append(key, value);\n\t}\n\tconst nonce = document.getElementById(\"hd_wpnonce\").value;\n\tformdata.append(\"HD_NONCE\", nonce);\n\tlet res = await fetch(admin_ajax, {\n\t\tmethod: \"POST\",\n\t\tcredentials: \"same-origin\",\n\t\tbody: formdata,\n\t});\n\tres = await res.json();\n\treturn res;\n\n\tasync function createUrl(action, data) {\n\t\tlet url = \"\";\n\t\tfor (const k in data) {\n\t\t\turl += \"&\" + k + \"=\" + data[k];\n\t\t}\n\t\treturn `action=${action}` + url;\n\t}\n\n\tfunction create_error_message(data) {\n\t\tconsole.log(data);\n\t}\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the dashboard\");\n\t\tlet data = await self.getData();\n\t\tawait self.render(data);\n\t\t_hd.init();\n\n\t\t// allow ENTER on quiz name creation\n\t\tconst saveEl = document.getElementById(\"hd_save\");\n\t\tsaveEl.setAttribute(\"tabindex\", 0); // wpkses_post sanitize this out\n\t\tdocument.getElementById(\"hdq_quiz_name\").addEventListener(\"keyup\", function (ev) {\n\t\t\tif (ev.key === \"Enter\") {\n\t\t\t\tsaveEl.click();\n\t\t\t}\n\t\t});\n\n\t\t// stop click events on shortcode\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function (ev) {\n\t\t\t\tif (ev.target.tagName == \"CODE\") {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tgetData: async function () {\n\t\tlet data = {};\n\t\treturn await fetcher(\"hdq_get_view_dashboard\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the quiz ID \" + d);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet paged = 1;\n\t\tif (d[1]) {\n\t\t\tpaged = d[1];\n\t\t}\n\t\tlet data = {\n\t\t\tquiz_id: d[0],\n\t\t\tpaged: paged,\n\t\t};\n\t\tconsole.log(data);\n\t\treturn await fetcher(\"hdq_get_view_quiz\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\tself.search.init();\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tdocument.getElementById(\"hdq_copy_shortcode\").addEventListener(\"click\", function () {\n\t\t\tconst el = this;\n\t\t\tif (el.classList.contains(\"active\")) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tel.classList.add(\"active\");\n\t\t\tlet shortcode = el.innerText;\n\t\t\tnavigator.clipboard.writeText(el.innerText);\n\n\t\t\tel.innerText = \"copied to clipboard\";\n\t\t\tsetTimeout(function () {\n\t\t\t\tel.innerText = shortcode;\n\t\t\t\tel.classList.remove(\"active\");\n\t\t\t}, 3000);\n\t\t});\n\n\t\tif (data.type === \"personality\") {\n\t\t\tself.personality.init();\n\t\t}\n\n\t\tHDQ.sort.init();\n\n\t\tself.question_order.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_quiz\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this entire quiz and all attached questions. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuiz(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuiz(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_quiz\", data);\n\t\t\tconsole.log(res);\n\t\t\tHDQ.router.views.dashboard.get(null, []);\n\t\t}\n\t\treturn data;\n\t},\n\tsearch: {\n\t\tinit: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tif (questions.length <= 25) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst searchEl = `<div id = \"hdq_quiz_tabs_search_wrapper\"><span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">Press Enter to confirm your search for question titles. This feature is currently experimental.</div></span></span> <input type = \"search\" placeholder = \"search...\" id = \"hdq_questions_search\"/></div>`;\n\t\t\tdocument.getElementById(\"hdq_quiz_tabs_labels\").insertAdjacentHTML(\"beforeend\", searchEl);\n\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"keyup\", self.search.filter);\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"click\", function () {\n\t\t\t\tif (this.value !== \"\") {\n\t\t\t\t\tthis.value = \"\";\n\t\t\t\t\tself.search.clear();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tfilter: function (ev) {\n\t\t\tif (ev.keyCode !== 13) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst el = document.getElementById(\"hdq_questions_search\");\n\t\t\tif (el.value.length === 0) {\n\t\t\t\tself.search.clear();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (el.value.length >= 3) {\n\t\t\t\tconst v = el.value.toLocaleUpperCase();\n\t\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\t\tlet title = questions[i].getElementsByTagName(\"span\")[1].innerText.toLocaleUpperCase();\n\t\t\t\t\tif (!title.includes(v)) {\n\t\t\t\t\t\tquestions[i].classList.add(\"hdq_hidden\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tclear: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t}\n\t\t},\n\t},\n\tquestion_order: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_question_order = self.question_order.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet data = await self.question_order.getData(field);\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: true,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tgetData: async function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_question\");\n\t\t\tlet data = [];\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tlet question_id = parseInt(questions[i].getAttribute(\"data-id\"));\n\t\t\t\tdata.push(question_id);\n\t\t\t}\n\t\t\treturn data;\n\t\t},\n\t},\n\tpersonality: {\n\t\tsaved: {\n\t\t\thasAdded: false,\n\t\t\thasSaved: false,\n\t\t},\n\t\tinit: function () {\n\t\t\t// set HDFields validation function\n\t\t\t_hd.validate.field.hdq_field_personality_results = self.personality.validate;\n\n\t\t\tdocument.getElementById(\"hdq_add_new_personality_outcome\").addEventListener(\"click\", function () {\n\t\t\t\tself.personality.create();\n\t\t\t});\n\n\t\t\tself.personality.remove.init();\n\n\t\t\tdocument.getElementById(\"hd_save\").addEventListener(\"click\", function (event) {\n\t\t\t\tself.personality.saved.hasSaved = true; // note, not 100% accurate since we are not taking validation into account\n\t\t\t});\n\n\t\t\tdocument.getElementById(\"hdq_add_new_quiz\").addEventListener(\"click\", function (event) {\n\t\t\t\tif (self.personality.saved.hasAdded && !self.personality.saved.hasSaved) {\n\t\t\t\t\tif (document.getElementsByClassName(\"hdq_outcome_label\").length > 1) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tlet status = confirm(\"You have added a new outcome but have not saved. Contunue to adding a new question?\");\n\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\twindow.location = this.href;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tremove: {\n\t\t\tinit: function () {\n\t\t\t\tconst items = document.getElementsByClassName(\"hdq_remove_outcome\");\n\t\t\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\t\t\tthis.parentElement.remove();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tawait tinyMCE.triggerSave();\n\t\t\tconst id = field.getAttribute(\"id\");\n\t\t\tconst data = [];\n\n\t\t\tconst labels = field.getElementsByClassName(\"hdq_outcome_label\");\n\t\t\tconst contents = field.getElementsByClassName(\"hd_editor_input\");\n\t\t\tfor (let i = 0; i < labels.length; i++) {\n\t\t\t\tdata.push({\n\t\t\t\t\tlabel: labels[i].value,\n\t\t\t\t\tid:\n\t\t\t\t\t\tlabels[i].value\n\t\t\t\t\t\t\t.replace(/[`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi, \"\")\n\t\t\t\t\t\t\t.replaceAll(\" \", \"_\")\n\t\t\t\t\t\t\t.toLowerCase() +\n\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\ti, // replace special characters, and ensure unique\n\t\t\t\t\tcontent: contents[i].value,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// make sure each label exists\n\t\t\tlet valid = true;\n\t\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\t\tif (data[i].label == \"\") {\n\t\t\t\t\tvalid = false;\n\t\t\t\t\tlabels[i].classList.add(\"hd_error\");\n\t\t\t\t} else {\n\t\t\t\t\tlabels[i].classList.remove(\"hd_error\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tcreate: function () {\n\t\t\tself.personality.saved.hasAdded = true;\n\t\t\tlet countOutcomes = document.getElementById(\"personality_results\").getElementsByClassName(\"hd_input_item\").length;\n\t\t\tcountOutcomes = String.fromCharCode(countOutcomes + \"A\".charCodeAt(0));\n\t\t\tconst html = `<div class=\"hd_input_item\">\n\t<div class=\"hdq_remove_outcome\" title=\"Remove this outcome\">x</div>\n\t<label class=\"hd_input_label\" for=\"hdq_result_${countOutcomes}\"><span class=\"hd_required_icon\"></span> Outcome title <span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">NOTE: If you rename this outcome, you will need to re-edit your questions to set the correct answer.</div></span></span></label>\n\t<input type=\"text\" data-type=\"text\" data-required=\"required\" class=\"hd_input hdq_outcome_label\" id=\"hdq_result_${countOutcomes}\" value=\"Result ${countOutcomes}\" placeholder=\"Result title...\" data-tab=\"Results\" />\n\n\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-wrap\" class=\"wp-core-ui wp-editor-wrap tmce-active\">\n\t\t<link rel=\"stylesheet\" id=\"dashicons-css\" href=\"https://hdquiz.local/wp-includes/css/dashicons.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<link rel=\"stylesheet\" id=\"editor-buttons-css\" href=\"https://hdquiz.local/wp-includes/css/editor.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-tools\" class=\"wp-editor-tools hide-if-no-js\">\n\t\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-media-buttons\" class=\"wp-media-buttons\">\n\t\t\t\t<button type=\"button\" id=\"insert-media-button\" class=\"button insert-media add_media\" data-editor=\"hdq_result_content_result_${countOutcomes}\"><span class=\"wp-media-buttons-icon\"></span> Add Media</button>\n\t\t\t</div>\n\t\t\t<div class=\"wp-editor-tabs\">\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-tmce\" class=\"wp-switch-editor switch-tmce\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Visual</button>\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-html\" class=\"wp-switch-editor switch-html\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Text</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-container\" class=\"wp-editor-container\">\n\t\t\t<div id=\"qt_hdq_result_content_result_${countOutcomes}_toolbar\" class=\"quicktags-toolbar hide-if-no-js\"></div>\n\t\t\t<textarea\n\t\t\t\tclass=\"hd_input hd_editor_input wp-editor-area\"\n\t\t\t\tstyle=\"height: 240px\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tcols=\"40\"\n\t\t\t\tname=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tid=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tdata-type=\"editor\"\n\t\t\t\tdata-lt-tmp-id=\"lt-8142\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tdata-gramm=\"false\"></textarea>\n\t\t</div>\n\t</div>\n</div>`;\n\t\t\tdocument.getElementById(\"personality_results\").insertAdjacentHTML(\"beforeend\", html);\n\t\t\tHDQ.form.createEditors();\n\t\t\tself.personality.remove.init();\n\t\t},\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\t// d[0] == quiz_id, d[1] == question_id\n\t\tconsole.log(\"getting the question ID \" + d[1]);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet data = {\n\t\t\tquiz_id: parseInt(d[0]),\n\t\t\tquestion_id: parseInt(d[1]),\n\t\t};\n\t\treturn await fetcher(\"hdq_get_view_question\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tself.answers.data.question_id = data.question_id;\n\t\tself.answers.data.quiz_id = data.quiz_id;\n\n\t\tself.answers.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_question\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this question. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuestion(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuestion(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t\tquestion_id: parseInt(el.getAttribute(\"data-id\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_question\", data);\n\t\t\tHDQ.router.views.quiz.get(res.action.data, res.action.data2);\n\n\t\t\tlet state = {\n\t\t\t\tquiz_id: res.action.data2,\n\t\t\t};\n\t\t\thistory.pushState(state, \"\");\n\t\t}\n\t},\n\tupdate: function (question_id) {\n\t\tdocument.getElementById(\"question_id\").value = parseInt(question_id[0]);\n\t\tdocument.getElementById(\"hd_delete_question\").setAttribute(\"data-id\", parseInt(question_id[0]));\n\t},\n\tanswers: {\n\t\tdata: {\n\t\t\tanswers: [],\n\t\t\tquestion_id: 0,\n\t\t\tquiz_id: 0,\n\t\t\tdefaults: {\n\t\t\t\tvalue: \"\",\n\t\t\t\timage: \"\",\n\t\t\t\timageURL: \"\",\n\t\t\t\tselected: \"\",\n\t\t\t\t// set default fields here\n\t\t\t},\n\t\t},\n\t\tinit: function () {\n\t\t\tself.answers.onChangeQuestionType();\n\t\t\tself.fieldAnswers.init();\n\t\t},\n\t\tonChangeQuestionType: function () {\n\t\t\t // when changing question type, get template data\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tif (!questionTypeEl) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tquestionTypeEl.addEventListener(\"change\", async function () {\n\t\t\t\tself.answers.changeQuestionType(this);\n\t\t\t});\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tif (questionTypeEl.options[0].selected) {\n\t\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\t}\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t}, 10);\n\t\t},\n\t\tchangeQuestionType: async function (el) {\n\t\t\tdocument.getElementById(\"hdq_loading\").classList.add(\"active\");\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tlet type = el.value;\n\n\t\t\t// don't allow \"no selection\"\n\t\t\tif (type === \"\" || type === null) {\n\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet data = {\n\t\t\t\tquestion_type: type,\n\t\t\t\tquestion_id: self.answers.data.question_id,\n\t\t\t\tquiz_id: self.answers.data.quiz_id,\n\t\t\t};\n\n\t\t\t// store current answer data\n\t\t\tself.answers.data.answers = await self.answers.getAnswerData();\n\n\t\t\t// update with new question type content\n\t\t\tdata = await fetcher(\"hdq_get_question_type\", data);\n\t\t\tif (data.status && data.status === \"success\") {\n\t\t\t\tdocument.getElementById(\"question_answers\").innerHTML = data.html;\n\t\t\t\tif (data.action && data.action.name) {\n\t\t\t\t\tconsole.log(\"running action \" + data.action.name);\n\t\t\t\t\tHDQ[data.action.name]();\n\t\t\t\t}\n\n\t\t\t\t// attempt to set answer data from stored\n\t\t\t\tself.answers.setAnswerData(self.answers);\n\t\t\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t\t\t} else {\n\t\t\t\t// something went wrong\n\t\t\t\tconsole.log(data);\n\t\t\t}\n\t\t},\n\t\tgetAnswerData: async function (field = document.getElementById(\"question_answers\")) {\n\t\t\tconst rows = field.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tif (rows.length === 0) {\n\t\t\t\treturn [[], false];\n\t\t\t}\n\n\t\t\tlet answers = [];\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tlet answer = JSON.parse(JSON.stringify(self.answers.data.defaults));\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\tif (items[ii].checked) {\n\t\t\t\t\t\t\tanswer[type] = \"yes\";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\tanswer[type] = items[ii].getAttribute(\"data-value\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanswer[type] = items[ii].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tanswers.push(answer);\n\t\t\t}\n\n\t\t\tlet answers_clean = [];\n\t\t\tfor (let i = 0; i < answers.length; i++) {\n\t\t\t\tif (answers[i].value && answers[i].value !== \"\") {\n\t\t\t\t\tanswers_clean.push(answers[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [answers_clean, true];\n\t\t},\n\t\tsetAnswerData: async function () {\n\t\t\tlet answers = self.answers.data.answers[0];\n\t\t\tif (answers.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rows = document.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (answers[i] && answers[i][type]) {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\t\titems[ii].checked = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\t\titems[ii].setAttribute(\"data-value\", answers[i][type]);\n\t\t\t\t\t\t\t\tif (type === \"image\") {\n\t\t\t\t\t\t\t\t\titems[ii].innerHTML = \"\";\n\t\t\t\t\t\t\t\t\titems[ii].insertAdjacentElement(\"beforeend\", answers[i].imageURL);\n\t\t\t\t\t\t\t\t\titems[ii].nextElementSibling.classList.add(\"active\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titems[ii].value = answers[i][type];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tfieldAnswers: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_answers = self.fieldAnswers.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet valid = true;\n\t\t\tlet dataArr = await self.answers.getAnswerData(field);\n\t\t\tlet data = dataArr[0];\n\t\t\tif (dataArr[1]) {\n\t\t\t\tif (data.length == 0) {\n\t\t\t\t\tvalid = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t},\n};\n", "import { self as dashboard } from \"./dashboard.js\";\nimport { self as quiz } from \"./quiz.js\";\nimport { self as question } from \"./question.js\";\n\nexport const views = {\n\tdashboard: dashboard,\n\tquiz: quiz,\n\tquestion: question,\n\treload: {\n\t\tget: function (data) {\n\t\t\tlocation.reload(true);\n\t\t},\n\t},\n};\n", "import { views } from \"./views/index.js\";\n\nexport const router = {\n\tviews: views,\n\tinit: async function () {\n\t\tawait router.getView();\n\t\twindow.addEventListener(\"hashchange\", async function () {\n\t\t\trouter.getView();\n\t\t});\n\t},\n\tgetHash: async function () {\n\t\tlet hash = window.location.hash;\n\t\tif (hash.length == 0) {\n\t\t\thash = \"#/dashboard\";\n\t\t}\n\t\treturn hash;\n\t},\n\tgetView: async function (d = null) {\n\t\tlet hash = await router.getHash();\n\t\thash = hash.replaceAll(\"#/\", \"\");\n\n\t\td = hash.split(\"/\");\n\t\td.shift();\n\t\thash = hash.split(\"/\")[0];\n\t\tif (views[hash]) {\n\t\t\trouter.views[hash].get(hash, d);\n\t\t} else {\n\t\t\tconsole.error(\"HD Quiz: View \" + hash + \" could not be found\");\n\t\t}\n\n\t\tconst loader = document.getElementById(\"hdq_loading\");\n\t\tloader.classList.add(\"active\");\n\n\t\treturn hash;\n\t},\n};\n", "export const form = {\n\ttabs: function () {\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_tab\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\tremoveActiveClass();\n\t\t\t\tthis.classList.add(\"hdq_quiz_tab_active\");\n\t\t\t\tlet id = this.getAttribute(\"data-id\");\n\t\t\t\tdocument.getElementById(id).classList.add(\"hdq_tab_content_active\");\n\t\t\t});\n\t\t}\n\n\t\tfunction removeActiveClass() {\n\t\t\tlet activeNav = document.getElementsByClassName(\"hdq_quiz_tab_active\");\n\t\t\twhile (activeNav.length > 0) {\n\t\t\t\tactiveNav[0].classList.remove(\"hdq_quiz_tab_active\");\n\t\t\t}\n\n\t\t\tlet activeContent = document.getElementsByClassName(\"hdq_tab_content_active\");\n\t\t\twhile (activeContent.length > 0) {\n\t\t\t\tactiveContent[0].classList.remove(\"hdq_tab_content_active\");\n\t\t\t}\n\t\t}\n\t},\n\tcreateEditors: function () {\n\t\t// destroy old editors so we can re-init\n\t\tlet editors = document.getElementsByClassName(\"hd_editor_input\");\n\t\tfor (let i = 0; i < editors.length; i++) {\n\t\t\tlet eID = editors[i].getAttribute(\"id\");\n\t\t\ttinyMCE.execCommand(\"mceRemoveEditor\", false, eID);\n\t\t}\n\n\t\tsetTimeout(initTINYMCE, 1600); // give it some time to load in first\n\n\t\tfunction initTINYMCE() {\n\t\t\ttinyMCE.init({\n\t\t\t\tmode: \"textareas\",\n\t\t\t\trelative_urls: false,\n\t\t\t\tremove_script_host: false,\n\t\t\t\tconvert_urls: false,\n\t\t\t\tbrowser_spellcheck: true,\n\t\t\t\tentity_encoding: \"raw\",\n\t\t\t\tkeep_styles: false,\n\t\t\t\tresize: true,\n\t\t\t\tcontent_style: \"body { height: 100vh; min-height: 120px }\",\n\t\t\t\tmenubar: false,\n\t\t\t\tbranding: false,\n\t\t\t\twpeditimage_html5_captions: true,\n\t\t\t\tplugins: \"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview\",\n\t\t\t\twpautop: true,\n\t\t\t\tindent: false,\n\t\t\t\ttoolbar1: \"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv\",\n\t\t\t\ttoolbar2: \"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help\",\n\t\t\t\ttoolbar3: \"\",\n\t\t\t\ttoolbar4: \"\",\n\t\t\t\ttabfocus_elements: \"content-html,save-post\",\n\t\t\t\twp_autoresize_on: false,\n\t\t\t\tadd_unload_trigger: false,\n\t\t\t\tblock_formats: \"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code\",\n\t\t\t});\n\t\t}\n\t},\n};\n", "export const sort = {\n\tFFhasInit: false,\n\tinit: function () {\n\t\t/* \n\t\t\t** Come on Firefox! Be better!! **\n\t\t\tpatch for Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tNeeded to get clientX and Y position during drag events\n\t\t*/\n\t\tif (!sort.FFhasInit) {\n\t\t\tsort.FFhasInit = true;\n\t\t\tif (/Firefox\\/\\d+[\\d\\.]*/.test(navigator.userAgent) && typeof window.DragEvent === \"function\" && typeof window.addEventListener === \"function\")\n\t\t\t\t(function () {\n\t\t\t\t\tvar cx, cy, px, py, ox, oy, sx, sy, lx, ly;\n\t\t\t\t\tfunction update(e) {\n\t\t\t\t\t\tcx = e.clientX;\n\t\t\t\t\t\tcy = e.clientY;\n\t\t\t\t\t\tpx = e.pageX;\n\t\t\t\t\t\tpy = e.pageY;\n\t\t\t\t\t\tox = e.offsetX;\n\t\t\t\t\t\toy = e.offsetY;\n\t\t\t\t\t\tsx = e.screenX;\n\t\t\t\t\t\tsy = e.screenY;\n\t\t\t\t\t\tlx = e.layerX;\n\t\t\t\t\t\tly = e.layerY;\n\t\t\t\t\t}\n\t\t\t\t\tfunction assign(e) {\n\t\t\t\t\t\te._ffix_cx = cx;\n\t\t\t\t\t\te._ffix_cy = cy;\n\t\t\t\t\t\te._ffix_px = px;\n\t\t\t\t\t\te._ffix_py = py;\n\t\t\t\t\t\te._ffix_ox = ox;\n\t\t\t\t\t\te._ffix_oy = oy;\n\t\t\t\t\t\te._ffix_sx = sx;\n\t\t\t\t\t\te._ffix_sy = sy;\n\t\t\t\t\t\te._ffix_lx = lx;\n\t\t\t\t\t\te._ffix_ly = ly;\n\t\t\t\t\t}\n\t\t\t\t\twindow.addEventListener(\"mousemove\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragover\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragstart\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"drag\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"dragend\", assign, true);\n\n\t\t\t\t\tvar me = Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),\n\t\t\t\t\t\tue = Object.getOwnPropertyDescriptors(window.UIEvent.prototype);\n\t\t\t\t\tfunction getter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn (me[prop] && me[prop].get.call(this)) || Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tfunction layerGetter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn this.type === \"dragover\" && ue[prop] ? ue[prop].get.call(this) : Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tObject.defineProperties(window.DragEvent.prototype, {\n\t\t\t\t\t\tclientX: { get: getter(\"clientX\", \"_ffix_cx\") },\n\t\t\t\t\t\tclientY: { get: getter(\"clientY\", \"_ffix_cy\") },\n\t\t\t\t\t\tpageX: { get: getter(\"pageX\", \"_ffix_px\") },\n\t\t\t\t\t\tpageY: { get: getter(\"pageY\", \"_ffix_py\") },\n\t\t\t\t\t\toffsetX: { get: getter(\"offsetX\", \"_ffix_ox\") },\n\t\t\t\t\t\toffsetY: { get: getter(\"offsetY\", \"_ffix_oy\") },\n\t\t\t\t\t\tscreenX: { get: getter(\"screenX\", \"_ffix_sx\") },\n\t\t\t\t\t\tscreenY: { get: getter(\"screenY\", \"_ffix_sy\") },\n\t\t\t\t\t\tx: { get: getter(\"x\", \"_ffix_cx\") },\n\t\t\t\t\t\ty: { get: getter(\"y\", \"_ffix_cy\") },\n\t\t\t\t\t\tlayerX: { get: layerGetter(\"layerX\", \"_ffix_lx\") },\n\t\t\t\t\t\tlayerY: { get: layerGetter(\"layerY\", \"_ffix_ly\") },\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t}\n\n\t\tconst el = document.getElementById(\"hdq_questions_list\").getElementsByClassName(\"hdq_quiz_question\");\n\t\tfor (let i = 0; i < el.length; i++) {\n\t\t\tsort.enableDragItem(el[i]);\n\t\t}\n\t},\n\tenableDragItem: function (item) {\n\t\titem.setAttribute(\"draggable\", true);\n\t\titem.ondrag = sort.handleDrag;\n\t\titem.ondragend = sort.handleDrop;\n\t},\n\thandleDrag: function (item) {\n\t\tconst selectedItem = item.target,\n\t\t\tx = item.clientX,\n\t\t\ty = item.clientY;\n\n\t\tlet parents = [document.getElementById(\"hdq_questions_list\")];\n\t\tselectedItem.classList.add(\"drag-sort-active\");\n\t\tlet swapItem = document.elementFromPoint(x, y) === null ? selectedItem : document.elementFromPoint(x, y);\n\t\tif (swapItem === null) {\n\t\t\treturn;\n\t\t}\n\t\tif (swapItem.getAttribute(\"draggable\") != \"true\") {\n\t\t\treturn;\n\t\t}\n\t\tfor (let i = 0; i < parents.length; i++) {\n\t\t\tif (swapItem === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (parents[i] === swapItem.parentNode) {\n\t\t\t\tswapItem = swapItem !== selectedItem.nextSibling ? swapItem : swapItem.nextSibling;\n\t\t\t\tparents[i].insertBefore(selectedItem, swapItem);\n\t\t\t}\n\t\t}\n\t},\n\thandleDrop: function (item) {\n\t\titem.target.classList.remove(\"drag-sort-active\");\n\t\tdocument.getElementById(\"hdq_questions_list\").classList.add(\"hderp\"); // alow question_orders to save.\n\t},\n};\n", "import { router } from \"./router.js\";\nimport { form } from \"./form.js\";\nimport { sort } from \"./sort.js\";\n\nconst HDQ = {\n\tinit: async function () {\n\t\tconsole.log(\"HD Quiz v\" + HDQ_VERSION + \" init\");\n\n\t\tasync function render() {\n\t\t\tawait HDQ.router.init();\n\t\t}\n\t\tawait render();\n\t\tHDQ.form.createEditors();\n\t},\n\trouter: router,\n\tform: form,\n\tsort: sort,\n\timages: function () {\n\t\t_hd.images.init();\n\t},\n\treload: function (el) {\n\t\tlet l = el.getAttribute(\"href\");\n\t\tlet c = window.location.href;\n\t\tif (c.includes(l)) {\n\t\t\twindow.location.reload();\n\t\t}\n\t},\n};\nHDQ.init();\n\nwindow.HDQ = HDQ;\n"],5 "mappings": "MAAO,IAAMA,EAAO,eAAgBC,EAAS,GAAIC,EAAO,CAAC,EAAG,CAC3D,IAAIC,EAAM,MAAMC,EAAUH,EAAQC,CAAI,EAClCG,EAAa,KAIjB,GAHI,UACHA,EAAa,SAEV,UAAY,KAAM,CACrB,QAAQ,MAAM,mBAAmB,EACjC,MACD,CAEA,IAAMC,EAAW,IAAI,SACrBA,EAAS,OAAO,SAAUL,CAAM,EAEhC,OAAW,CAACM,EAAKC,CAAK,IAAK,OAAO,QAAQN,CAAI,EAC7CI,EAAS,OAAOC,EAAKC,CAAK,EAE3B,IAAMC,EAAQ,SAAS,eAAe,YAAY,EAAE,MACpDH,EAAS,OAAO,WAAYG,CAAK,EACjC,IAAIC,EAAM,MAAM,MAAML,EAAY,CACjC,OAAQ,OACR,YAAa,cACb,KAAMC,CACP,CAAC,EACD,OAAAI,EAAM,MAAMA,EAAI,KAAK,EACdA,EAEP,eAAeN,EAAUH,EAAQC,EAAM,CACtC,IAAIC,EAAM,GACV,QAAWQ,KAAKT,EACfC,GAAO,IAAMQ,EAAI,IAAMT,EAAKS,CAAC,EAE9B,MAAO,UAAUV,CAAM,GAAKE,CAC7B,CAEA,SAASS,EAAqBV,EAAM,CACnC,QAAQ,IAAIA,CAAI,CACjB,CACD,ECpCO,IAAMW,EAAO,CACnB,IAAK,eAAgBC,EAAQC,EAAI,KAAM,CACtC,QAAQ,IAAI,uBAAuB,EACnC,IAAIC,EAAO,MAAMH,EAAK,QAAQ,EAC9B,MAAMA,EAAK,OAAOG,CAAI,EACtB,IAAI,KAAK,EAGT,IAAMC,EAAS,SAAS,eAAe,SAAS,EAChDA,EAAO,aAAa,WAAY,CAAC,EACjC,SAAS,eAAe,eAAe,EAAE,iBAAiB,QAAS,SAAUC,EAAI,CAC5EA,EAAG,MAAQ,SACdD,EAAO,MAAM,CAEf,CAAC,EAGD,IAAME,EAAQ,SAAS,uBAAuB,eAAe,EAC7D,QAASC,EAAI,EAAGA,EAAID,EAAM,OAAQC,IACjCD,EAAMC,CAAC,EAAE,iBAAiB,QAAS,SAAUF,EAAI,CAC5CA,EAAG,OAAO,SAAW,QACxBA,EAAG,eAAe,CAEpB,CAAC,CAEH,EACA,QAAS,gBAAkB,CAE1B,OAAO,MAAML,EAAQ,yBADV,CAAC,CACuC,CACpD,EACA,OAAQ,eAAgBG,EAAM,CAC7B,SAAS,eAAe,aAAa,EAAE,UAAYA,EAAK,KACxD,SAAS,eAAe,aAAa,EAAE,SAAS,EAAG,CAAC,EACpD,SAAS,eAAe,aAAa,EAAE,UAAU,OAAO,QAAQ,CACjE,CACD,ECnCO,IAAMK,EAAO,CACnB,IAAK,eAAgBC,EAAQC,EAAI,KAAM,CACtC,QAAQ,IAAI,uBAAyBA,CAAC,EACtC,IAAIC,EAAO,MAAMH,EAAK,QAAQE,CAAC,EAC/B,MAAMF,EAAK,OAAOG,CAAI,CACvB,EACA,QAAS,eAAgBD,EAAG,CAC3B,IAAIE,EAAQ,EACRF,EAAE,CAAC,IACNE,EAAQF,EAAE,CAAC,GAEZ,IAAIC,EAAO,CACV,QAASD,EAAE,CAAC,EACZ,MAAOE,CACR,EACA,eAAQ,IAAID,CAAI,EACT,MAAMH,EAAQ,oBAAqBG,CAAI,CAC/C,EACA,OAAQ,eAAgBA,EAAM,CAC7B,SAAS,eAAe,aAAa,EAAE,UAAYA,EAAK,KACxD,SAAS,eAAe,aAAa,EAAE,SAAS,EAAG,CAAC,EACpD,SAAS,eAAe,aAAa,EAAE,UAAU,OAAO,QAAQ,EAEhEH,EAAK,OAAO,KAAK,EAEjB,IAAI,KAAK,EACT,IAAI,KAAK,cAAc,EACvB,IAAI,KAAK,KAAK,EAEd,SAAS,eAAe,oBAAoB,EAAE,iBAAiB,QAAS,UAAY,CACnF,IAAMK,EAAK,KACX,GAAIA,EAAG,UAAU,SAAS,QAAQ,EACjC,OAEDA,EAAG,UAAU,IAAI,QAAQ,EACzB,IAAIC,EAAYD,EAAG,UACnB,UAAU,UAAU,UAAUA,EAAG,SAAS,EAE1CA,EAAG,UAAY,sBACf,WAAW,UAAY,CACtBA,EAAG,UAAYC,EACfD,EAAG,UAAU,OAAO,QAAQ,CAC7B,EAAG,GAAI,CACR,CAAC,EAEGF,EAAK,OAAS,eACjBH,EAAK,YAAY,KAAK,EAGvB,IAAI,KAAK,KAAK,EAEdA,EAAK,eAAe,KAAK,EAEzB,IAAMO,EAAY,SAAS,eAAe,gBAAgB,EAC1D,GAAI,CAACA,EACJ,OAEDA,EAAU,iBAAiB,QAAS,gBAAkB,CAEjD,QADY,gFACG,GAClBC,EAAW,IAAI,CAEjB,CAAC,EAED,eAAeA,EAAWH,EAAI,CAC7B,IAAIF,EAAO,CACV,QAAS,SAASE,EAAG,aAAa,WAAW,CAAC,CAC/C,EACII,EAAM,MAAMT,EAAQ,kBAAmBG,CAAI,EAC/C,QAAQ,IAAIM,CAAG,EACf,IAAI,OAAO,MAAM,UAAU,IAAI,KAAM,CAAC,CAAC,CACxC,CACA,OAAON,CACR,EACA,OAAQ,CACP,KAAM,UAAY,CAEjB,GADkB,SAAS,uBAAuB,eAAe,EACnD,QAAU,GACvB,OAID,SAAS,eAAe,sBAAsB,EAAE,mBAAmB,YADlD,2UACuE,EAExF,SAAS,eAAe,sBAAsB,EAAE,iBAAiB,QAASH,EAAK,OAAO,MAAM,EAC5F,SAAS,eAAe,sBAAsB,EAAE,iBAAiB,QAAS,UAAY,CACjF,KAAK,QAAU,KAClB,KAAK,MAAQ,GACbA,EAAK,OAAO,MAAM,EAEpB,CAAC,CACF,EACA,OAAQ,SAAUU,EAAI,CACrB,GAAIA,EAAG,UAAY,GAClB,OAGD,IAAML,EAAK,SAAS,eAAe,sBAAsB,EACzD,GAAIA,EAAG,MAAM,SAAW,EAAG,CAC1BL,EAAK,OAAO,MAAM,EAClB,MACD,CAEA,GAAIK,EAAG,MAAM,QAAU,EAAG,CACzB,IAAMM,EAAIN,EAAG,MAAM,kBAAkB,EAC/BO,EAAY,SAAS,uBAAuB,eAAe,EACjE,QAASC,EAAI,EAAGA,EAAID,EAAU,OAAQC,IACzBD,EAAUC,CAAC,EAAE,qBAAqB,MAAM,EAAE,CAAC,EAAE,UAAU,kBAAkB,EAC1E,SAASF,CAAC,EAGpBC,EAAUC,CAAC,EAAE,UAAU,OAAO,YAAY,EAF1CD,EAAUC,CAAC,EAAE,UAAU,IAAI,YAAY,CAK1C,CACD,EACA,MAAO,UAAY,CAClB,IAAMD,EAAY,SAAS,uBAAuB,eAAe,EACjE,QAASC,EAAI,EAAGA,EAAID,EAAU,OAAQC,IACrCD,EAAUC,CAAC,EAAE,UAAU,OAAO,YAAY,CAE5C,CACD,EACA,eAAgB,CACf,KAAM,UAAY,CACjB,IAAI,SAAS,MAAM,yBAA2Bb,EAAK,eAAe,QACnE,EACA,SAAU,eAAgBc,EAAO,CAOhC,MAJQ,CACP,MAHU,MAAMd,EAAK,eAAe,QAAQc,CAAK,EAIjD,OAAQ,EACT,CAED,EACA,QAAS,gBAAkB,CAC1B,IAAMF,EAAY,SAAS,uBAAuB,mBAAmB,EACjET,EAAO,CAAC,EACZ,QAAS,EAAI,EAAG,EAAIS,EAAU,OAAQ,IAAK,CAC1C,IAAIG,EAAc,SAASH,EAAU,CAAC,EAAE,aAAa,SAAS,CAAC,EAC/DT,EAAK,KAAKY,CAAW,CACtB,CACA,OAAOZ,CACR,CACD,EACA,YAAa,CACZ,MAAO,CACN,SAAU,GACV,SAAU,EACX,EACA,KAAM,UAAY,CAEjB,IAAI,SAAS,MAAM,8BAAgCH,EAAK,YAAY,SAEpE,SAAS,eAAe,iCAAiC,EAAE,iBAAiB,QAAS,UAAY,CAChGA,EAAK,YAAY,OAAO,CACzB,CAAC,EAEDA,EAAK,YAAY,OAAO,KAAK,EAE7B,SAAS,eAAe,SAAS,EAAE,iBAAiB,QAAS,SAAUgB,EAAO,CAC7EhB,EAAK,YAAY,MAAM,SAAW,EACnC,CAAC,EAED,SAAS,eAAe,kBAAkB,EAAE,iBAAiB,QAAS,SAAUgB,EAAO,CAClFhB,EAAK,YAAY,MAAM,UAAY,CAACA,EAAK,YAAY,MAAM,UAC1D,SAAS,uBAAuB,mBAAmB,EAAE,OAAS,IACjEgB,EAAM,eAAe,EACR,QAAQ,qFAAqF,IAEzG,OAAO,SAAW,KAAK,MAI3B,CAAC,CACF,EACA,OAAQ,CACP,KAAM,UAAY,CACjB,IAAMC,EAAQ,SAAS,uBAAuB,oBAAoB,EAClE,QAASJ,EAAI,EAAGA,EAAII,EAAM,OAAQJ,IACjCI,EAAMJ,CAAC,EAAE,iBAAiB,QAAS,UAAY,CAC9C,KAAK,cAAc,OAAO,CAC3B,CAAC,CAEH,CACD,EACA,SAAU,eAAgBC,EAAO,CAChC,MAAM,QAAQ,YAAY,EAC1B,IAAMI,EAAKJ,EAAM,aAAa,IAAI,EAC5BX,EAAO,CAAC,EAERgB,EAASL,EAAM,uBAAuB,mBAAmB,EACzDM,EAAWN,EAAM,uBAAuB,iBAAiB,EAC/D,QAASD,EAAI,EAAGA,EAAIM,EAAO,OAAQN,IAClCV,EAAK,KAAK,CACT,MAAOgB,EAAON,CAAC,EAAE,MACjB,GACCM,EAAON,CAAC,EAAE,MACR,QAAQ,8CAA+C,EAAE,EACzD,WAAW,IAAK,GAAG,EACnB,YAAY,EACd,GACAA,EACD,QAASO,EAASP,CAAC,EAAE,KACtB,CAAC,EAIF,IAAIQ,EAAQ,GACZ,QAASR,EAAI,EAAGA,EAAIV,EAAK,OAAQU,IAC5BV,EAAKU,CAAC,EAAE,OAAS,IACpBQ,EAAQ,GACRF,EAAON,CAAC,EAAE,UAAU,IAAI,UAAU,GAElCM,EAAON,CAAC,EAAE,UAAU,OAAO,UAAU,EAQvC,MAJQ,CACP,MAAOV,EACP,OAAQkB,CACT,CAED,EACA,OAAQ,UAAY,CACnBrB,EAAK,YAAY,MAAM,SAAW,GAClC,IAAIsB,EAAgB,SAAS,eAAe,qBAAqB,EAAE,uBAAuB,eAAe,EAAE,OAC3GA,EAAgB,OAAO,aAAaA,EAAgB,EAAiB,EACrE,IAAMC,EAAO;AAAA;AAAA,iDAEiCD,CAAa;AAAA,kHACoDA,CAAa,mBAAmBA,CAAa;AAAA;AAAA,yCAEtHA,CAAa;AAAA;AAAA;AAAA,0CAGZA,CAAa;AAAA,2CACZA,CAAa;AAAA,kIAC0EA,CAAa;AAAA;AAAA;AAAA,0DAGrFA,CAAa,4FAA4FA,CAAa;AAAA,0DACtHA,CAAa,4FAA4FA,CAAa;AAAA;AAAA;AAAA,0CAGtIA,CAAa;AAAA,2CACZA,CAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAMlBA,CAAa;AAAA,oCACfA,CAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ9C,SAAS,eAAe,qBAAqB,EAAE,mBAAmB,YAAaC,CAAI,EACnF,IAAI,KAAK,cAAc,EACvBvB,EAAK,YAAY,OAAO,KAAK,CAC9B,CACD,CACD,EC3QO,IAAMwB,EAAO,CACnB,IAAK,eAAgBC,EAAQC,EAAI,KAAM,CAEtC,QAAQ,IAAI,2BAA6BA,EAAE,CAAC,CAAC,EAC7C,IAAIC,EAAO,MAAMH,EAAK,QAAQE,CAAC,EAC/B,MAAMF,EAAK,OAAOG,CAAI,CACvB,EACA,QAAS,eAAgBD,EAAG,CAC3B,IAAIC,EAAO,CACV,QAAS,SAASD,EAAE,CAAC,CAAC,EACtB,YAAa,SAASA,EAAE,CAAC,CAAC,CAC3B,EACA,OAAO,MAAMF,EAAQ,wBAAyBG,CAAI,CACnD,EACA,OAAQ,eAAgBA,EAAM,CAC7B,SAAS,eAAe,aAAa,EAAE,UAAYA,EAAK,KACxD,SAAS,eAAe,aAAa,EAAE,SAAS,EAAG,CAAC,EACpD,SAAS,eAAe,aAAa,EAAE,UAAU,OAAO,QAAQ,EAEhE,IAAI,KAAK,EACT,IAAI,KAAK,cAAc,EACvB,IAAI,KAAK,KAAK,EAEdH,EAAK,QAAQ,KAAK,YAAcG,EAAK,YACrCH,EAAK,QAAQ,KAAK,QAAUG,EAAK,QAEjCH,EAAK,QAAQ,KAAK,EAElB,IAAMI,EAAY,SAAS,eAAe,oBAAoB,EAC9D,GAAI,CAACA,EACJ,OAEDA,EAAU,iBAAiB,QAAS,gBAAkB,CAEjD,QADY,kDACG,GAClBC,EAAe,IAAI,CAErB,CAAC,EAED,eAAeA,EAAeC,EAAI,CACjC,IAAIH,EAAO,CACV,QAAS,SAASG,EAAG,aAAa,WAAW,CAAC,EAC9C,YAAa,SAASA,EAAG,aAAa,SAAS,CAAC,CACjD,EACIC,EAAM,MAAMP,EAAQ,sBAAuBG,CAAI,EACnD,IAAI,OAAO,MAAM,KAAK,IAAII,EAAI,OAAO,KAAMA,EAAI,OAAO,KAAK,EAE3D,IAAIC,EAAQ,CACX,QAASD,EAAI,OAAO,KACrB,EACA,QAAQ,UAAUC,EAAO,EAAE,CAC5B,CACD,EACA,OAAQ,SAAUC,EAAa,CAC9B,SAAS,eAAe,aAAa,EAAE,MAAQ,SAASA,EAAY,CAAC,CAAC,EACtE,SAAS,eAAe,oBAAoB,EAAE,aAAa,UAAW,SAASA,EAAY,CAAC,CAAC,CAAC,CAC/F,EACA,QAAS,CACR,KAAM,CACL,QAAS,CAAC,EACV,YAAa,EACb,QAAS,EACT,SAAU,CACT,MAAO,GACP,MAAO,GACP,SAAU,GACV,SAAU,EAEX,CACD,EACA,KAAM,UAAY,CACjBT,EAAK,QAAQ,qBAAqB,EAClCA,EAAK,aAAa,KAAK,CACxB,EACA,qBAAsB,UAAY,CA EjC,IAAMU,EAAiB,SAAS,eAAe,eAAe,EACzDA,IAGLA,EAAe,iBAAiB,SAAU,gBAAkB,CAC3DV,EAAK,QAAQ,mBAAmB,IAAI,CACrC,CAAC,EAED,WAAW,UAAY,CAClBU,EAAe,QAAQ,CAAC,EAAE,WAC7BA,EAAe,QAAQ,CAAC,EAAE,SAAW,IAEtC,IAAIC,EAAQ,IAAI,MAAM,QAAQ,EAC9BD,EAAe,cAAcC,CAAK,CACnC,EAAG,EAAE,EACN,EACA,mBAAoB,eAAgBL,EAAI,CACvC,SAAS,eAAe,aAAa,EAAE,UAAU,IAAI,QAAQ,EAC7D,IAAMI,EAAiB,SAAS,eAAe,eAAe,EAC1DE,EAAON,EAAG,MAGd,GAAIM,IAAS,IAAMA,IAAS,KAAM,CACjCF,EAAe,QAAQ,CAAC,EAAE,SAAW,GACrC,IAAIC,EAAQ,IAAI,MAAM,QAAQ,EAC9BD,EAAe,cAAcC,CAAK,EAClC,MACD,CAEA,IAAIR,EAAO,CACV,cAAeS,EACf,YAAaZ,EAAK,QAAQ,KAAK,YAC/B,QAASA,EAAK,QAAQ,KAAK,OAC5B,EAGAA,EAAK,QAAQ,KAAK,QAAU,MAAMA,EAAK,QAAQ,cAAc,EAG7DG,EAAO,MAAMH,EAAQ,wBAAyBG,CAAI,EAC9CA,EAAK,QAAUA,EAAK,SAAW,WAClC,SAAS,eAAe,kBAAkB,EAAE,UAAYA,EAAK,KACzDA,EAAK,QAAUA,EAAK,OAAO,OAC9B,QAAQ,IAAI,kBAAoBA,EAAK,OAAO,IAAI,EAChD,IAAIA,EAAK,OAAO,IAAI,EAAE,GAIvBH,EAAK,QAAQ,cAAcA,EAAK,OAAO,EACvC,SAAS,eAAe,aAAa,EAAE,UAAU,OAAO,QAAQ,GAGhE,QAAQ,IAAIG,CAAI,CAElB,EACA,cAAe,eAAgBU,EAAQ,SAAS,eAAe,kBAAkB,EAAG,CACnF,IAAMC,EAAOD,EAAM,uBAAuB,gBAAgB,EAC1D,GAAIC,EAAK,SAAW,EACnB,MAAO,CAAC,CAAC,EAAG,EAAK,EAGlB,IAAIC,EAAU,CAAC,EACf,QAASC,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAAK,CACrC,IAAIC,EAAS,KAAK,MAAM,KAAK,UAAUjB,EAAK,QAAQ,KAAK,QAAQ,CAAC,EAC5DkB,EAAQJ,EAAKE,CAAC,EAAE,uBAAuB,uBAAuB,EACpE,QAASG,EAAK,EAAGA,EAAKD,EAAM,OAAQC,IAAM,CACzC,IAAIP,EAAOM,EAAMC,CAAE,EAAE,aAAa,kBAAkB,EAChDD,EAAMC,CAAE,EAAE,aAAa,MAAM,GAAK,WACjCD,EAAMC,CAAE,EAAE,UACbF,EAAOL,CAAI,EAAI,OAGZM,EAAMC,CAAE,EAAE,aAAa,YAAY,EACtCF,EAAOL,CAAI,EAAIM,EAAMC,CAAE,EAAE,aAAa,YAAY,EAElDF,EAAOL,CAAI,EAAIM,EAAMC,CAAE,EAAE,KAG5B,CACAJ,EAAQ,KAAKE,CAAM,CACpB,CAEA,IAAIG,EAAgB,CAAC,EACrB,QAASJ,EAAI,EAAGA,EAAID,EAAQ,OAAQC,IAC/BD,EAAQC,CAAC,EAAE,OAASD,EAAQC,CAAC,EAAE,QAAU,IAC5CI,EAAc,KAAKL,EAAQC,CAAC,CAAC,EAG/B,MAAO,CAACI,EAAe,EAAI,CAC5B,EACA,cAAe,gBAAkB,CAChC,IAAIL,EAAUf,EAAK,QAAQ,KAAK,QAAQ,CAAC,EACzC,GAAIe,EAAQ,SAAW,EACtB,OAGD,IAAMD,EAAO,SAAS,uBAAuB,gBAAgB,EAC7D,QAAS,EAAI,EAAG,EAAIA,EAAK,OAAQ,IAAK,CACrC,IAAMI,EAAQJ,EAAK,CAAC,EAAE,uBAAuB,uBAAuB,EACpE,QAASK,EAAK,EAAGA,EAAKD,EAAM,OAAQC,IAAM,CACzC,IAAIP,EAAOM,EAAMC,CAAE,EAAE,aAAa,kBAAkB,EAChDJ,EAAQ,CAAC,GAAKA,EAAQ,CAAC,EAAEH,CAAI,IAC5BM,EAAMC,CAAE,EAAE,aAAa,MAAM,GAAK,WACrCD,EAAMC,CAAE,EAAE,QAAU,GAEhBD,EAAMC,CAAE,EAAE,aAAa,YAAY,GACtCD,EAAMC,CAAE,EAAE,aAAa,aAAcJ,EAAQ,CAAC,EAAEH,CAAI,CAAC,EACjDA,IAAS,UACZM,EAAMC,CAAE,EAAE,UAAY,GACtBD,EAAMC,CAAE,EAAE,sBAAsB,YAAaJ,EAAQ,CAAC,EAAE,QAAQ,EAChEG,EAAMC,CAAE,EAAE,mBAAmB,UAAU,IAAI,QAAQ,IAGpDD,EAAMC,CAAE,EAAE,MAAQJ,EAAQ,CAAC,EAAEH,CAAI,EAIrC,CACD,CACD,CACD,EACA,aAAc,CACb,KAAM,UAAY,CACjB,IAAI,SAAS,MAAM,kBAAoBZ,EAAK,aAAa,QAC1D,EACA,SAAU,eAAgBa,EAAO,CAChC,IAAIQ,EAAQ,GACRC,EAAU,MAAMtB,EAAK,QAAQ,cAAca,CAAK,EAChDV,EAAOmB,EAAQ,CAAC,EACpB,OAAIA,EAAQ,CAAC,GACRnB,EAAK,QAAU,IAClBkB,EAAQ,IAIF,CACP,MAAOlB,EACP,OAAQkB,CACT,CAED,CACD,CACD,ECxNO,IAAME,EAAQ,CACpB,UAAWC,EACX,KAAMA,EACN,SAAUA,EACV,OAAQ,CACP,IAAK,SAAUC,EAAM,CACpB,SAAS,OAAO,EAAI,CACrB,CACD,CACD,ECXO,IAAMC,EAAS,CACrB,MAAOC,EACP,KAAM,gBAAkB,CACvB,MAAMD,EAAO,QAAQ,EACrB,OAAO,iBAAiB,aAAc,gBAAkB,CACvDA,EAAO,QAAQ,CAChB,CAAC,CACF,EACA,QAAS,gBAAkB,CAC1B,IAAIE,EAAO,OAAO,SAAS,KAC3B,OAAIA,EAAK,QAAU,IAClBA,EAAO,eAEDA,CACR,EACA,QAAS,eAAgBC,EAAI,KAAM,CAClC,IAAID,EAAO,MAAMF,EAAO,QAAQ,EAChC,OAAAE,EAAOA,EAAK,WAAW,KAAM,EAAE,EAE/BC,EAAID,EAAK,MAAM,GAAG,EAClBC,EAAE,MAAM,EACRD,EAAOA,EAAK,MAAM,GAAG,EAAE,CAAC,EACpBD,EAAMC,CAAI,EACbF,EAAO,MAAME,CAAI,EAAE,IAAIA,EAAMC,CAAC,EAE9B,QAAQ,MAAM,iBAAmBD,EAAO,qBAAqB,EAG/C,SAAS,eAAe,aAAa,EAC7C,UAAU,IAAI,QAAQ,EAEtBA,CACR,CACD,ECnCO,IAAME,EAAO,CACnB,KAAM,UAAY,CACjB,IAAMC,EAAQ,SAAS,uBAAuB,cAAc,EAC5D,QAAS,EAAI,EAAG,EAAIA,EAAM,OAAQ,IACjCA,EAAM,CAAC,EAAE,iBAAiB,QAAS,UAAY,CAC9CC,EAAkB,EAClB,KAAK,UAAU,IAAI,qBAAqB,EACxC,IAAIC,EAAK,KAAK,aAAa,SAAS,EACpC,SAAS,eAAeA,CAAE,EAAE,UAAU,IAAI,wBAAwB,CACnE,CAAC,EAGF,SAASD,GAAoB,CAC5B,IAAIE,EAAY,SAAS,uBAAuB,qBAAqB,EACrE,KAAOA,EAAU,OAAS,GACzBA,EAAU,CAAC,EAAE,UAAU,OAAO,qBAAqB,EAGpD,IAAIC,EAAgB,SAAS,uBAAuB,wBAAwB,EAC5E,KAAOA,EAAc,OAAS,GAC7BA,EAAc,CAAC,EAAE,UAAU,OAAO,wBAAwB,CAE5D,CACD,EACA,cAAe,UAAY,CAE1B,IAAIC,EAAU,SAAS,uBAAuB,iBAAiB,EAC/D,QAAS,EAAI,EAAG,EAAIA,EAAQ,OAAQ,IAAK,CACxC,IAAIC,EAAMD,EAAQ,CAAC,EAAE,aAAa,IAAI,EACtC,QAAQ,YAAY,kBAAmB,GAAOC,CAAG,CAClD,CAEA,WAAWC,EAAa,IAAI,EAE5B,SAASA,GAAc,CACtB,QAAQ,KAAK,CACZ,KAAM,YACN,cAAe,GACf,mBAAoB,GACpB,aAAc,GACd,mBAAoB,GACpB,gBAAiB,MACjB,YAAa,GACb,OAAQ,GACR,cAAe,4CACf,QAAS,GACT,SAAU,GACV,2BAA4B,GAC5B,QAAS,yJACT,QAAS,GACT,OAAQ,GACR,SAAU,uGACV,SAAU,6FACV,SAAU,GACV,SAAU,GACV,kBAAmB,yBACnB,iBAAkB,GAClB,mBAAoB,GACpB,cAAe,8DAChB,CAAC,CACF,CACD,CACD,EC9DO,IAAMC,EAAO,CACnB,UAAW,GACX,KAAM,UAAY,CAMZA,EAAK,YACTA,EAAK,UAAY,GACb,sBAAsB,KAAK,UAAU,SAAS,GAAK,OAAO,OAAO,WAAc,YAAc,OAAO,OAAO,kBAAqB,YAClI,UAAY,CACZ,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACxC,SAASC,EAAOC,EAAG,CAClBX,EAAKW,EAAE,QACPV,EAAKU,EAAE,QACPT,EAAKS,EAAE,MACPR,EAAKQ,EAAE,MACPP,EAAKO,EAAE,QACPN,EAAKM,EAAE,QACPL,EAAKK,EAAE,QACPJ,EAAKI,EAAE,QACPH,EAAKG,EAAE,OACPF,EAAKE,EAAE,MACR,CACA,SAASC,EAAOD,EAAG,CAClBA,EAAE,SAAWX,EACbW,EAAE,SAAWV,EACbU,EAAE,SAAWT,EACbS,EAAE,SAAWR,EACbQ,EAAE,SAAWP,EACbO,EAAE,SAAWN,EACbM,EAAE,SAAWL,EACbK,EAAE,SAAWJ,EACbI,EAAE,SAAWH,EACbG,EAAE,SAAWF,CACd,CACA,OAAO,iBAAiB,YAAaC,EAAQ,EAAI,EACjD,OAAO,iBAAiB,WAAYA,EAAQ,EAAI,EAChD,OAAO,iBAAiB,YAAaE,EAAQ,EAAI,EACjD,OAAO,iBAAiB,OAAQA,EAAQ,EAAI,EAC5C,OAAO,iBAAiB,UAAWA,EAAQ,EAAI,EAE/C,IAAIC,EAAK,OAAO,0BAA0B,OAAO,WAAW,SAAS,EACpEC,EAAK,OAAO,0BAA0B,OAAO,QAAQ,SAAS,EAC/D,SAASC,EAAOC,EAAMC,EAAM,CAC3B,OAAO,UAAY,CAClB,OAAQJ,EAAGG,CAAI,GAAKH,EAAGG,CAAI,EAAE,IAAI,KAAK,IAAI,GAAM,OAAO,KAAKC,CAAI,CAAC,GAAK,CACvE,CACD,CACA,SAASC,EAAYF,EAAMC,EAAM,CAChC,OAAO,UAAY,CAClB,OAAO,KAAK,OAAS,YAAcH,EAAGE,CAAI,EAAIF,EAAGE,CAAI,EAAE,IAAI,KAAK,IAAI,EAAI,OAAO,KAAKC,CAAI,CAAC,GAAK,CAC/F,CACD,CACA,OAAO,iBAAiB,OAAO,UAAU,UAAW,CACnD,QAAS,CAAE,IAAKF,EAAO,UAAW,UAAU,CAAE,EAC9C,QAAS,CAAE,IAAKA,EAAO,UAAW,UAAU,CAAE,EAC9C,MAAO,CAAE,IAAKA,EAAO,QAAS,UAAU,CAAE,EAC1C,MAAO,CAAE,IAAKA,EAAO,QAAS,UAAU,CAAE,EAC1C,QAAS,CAAE,IAAKA,EAAO,UAAW,UAAU,CAAE,EAC9C,QAAS,CAAE,IAAKA,EAAO,UAAW,UAAU,CAAE,EAC9C,QAAS,CAAE,IAAKA,EAAO,UAAW,UAAU,CAAE,EAC9C,QAAS,CAAE,IAAKA,EAAO,UAAW,UAAU,CAAE,EAC9C,EAAG,CAAE,IAAKA,EAAO,IAAK,UAAU,CAAE,EAClC,EAAG,CAAE,IAAKA,EAAO,IAAK,UAAU,CAAE,EAClC,OAAQ,CAAE,IAAKG,EAAY,SAAU,UAAU,CAAE,EACjD,OAAQ,CAAE,IAAKA,EAAY,SAAU,UAAU,CAAE,CAClD,CAAC,CACF,EAAG,GAGL,IAAMC,EAAK,SAAS,eAAe,oBAAoB,EAAE,uBAAuB,mBAAmB,EACnG,QAASC,EAAI,EAAGA,EAAID,EAAG,OAAQC,IAC9BrB,EAAK,eAAeoB,EAAGC,CAAC,CAAC,CAE3B,EACA,eAAgB,SAAUC,EAAM,CAC/BA,EAAK,aAAa,YAAa,EAAI,EACnCA,EAAK,OAAStB,EAAK,WACnBsB,EAAK,UAAYtB,EAAK,UACvB,EACA,WAAY,SAAUsB,EAAM,CAC3B,IAAMC,EAAeD,EAAK,OACzBE,EAAIF,EAAK,QACTG,EAAIH,EAAK,QAENI,EAAU,CAAC,SAAS,eAAe,oBAAoB,CAAC,EAC5DH,EAAa,UAAU,IAAI,kBAAkB,EAC7C,IAAII,EAAW,SAAS,iBAAiBH,EAAGC,CAAC,IAAM,KAAOF,EAAe,SAAS,iBAAiBC,EAAGC,CAAC,EACvG,GAAIE,IAAa,MAGbA,EAAS,aAAa,WAAW,GAAK,OAG1C,QAASN,EAAI,EAAGA,EAAIK,EAAQ,OAAQL,IAC/BM,IAAa,MAGbD,EAAQL,CAAC,IAAMM,EAAS,aAC3BA,EAAWA,IAAaJ,EAAa,YAAcI,EAAWA,EAAS,YACvED,EAAQL,CAAC,EAAE,aAAaE,EAAcI,CAAQ,EAGjD,EACA,WAAY,SAAUL,EAAM,CAC3BA,EAAK,OAAO,UAAU,OAAO,kBAAkB,EAC/C,SAAS,eAAe,oBAAoB,EAAE,UAAU,IAAI,OAAO,CACpE,CACD,EC1GA,IAAMM,EAAM,CACX,KAAM,gBAAkB,CACvB,QAAQ,IAAI,YAAc,YAAc,OAAO,EAE/C,eAAeC,GAAS,CACvB,MAAMD,EAAI,OAAO,KAAK,CACvB,CACA,MAAMC,EAAO,EACbD,EAAI,KAAK,cAAc,CACxB,EACA,OAAQE,EACR,KAAMC,EACN,KAAMC,EACN,OAAQ,UAAY,CACnB,IAAI,OAAO,KAAK,CACjB,EACA,OAAQ,SAAUC,EAAI,CACrB,IAAIC,EAAID,EAAG,aAAa,MAAM,EACtB,OAAO,SAAS,KAClB,SAASC,CAAC,GACf,OAAO,SAAS,OAAO,CAEzB,CACD,EACAN,EAAI,KAAK,EAET,OAAO,IAAMA",4 "sourcesContent": ["export const self = async function (action = \"\", data = {}) {\n\tlet url = await createUrl(action, data);\n\tlet admin_ajax = null;\n\tif (ajaxurl) {\n\t\tadmin_ajax = ajaxurl;\n\t}\n\tif (ajaxurl === null) {\n\t\tconsole.error(\"No ajax url found\");\n\t\treturn;\n\t}\n\n\tconst formdata = new FormData();\n\tformdata.append(\"action\", action);\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformdata.append(key, value);\n\t}\n\tconst nonce = document.getElementById(\"hd_wpnonce\").value;\n\tformdata.append(\"HD_NONCE\", nonce);\n\tlet res = await fetch(admin_ajax, {\n\t\tmethod: \"POST\",\n\t\tcredentials: \"same-origin\",\n\t\tbody: formdata,\n\t});\n\tres = await res.json();\n\treturn res;\n\n\tasync function createUrl(action, data) {\n\t\tlet url = \"\";\n\t\tfor (const k in data) {\n\t\t\turl += \"&\" + k + \"=\" + data[k];\n\t\t}\n\t\treturn `action=${action}` + url;\n\t}\n\n\tfunction create_error_message(data) {\n\t\tconsole.log(data);\n\t}\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the dashboard\");\n\t\tlet data = await self.getData();\n\t\tawait self.render(data);\n\t\t_hd.init();\n\n\t\t// allow ENTER on quiz name creation\n\t\tconst saveEl = document.getElementById(\"hd_save\");\n\t\tsaveEl.setAttribute(\"tabindex\", 0); // wpkses_post sanitize this out\n\t\tdocument.getElementById(\"hdq_quiz_name\").addEventListener(\"keyup\", function (ev) {\n\t\t\tif (ev.key === \"Enter\") {\n\t\t\t\tsaveEl.click();\n\t\t\t}\n\t\t});\n\n\t\t// stop click events on shortcode\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function (ev) {\n\t\t\t\tif (ev.target.tagName == \"CODE\") {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tgetData: async function () {\n\t\tlet data = {};\n\t\treturn await fetcher(\"hdq_get_view_dashboard\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\tconsole.log(\"getting the quiz ID \" + d);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet paged = 1;\n\t\tif (d[1]) {\n\t\t\tpaged = d[1];\n\t\t}\n\t\tlet data = {\n\t\t\tquiz_id: d[0],\n\t\t\tpaged: paged,\n\t\t};\n\t\tconsole.log(data);\n\t\treturn await fetcher(\"hdq_get_view_quiz\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\tself.search.init();\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tdocument.getElementById(\"hdq_copy_shortcode\").addEventListener(\"click\", function () {\n\t\t\tconst el = this;\n\t\t\tif (el.classList.contains(\"active\")) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tel.classList.add(\"active\");\n\t\t\tlet shortcode = el.innerText;\n\t\t\tnavigator.clipboard.writeText(el.innerText);\n\n\t\t\tel.innerText = \"copied to clipboard\";\n\t\t\tsetTimeout(function () {\n\t\t\t\tel.innerText = shortcode;\n\t\t\t\tel.classList.remove(\"active\");\n\t\t\t}, 3000);\n\t\t});\n\n\t\tif (data.type === \"personality\") {\n\t\t\tself.personality.init();\n\t\t}\n\n\t\tHDQ.sort.init();\n\n\t\tself.question_order.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_quiz\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this entire quiz and all attached questions. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuiz(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuiz(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_quiz\", data);\n\t\t\tconsole.log(res);\n\t\t\tHDQ.router.views.dashboard.get(null, []);\n\t\t}\n\t\treturn data;\n\t},\n\tsearch: {\n\t\tinit: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tif (questions.length <= 25) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst searchEl = `<div id = \"hdq_quiz_tabs_search_wrapper\"><span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">Press Enter to confirm your search for question titles. This feature is currently experimental.</div></span></span> <input type = \"search\" placeholder = \"search...\" id = \"hdq_questions_search\"/></div>`;\n\t\t\tdocument.getElementById(\"hdq_quiz_tabs_labels\").insertAdjacentHTML(\"beforeend\", searchEl);\n\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"keyup\", self.search.filter);\n\t\t\tdocument.getElementById(\"hdq_questions_search\").addEventListener(\"click\", function () {\n\t\t\t\tif (this.value !== \"\") {\n\t\t\t\t\tthis.value = \"\";\n\t\t\t\t\tself.search.clear();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tfilter: function (ev) {\n\t\t\tif (ev.keyCode !== 13) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst el = document.getElementById(\"hdq_questions_search\");\n\t\t\tif (el.value.length === 0) {\n\t\t\t\tself.search.clear();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (el.value.length >= 3) {\n\t\t\t\tconst v = el.value.toLocaleUpperCase();\n\t\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\t\tlet title = questions[i].getElementsByTagName(\"span\")[1].innerText.toLocaleUpperCase();\n\t\t\t\t\tif (!title.includes(v)) {\n\t\t\t\t\t\tquestions[i].classList.add(\"hdq_hidden\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tclear: function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_item\");\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tquestions[i].classList.remove(\"hdq_hidden\");\n\t\t\t}\n\t\t},\n\t},\n\tquestion_order: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_question_order = self.question_order.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet data = await self.question_order.getData(field);\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: true,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tgetData: async function () {\n\t\t\tconst questions = document.getElementsByClassName(\"hdq_quiz_question\");\n\t\t\tlet data = [];\n\t\t\tfor (let i = 0; i < questions.length; i++) {\n\t\t\t\tlet question_id = parseInt(questions[i].getAttribute(\"data-id\"));\n\t\t\t\tdata.push(question_id);\n\t\t\t}\n\t\t\treturn data;\n\t\t},\n\t},\n\tpersonality: {\n\t\tsaved: {\n\t\t\thasAdded: false,\n\t\t\thasSaved: false,\n\t\t},\n\t\tinit: function () {\n\t\t\t// set HDFields validation function\n\t\t\t_hd.validate.field.hdq_field_personality_results = self.personality.validate;\n\n\t\t\tdocument.getElementById(\"hdq_add_new_personality_outcome\").addEventListener(\"click\", function () {\n\t\t\t\tself.personality.create();\n\t\t\t});\n\n\t\t\tself.personality.remove.init();\n\n\t\t\tdocument.getElementById(\"hd_save\").addEventListener(\"click\", function (event) {\n\t\t\t\tself.personality.saved.hasSaved = true; // note, not 100% accurate since we are not taking validation into account\n\t\t\t});\n\n\t\t\tdocument.getElementById(\"hdq_add_new_quiz\").addEventListener(\"click\", function (event) {\n\t\t\t\tif (self.personality.saved.hasAdded && !self.personality.saved.hasSaved) {\n\t\t\t\t\tif (document.getElementsByClassName(\"hdq_outcome_label\").length > 1) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tlet status = confirm(\"You have added a new outcome but have not saved. Contunue to adding a new question?\");\n\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\twindow.location = this.href;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tremove: {\n\t\t\tinit: function () {\n\t\t\t\tconst items = document.getElementsByClassName(\"hdq_remove_outcome\");\n\t\t\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\t\t\tthis.parentElement.remove();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tawait tinyMCE.triggerSave();\n\t\t\tconst id = field.getAttribute(\"id\");\n\t\t\tconst data = [];\n\n\t\t\tconst labels = field.getElementsByClassName(\"hdq_outcome_label\");\n\t\t\tconst contents = field.getElementsByClassName(\"hd_editor_input\");\n\t\t\tfor (let i = 0; i < labels.length; i++) {\n\t\t\t\tdata.push({\n\t\t\t\t\tlabel: labels[i].value,\n\t\t\t\t\tid:\n\t\t\t\t\t\tlabels[i].value\n\t\t\t\t\t\t\t.replace(/[`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi, \"\")\n\t\t\t\t\t\t\t.replaceAll(\" \", \"_\")\n\t\t\t\t\t\t\t.toLowerCase() +\n\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\ti, // replace special characters, and ensure unique\n\t\t\t\t\tcontent: contents[i].value,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// make sure each label exists\n\t\t\tlet valid = true;\n\t\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\t\tif (data[i].label == \"\") {\n\t\t\t\t\tvalid = false;\n\t\t\t\t\tlabels[i].classList.add(\"hd_error\");\n\t\t\t\t} else {\n\t\t\t\t\tlabels[i].classList.remove(\"hd_error\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t\tcreate: function () {\n\t\t\tself.personality.saved.hasAdded = true;\n\t\t\tlet countOutcomes = document.getElementById(\"personality_results\").getElementsByClassName(\"hd_input_item\").length;\n\t\t\tcountOutcomes = String.fromCharCode(countOutcomes + \"A\".charCodeAt(0));\n\t\t\tconst html = `<div class=\"hd_input_item\">\n\t<div class=\"hdq_remove_outcome\" title=\"Remove this outcome\">x</div>\n\t<label class=\"hd_input_label\" for=\"hdq_result_${countOutcomes}\"><span class=\"hd_required_icon\"></span> Outcome title <span class=\"hd_tooltip_item\">?<span class=\"hd_tooltip\"><div class=\"hd_tooltip_content\">NOTE: If you rename this outcome, you will need to re-edit your questions to set the correct answer.</div></span></span></label>\n\t<input type=\"text\" data-type=\"text\" data-required=\"required\" class=\"hd_input hdq_outcome_label\" id=\"hdq_result_${countOutcomes}\" value=\"Result ${countOutcomes}\" placeholder=\"Result title...\" data-tab=\"Results\" />\n\n\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-wrap\" class=\"wp-core-ui wp-editor-wrap tmce-active\">\n\t\t<link rel=\"stylesheet\" id=\"dashicons-css\" href=\"https://hdquiz.local/wp-includes/css/dashicons.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<link rel=\"stylesheet\" id=\"editor-buttons-css\" href=\"https://hdquiz.local/wp-includes/css/editor.min.css?ver=6.6.2\" media=\"all\" />\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-tools\" class=\"wp-editor-tools hide-if-no-js\">\n\t\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-media-buttons\" class=\"wp-media-buttons\">\n\t\t\t\t<button type=\"button\" id=\"insert-media-button\" class=\"button insert-media add_media\" data-editor=\"hdq_result_content_result_${countOutcomes}\"><span class=\"wp-media-buttons-icon\"></span> Add Media</button>\n\t\t\t</div>\n\t\t\t<div class=\"wp-editor-tabs\">\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-tmce\" class=\"wp-switch-editor switch-tmce\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Visual</button>\n\t\t\t\t<button type=\"button\" id=\"hdq_result_content_result_${countOutcomes}-html\" class=\"wp-switch-editor switch-html\" data-wp-editor-id=\"hdq_result_content_result_${countOutcomes}\">Text</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<div id=\"wp-hdq_result_content_result_${countOutcomes}-editor-container\" class=\"wp-editor-container\">\n\t\t\t<div id=\"qt_hdq_result_content_result_${countOutcomes}_toolbar\" class=\"quicktags-toolbar hide-if-no-js\"></div>\n\t\t\t<textarea\n\t\t\t\tclass=\"hd_input hd_editor_input wp-editor-area\"\n\t\t\t\tstyle=\"height: 240px\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tcols=\"40\"\n\t\t\t\tname=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tid=\"hdq_result_content_result_${countOutcomes}\"\n\t\t\t\tdata-type=\"editor\"\n\t\t\t\tdata-lt-tmp-id=\"lt-8142\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tdata-gramm=\"false\"></textarea>\n\t\t</div>\n\t</div>\n</div>`;\n\t\t\tdocument.getElementById(\"personality_results\").insertAdjacentHTML(\"beforeend\", html);\n\t\t\tHDQ.form.createEditors();\n\t\t\tself.personality.remove.init();\n\t\t},\n\t},\n};\n", "import { self as fetcher } from \"../fetcher.js\";\n\nexport const self = {\n\tget: async function (action, d = null) {\n\t\t// d[0] == quiz_id, d[1] == question_id\n\t\tconsole.log(\"getting the question ID \" + d[1]);\n\t\tlet data = await self.getData(d);\n\t\tawait self.render(data);\n\t},\n\tgetData: async function (d) {\n\t\tlet data = {\n\t\t\tquiz_id: parseInt(d[0]),\n\t\t\tquestion_id: parseInt(d[1]),\n\t\t};\n\t\treturn await fetcher(\"hdq_get_view_question\", data);\n\t},\n\trender: async function (data) {\n\t\tdocument.getElementById(\"hdq_content\").innerHTML = data.html;\n\t\tdocument.getElementById(\"hdq_content\").scrollTo(0, 0);\n\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\n\t\t_hd.init();\n\t\tHDQ.form.createEditors();\n\t\tHDQ.form.tabs();\n\n\t\tself.answers.data.question_id = data.question_id;\n\t\tself.answers.data.quiz_id = data.quiz_id;\n\n\t\tself.answers.init();\n\n\t\tconst delete_el = document.getElementById(\"hd_delete_question\");\n\t\tif (!delete_el) {\n\t\t\treturn;\n\t\t}\n\t\tdelete_el.addEventListener(\"click\", async function () {\n\t\t\tconst message = `You are about to delete this question. Continue?`; // HDQ_LOCALIZE\n\t\t\tif (confirm(message)) {\n\t\t\t\tdeleteQuestion(this);\n\t\t\t}\n\t\t});\n\n\t\tasync function deleteQuestion(el) {\n\t\t\tlet data = {\n\t\t\t\tquiz_id: parseInt(el.getAttribute(\"data-quiz\")),\n\t\t\t\tquestion_id: parseInt(el.getAttribute(\"data-id\")),\n\t\t\t};\n\t\t\tlet res = await fetcher(\"hdq_delete_question\", data);\n\t\t\tHDQ.router.views.quiz.get(res.action.data, res.action.data2);\n\n\t\t\tlet state = {\n\t\t\t\tquiz_id: res.action.data2,\n\t\t\t};\n\t\t\thistory.pushState(state, \"\");\n\t\t}\n\t},\n\tupdate: function (question_id) {\n\t\tdocument.getElementById(\"question_id\").value = parseInt(question_id[0]);\n\t\tdocument.getElementById(\"hd_delete_question\").setAttribute(\"data-id\", parseInt(question_id[0]));\n\t},\n\tanswers: {\n\t\tdata: {\n\t\t\tanswers: [],\n\t\t\tquestion_id: 0,\n\t\t\tquiz_id: 0,\n\t\t\tdefaults: {\n\t\t\t\tvalue: \"\",\n\t\t\t\timage: \"\",\n\t\t\t\timageURL: \"\",\n\t\t\t\tselected: \"\",\n\t\t\t\t// set default fields here\n\t\t\t},\n\t\t},\n\t\tinit: function () {\n\t\t\tself.answers.onChangeQuestionType();\n\t\t\tself.fieldAnswers.init();\n\t\t},\n\t\tonChangeQuestionType: function () {\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tif (!questionTypeEl) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdocument.getElementById(\"weighted0\").addEventListener(\"change\", async function () {\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t});\n\n\t\t\tquestionTypeEl.addEventListener(\"change\", async function () {\n\t\t\t\tself.answers.changeQuestionType(this);\n\t\t\t});\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tif (questionTypeEl.options[0].selected) {\n\t\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\t}\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t}, 10);\n\t\t},\n\t\tchangeQuestionType: async function (el) {\n\t\t\tdocument.getElementById(\"hdq_loading\").classList.add(\"active\");\n\t\t\tconst questionTypeEl = document.getElementById(\"question_type\");\n\t\t\tlet type = el.value;\n\n\t\t\t// don't allow \"no selection\"\n\t\t\tif (type === \"\" || type === null) {\n\t\t\t\tquestionTypeEl.options[1].selected = true;\n\t\t\t\tlet event = new Event(\"change\");\n\t\t\t\tquestionTypeEl.dispatchEvent(event);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet data = {\n\t\t\t\tquestion_type: type,\n\t\t\t\tweighted: document.getElementById(\"weighted0\").checked,\n\t\t\t\tquestion_id: self.answers.data.question_id,\n\t\t\t\tquiz_id: self.answers.data.quiz_id,\n\t\t\t};\n\n\t\t\t// store current answer data\n\t\t\tself.answers.data.answers = await self.answers.getAnswerData();\n\t\t\t// update with new question type content\n\t\t\tdata = await fetcher(\"hdq_get_question_type\", data);\n\t\t\tif (data.status && data.status === \"success\") {\n\t\t\t\tdocument.getElementById(\"question_answers\").innerHTML = data.html;\n\t\t\t\tif (data.action && data.action.name) {\n\t\t\t\t\tconsole.log(\"running action \" + data.action.name);\n\t\t\t\t\tHDQ[data.action.name]();\n\t\t\t\t}\n\n\t\t\t\t// attempt to set answer data from stored\n\t\t\t\tself.answers.setAnswerData(self.answers);\n\t\t\t\tdocument.getElementById(\"hdq_loading\").classList.remove(\"active\");\n\t\t\t} else {\n\t\t\t\t// something went wrong\n\t\t\t\tconsole.log(data);\n\t\t\t}\n\t\t},\n\t\tgetAnswerData: async function (field = document.getElementById(\"question_answers\")) {\n\t\t\tconst rows = field.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tif (rows.length === 0) {\n\t\t\t\treturn [[], false];\n\t\t\t}\n\n\t\t\tlet answers = [];\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tlet answer = JSON.parse(JSON.stringify(self.answers.data.defaults));\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\tif (items[ii].checked) {\n\t\t\t\t\t\t\tanswer[type] = \"yes\";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\tanswer[type] = items[ii].getAttribute(\"data-value\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanswer[type] = items[ii].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tanswers.push(answer);\n\t\t\t}\n\n\t\t\tlet answers_clean = [];\n\t\t\tfor (let i = 0; i < answers.length; i++) {\n\t\t\t\tif (answers[i].value && answers[i].value !== \"\") {\n\t\t\t\t\tanswers_clean.push(answers[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [answers_clean, true];\n\t\t},\n\t\tsetAnswerData: async function () {\n\t\t\treturn; // disable for weighted questions to avoid conflicts\n\n\t\t\tlet answers = self.answers.data.answers[0];\n\t\t\tif (answers.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rows = document.getElementsByClassName(\"hdq_answer_row\");\n\t\t\tfor (let i = 0; i < rows.length; i++) {\n\t\t\t\tconst items = rows[i].getElementsByClassName(\"hdq_answer_item_input\");\n\t\t\t\tfor (let ii = 0; ii < items.length; ii++) {\n\t\t\t\t\tlet type = items[ii].getAttribute(\"data-answer-type\");\n\t\t\t\t\tif (answers[i] && answers[i][type]) {\n\t\t\t\t\t\tif (items[ii].getAttribute(\"type\") == \"checkbox\") {\n\t\t\t\t\t\t\titems[ii].checked = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (items[ii].getAttribute(\"data-value\")) {\n\t\t\t\t\t\t\t\titems[ii].setAttribute(\"data-value\", answers[i][type]);\n\t\t\t\t\t\t\t\tif (type === \"image\" && answers[i].imageURL !== \"\") {\n\t\t\t\t\t\t\t\t\titems[ii].innerHTML = \"\";\n\t\t\t\t\t\t\t\t\titems[ii].insertAdjacentElement(\"beforeend\", answers[i].imageURL);\n\t\t\t\t\t\t\t\t\titems[ii].nextElementSibling.classList.add(\"active\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titems[ii].value = answers[i][type];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tfieldAnswers: {\n\t\tinit: function () {\n\t\t\t_hd.validate.field.hdq_field_answers = self.fieldAnswers.validate; // set HDFields validation function\n\t\t},\n\t\tvalidate: async function (field) {\n\t\t\tlet valid = true;\n\t\t\tlet dataArr = await self.answers.getAnswerData(field);\n\t\t\tlet data = dataArr[0];\n\t\t\tif (dataArr[1]) {\n\t\t\t\tif (data.length == 0) {\n\t\t\t\t\tvalid = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet v = {\n\t\t\t\tvalue: data,\n\t\t\t\tstatus: valid,\n\t\t\t};\n\t\t\treturn v;\n\t\t},\n\t},\n};\n", "import { self as dashboard } from \"./dashboard.js\";\nimport { self as quiz } from \"./quiz.js\";\nimport { self as question } from \"./question.js\";\n\nexport const views = {\n\tdashboard: dashboard,\n\tquiz: quiz,\n\tquestion: question,\n\treload: {\n\t\tget: function (data) {\n\t\t\tlocation.reload(true);\n\t\t},\n\t},\n};\n", "import { views } from \"./views/index.js\";\n\nexport const router = {\n\tviews: views,\n\tinit: async function () {\n\t\tawait router.getView();\n\t\twindow.addEventListener(\"hashchange\", async function () {\n\t\t\trouter.getView();\n\t\t});\n\t},\n\tgetHash: async function () {\n\t\tlet hash = window.location.hash;\n\t\tif (hash.length == 0) {\n\t\t\thash = \"#/dashboard\";\n\t\t}\n\t\treturn hash;\n\t},\n\tgetView: async function (d = null) {\n\t\tlet hash = await router.getHash();\n\t\thash = hash.replaceAll(\"#/\", \"\");\n\n\t\td = hash.split(\"/\");\n\t\td.shift();\n\t\thash = hash.split(\"/\")[0];\n\t\tif (views[hash]) {\n\t\t\trouter.views[hash].get(hash, d);\n\t\t} else {\n\t\t\tconsole.error(\"HD Quiz: View \" + hash + \" could not be found\");\n\t\t}\n\n\t\tconst loader = document.getElementById(\"hdq_loading\");\n\t\tloader.classList.add(\"active\");\n\n\t\treturn hash;\n\t},\n};\n", "export const form = {\n\ttabs: function () {\n\t\tconst items = document.getElementsByClassName(\"hdq_quiz_tab\");\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].addEventListener(\"click\", function () {\n\t\t\t\tremoveActiveClass();\n\t\t\t\tthis.classList.add(\"hdq_quiz_tab_active\");\n\t\t\t\tlet id = this.getAttribute(\"data-id\");\n\t\t\t\tdocument.getElementById(id).classList.add(\"hdq_tab_content_active\");\n\t\t\t});\n\t\t}\n\n\t\tfunction removeActiveClass() {\n\t\t\tlet activeNav = document.getElementsByClassName(\"hdq_quiz_tab_active\");\n\t\t\twhile (activeNav.length > 0) {\n\t\t\t\tactiveNav[0].classList.remove(\"hdq_quiz_tab_active\");\n\t\t\t}\n\n\t\t\tlet activeContent = document.getElementsByClassName(\"hdq_tab_content_active\");\n\t\t\twhile (activeContent.length > 0) {\n\t\t\t\tactiveContent[0].classList.remove(\"hdq_tab_content_active\");\n\t\t\t}\n\t\t}\n\t},\n\tcreateEditors: function () {\n\t\t// destroy old editors so we can re-init\n\t\tlet editors = document.getElementsByClassName(\"hd_editor_input\");\n\t\tfor (let i = 0; i < editors.length; i++) {\n\t\t\tlet eID = editors[i].getAttribute(\"id\");\n\t\t\ttinyMCE.execCommand(\"mceRemoveEditor\", false, eID);\n\t\t}\n\n\t\tsetTimeout(initTINYMCE, 1600); // give it some time to load in first\n\n\t\tfunction initTINYMCE() {\n\t\t\ttinyMCE.init({\n\t\t\t\tmode: \"textareas\",\n\t\t\t\trelative_urls: false,\n\t\t\t\tremove_script_host: false,\n\t\t\t\tconvert_urls: false,\n\t\t\t\tbrowser_spellcheck: true,\n\t\t\t\tentity_encoding: \"raw\",\n\t\t\t\tkeep_styles: false,\n\t\t\t\tresize: true,\n\t\t\t\tcontent_style: \"body { height: 100vh; min-height: 120px }\",\n\t\t\t\tmenubar: false,\n\t\t\t\tbranding: false,\n\t\t\t\twpeditimage_html5_captions: true,\n\t\t\t\tplugins: \"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview\",\n\t\t\t\twpautop: true,\n\t\t\t\tindent: false,\n\t\t\t\ttoolbar1: \"formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,dfw,wp_adv\",\n\t\t\t\ttoolbar2: \"strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help\",\n\t\t\t\ttoolbar3: \"\",\n\t\t\t\ttoolbar4: \"\",\n\t\t\t\ttabfocus_elements: \"content-html,save-post\",\n\t\t\t\twp_autoresize_on: false,\n\t\t\t\tadd_unload_trigger: false,\n\t\t\t\tblock_formats: \"Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Code=code\",\n\t\t\t});\n\t\t}\n\t},\n};\n", "export const sort = {\n\tFFhasInit: false,\n\tinit: function () {\n\t\t/* \n\t\t\t** Come on Firefox! Be better!! **\n\t\t\tpatch for Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tNeeded to get clientX and Y position during drag events\n\t\t*/\n\t\tif (!sort.FFhasInit) {\n\t\t\tsort.FFhasInit = true;\n\t\t\tif (/Firefox\\/\\d+[\\d\\.]*/.test(navigator.userAgent) && typeof window.DragEvent === \"function\" && typeof window.addEventListener === \"function\")\n\t\t\t\t(function () {\n\t\t\t\t\tvar cx, cy, px, py, ox, oy, sx, sy, lx, ly;\n\t\t\t\t\tfunction update(e) {\n\t\t\t\t\t\tcx = e.clientX;\n\t\t\t\t\t\tcy = e.clientY;\n\t\t\t\t\t\tpx = e.pageX;\n\t\t\t\t\t\tpy = e.pageY;\n\t\t\t\t\t\tox = e.offsetX;\n\t\t\t\t\t\toy = e.offsetY;\n\t\t\t\t\t\tsx = e.screenX;\n\t\t\t\t\t\tsy = e.screenY;\n\t\t\t\t\t\tlx = e.layerX;\n\t\t\t\t\t\tly = e.layerY;\n\t\t\t\t\t}\n\t\t\t\t\tfunction assign(e) {\n\t\t\t\t\t\te._ffix_cx = cx;\n\t\t\t\t\t\te._ffix_cy = cy;\n\t\t\t\t\t\te._ffix_px = px;\n\t\t\t\t\t\te._ffix_py = py;\n\t\t\t\t\t\te._ffix_ox = ox;\n\t\t\t\t\t\te._ffix_oy = oy;\n\t\t\t\t\t\te._ffix_sx = sx;\n\t\t\t\t\t\te._ffix_sy = sy;\n\t\t\t\t\t\te._ffix_lx = lx;\n\t\t\t\t\t\te._ffix_ly = ly;\n\t\t\t\t\t}\n\t\t\t\t\twindow.addEventListener(\"mousemove\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragover\", update, true);\n\t\t\t\t\twindow.addEventListener(\"dragstart\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"drag\", assign, true);\n\t\t\t\t\twindow.addEventListener(\"dragend\", assign, true);\n\n\t\t\t\t\tvar me = Object.getOwnPropertyDescriptors(window.MouseEvent.prototype),\n\t\t\t\t\t\tue = Object.getOwnPropertyDescriptors(window.UIEvent.prototype);\n\t\t\t\t\tfunction getter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn (me[prop] && me[prop].get.call(this)) || Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tfunction layerGetter(prop, repl) {\n\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\treturn this.type === \"dragover\" && ue[prop] ? ue[prop].get.call(this) : Number(this[repl]) || 0;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tObject.defineProperties(window.DragEvent.prototype, {\n\t\t\t\t\t\tclientX: { get: getter(\"clientX\", \"_ffix_cx\") },\n\t\t\t\t\t\tclientY: { get: getter(\"clientY\", \"_ffix_cy\") },\n\t\t\t\t\t\tpageX: { get: getter(\"pageX\", \"_ffix_px\") },\n\t\t\t\t\t\tpageY: { get: getter(\"pageY\", \"_ffix_py\") },\n\t\t\t\t\t\toffsetX: { get: getter(\"offsetX\", \"_ffix_ox\") },\n\t\t\t\t\t\toffsetY: { get: getter(\"offsetY\", \"_ffix_oy\") },\n\t\t\t\t\t\tscreenX: { get: getter(\"screenX\", \"_ffix_sx\") },\n\t\t\t\t\t\tscreenY: { get: getter(\"screenY\", \"_ffix_sy\") },\n\t\t\t\t\t\tx: { get: getter(\"x\", \"_ffix_cx\") },\n\t\t\t\t\t\ty: { get: getter(\"y\", \"_ffix_cy\") },\n\t\t\t\t\t\tlayerX: { get: layerGetter(\"layerX\", \"_ffix_lx\") },\n\t\t\t\t\t\tlayerY: { get: layerGetter(\"layerY\", \"_ffix_ly\") },\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t}\n\n\t\tconst el = document.getElementById(\"hdq_questions_list\").getElementsByClassName(\"hdq_quiz_question\");\n\t\tfor (let i = 0; i < el.length; i++) {\n\t\t\tsort.enableDragItem(el[i]);\n\t\t}\n\t},\n\tenableDragItem: function (item) {\n\t\titem.setAttribute(\"draggable\", true);\n\t\titem.ondrag = sort.handleDrag;\n\t\titem.ondragend = sort.handleDrop;\n\t},\n\thandleDrag: function (item) {\n\t\tconst selectedItem = item.target,\n\t\t\tx = item.clientX,\n\t\t\ty = item.clientY;\n\n\t\tlet parents = [document.getElementById(\"hdq_questions_list\")];\n\t\tselectedItem.classList.add(\"drag-sort-active\");\n\t\tlet swapItem = document.elementFromPoint(x, y) === null ? selectedItem : document.elementFromPoint(x, y);\n\t\tif (swapItem === null) {\n\t\t\treturn;\n\t\t}\n\t\tif (swapItem.getAttribute(\"draggable\") != \"true\") {\n\t\t\treturn;\n\t\t}\n\t\tfor (let i = 0; i < parents.length; i++) {\n\t\t\tif (swapItem === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (parents[i] === swapItem.parentNode) {\n\t\t\t\tswapItem = swapItem !== selectedItem.nextSibling ? swapItem : swapItem.nextSibling;\n\t\t\t\tparents[i].insertBefore(selectedItem, swapItem);\n\t\t\t}\n\t\t}\n\t},\n\thandleDrop: function (item) {\n\t\titem.target.classList.remove(\"drag-sort-active\");\n\t\tdocument.getElementById(\"hdq_questions_list\").classList.add(\"hderp\"); // alow question_orders to save.\n\t},\n};\n", "import { router } from \"./router.js\";\nimport { form } from \"./form.js\";\nimport { sort } from \"./sort.js\";\n\nconst HDQ = {\n\tinit: async function () {\n\t\tconsole.log(\"HD Quiz v\" + HDQ_VERSION + \" init\");\n\n\t\tasync function render() {\n\t\t\tawait HDQ.router.init();\n\t\t}\n\t\tawait render();\n\t\tHDQ.form.createEditors();\n\t},\n\trouter: router,\n\tform: form,\n\tsort: sort,\n\timages: function () {\n\t\t_hd.images.init();\n\t},\n\treload: function (el) {\n\t\tlet l = el.getAttribute(\"href\");\n\t\tlet c = window.location.href;\n\t\tif (c.includes(l)) {\n\t\t\twindow.location.reload();\n\t\t}\n\t},\n};\nHDQ.init();\n\nwindow.HDQ = HDQ;\n"], 5 "mappings": "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", 6 6 "names": ["self", "action", "data", "url", "createUrl", "admin_ajax", "formdata", "key", "value", "nonce", "res", "k", "create_error_message", "self", "action", "d", "data", "saveEl", "ev", "items", "i", "self", "action", "d", "data", "paged", "el", "shortcode", "delete_el", "deleteQuiz", "res", "ev", "v", "questions", "i", "field", "question_id", "event", "items", "id", "labels", "contents", "valid", "countOutcomes", "html", "self", "action", "d", "data", "delete_el", "deleteQuestion", "el", "res", "state", "question_id", "questionTypeEl", "event", "type", "field", "rows", "answers", "i", "answer", "items", "ii", "answers_clean", "valid", "dataArr", "views", "self", "data", "router", "views", "hash", "d", "form", "items", "removeActiveClass", "id", "activeNav", "activeContent", "editors", "eID", "initTINYMCE", "sort", "cx", "cy", "px", "py", "ox", "oy", "sx", "sy", "lx", "ly", "update", "e", "assign", "me", "ue", "getter", "prop", "repl", "layerGetter", "el", "i", "item", "selectedItem", "x", "y", "parents", "swapItem", "HDQ", "render", "router", "form", "sort", "el", "l"] 7 7 } -
hd-quiz/trunk/includes/admin-pages.php
r3487488 r3490226 8 8 wp_enqueue_script("hdfields", plugins_url('../hdfields/script.js', __FILE__), array(), HDFIELDS_VERSION); 9 9 wp_enqueue_style("hdq_admin", plugins_url('../assets/admin.css', __FILE__), array(), HDQ_PLUGIN_VERSION); 10 //wp_enqueue_script('hdq_admin', plugins_url('../assets/admin_bundled.js', __FILE__), array(), HDQ_PLUGIN_VERSION);11 wp_enqueue_script_module('hdq_admin', plugins_url('../assets/admin.js', __FILE__), array(), HDQ_PLUGIN_VERSION);10 wp_enqueue_script('hdq_admin', plugins_url('../assets/admin_bundled.js', __FILE__), array(), HDQ_PLUGIN_VERSION); 11 // wp_enqueue_script_module('hdq_admin', plugins_url('../assets/admin.js', __FILE__), array(), HDQ_PLUGIN_VERSION); 12 12 13 13 $hdq_version = sanitize_text_field(get_option('HDQ_PLUGIN_VERSION'));
Note: See TracChangeset
for help on using the changeset viewer.