PageSourceSearch

https://master.euleinstitute.com/_next/static/chunks/8415.33b862a9ec38c7c5.js

js euleinstitute.com collected 2026-10-09 22:26:00 UTC 7,747 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8415],{28415:function(e,t,s){s.r(t),s.d(t,{QuizLessonEditor:function(){return b}});var a=s(42620),n=s(40740),l=s(29012),r=s(32065),i=s(42568);let o="rounded-md border border-[rgb(var(--border-default))] bg-[rgb(var(--surface-base))] px-3 py-2 text-sm",c="block text-xs font-medium text-[rgb(var(--text-secondary))]",d="text-xs underline";function u(e){let{lessonId:t,draws:s,onChange:i}=e,u=(0,l.T)("quizEditor"),[m,x]=(0,n.useState)(null);(0,n.useEffect)(()=>{let e=!1;return fetch("/api/admin/question-banks?lessonId=".concat(encodeURIComponent(t))).then(e=>e.ok?e.json():null).then(t=>{var s,a;e||x(null!==(a=null==t?void 0:null===(s=t.data)||void 0===s?void 0:s.banks)&&void 0!==a?a:[])}).catch(()=>{e||x([])}),()=>{e=!0}},[t]);let b=(e,t)=>i(s.map((s,a)=>a===e?{...s,...t}:s)),h=e=>null==m?void 0:m.find(t=>t.id===e);return(0,a.jsxs)("fieldset",{className:"rounded-lg border border-[rgb(var(--border-default))] p-4",children:[(0,a.jsx)("legend",{className:"px-1 text-sm font-semibold text-[rgb(var(--text-primary))]",children:u("bankDrawsTitle")}),(0,a.jsx)("p",{className:"text-xs text-[rgb(var(--text-muted))]",children:u("bankDrawsHint")}),m&&0===m.length?(0,a.jsx)("p",{className:"mt-2 text-xs text-[rgb(var(--text-secondary))]",children:u("noBanks")}):null,(0,a.jsx)("ol",{className:"mt-3 space-y-3",children:s.map((e,t)=>{var n,l,x;let p=h(e.bankId);return(0,a.jsxs)("li",{className:"grid gap-3 rounded-md border border-[rgb(var(--border-default))] p-3 sm:grid-cols-[2fr_1fr_2fr_auto] sm:items-end",children:[(0,a.jsxs)("label",{className:c,children:[u("bankLabel"),(0,a.jsxs)("select",{value:e.bankId,onChange:e=>b(t,{bankId:e.target.value}),className:"mt-1 block w-full ".concat(o),"aria-describedby":"draw-".concat(t,"-count"),children:[(0,a.jsx)("option",{value:"",children:u("bankSelectPlaceholder")}),(null!=m?m:[]).map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]}),(0,a.jsx)("span",{id:"draw-".concat(t,"-count"),className:"mt-1 block font-normal text-[rgb(var(--text-muted))]",children:p?u("bankQuestionsAvailable",{count:p.questionCount}):""})]}),(0,a.jsxs)("label",{className:c,children:[u("bankCount"),(0,a.jsx)("input",{type:"number",min:1,max:r.bt.maxQuestions,value:e.count,onChange:e=>b(t,{count:Math.min(r.bt.maxQuestions,Math.max(1,Math.round(Number(e.target.value)||1)))}),className:"mt-1 block w-full ".concat(o)})]}),(0,a.jsxs)("label",{className:c,children:[u("bankTags"),(0,a.jsx)("input",{value:(null!==(l=e.tags)&&void 0!==l?l:[]).join(", "),onChange:e=>b(t,{tags:e.target.value.split(",").map(e=>e.trim()).filter(Boolean).slice(0,r.bt.maxTags)}),placeholder:null!==(x=null==p?void 0:null===(n=p.tags)||void 0===n?void 0:n.join(", "))&&void 0!==x?x:"",className:"mt-1 block w-full ".concat(o)})]}),(0,a.jsx)("button",{type:"button",onClick:()=>i(s.filter((e,s)=>s!==t)),className:"text-[rgb(var(--danger))] ".concat(d),children:u("removeBankDraw")})]},t)})}),(0,a.jsxs)("button",{type:"button",onClick:()=>{var e,t;return i([...s,{bankId:null!==(t=null==m?void 0:null===(e=m[0])||void 0===e?void 0:e.id)&&void 0!==t?t:"",count:5,tags:[]}])},disabled:!m||0===m.length||s.length>=r.bt.maxBankDraws,className:"mt-3 text-[rgb(var(--brand))] disabled:opacity-40 ".concat(d),children:["+ ",u("addBankDraw")]})]})}var m=s(18251);function x(e){let t=e.filter(e=>e.bankId);return t.length?t:void 0}function b(e){let{lessonId:t,initialContent:s,onSaveStateChange:o}=e,c=(0,l.T)("quizEditor"),[d,b]=(0,n.useState)(()=>(0,r.BE)(s)),[p,g]=(0,n.useState)(()=>{var e;return null!==(e=(0,r.BE)(s).bankDraws)&&void 0!==e?e:[]}),v=(0,m.H)({lessonId:t}),f=(0,n.useRef)(null),j=(0,n.useCallback)(e=>{null==o||o("saving"),f.current&&clearTimeout(f.current),f.current=setTimeout(async()=>{try{let s=await fetch("/api/lessons/".concat(t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});null==o||o(s.ok?"saved":"error")}catch(e){null==o||o("error")}},1200)},[t,o]);(0,n.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]);let N=e=>{b(e),j({...e,bankDraws:x(p)})},k=e=>N({...d,questions:d.questions.map(t=>
1t.id===e.id?e:t)}),y=e=>N({...d,questions:d.questions.filter(t=>t.id!==e)}),w=d.questions.some(e=>"essay"===e.type);return(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsx)(h,{quiz:d,onChange:N}),w?(0,a.jsx)("p",{className:"rounded-md bg-[rgb(var(--surface-raised))] p-3 text-xs text-[rgb(var(--text-secondary))]",children:c("essayGradingNote")}):null,(0,a.jsx)("ol",{className:"space-y-6",children:d.questions.map((e,t)=>(0,a.jsx)("li",{className:"rounded-lg border border-[rgb(var(--border-default))] p-4",children:(0,a.jsx)(i.Av,{index:t,question:e,onChange:k,onRemove:()=>y(e.id),rubrics:v})},e.id))}),(0,a.jsxs)("button",{type:"button",onClick:()=>N({...d,questions:[...d.questions,(0,i.Nd)()]}),disabled:d.questions.length>=r.bt.maxQuestions,className:"rounded-md border border-[rgb(var(--border-default))] px-4 py-2 text-sm font-semibold text-[rgb(var(--text-primary))] hover:bg-[rgb(var(--surface-raised))] disabled:opacity-40",children:["+ ",c("addQuestion")]}),(0,a.jsx)(u,{lessonId:t,draws:p,onChange:e=>{g(e),j({...d,bankDraws:x(e)})}})]})}function h(e){var t,s,n;let{quiz:o,onChange:c}=e,d=(0,l.T)("quizEditor"),u=(e,t)=>c({...o,[e]:t});return(0,a.jsxs)("fieldset",{className:"rounded-lg border border-[rgb(var(--border-default))] p-4",children:[(0,a.jsx)("legend",{className:"px-1 text-sm font-semibold text-[rgb(var(--text-primary))]",children:d("settingsTitle")}),(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:i.Yo,children:[d("passThreshold"),(0,a.jsxs)("span",{className:"mt-1 flex items-center gap-2",children:[(0,a.jsx)("input",{type:"number",min:1,max:100,value:o.passThreshold,onChange:e=>u("passThreshold",Math.max(1,Math.min(100,Number(e.target.value)||1))),className:"w-24 ".concat(i.EP)}),"%"]})]}),(0,a.jsxs)("label",{className:i.Yo,children:[d("maxAttempts"),(0,a.jsx)("input",{type:"number",min:1,max:r.bt.maxAttempts,value:null!==(t=o.maxAttempts)&&void 0!==t?t:"",placeholder:d("maxAttemptsUnlimited"),onChange:e=>u("maxAttempts",(0,i.$H)(e.target.value,r.bt.maxAttempts)),className:"mt-1 block w-full ".concat(i.EP)})]}),(0,a.jsxs)("label",{className:i.Yo,children:[d("timeLimit"),(0,a.jsxs)("span",{className:"mt-1 flex items-center gap-2",children:[(0,a.jsx)("input",{type:"number",min:1,max:r.bt.maxTimeLimitMinutes,value:null!==(s=o.timeLimitMinutes)&&void 0!==s?s:"",placeholder:d("timeLimitNone"),onChange:e=>u("timeLimitMinutes",(0,i.$H)(e.target.value,r.bt.maxTimeLimitMinutes)),className:"w-full ".concat(i.EP)}),(0,a.jsx)("span",{className:"shrink-0",children:d("minutes")})]})]}),(0,a.jsxs)("label",{className:i.Yo,children:[d("showCorrectAnswers"),(0,a.jsx)("select",{value:null!==(n=o.showCorrectAnswers)&&void 0!==n?n:"after_submit",onChange:e=>u("showCorrectAnswers",e.target.value),className:"mt-1 block w-full ".concat(i.EP),children:r.d4.map(e=>(0,a.jsx)("option",{value:e,children:d("show_".concat(e))},e))})]}),(0,a.jsxs)("label",{className:"flex items-center gap-2 text-xs text-[rgb(var(--text-secondary))]",children:[(0,a.jsx)("input",{type:"checkbox",checked:!!o.shuffleQuestions,onChange:e=>u("shuffleQuestions",e.target.checked),className:"h-4 w-4"}),d("shuffleQuestions")]}),(0,a.jsxs)("label",{className:"flex items-center gap-2 text-xs text-[rgb(var(--text-secondary))]",children:[(0,a.jsx)("input",{type:"checkbox",checked:!!o.shuffleOptions,onChange:e=>u("shuffleOptions",e.target.checked),className:"h-4 w-4"}),d("shuffleOptions")]})]}),o.timeLimitMinutes?(0,a.jsx)("p",{className:"mt-3 text-xs text-[rgb(var(--text-muted))]",children:d("timeLimitHint")}):null]})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.