PageSourceSearch

https://app.trainwel.com/static/js/68.ae511fa7.chunk.js

js trainwel.com collected 2026-10-05 23:21:39 UTC 8,819 bytes, 1 lines download raw bytes

1(this.webpackJsonpstatstudio=this.webpackJsonpstatstudio||[]).push([[68],{1062:function(e,r,t){"use strict";var a=t(7),s=t(16),c=t(12),n=t.n(c),o=t(1),i=t.n(o),l=t(21),d=["bsPrefix","className","striped","bordered","borderless","hover","size","variant","responsive"],u=i.a.forwardRef((function(e,r){var t=e.bsPrefix,c=e.className,o=e.striped,u=e.bordered,p=e.borderless,g=e.hover,j=e.size,h=e.variant,b=e.responsive,O=Object(s.a)(e,d),f=Object(l.a)(t,"table"),m=n()(c,f,h&&f+"-"+h,j&&f+"-"+j,o&&f+"-striped",u&&f+"-bordered",p&&f+"-borderless",g&&f+"-hover"),x=i.a.createElement("table",Object(a.a)({},O,{className:m,ref:r}));if(b){var k=f+"-responsive";return"string"===typeof b&&(k=k+"-"+b),i.a.createElement("div",{className:k},x)}return x}));r.a=u},1089:function(e,r,t){"use strict";var a=t(14),s=t.n(a),c=t(8),n=t(6),o=t(4),i=t(34);r.a={getScormPackages:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=o.a.serializeQuery?o.a.serializeQuery(e):new URLSearchParams(e).toString();try{return(await s.a.get(`${n.a}scorm/packages/?${r}`,o.a.tokenConfig())).data}catch(t){return Object(o.c)(null===t||void 0===t?void 0:t.response),console.error("An error occurred while fetching SCORM packages >>>",t,t.response),{results:[],count:0}}},getScormPackageDetails:async e=>{try{return(await s.a.get(`${n.a}scorm/packages/${e}/`,o.a.tokenConfig())).data}catch(r){return Object(o.c)(null===r||void 0===r?void 0:r.response),console.error("An error occurred while fetching SCORM package details >>>",r,r.response),null}},getScormLaunchInfo:async e=>{try{return(await s.a.get(`${n.a}scorm/packages/${e}/launch/`,o.a.tokenConfig())).data}catch(r){return r.response&&400===r.response.status&&r.response.data&&"failed"===r.response.data.status?(console.warn("SCORM package processing failed:",r.response.data.error),r.response.data):(Object(o.c)(null===r||void 0===r?void 0:r.response),console.error("An error occurred while fetching SCORM launch info >>>",r,r.response),{status:"error",error:"Could not fetch launch information."})}},uploadScormPackage:async e=>{const r=new FormData;Object(i.e)(r,e);try{const e=o.a.multiPartTokenConfig?o.a.multiPartTokenConfig():o.a.tokenConfig(),t=await s.a.post(`${n.a}scorm/packages/upload/`,r,e);return c.b.success("SCORM package uploaded successfully! Processing started."),t.data}catch(t){return Object(o.c)(null===t||void 0===t?void 0:t.response),console.error("An error occurred while uploading SCORM package >>>",t,t.response),null}},updateScormPackage:async(e,r)=>{try{const t=await s.a.patch(`${n.a}scorm/packages/${e}/`,r,o.a.tokenConfig());return c.b.success("SCORM package updated successfully!"),t.data}catch(t){return Object(o.c)(null===t||void 0===t?void 0:t.response),console.error("An error occurred while updating SCORM package >>>",t,t.response),null}},deleteScormPackage:async e=>{try{return await s.a.delete(`${n.a}scorm/packages/${e}/`,o.a.tokenConfig()),c.b.success("SCORM package deleted successfully!"),!0}catch(r){return Object(o.c)(null===r||void 0===r?void 0:r.response),console.error("An error occurred while deleting SCORM package >>>",r,r.response),!1}},getScormProgress:async e=>{try{const r=await s.a.get(`${n.a}scorm/packages/${e}/progress/`,o.a.tokenConfig());return console.log(`SCORM Service: Fetched progress for ${e}`,r.data),r.data||{}}catch(r){return r.response&&404===r.response.status?(console.log(`SCORM Service: No progress found for ${e}. Starting fresh.`),{}):(console.error("Failed to fetch SCORM progress:",r.response||r),{})}},saveScormProgress:async(e,r)=>{try{const t=o.a.tokenConfig(),a=await s.a.patch(`${n.a}scorm/packages/${e}/progress/`,r,t);return console.log(`SCORM Service: Saved progress for ${e}`,r),a.data}catch(t){return console.error("Failed to save SCORM progress:",t.response||t),null}}}},1976:function(e,r,t){"use strict";t.r(r);var a=t(1),s=t.n(a),c=t(915),n=t(833),o=t(550),i=t(112),l=t(837),d=t(68),u=t(1062),p=t(29),g=t(1089),j=t(8),h=t(888),b=t(3);r.default=()=>{const[e,r]=Object(a.useState)([]),[t,O]=Object(a.useState)(!0),f=async()=>{O(!0);try{const e=await g.a.getScormPackages();e&&e.results&&Array.isArray(e.results)?r(e.results):Array.isArray(e)?r(e):(console.error("API did not return an expected format:",e),r([]))}catch(e){console.error("Error fetching SCORM packages:",e),j.b.error("Failed to load SCORM packages"),r([])}finally{O(!1)}};Object(a.useEffect)((()=>{f()}),[]);const m=e=>{if(!e)return"";try{if(e.includes("-")){const[r]=e.split(" "),[t,a,s]=r.split("-"),c=t.padStart(2,"0"),n=a.padStart(2,"0"),o=new Date(`${s}-${c}-${n}T00:00:00`);return isNaN(o)?`${t} ${a}, ${s}`:o.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch(r){return console.error("Error formatting date:",r),e}},x=e=>{switch(e?e.toLowerCase():"unknown"){case"complete":return Object(b.jsx)(c.a,{bg:"success",children:"Ready"});case"processing":return Object(b.jsx)(c.a,{bg:"warning",children:"Processing"});
1case"pending":return Object(b.jsx)(c.a,{bg:"secondary",children:"Pending"});case"failed":return Object(b.jsx)(c.a,{bg:"danger",children:"Failed"});default:return Object(b.jsx)(c.a,{bg:"light",children:e||"Unknown"})}};return Object(b.jsx)(s.a.Fragment,{children:Object(b.jsx)(n.a,{fluid:!0,children:Object(b.jsx)(o.a,{children:Object(b.jsx)(i.a,{children:Object(b.jsxs)(l.a,{children:[Object(b.jsx)(l.a.Header,{children:Object(b.jsx)(l.a.Title,{children:"SCORM Packages"})}),Object(b.jsxs)(l.a.Body,{children:[Object(b.jsx)("div",{className:"d-flex justify-content-end mb-3",children:Object(b.jsx)(p.b,{to:"/knowledge-base/scorm/upload",children:Object(b.jsx)(d.a,{variant:"primary",children:"Upload SCORM Package"})})}),t?Object(b.jsx)("div",{className:"text-center py-4",children:Object(b.jsx)(h.a,{})}):0===e.length?Object(b.jsxs)("div",{className:"text-center py-4",children:[Object(b.jsx)("h5",{children:"No SCORM packages found"}),Object(b.jsx)("p",{className:"text-muted",children:"Upload a SCORM package to get started."})]}):Object(b.jsx)("div",{className:"table-responsive",children:Object(b.jsxs)(u.a,{className:"table-centered table-nowrap mb-0",children:[Object(b.jsx)("thead",{children:Object(b.jsxs)("tr",{children:[Object(b.jsx)("th",{children:"Title"}),Object(b.jsx)("th",{children:"Type"}),Object(b.jsx)("th",{children:"Status"}),Object(b.jsx)("th",{children:"Date Added"}),Object(b.jsx)("th",{children:"Actions"})]})}),Object(b.jsx)("tbody",{children:e.map((e=>{var r;const t="complete"===(null===(r=e.processing_status)||void 0===r?void 0:r.toLowerCase());return Object(b.jsxs)("tr",{children:[Object(b.jsx)("td",{children:e.title||"Untitled Package"}),Object(b.jsx)("td",{children:(a=e.scorm_type,a&&"UNKNOWN"!==a?"scorm_12"===a?"SCORM 1.2":"scorm_2004"===a?"SCORM 2004":"tincan"===a?"Tin Can API":a:"Unknown")}),Object(b.jsx)("td",{children:x(e.processing_status)}),Object(b.jsx)("td",{children:m(e.created_at)}),Object(b.jsxs)("td",{children:[Object(b.jsx)(p.b,{to:`/knowledge-base/scorm/${e.id}`,onClick:e=>{t||e.preventDefault()},children:Object(b.jsx)(d.a,{variant:"primary",size:"sm",className:"me-1 btn-icon",disabled:!t,title:t?"View Package":"Package not ready for viewing",children:Object(b.jsx)("i",{className:"feather icon-eye"})})}),Object(b.jsx)(d.a,{variant:"danger",size:"sm",onClick:()=>(async e=>{if(window.confirm("Are you sure you want to delete this SCORM package? This action cannot be undone.")){O(!0);try{await g.a.deleteScormPackage(e)?f():O(!1)}catch(r){console.error("Error deleting package:",r),j.b.error("Failed to delete SCORM package."),O(!1)}}})(e.id),title:"Delete Package",className:"ms-1 btn-icon",children:Object(b.jsx)("i",{className:"feather icon-trash-2"})})]})]},e.id);var a}))})]})})]})]})})})})})}},888:function(e,r,t){"use strict";t.d(r,"a",(function(){return o}));var a=t(1),s=t(912),c=t.n(s),n=t(3);function o(e){let{height:r="300px",width:t="300px"}=e;const[s,o]=Object(a.useState)();return Object(a.useEffect)((()=>{fetch("https://assets4.lottiefiles.com/packages/lf20_8mjeexxw.json").then((e=>e.json())).then((e=>o(e)))}),[]),s?Object(n.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},children:Object(n.jsx)(c.a,{animationData:s,style:{height:r,width:t},play:!0})}):Object(n.jsx)("div",{children:"Loading..."})}},915:function(e,r,t){"use strict";var a=t(7),s=t(16),c=t(12),n=t.n(c),o=t(1),i=t.n(o),l=t(21),d=["bsPrefix","variant","pill","className","as"],u=i.a.forwardRef((function(e,r){var t=e.bsPrefix,c=e.variant,o=e.pill,u=e.className,p=e.as,g=void 0===p?"span":p,j=Object(s.a)(e,d),h=Object(l.a)(t,"badge");return i.a.createElement(g,Object(a.a)({ref:r},j,{className:n()(u,h,o&&h+"-pill",c&&h+"-"+c)}))}));u.displayName="Badge",u.defaultProps={pill:!1},r.a=u}}]);

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.