@citolab/qti-components 7.1.1 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/chunks/chunk-6DWYLZ5E.js +5 -0
- package/cdn/chunks/chunk-7QMIMK5V.js +5 -0
- package/cdn/chunks/chunk-BGHD6LZP.js +1007 -0
- package/cdn/chunks/chunk-EBVKDAVL.js +5 -0
- package/cdn/chunks/chunk-GNIERKRX.js +1007 -0
- package/cdn/chunks/chunk-NQKAQ6AU.js +1007 -0
- package/cdn/chunks/chunk-WVVKSWZV.js +5 -0
- package/cdn/chunks/chunk-ZHVOZ7WZ.js +1007 -0
- package/cdn/index.global.js +1 -1
- package/cdn/index.js +1 -1
- package/cdn/qti-components/index.js +1 -1
- package/cdn/qti-test/components/index.js +1 -1
- package/cdn/qti-test/core/index.js +1 -1
- package/dist/chunks/chunk-2RXVRB7Z.js +659 -0
- package/dist/chunks/chunk-2RXVRB7Z.js.map +1 -0
- package/dist/chunks/chunk-4BDSKOGB.js +6873 -0
- package/dist/chunks/chunk-4BDSKOGB.js.map +1 -0
- package/dist/chunks/chunk-BLUHTHXX.js +6877 -0
- package/dist/chunks/chunk-BLUHTHXX.js.map +1 -0
- package/dist/chunks/chunk-BQ22JHXC.js +6877 -0
- package/dist/chunks/chunk-BQ22JHXC.js.map +1 -0
- package/dist/chunks/chunk-LSNOL7NJ.js +6872 -0
- package/dist/chunks/chunk-LSNOL7NJ.js.map +1 -0
- package/dist/chunks/chunk-RB227QQP.js +659 -0
- package/dist/chunks/chunk-RB227QQP.js.map +1 -0
- package/dist/chunks/chunk-U7VUCT7D.js +659 -0
- package/dist/chunks/chunk-U7VUCT7D.js.map +1 -0
- package/dist/chunks/chunk-V2EYNAG4.js +659 -0
- package/dist/chunks/chunk-V2EYNAG4.js.map +1 -0
- package/dist/index.js +49 -49
- package/dist/qti-components/index.js +1 -1
- package/dist/qti-test/components/index.js +11 -11
- package/dist/qti-test/components/test-next.js +2 -2
- package/dist/qti-test/components/test-prev.js +2 -2
- package/dist/qti-test/components/test-view.js +2 -2
- package/dist/qti-test/core/index.js +7 -7
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as M,b as O}from"./chunk-CZDMOYYF.js";import{a as L,b as x}from"./chunk-QQR6POPY.js";import{g as _}from"./chunk-GNIERKRX.js";import{a as V}from"./chunk-5FCXUJAG.js";import{a as I,b as v}from"./chunk-M5PPZ5M3.js";import{a as g,b as n,c as T}from"./chunk-5GCSZ3CH.js";import{a as S,d as c,i as u}from"./chunk-LZZB4VGC.js";import{a as s}from"./chunk-IAP2CEE7.js";var P=(o,l)=>sessionStorage.setItem(o,JSON.stringify(l)),B=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,R=o=>{class l extends o{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:e})=>{e.promise=(async()=>(await V().load(`${e.href}`,e.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=B(this.autoStoreRestoreContext);t&&(this.testContext=t)}}willUpdate(t){t.has("navItemId")&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),t.has("testContext")&&this.autoStoreRestoreContext&&P(this.autoStoreRestoreContext,this.testContext)}}return s([n({type:String,attribute:"auto-store-restore"})],l.prototype,"autoStoreRestoreContext",2),s([n({type:String,attribute:"nav-item-id"})],l.prototype,"navItemId",2),l};var A=o=>{class l extends o{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",async({detail:e})=>{if(e?.id){if(e.type==="item"){await this._loadItems([e.id]);let r=e.id,h=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${e.id}"]`),m=h.closest("qti-test-part")?.identifier,C=h.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:m,navSectionId:C,navItemId:r,navItemLoading:!1}}else if(e.type==="section"){let r=this._getSectionItemIds(e.id);await this._loadItems(r);let h=e.id,C=(this._testElement?.querySelector(`qti-assessment-section[identifier="${h}"]`)).closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:C,navSectionId:h,navItemId:null,navItemLoading:!1}}}}),this.addEventListener("qti-assessment-test-connected",e=>{this._testElement=e.detail;let r;this.navigate==="section"?r=this._testElement.querySelector("qti-assessment-section")?.identifier:r=this.sessionContext.navItemId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier,r&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:r},bubbles:!0,composed:!0}))})}async _loadItems(t){let e;if(!this._testElement||t.length===0)return;let r=t.map(m=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${m}"]`));if(r.includes(null)){console.warn(`One or more items not found: ${t}`);return}this._clearLoadedItems(),this.sessionContext={...this.sessionContext,navItemLoading:!0};let h=r.map(async m=>m?{itemRef:m,doc:await this._loadItemRequest(m.href)}:null);try{e=await Promise.all(h),e.forEach(({itemRef:m,doc:C})=>{m&&C&&(m.xmlDoc=C)}),requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:e.map(({itemRef:m})=>({identifier:m?.identifier,element:m})),bubbles:!0,composed:!0}))})}catch(m){console.error("Error loading items:",m)}return e}_getSectionItemIds(t){return this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`)?Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(r=>r.identifier):(console.warn(`Section with identifier "${t}" not found.`),[])}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(e=>{e.xmlDoc=null})}_loadItemRequest(t){let e=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null}});return this.dispatchEvent(e),e.detail.promise}}return s([n({type:String})],l.prototype,"navigate",2),l};var N=o=>{class l extends o{constructor(...i){super(...i),this.sessionContext={...this.sessionContext,view:"candidate"},this.addEventListener("on-test-switch-view",t=>{this.sessionContext={...this.sessionContext,view:t.detail},this._updateElementView()}),this.addEventListener("qti-assessment-test-connected",()=>{this._updateElementView()}),this.addEventListener("qti-assessment-item-connected",t=>{this._updateElementView(),this._setCorrectResponseVisibility(t.detail)})}willUpdate(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(e=>{e.classList.toggle("show",e.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return l};var y=class extends u{constructor(){super();this.testContext=L;this.sessionContext=M;this._updateItemInTestContext=a=>{let{identifier:i}=a,t=a._context.variables,e=this.testContext.items.find(r=>r?.identifier===i);if(!e){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}e.variables?.length===1?this._updateItemVariablesInTestContext(i,t):a.variables=[...e.variables||[]]};this.addEventListener("qti-assessment-test-connected",a=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=a.detail;let i=Array.from(this.testElement.querySelectorAll("qti-assessment-item-ref")).map(t=>({href:t.href,identifier:t.identifier,category:t.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}));this.testContext={...this.testContext,items:i}}),this.addEventListener("qti-assessment-item-connected",a=>{this._updateItemInTestContext(a.detail)}),this.addEventListener("qti-item-context-updated",a=>{this._updateItemVariablesInTestContext(a.detail.itemContext.identifier,a.detail.itemContext.variables)})}_updateItemVariablesInTestContext(a,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==a?t:{...t,variables:i.map(e=>{let r=t.variables.find(h=>h.identifier===e.identifier);return r?{...r,...e}:e})})}}};s([T(),I({context:x})],y.prototype,"testContext",2),s([T(),I({context:O})],y.prototype,"sessionContext",2);var k=o=>{class l extends o{constructor(...i){super(...i),this.addEventListener("qti-register-variable",t=>{this.testContext={...this.testContext,testOutcomeVariables:[...this.testContext.testOutcomeVariables||[],t.detail.variable]},t.stopPropagation()}),this.addEventListener("qti-set-outcome-value",t=>{let{outcomeIdentifier:e,value:r}=t.detail;this.updateOutcomeVariable(e,r),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let e=this.getOutcome(i);if(!e){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==i?r:{...r,value:e.cardinality==="single"?t:[...r.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return l};var q=class extends R(A(N(k(y)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return c`<slot></slot>`}};q=s([g("qti-test")],q);var D={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},d=class extends u{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}))}render(){return c`${this.xmlDoc}`}};s([n({type:String})],d.prototype,"category",2),s([n({type:String})],d.prototype,"identifier",2),s([n({type:Boolean,converter:D})],d.prototype,"required",2),s([n({type:Boolean,converter:D})],d.prototype,"fixed",2),s([n({type:String})],d.prototype,"href",2),s([v({context:x,subscribe:!0})],d.prototype,"_testContext",2),s([n({type:Object,attribute:!1})],d.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",d);var w={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return c`<slot name="qti-rubric-block"></slot><slot></slot>`}};s([n({type:String})],p.prototype,"identifier",2),s([n({type:String})],p.prototype,"required",2),s([n({type:Boolean,converter:w})],p.prototype,"fixed",2),s([n({type:String})],p.prototype,"title",2),s([n({type:Boolean,converter:w})],p.prototype,"visible",2),s([n({type:Boolean,converter:w,attribute:"keep-together"})],p.prototype,"keepTogether",2),s([v({context:x,subscribe:!0})],p.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",p);var b=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return c` <slot></slot>`}};s([n({type:String})],b.prototype,"identifier",2),s([n({type:String})],b.prototype,"title",2),s([v({context:x,subscribe:!0})],b.prototype,"_testContext",2),b=s([g("qti-assessment-test")],b);var f=class extends u{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return c` <slot></slot>`}};s([n({type:String})],f.prototype,"identifier",2),s([n({type:String})],f.prototype,"title",2),s([n({type:String})],f.prototype,"class",2),s([n({type:String,attribute:"navigation-mode"})],f.prototype,"NavigationMode",2),s([n({type:String,attribute:"submission-mode"})],f.prototype,"submissionMode",2),f=s([g("qti-test-part")],f);customElements.get("qti-test-part")||customElements.define("qti-test-part",f);var E=class extends _{render(){return c``}};E.styles=S`
|
|
2
|
+
:host {
|
|
3
|
+
color: gray;
|
|
4
|
+
}
|
|
5
|
+
`,E=s([g("qti-test-feedback")],E);export{q as a,d as b,p as c,b as d,f as e,E as f};
|